Na maioria de projetos de teste, o tempo para a realização dos mesmos sempre é curto e os números de testes a serem realizados nas aplicações são inúmeros. Isso sem falar dos testes “Não-Funcionais”, como por exemplo, os de performance, de usabilidade, de stress, de escalabilidade, etc. É necessário se ter um planejamento bem elaborado para que todo o projeto de testes, consiga entregar um produto com no mínimo qualidade esperada pelo cliente e no prazo que foi acordado.
No intuito de se realizar esse processo com certa eficiência, é necessário utilizar das técnicas de teste de software que é o tema desse artigo. Para isso, respondemos a pergunta de como fazer o processo. Entretanto, para responder a pergunta, o que e o que priorizar primeiro, temos que levar em consideração os riscos associados ao projeto de teste que devem ser levantados tão logo se inicia o projeto de todo o software. Levantados e analisados os riscos e, fazendo uso correto das técnicas de teste, é muito provável que todo o projeto de teste consiga alcançar o mínimo de qualidade esperada.
O nome caixa preta vem do sentido de que nesse tipo de teste, não é necessário saber a estrutura interna de como o código foi implementado ou a tecnologia que foi utilizada. Nesse tipo de análise, essas questões são transparentes para os analistas de teste. É claro que para se ter um projeto de teste bem sucedido, é necessário usar a técnica de caixa preta e mais a de caixa branca, isto é, analisar, também, a estrutura interna da aplicação.
Na nomenclatura também se utiliza o termo em inglês “Black Box” ou “Testes Funcionais”. Aqui, listo as principais técnicas de caixa preta de teste de software, com exemplos ilustrativos e, ainda, mostra como se medir a porcentagem de cobertura depois que os testes são executados para cada uma das técnicas.
Classe de Equivalência (Equivalent Partioning)
Essa técnica é baseada na premissa que a entrada e saída de um componente podem ser particionados em classes de equivalência que, de acordo com a especificação do componente serão tratados similarmente pelo componente. Assim, o resultado de um teste usando um simples valor dessa classe de equivalência é considerado representativo em relação a uma classe.
O modelo deve compreender partições de valores de entrada e saída. Cada partição deve conter um intervalo de valores, escolhidos de tal maneira, que todos os valores nessa classe têm o mesmo resultado, daí o nome equivalência. Podem ser usados valores válidos e inválidos para serem candidatos à classe de equivalência. É desejável se ter pelo menos um caso de teste para exercitar cada uma das classes de equivalência para se ter uma máxima cobertura da aplicação.
...