Mapa mental
Testes
Contenido del mapa
Testes
O que são?
- Testes são um meio de verificar se a implementação atendia aos requisitos do sistema e garantia de que uma classe continuará funcionando após um bug ser corrigido em uma outra parte do sistema, eles são também usados como documentação para o código de produção.
Teste de unidade
- O que são?
- Testes de unidade verificam automaticamente pequenas partes de um código, normalmente uma classe apenas. Eles formam a base da pirâmide, ou seja, a maior parte dos testes estão nessa categoria. Testes de unidade são simples, mais fáceis de implementar e executam rapidamente.
- Quando fazer testes de unidade?
- recomenda-se escrever os testes após implementar uma pequena funcionalidade e após a correção de algum bug
- Quando não fazer teste de unidade?
- o que não é recomendável é deixar para implementar todos os testes após o sistema ficar pronto, pois eles podem ser construídos de forma apressada e com baixa qualidade. Ou então pode ser que eles nem sejam implementados, pois o sistema já estará funcionando e novas prioridades podem ter sido alocadas para o time de desenvolvimento.
- Benefícios de testes unitários
- O principal benefício de testes de unidade é encontrar bugs, ainda na fase de desenvolvimento e antes que o código entre em produção, quando os custos de correção e os prejuízos podem ser maiores.
- O que são?
Princípios FIRST
- Escritos o quanto antes (Timely)
- O teste deve ser planejado antes do código ser escrito se possivel
- Independentes
- a ordem de execução dos testes de unidade não é importante portanto não devem alterar alguma parte do estado global do sistema que depois será usada para computar o resultado de um próximo teste
- Rápidos (Fast)
- Devido a frequência em que são feitos é importante que eles sejam executados rapidamente, em questões de milisegundos. Se isso não for possível, pode-se dividir uma suíte de testes em dois grupos, um destinado a testes rápidos e outro a testes mais lentos
- Determinísticos (Repeatable)
- testes de unidade devem ter sempre o mesmo resultado, estes com resultados não-determinísticos são chamados de Testes Flaky (ou Testes Erráticos).
- Auto-verificáveis (Self-checking)
- O resultado de um teste de unidades deve ser facilmente verificável. Para interpretar o resultado do teste, o desenvolvedor não deve, por exemplo, ter que abrir e analisar um arquivo de saída ou fornecer dados manualmente. Em vez disso, deve ser possível identificar essa falha de forma rápida, incluindo a localização do comando assert que falhou.
- Escritos o quanto antes (Timely)
Testes de integração
- Testes de integração ou testes de serviços, que verificam uma funcionalidade ou transação completa de um sistema. Logo, são testes que usam diversas classes, de pacotes distintos, e podem ainda testar componentes externos, como bancos de dados. Testes de integração demandam mais esforço para serem implementados e executam de forma mais lenta.
Testes de sistema
- Testes de sistema, também chamados de testes de interface com o usuário. Eles simulam, da forma mais fiel possível, uma sessão de uso do sistema por um usuário real. Como são testes de ponta a ponta (end-to-end), eles são mais caros, mais lentos e menos numerosos. Testes de interface costumam ser também frágeis, isto é, mínimas alterações nos componentes da interface podem demandar modificações nesses testes.
Información
- Descripción
- Mapa Mental sobre Testes, creado por angelo rossini el 21/10/2022.
- Creado por
- angelo rossini
- Visitas
- 0
- Valoración