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