◦ Unidades inviduais de código (classes e métodos) Integração ◦ Caixa branca / caixa preta ◦ Integração de componentes do sistema ◦ Identifica erros de interface entre módulos Sistema ◦ Caixa preta ◦ Baseado nos requisitos do sistema ◦ Segue roteiros definidos em planos de teste
todo. Alguns dos mais conhecidos entre desenvolvedores: Aceitação Utilizado em equipes ágeis. Donos do produto aceitam ou não alguma funcionalidade implementada. Funcionais Testam os casos de uso. Baseados nas especificações de negócio. Performance Testes de carga, stress, estabilidade e inclusive o fuzz testing (teste do macaco louco) Segurança Garante que os dados sejam acessados de maneira segura somente por quem é autorizado. Pen testing.
comportamento ◦ Um teste não deve depender do resultado de outro ◦ Testar apenas métodos públicos ◦ Usar testes parametrizados sempre que possível ◦ Indicar no nome do teste o que está sendo testado e o resultado esperado