Caixa Preta
A técnica de teste de caixa preta (black-box testing) tem como objetivo avaliar e verificar o funcionamento externo dos elementos de programação (técnica funcional) durante a etapa de Especificação nas fases de testes de sistema e/ou testes de aceitação (acceptance tests) quando na presença dos clientes - responsáveis por avaliar o sistema como um todo (validação).
Durante o desenvolvimento de software, os testes auxiliam nas técnicas de:
- Projeto de Programa Sistemático - Systematic Program Design (SPD); e
- Desenvolvimento Guiado por Comportamento - Behavior Driven Development (BDD).
O Teste
Os testes tem como objetivos:
- Funcionalidade;
- Validação de dados;
- Saída de resultados;
- Transição de estados; e
- Equivalências e Limites.
Com auxílio dos desenvolvedores: verificação de auditoria e logging, dados para outros sistemas, informações do sistema e recursos utilizados.
Documentação
Convenções
As seguintes convenções para os identificadores são utilizados:
Casos de Testes:
- NameTest: testes unitários (ver Caixa Branca);
- NameIntegrationTest: testes de integração (ver Caixa Branca); e
- NameSystemTest: testes de sistema.
Ferramentas
As ferramentas mais utilizadas são:
- JUnit
- Cucumber
- JBehave
- Web Selenium
- Rest-Assured
Boas Práticas
Test Data Builders: utilização do padrão de projeto (GoF) Builder para o processo de criação dos objetos para os cenários de testes - auxilia no problema de duplicação de código.
Page Object: abstração/encapsulamento dos detalhes de estruturamento da interface gráfica em objetos simples (Navegação e Formulário) para frameworks de Interface do Usuário - User Interface (UI).