O documento resume os principais pontos sobre teste de software segundo o guia SWEBOK. Aborda os fundamentos, níveis, objetivos, técnicas, medidas e processo de teste de software. Apresenta definições de termos como falha, defeito e erro e discute questões como testabilidade, limitações de teste e objetivos como teste de aceitação e regressão.
4. 2. Área de Conhecimento - Teste de Software SWEBOK (2004)
5.
6. 4. Níveis de Teste de Software Teste de Software é usualmente executado em diferentes níveis ao longo do processo de desenvolvimento e manutenção. Os 3 grandes estágios de testes podem ser definidos como: Teste de Unidade: Testa módulos ou funções. Verifica o funcionamento de componentes isolados. Teste de Integração: Testa um grupo de módulos e verifica a interação entre componentes. Teste de Sistema: Verifica o comportamento de todo o sistema, sob o ponto de vista do usuário, normalmente testando requisitos não funcionais (segurança, desempenho, exatidão, e etc.)
7. 5. Objetivos de Teste de Software O teste é conduzido de acordo com um objetivo específico, pois varia conforme o tipo de software testado. Os objetivos listados abaixo são os mais frequentes citados na Literatura: Teste de aceitação / testes de qualificação: verifica se o sistema se comporta de acordo com os requisitos do cliente; Testes alfa e beta: pessoas que testam pela empresa que desenvolve (teste alfa) e pessoas que testam pelo cliente (teste beta); Testes de conformidade / testes funcionais: validação conforme a especificação; Confiabilidade e avaliação: testa a confiabilidade do sistema; Testes de regressão: reteste do sistema e componentes para verificar se houve efeitos colaterais e visa garantir que o comportamento original não foi modificado; Testes de desempenho: verifica se os requisitos de desempenho do sistema foram atendidos, ex: capacidade e tempo de resposta; Testes de estresse: testa as condições limite ou fora da tolerância esperada pelo sistema; Testes de usabilidade: testa o quanto é fácil aprender e utilizar o software.
8.
9.
10.
11.
12. Estimativa de custo/esforço e outras medidas de processo: Várias medidas relacionadas com os recursos gastos durante a fase de teste, bem como a efetividade de encontrar falhas nas várias fases de teste, são utilizadas pelos gestores para controlar e melhorar o processo de teste. Conclusão: A decisão deve ser tomada a respeito de quanto o teste é bastante e quando uma fase de teste pode ser encerrada. Teste de reuso e padrões de teste: Para realizar testes ou manutenção de uma forma organizada e rentável, os meios utilizados para testar cada parte do software devem ser reutilizados de forma sistemática.