Diretrizes: Teste Unitário
Tópicos
O teste unitário é implementado com base no menor elemento testável (unidades)
do software e implica em testar a estrutura interna, como fluxo lógico e de dados,
a função da unidade e os comportamentos observáveis. O design e a implementação de
testes com foco na estrutura interna de uma unidade baseiam-se no conhecimento da
implementação da unidade (abordagem de caixa branca). O design e a implementação
de testes com a finalidade de verificar os comportamentos observáveis e as funções
da unidade não se baseiam no conhecimento da implementação e, portanto, são conhecidos
como abordagem de caixa preta.
Ambas as abordagens são utilizadas para projetar e implementar os diferentes tipos de
testes (consulte Conceitos: Tipos de Testes)
necessários para testar as unidades de modo completo e bem-sucedido.
Consulte também Diretrizes: Caso de Teste para obter informações
adicionais sobre como derivar casos de teste para teste unitário.
Uma abordagem de teste caixa branca deve ser realizada para verificar a estrutura interna de uma unidade.
Teoricamente, cada caminho possível ao longo do código deve ser testado, mas isso só pode ser feito em unidades muito simples.
Na pior das hipóteses, você deve testar todos os caminhos decisão-a-decisão
(caminho DD) pelo menos uma vez, porque você executará todas as instruções
pelo menos uma vez. Em geral, uma decisão é uma instrução if, e um caminho DD é aquele que une duas decisões.
Para atingir esse nível de cobertura de teste, recomenda-se escolher dados de teste que permitam avaliar cada decisão de todas as maneiras possíveis.
Use as ferramentas de cobertura de código para identificar o código não experimentado pelo teste caixa branca.
O teste de confiabilidade deve ser realizado simultaneamente com o teste caixa branca.
Consulte Diretrizes: Caso de Teste para obter informações
adicionais
A finalidade de um teste de caixa preta é verificar a função especificada
e o comportamento observável da unidade sem que seja necessário saber como a
unidade os implementa. Os testes caixa preta se concentram e se baseiam na entrada e saída da unidade.
A geração de testes unitários com base na abordagem da caixa preta utiliza os argumentos de entrada e saída das operações da unidade e/ou o estado de saída para avaliação.
Por exemplo, a operação pode incluir um algoritmo (requerendo dois valores como
entrada e retornando um terceiro como saída) ou iniciar a alteração no estado de um
objeto ou componente, como a inclusão ou exclusão de um registro de banco de dados. Ambos devem
ser testados por completo. Para testar uma operação, você deve obter casos de teste suficientes para verificar se:
- para cada valor aceito utilizado como entrada, um valor apropriado foi retornado pela operação
- para cada valor inválido utilizado como entrada, somente um valor apropriado
foi retornado pela operação
- para cada estado de entrada inválido, ocorre um estado de saída apropriado
- para cada estado de entrada inválido, ocorre um estado de saída apropriado
Use as ferramentas de cobertura de código para identificar o código não experimentado pelo teste caixa branca.
O teste de confiabilidade deve ser realizado simultaneamente com o teste caixa preta.
Consulte Diretrizes: Caso de Teste para obter informações
adicionais
|