black box testing an depth tutorial with examples
Neste tutorial, usando minha experiência industrial em Teste de Software, vamos nos familiarizar com os tipos e técnicas de Teste de Caixa Preta, juntamente com seu processo, vantagens, desvantagens e algumas ferramentas de automação para testá-lo além do teste manual.
Também aprenderemos sobre as diferenças entre o Teste da Caixa Branca e o Teste da Caixa Preta.
Lista de tutoriais de “Técnicas de teste da caixa preta”:
Tutorial nº 1: O que é o teste de caixa preta
Tutorial # 2: O que é teste de caixa branca
Tutorial nº 3: Teste Funcional Simplificado
Tutorial nº 4: O que é teste de caso de uso
Tutorial # 5 : Técnica de teste de matriz ortogonal
Técnicas
Tutorial # 6: Análise de valor limite e partição de equivalência
Tutorial nº 7: Teste de Tabela de Decisão
Tutorial # 8: Teste de transição de estado
Tutorial # 9 : Adivinhação de erro
Tutorial # 10: Métodos de teste baseados em gráficos
Quase todos nós realizamos o Teste da Caixa Preta todos os dias!
Quer tenhamos aprendido ou não, todos nós temos e realizamos o Teste da Caixa Preta muitas vezes em nosso dia a dia !!
Pelo próprio nome, você provavelmente pode entender que ele implica interagir com o sistema, que você está testando como uma caixa misteriosa. Isso significa que você não tem conhecimento suficiente sobre o funcionamento interno do sistema, mas sabe como ele deve se comportar.
Se pegarmos um exemplo para testar nosso carro ou bicicleta, sempre dirigimos para ter certeza de que não se comporta de forma incomum. Ver? Já fizemos o teste da caixa preta.
O que você aprenderá:
- O que é o teste da caixa preta?
- Tipos de teste de caixa preta
- Ferramentas de teste de caixa preta
- Técnicas de teste de caixa preta
- Como fazer passo a passo?
- Vantagens e desvantagens
- Diferença entre teste de caixa branca e teste de caixa preta
- Conclusão
- Leitura recomendada
O que é o teste da caixa preta?
O teste de caixa preta também é conhecido como teste comportamental, caixa opaca, caixa fechada, baseado em especificações ou olho no olho.
É um método de Teste de Software que analisa a funcionalidade de um software / aplicativo sem saber muito sobre a estrutura / design interno do item que está sendo testado e compara o valor de entrada com o valor de saída.
perguntas da entrevista de ajuste de desempenho do dba do oracle
O foco principal do Black Box Testing é a funcionalidade do sistema como um todo. O termo ‘Teste Comportamental’ também é usado para testes de caixa preta. O design de teste comportamental é ligeiramente diferente do design de teste caixa preta porque o uso de conhecimento interno não é estritamente proibido, mas ainda é desencorajado.
Cada método de teste tem suas próprias vantagens e desvantagens. Existem alguns bugs que não podem ser encontrados usando a única caixa preta ou apenas a técnica da caixa branca.
A maioria das aplicações são testadas pelo método Black Box. Precisamos cobrir a maioria dos casos de teste para que a maioria dos bugs sejam descobertos por um Caixa preta método.
Este teste ocorre ao longo do desenvolvimento de software e do Ciclo de Vida de Teste, ou seja, nos estágios de Teste de Unidade, Integração, Sistema, Aceitação e Regressão.
Isso pode ser funcional ou não funcional.
Tipos de teste de caixa preta
Praticamente, existem vários tipos de Teste de Caixa Preta que são possíveis, mas se considerarmos a variante principal dele, então mencionados abaixo são os dois fundamentais.
# 1) Teste Funcional
Este tipo lida com os requisitos ou especificações funcionais de um aplicativo. Aqui, diferentes ações ou funções do sistema estão sendo testadas, fornecendo a entrada e comparando a saída real com a saída esperada.
Por exemplo ,quando testamos uma lista suspensa, clicamos nela e verificamos se ela se expande e todos os valores esperados aparecem na lista.
Alguns tipos principais de teste funcional são:
- Teste de Fumaça
- Teste de Sanidade
- Teste de integração
- Teste de Sistema
- Teste de Regressão
- Testes de aceitação do usuário
=> Leia mais sobre Teste funcional .
# 2) Teste não funcional
Além das funcionalidades dos requisitos, também existem vários aspectos não funcionais que devem ser testados para melhorar a qualidade e o desempenho da aplicação.
Alguns tipos principais de testes não funcionais incluem:
- Testando usabilidade
- Teste de carga
- Teste de performance
- Teste de Compatibilidade
- Teste de Estresse
- Teste de Escalabilidade
=> Leia mais sobre Teste Não Funcional .
Ferramentas de teste de caixa preta
As ferramentas de teste da caixa preta são principalmente ferramentas de gravação e reprodução. Essas ferramentas são usadas para testes de regressão para verificar se a nova construção criou algum bug na funcionalidade do aplicativo de trabalho anterior.
Essas ferramentas de gravação e reprodução registram casos de teste na forma de alguns scripts como TSL, script VB, Javascript, Perl, etc.
Técnicas de teste de caixa preta
Para testar sistematicamente um conjunto de funções, é necessário projetar casos de teste. Os testadores podem criar casos de teste a partir do documento de especificação de requisitos usando as seguintes técnicas de teste de caixa preta.
- Particionamento equivalente
- Análise de valor limite
- Teste de Tabela de Decisão
- Teste de transição de estado
- Adivinhação de erro
- Métodos de teste baseados em gráficos
- Teste de Comparação
Vamos entender cada técnica em detalhes.
# 1) Particionamento de Equivalência
Essa técnica também é conhecida como Equivalence Class Partitioning (ECP). Nesta técnica, os valores de entrada para o sistema ou aplicativo são divididos em diferentes classes ou grupos com base em sua similaridade no resultado.
Portanto, em vez de usar todos os valores de entrada, podemos agora usar qualquer valor do grupo / classe para testar o resultado. Desta forma, podemos manter a cobertura do teste enquanto podemos reduzir muito retrabalho e, mais importante, o tempo gasto.
Por exemplo:
Conforme apresentado na imagem acima, um campo de texto “AGE” aceita apenas os números de 18 a 60. Haverá três conjuntos de classes ou grupos.
Duas classes inválidas serão:
a) Menor ou igual a 17.
b) Maior ou igual a 61.
Uma classe válida será de 18 a 60 anos.
Assim, reduzimos os casos de teste a apenas 3 casos de teste com base nas classes formadas, cobrindo assim todas as possibilidades. Portanto, testar com qualquer valor de cada conjunto da classe é suficiente para testar o cenário acima.
=> Leitura recomendada - O que é particionamento de equivalência?
# 2) Análise de valor limite
Pelo próprio nome, podemos entender que nesta técnica nos concentramos nos valores dos limites, pois descobrimos que muitos aplicativos têm uma grande quantidade de problemas nos limites.
Limite significa os valores próximos ao limite onde o comportamento do sistema muda. Na análise de valor limite, as entradas válidas e inválidas estão sendo testadas para verificar os problemas.
Por exemplo:
ferramentas de teste de automação de código aberto para aplicativos da web
Se quisermos testar um campo onde valores de 1 a 100 devem ser aceitos, escolhemos os valores de limite: 1-1, 1, 1 + 1, 100-1, 100 e 100 + 1. Em vez de usar todos os valores de 1 a 100, usamos apenas 0, 1, 2, 99, 100 e 101.
# 3) Teste de Tabela de Decisão
Como o próprio nome sugere, onde quer que existam relações lógicas como:
Se
{
(Condição = verdadeiro)
então ação1;
}
else action2; / * (condição = Falso) * /
Em seguida, um testador identificará duas saídas (ação1 e ação2) para duas condições (verdadeiro e falso). Portanto, com base nos cenários prováveis, uma tabela de decisão é criada para preparar um conjunto de casos de teste.
Por exemplo:
Tome um exemplo de banco XYZ que fornece taxa de juros para o idoso do sexo masculino como 10% e para o resto das pessoas 9%.
Nesta condição de exemplo, C1 tem dois valores como verdadeiro e falso, a condição C2 também tem dois valores como verdadeiro e falso. O número total de combinações possíveis seria então quatro. Dessa forma, podemos derivar casos de teste usando uma tabela de decisão.
webdriver selênio com pepino exemplo em eclipse
# 4) Teste de transição de estado
Teste de transição de estado é uma técnica usada para testar os diferentes estados do sistema em teste. O estado do sistema muda dependendo das condições ou eventos. Os eventos acionam estados que se tornam cenários e um testador precisa testá-los.
Um diagrama de transição de estado sistemático fornece uma visão clara das mudanças de estado, mas é eficaz para aplicativos mais simples. Projetos mais complexos podem levar a diagramas de transição mais complexos, tornando-os menos eficazes.
Por exemplo:
# 5) Erro de adivinhação
Este é um exemplo clássico de teste baseado em experiência.
Nessa técnica, o testador pode usar sua experiência sobre o comportamento e as funcionalidades do aplicativo para adivinhar as áreas sujeitas a erros. Muitos defeitos podem ser encontrados usando a adivinhação de erros, onde a maioria dos desenvolvedores costuma cometer erros.
Alguns erros comuns que os desenvolvedores geralmente esquecem de lidar:
- Divida por zero.
- Tratamento de valores nulos em campos de texto.
- Aceitando o botão Enviar sem nenhum valor.
- Upload de arquivo sem anexo.
- Upload de arquivo com menos ou mais do que o tamanho limite.
# 6) Métodos de teste baseados em gráficos
Todo e qualquer aplicativo é um acúmulo de alguns objetos. Todos esses objetos são identificados e o gráfico é preparado. A partir desse gráfico de objeto, cada relacionamento de objeto é identificado e os casos de teste são gravados de acordo para descobrir os erros.
# 7) Teste de comparação
Diferentes versões independentes do mesmo software são usadas para comparar umas às outras para teste neste método.
Como fazer passo a passo?
Em geral, quando um processo sistemático é seguido para testar um projeto / aplicativo, a qualidade é mantida e é útil no longo prazo para novas rodadas de teste.
- A primeira etapa é entender a especificação de requisitos de um aplicativo. Um SRS (Especificação de Requisitos de Software) documentado adequado deve estar em vigor.
- Usando as técnicas de teste de caixa preta mencionadas acima, como análise de valor limite, particionamento de equivalência, etc., conjuntos de entradas válidas e inválidas são identificados com suas saídas desejadas e os casos de teste são projetados com base nisso.
- Os casos de teste projetados são executados para verificar se eles passam ou falham, verificando os resultados reais com os resultados esperados.
- Os casos de teste com falha são apresentados como Defeitos / Bugs e encaminhados à equipe de desenvolvimento para que sejam corrigidos.
- Além disso, com base nos defeitos que estão sendo corrigidos, o testador testa novamente os defeitos para verificar se são recorrentes ou não.
Vantagens e desvantagens
Vantagens
- O testador não precisa ter formação técnica. É importante testar estando no lugar do usuário e pensar do ponto de vista do usuário.
- Os testes podem ser iniciados assim que o desenvolvimento do projeto / aplicação for concluído. Tanto os testadores quanto os desenvolvedores trabalham independentemente, sem interferir no espaço um do outro.
- É mais eficaz para aplicações grandes e complexas.
- Defeitos e inconsistências podem ser identificados no estágio inicial do teste.
Desvantagens
- Sem nenhum conhecimento técnico ou de programação, há chances de ignorar as possíveis condições do cenário a ser testado.
- Em um tempo estipulado, há possibilidades de testar menos e pular todas as entradas possíveis e seus testes de saída.
- Uma cobertura de teste completa não é possível para projetos grandes e complexos.
Diferença entre teste de caixa branca e teste de caixa preta
Abaixo estão algumas diferenças entre os dois:
Teste de caixa preta | Teste de caixa branca |
---|---|
É um método de teste sem ter conhecimento sobre o código real ou estrutura interna do aplicativo | É um método de teste com conhecimento sobre o código real e a estrutura interna do aplicativo |
Este é um teste de nível superior, como o teste funcional. | Este tipo de teste é realizado em um nível inferior de teste, como Teste de Unidade, Teste de Integração |
Ele se concentra na funcionalidade do sistema em teste | Ele se concentra no código real - programa e sua sintaxe |
O teste de caixa preta requer a especificação de requisitos para testar | O teste de caixa branca requer documentos de design com diagramas de fluxo de dados, fluxogramas etc. |
O teste da caixa preta é feito pelos testadores | O teste de caixa branca é feito por desenvolvedores ou testadores com conhecimento de programação. |
Conclusão
Estes são alguns dos pontos básicos sobre o teste da caixa preta e a visão geral de suas técnicas e métodos.
Como não é possível testar tudo com envolvimento humano com 100 por cento de precisão, se as técnicas e métodos mencionados acima forem usados de forma eficaz, certamente melhorará a qualidade do sistema.
Para concluir, este é um método muito útil para verificar a funcionalidade do sistema e identificar a maioria dos defeitos.
Espero que você tenha adquirido um conhecimento profundo da técnica de teste da caixa preta.
Leitura recomendada
- Principais diferenças entre o teste de caixa preta e o teste de caixa branca
- Melhores ferramentas de teste de software 2021 (QA Test Automation Tools)
- Teste Funcional Vs Teste Não Funcional
- Tutorial de Teste Pairwise ou Teste All-Pairs com ferramentas e exemplos
- Teste de caixa branca: um guia completo com técnicas, exemplos e ferramentas
- Tutorial de teste de volume: exemplos e ferramentas de teste de volume
- Tutorial de teste de configuração com exemplos
- Download do e-book do Testing Primer