Tipos de teste: * Testes de unidade * São feitos em um nível baixo, mais próximo ao código fonte * Serve para testar classes, funções e métodos individuais * Testes de integração * Verificam se components/módulos funcionam bem juntos * Serve para testar interações * Testes funcionais * Testam requisitos de negócio de uma aplicação * Serve para verificar requisitos funcionais e não funcionais * Testes de ponta a ponta * Replica o comportamento do usuário com o software * Verifica cenários mais completos e complexos * Testes de aceitação * Verifica se os usuários irão aceitar as mudanças realizadas no código * Também serve para medir desempenho e rejeitar alterações * Testes não funcionais * Verifica requisitos não funcionais, como segurança, desempenho, usabilidade, escalabilidade, etc * Testes de desempenho * Avaliam o desempenho sob uma carga de trabalho específica * Testes de fumaça (smoke test) * Teste básico para verificar a funcionalidade básica do software ## Plano de Teste É um dos documentos produzidos na condução de um projeto. * Integra diversas atividades de testes do projeto * Serve para se comunicar com os stakeholders * Execução e controle das atividades de testes * Deve definir: * Itens a serem testados, escopo, e objetivo * Atividades e recursos a serem testados * Tipos de teste a serem empregados * Métricas para avaliar os resultados alcançados Exemplo: * Introdução * Identificação, descrição, etc * Requisitos a serem testados * Conjunto de requisitos que deverão ser testados * Ex: desempenho, segurança, interface, etc * Estratégias e ferramentas de teste * Apresenta tipos de testes a serem realizados * Equipe e infra-estrutura * Apresenta a equipe e infra-estrutura para os testes (pessoas, equipamento, etc) * Cronograma e atividades * Contém descrição de marcos importantes para as atividades * Documentação complementar * Relação de documentos pertinentes para o projeto