Principais conclusões

  • O desenvolvimento orientado a comportamento (BDD) é um processo de desenvolvimento que prioriza a colaboração entre equipes técnicas e não técnicas.
  • Usando o BDD, os casos de teste são escritos em linguagem natural e levam em conta os valores e a funcionalidade do usuário da sua empresa. O LoadView pode ser uma ferramenta útil no kit de ferramentas de desenvolvimento do BDD, pois oferecemos uma plataforma acessível com relatórios que os usuários técnicos e não técnicos podem entender rapidamente.

Os desenvolvedores são parte integrante da obtenção de um site, aplicativo ou API do chão, mas eles não são os únicos envolvidos. Todos, desde gerentes de produto até analistas de negócios, têm uma participação igual no desenvolvimento e manutenção de uma forte presença na web. Equipes diferentes têm diferentes pontos fortes, conhecimentos e conjuntos de habilidades. Um associado de marketing pode não ser tão versado em desenvolvimento quanto um engenheiro de software, então como você pode garantir que todos os membros de sua equipe estejam na mesma página? É aí que entra o desenvolvimento orientado pelo comportamento.

O desenvolvimento orientado por comportamento (BDD) é um processo de desenvolvimento que prioriza a colaboração entre equipes para ajudá-lo a tirar seu site do papel de uma maneira que atenda a todos os envolvidos. Ao implementar um processo de BDD, uma equipe é capaz de formar uma linguagem consistente e acessível que pode ser entendida por programadores e não programadores. Os casos de teste são escritos em linguagem natural e levam em conta os valores e a funcionalidade do usuário da sua empresa.

Nós da LoadView investimos em ajudar sua empresa a prosperar em todos os departamentos, então vamos aprender um pouco mais sobre o BDD e ver como o BDD pode ajudar sua equipe a trabalhar em conjunto.

behavior driven development
 

Uma Breve História do BDD

Em 2006, o desenvolvedor de software Dan North notou que havia lacunas na comunicação entre os departamentos da empresa em que ele estava trabalhando. Parecia que equipes menos técnicas, como gerentes de produto e marketing, estavam sendo deixadas no escuro sobre os principais desenvolvimentos, e os desenvolvedores de software não estavam cientes das principais preocupações dos usuários enquanto navegavam em seu site.

A partir dessas lacunas, North foi capaz de desenvolver um novo sistema. Ramificando-se do TDD (Test Driven Development), o BDD se concentra no comportamento humano real, no inglês simples e em um modelo lógico claro. Esse processo leva em conta as preocupações do negócio, bem como as demandas técnicas. Ele pegou modelos anteriormente complicados e os traduziu para uma nova linguagem específica de domínio (DSL) que se aproximou o máximo possível do inglês simples e conversacional.

Essa DSL se transformou no fator definidor do BDD, o modelo dar/quando/então.
 

O Modelo Dar/Quando/Então

No modelo dar/quando/então, cada parte define um estágio de uma transação ou interação on-line.

  • Dar: refere-se à parte dada da equação. O status quo. Onde começamos antes que a interface fosse acionada por um usuário
  • Quando: é o ato realizado pelo usuário que desencadeia a interação. Um clique, uma transação ou uma palavra-chave inserida na barra de pesquisa são todos possíveis “quando”
  • Então: é o que vem depois, que reação que a ação desencadeia.

Aqui está um exemplo de um cenário de dar/quando/então:

  • Dado que a Conta 1 tem $0 e a conta 2 tem $100
  • Quando a Conta 2 transfere $50 para a conta 1
  • Então a conta 1 tem US $ 50 e a conta 2 tem US $ 50

Esse modelo de inglês simples facilita o compartilhamento de situações de programação entre departamentos. A DSL pode ser entendida por qualquer pessoa, seja um desenvolvedor ou não. Ao executar testes funcionais e não funcionais, o uso de um modelo dar/quando/então garante que não haja lacunas na comunicação.

Esta é a função essencial do BDD, usar o inglês simples para desenvolver uma DSL compreendida por todos. Há muitos benefícios em usar o BDD para desenvolver seu site, aplicativo ou API, e o desenvolvimento de uma DSL é apenas um deles.
 

Prós para desenvolver com BDD

