Testes
Status: Finalizado ✅
Testar software é imprescindível pois devemos garantir que a resposta do software é igual ao que gostaríamos que ele estivesse fazendo. geralmente para o software funcionar bem ele tem que ter uma cobertura de testes bem elevada acima de 90%. Sendo assim vamos tentar testar todos os módulos, classes, métodos, linhas de código a fim de que tenhamos a garantia de que o software se comporta como deveria.
TDD
o teste driven development é uma metodologia de programação na qual primeiramente vamos fazer o teste e somente após vamos programar. utilizando o tdd ganhamos na cobertura de teste que será muito elevada basicamente 100% e evitamos retrabalho. há Três Passos principais para o tdd.
- escrever um teste e observar que o teste falha
- fazer um algoritmo até que o teste passe
- refatorar o código
observamos que o tdd pode ser muito custoso na prática porém atinge ótimos resultados
BDD
o behavior driven development é uma metodologia de programação na qual priorizamos o comportamento do software para a lógica de negócios. utilizar o bdd garante que o software irá funcionar para aquilo que ele é construído porém pode não ter cobertura de código muito elevada e não prioriza comportamentos particulares.
Testes unitários
testes unitários ou testes de unidade são testes que vão colocar a prova a menor unidade de programação do sistema. geralmente vamos testar fusões ou métodos sendo assim comparamos o resultado da saída da função ou método com o resultado esperado
Testes de integração
teste de integração são testes que integram várias partes do sistema e são muito importantes para garantir. Nesse tipo de teste vamos integrar várias partes do sistema por exemplo o servidor web com um banco de dados. um pequeno exemplo seria fazer um teste que inicializa uma conexão com o banco de dados e observar aqui o resultado criado e escrito no banco de dados é realmente o esperado
Testes end-to-end
Testes and to end são testes que vão analisar toda a cadeia do software ou seja vão testar toda a integralidade do sistema. São testes que às vezes podem falhar facilmente e exigem muito tempo pois vão testar toda a integralidade do sistema. só um teste muito custosos
Testes de UI
Teste de UI são testes em que vamos observar o comportamento dos componentes da nossa interface de usuário. basicamente queremos saber se o ciclo de vida do componente é obedecido de forma correta e se a renderização acontece corretamente