Os testes de software podem ser divididos em 2 grupos que têm características e focos diferentes. O conceito apresentado aqui é um conceito simples e fundamental, mas que pode perturbar a cabeça de quem é iniciante na área de testes.
Teste de caixa branca
O analista tem acesso ao código fonte, conhece a estrutura interna do produto sendo analisado e possibilita que sejam escolhidas partes específicas de um componente para serem avaliadas. Esse tipo de teste, também conhecido como teste estrutural, é projetado em função da estrutura do componente e permite uma averiguação mais precisa do comportamento dessa estrutura. Perceba que o acesso ao código facilita o isolamento de uma função ou ação, o que ajuda na análise comportamental das mesmas.
Pontos negativos
- Custos mais altos.
- Se o código sofrer muitas alterações pode dificultar o processo de teste automatizado.
- Caso o código esteja parcialmente pronto, o teste de caixa branca poderá trazer resultados inconclusos.
Pontos positivos
- Otimização ao encontrar bugs ocultos.
- Meticulosidade, uma vez que o teste de caixa branca tem como objetivo cobrir ao máximo o código.
- Facilidade para criar testes automatizados.
Teste de caixa preta
O analista não tem acesso ao código fonte e desconhece a estrutura interna do sistema. É também conhecido como teste funcional, pois é baseado nos requisitos funcionais do software. O foco, nesse caso, é nos requisitos da aplicação, ou seja, nas ações que ela deve desempenhar.
Para mostrar quais problemas que esse tipo de teste rastreia, podemos citar alguns exemplos:
- Data de nascimento preenchida com data futura;
- Campos de preenchimento obrigatório que não são validados;
- Utilizar números negativos em campos tipo valor a pagar;
- Botões que não executam as ações devidas;
Enfim, todo tipo de falha funcional, ou seja, falhas que contrariam os requisitos da aplicação.
Pontos negativos
- Não é possível testar segmentos complexos de códigos.
- Geralmente identifica os módulos defeituosos, mas não explica em detalhes se eles atendem ao requisito.
- Pode entregar resultados superestimados
Pontos positivos
- O testador não precisa ter conhecimento técnico e funcional do sistema.
- Não é necessário criar scripts
- É possivel utilizar o Crowdtest e testar com usuários reais.
Os casos de testes podem ser projetados assim que as especificações funcionais estiverem completas.
Conclusão
Deste modo, podemos concluir que o teste de caixa branca e o teste de caixa preta são necessários para uma entrega bem sucedida. Vale ressaltar que não é possível testar 100% de uma aplicação em ambos os casos.
Tanto o teste de caixa preta quanto o teste de caixa branca são feitos para certificar que um aplicativo está funcionando conforme o esperado.
Conte com a experiência de quem realiza teste de software há mais de 18 anos, entre em contato e conheça nossos serviços.