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 Técnica: Tipos de Testes) necessários para testar as unidades de modo completo e
bem-sucedido.
Consulte também Técnica: 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 Técnica: 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 válido utilizado como entrada, um valor apropriado foi retornado pela operação
-
para cada valor inválido utilizado como entrada, um valor apropriado foi retornado pela operação
-
para cada estado de entrada válido, um estado de saída apropriado ocorreu
-
para cada estado de entrada inválido, um estado de saída apropriado ocorreu
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 Técnica: Caso de Teste para obter informações adicionais
|