O que são BDD e TDD?
Existem dois tipos de abordagens de teste que você deve conhecer no desenvolvimento de software. Essas abordagens são TDD (Test-Driven Development) e BDD (Behavior-Driven Development).
Vamos primeiro dar uma olhada no TDD. Test-Driven Development é uma metodologia que enfatiza escrever testes primeiro antes de desenvolver as funcionalidades de uma aplicação.
Aqui está o processo típico para TDD:
1. Escreva um teste
2. Certifique-se de que falhe
3. Escreva o código para esse teste
4. Garanta que o teste passe desta vez
5. Faça quaisquer refatorações necessárias no código
Repita os passos 1-5.
Escrever testes antes de desenvolver funcionalidades fornece feedback em tempo real aos desenvolvedores durante o processo de desenvolvimento. Também ajuda a identificar bugs mais cedo na fase de desenvolvimento.
Enquanto algumas equipes de software escolherão seguir a abordagem TDD, TDD é um tema polarizador na indústria. Você encontrará muitos artigos e vídeos por aí tanto defendendo quanto criticando o TDD. Independentemente de como você se sinta em relação a essa abordagem, é importante estar ciente dela porque você pode encontrá-la em cenários do mundo real.
A segunda abordagem de teste que vamos analisar é o Behavior-Driven Development (BDD). Desenvolvimento Orientado a Comportamento é a abordagem de alinhar uma série de testes com os objetivos de negócio. Esses testes devem ser escritos em uma linguagem que possa ser entendida por pessoas técnicas e não técnicas.
Ao testar comportamentos específicos em uma aplicação de software, BDD normalmente usa a linguagem Gherkin, que é usada em empresas para descrever comportamentos e cenários. A linguagem Gherkin usa as declarações Given, When e Then ao descrever cenários.
Aqui está um exemplo:
Cenário: Criando uma Nova Postagem no Blog
Dado que o usuário está logado em sua conta e está na página "Create New Post",
Quando o usuário insere um título e conteúdo para o post e clica no botão "Publish",
Então o post do blog deve ser salvo e exibido na página inicial com o título, conteúdo e carimbo de data/hora corretos.
Você primeiro quer definir um cenário. Cenários de exemplo incluem quando um usuário faz login em um aplicativo ou faz um pedido em um site. Neste exemplo, o cenário é para um usuário criando um novo post no blog em um site.
Depois que o cenário for definido, você deve começar com uma declaração Given. Isso fornece contexto para onde o usuário está começando antes de executar uma ação. A instrução When é usada para representar a ação realizada pelo usuário.
Finalmente, a declaração Then é usada para representar o resultado desejado da ação anterior realizada pelo usuário. Depois de definir todos os seus cenários, você pode escrever testes para cada cenário.
Exemplos de frameworks de teste BDD incluem Cucumber, JBehave e SpecFlow.
Este módulo não possui perguntas. Marque como concluído.