Hello, there! Você sabe o que significam TDD e BDD em programação?
Essas duas siglas são muito usadas no mundo do desenvolvimento de software, mas nem sempre é fácil entender a diferença entre elas. Elas têm origem no inglês e indicam abordagens diferentes para criar e testar códigos.
Então vamos aprender o que são essas abordagens TDD e BDD e qual é a diferença entre elas? Confira abaixo a explicação de cada uma e exemplos de como usá-las. Check it out!
Antes de mais nada, é importante conversarmos sobre a palavra driven em inglês. Driven significa algo como "guiado", "movido" ou "orientado". Quando usada em expressões como "data-driven", por exemplo, a ideia é que algo está sendo motivado a se guiar por um fator específico (nesse caso, algo está sendo movido com base em dados).
A sigla TDD significa "Test-Driven Development" ou, em português, "Desenvolvimento Guiado por Testes".
Em TDD, os desenvolvedores criam testes antes mesmo de escrever o código funcional. Primeiro, eles escrevem um teste que representa o que o código deve fazer. Depois, criam o código para passar nesse teste. Essa abordagem garante que o software seja testado desde o início.
For example:
Take a look at these examples:
Já a sigla BDD significa "Behavior-Driven Development", ou seja, "Desenvolvimento Guiado por Comportamento".
No BDD, o foco é no comportamento do sistema do ponto de vista do usuário final. Os testes são escritos de forma mais descritiva, geralmente em uma linguagem próxima do inglês ou português comum, para que todos na equipe (incluindo não programadores) possam entender. Like this:
Take a look at these examples:
Resumindo, a principal diferença está no foco:
Ambas as abordagens ajudam a criar software de qualidade, mas o TDD é mais técnico e centrado no código, enquanto o BDD é mais colaborativo e centrado no usuário.
Interesting, isn't it? Which of these approaches do you think works best for your team? (Interessante, não é? Qual dessas duas abordagens você acha que funciona melhor para o seu time?)
Continue estudando com a gente no nosso artigo "Aprenda 6 siglas de comandos para administração de sistemas". See you!
Aproveite e faça nosso teste de nível de inglês. Ou baixe nossa apostila que te ensina como aprender inglês de maneira eficiente!
Quer realmente aprender outras línguas, como inglês e espanhol? Conheça os nossos cursos que reforçam o aprendizado de inglês e espanhol.