Teste Estrutural
Baseia-se no conhecimento da estrutura interna (implementação) do software para derivar os requisitos de teste
Técnica Caixa-Branca
Critérios do Teste Estrutural
Critérios baseados em fluxo de controle
Grafo de Fluxo de Controle (GFC)
Todos-nós: requer que cada comando seja executado ao menos uma vez
Todas-arestas: requer que cada decisão seja executada ao menos uma vez
Todos-caminhos: requer que cada caminho do grafo seja executado ao menos uma vez
Critérios baseados na complexidade
Teste do caminho básico (critério de McCabe)
Critérios baseado em fluxo de dados
Todas-definições: requer que cada definição seja exercitada pelo menos uma
vez por um de seus usos
Todos-usos: requer que todos os usos de uma variável definida sejam
executados
Teste de condições: requer que cada condição em uma decisão assuma todos os valores possíveis ao menos uma vez
Teste de decisões/condições: requer que cada condição e cada decisão assumam todos os valores de saída possíveis ao menos uma vez e que cada ponto de entrada seja invocado ao menos uma vez
Teste de condições múltiplas: requer que todas as possíveis combinações possíveis de saída de uma condição em cada decisão e todos os pontos de entrada sejam exercitados ao menos uma vez
Teste de laços: não seja executado, seja executado exatamente uma vez, seja repetido em mais de uma vez
Limitar o número de caminhos a serem executados identificando os
caminhos independentes
calcular complexidade ciclomática
Cada caminho independente contém pelo menos uma nova aresta do GFC e número mínimo de caminhos independentes, sem laços, é dado pela complexidade ciclomática (McCabe)
C = arestas - nós + 2
C = p + 1, sendo p o número de nós com decisão binária
Requisitos de testes são os caminhos
São complementares aos critérios
baseados no fluxo de controle
Os casos de testes são gerados analisando o comportamento das variáveis do programa
Utilizam o Grafo Def-Uso para derivar os requisitos de teste