O BDD oferece fortes vantagens se você estiver trabalhando com uma equipe diversificada. Seu foco na funcionalidade, comunicação clara e experiência do usuário o torna um ótimo processo para negócios on-line e serviços digitais com clientes não experientes em tecnologia. BDD é:

  • Eficiente: Ter uma funcionalidade e uma linguagem claramente definidas que são acordadas por todas as partes interessadas é um benefício fundamental do BDD. Com todos na mesma página, o desenvolvimento a partir dos ângulos de negócios e codificação é capaz de tomar forma em tempo hábil. Com todas as equipes trabalhando juntas, haverá menos tempo necessário para voltar e retrabalhar elementos não funcionais.
  • Barato: O BDD não é apenas bom para os valores do seu negócio, mas também é bom para os seus resultados. Linguagem bem definida significa que é fácil criar e validar casos de teste. Esses casos de teste podem ser automatizados com uma compreensão clara do que é esperado e quando. A automação desses testes pode reduzir o custo do teste de aplicativos.
  • Alta qualidade: Com a ajuda de equipes não baseadas em desenvolvimento, designers e programadores recebem feedback sobre a experiência do usuário imediatamente. Isso os obriga a pensar e se desenvolver a partir da perspectiva do usuário. O desenvolvimento do ponto de vista do usuário também ajuda os desenvolvedores a escrever código estável, escalável e testável. Isso ajuda a evitar problemas do usuário antes que eles ocorram.

 

Contras para desenvolver com BDD

Embora o BDD possa ser um ótimo processo em certas situações, ele não é universal. O BDD foi inventado para resolver problemas e fechar lacunas na abordagem TDD. Se os programadores são menos experientes, não são bem versados no processo de desenvolvimento TDD, ou dependem de ferramentas específicas e linguagem de programação, BDD pode não ser a escolha certa.

O BDD depende de uma boa comunicação, o que significa ter uma equipe de desenvolvedores dedicados que podem se comunicar efetivamente com fantasias, usuários e representantes de outras equipes. Isso pode significar sobrecarga adicional.
 

Ferramentas BDD populares

O BDD provou ser popular na comunidade de desenvolvedores. Muitas pessoas adotaram a abordagem BDD e desenvolveram uma série de ferramentas para fazer o trabalho. Aqui estão algumas ferramentas populares de BDD.

  • Cucumber uma plataforma popular de código aberto para colaboração BDD. Ele ajuda as equipes a criar funcionalidades em texto sem formatação. Ele fornece coesão usando DSL que é fácil de compartilhar com toda a equipe. Ele implementa a sintaxe Gherkin.
  • O Lettuce é construído em cima do Cucumber e funciona muito bem para aplicativos baseados em Python.
  • O Specflow é outra plataforma BDD de código aberto que usa a sintaxe Gherkin. Ele foi criado para a plataforma .NET.

 

Desenvolvimento orientado por comportamento com LoadView

O BDD é um processo, e o teste de desempenho é uma parte importante desse processo. Automatizar os testes de desempenho é uma parte essencial do BDD, ajudando a garantir uma rápida reviravolta para tirar seu site do papel. LoadView executa testes de desempenho que simulam o comportamento real do usuário com scripts simples para que você possa automatizar seus testes usando as práticas recomendadas do BDD. Ser capaz de testar o desempenho do seu site sob várias cargas de usuários, locais de usuários e níveis de estresse pode ajudar todos os departamentos envolvidos no Desenvolvimento Orientado por Comportamento.

O LoadView é uma plataforma acessível, que não requer conhecimento prévio de codificação, tornando-se uma excelente escolha para uma equipe que trabalha em vários departamentos não técnicos. LoadView é criado para testar:

  • Páginas da Web
  • Aplicativos móveis nativos
  • Apis

behavior driven development
 

Experimente o LoadView hoje mesmo

O BDD é projetado para centralizar os valores de negócios durante o processo de desenvolvimento, sempre tendo em mente o resultado final do usuário. O LoadView pode ajudá-lo a automatizar os testes de desempenho para um desenvolvimento eficiente e fácil de entender. Experimente o LoadView gratuitamente ou agende uma demonstração hoje mesmo para ver como você pode implementar testes de desempenho no processo BDD da sua empresa.