Teste de caixa-preta
Teste de caixa-preta é um teste de software para verificar a saída dos dados usando entradas de vários tipos. Tais entradas não são escolhidas conforme a estrutura do programa.
Quanto mais entradas são fornecidas, mais rico será o teste. Numa situação ideal todas as entradas possíveis seriam testadas, mas na ampla maioria dos casos isso é impossível. Outro problema é que a especificação pode estar ambígua em relação ao sistema produzido, e como resultado as entradas especificadas podem não ser as mesmas aceitas para o teste. Uma abordagem mais realista para o teste de caixa-preta é escolher um subconjunto de entradas que maximize a riqueza do teste. Pode-se agrupar subconjuntos de entradas possíveis que são processadas similarmente, de forma que testar somente um elemento desse subconjunto serve para averiguar a qualidade de todo o subconjunto. Por exemplo, em um sistema que aceita um inteiro como entrada, testar todos os casos possíveis pode gerar pelo menos dezenas de milhares de casos de testes distintos. Entretanto, a partir da especificação do sistema, pode-se encontrar um subconjunto de inteiros que maximizem a qualidade do teste. Depende do propósito do sistema, mas casos possíveis incluem inteiros pares, inteiros ímpares, zero, inteiros positivos, inteiros negativos, o maior inteiro, o menor inteiro.
Essa técnica é aplicável a todas as fases de teste:
A aplicação de técnicas de teste leva o testador a produzir um conjunto de casos de teste (ou situações de teste). A aplicação combinada de outra técnica – técnica de particionamento de equivalência (ou uso de classes de equivalência) permite avaliar se a quantidade de casos de teste produzida é coerente. A partir das classes de equivalência identificadas, o testador construirá casos de teste que atuem nos limites superiores e inferiores destas classes, de forma que um número mínimo de casos de teste permita a maior cobertura de teste possível.
Uma abordagem no desenvolvimento do teste de caixa-preta é o teste baseado na especificação, de forma que as funcionalidades são testadas de acordo com os requisitos. Apesar de necessário, esse tipo de teste é insuficiente para identificar certos riscos num projeto de software O testador não está interessado em como as entradas são processadas, o testador só acompanha as saídas produzidas pelo sistema. Ou seja, só são observadas se as saídas são coerentes para as entradas dadas.
Em boa parte das empresas, uma equipe projeta o software enquanto outra o testa. A grande desvantagem dessa técnica, é que nem todos os tipos de entrada são testadas e não existem "guias" para as entradas.
Técnicas de teste típicas [editar]
Técnicas típicas de teste de caixa preta incluem:
- Testes baseados em Grafo
- Particionamento de equivalência
- Análise de valor limite
- Teste de tabela de decisão
- Teste de todos os pares
- Tabelas de estado de transição
- Teste de caso de uso
Hardware [editar]
Dispositivos de teste funcional como fontes de alimentação, amplificadores, e muitos outros dispositivos elétricos de função simples são comuns na indústria eletrônica. Testes funcionais automatizados de características especificadas são usadas em testes de produção, e são parte da validação do projeto.