O que é teste de domínio em teste de software? (com exemplo)
⚡ Resumo Inteligente
O teste de domínio verifica uma aplicação fornecendo-lhe o menor conjunto útil de entradas, abrangendo valores válidos, inválidos e limites, e confirmando que apenas os valores dentro do intervalo aceito produzem a saída necessária.
O que é teste de domínio?
Teste de domínio é um teste de software O teste de domínio é um processo no qual a aplicação é testada fornecendo um número mínimo de entradas e avaliando suas saídas apropriadas. O objetivo principal do teste de domínio é verificar se a aplicação de software aceita entradas dentro da faixa aceitável e fornece a saída esperada.
É um teste funcional Técnica na qual a saída de um sistema é testada com um número mínimo de entradas para garantir que o sistema não aceite valores de entrada inválidos e fora do intervalo. Também é considerada uma das técnicas importantes. teste de caixa branca métodos. Além disso, verifica se o sistema não deve aceitar entradas, condições e índices fora do intervalo especificado ou válido.
Os testes de domínio variam para cada domínio específico, portanto, é necessário conhecimento específico do domínio para testar um sistema de software.
Prática mais simples de teste de domínio
No teste de domínio, dividimos um domínio em subdomínios (classes de equivalência) e depois testamos usando valores de cada subdomínio. Por exemplo, se um site (domínio) foi fornecido para teste, dividiremos o site em pequenas porções (subdomínio) para facilitar o teste.
O domínio pode envolver o teste de uma única variável de entrada ou de uma combinação de variáveis de entrada.
Os profissionais costumam estudar os casos mais simples de teste de domínio sob outros dois nomes: "teste de limites" e "análise de classes de equivalência".
Teste de limite - Análise de valor de limite (BVA) baseia-se em testes nos limites entre partições. Testaremos tanto os valores de entrada válidos quanto os inválidos nas partições/classes.
Teste de equivalência de classes – A ideia por trás desta técnica é dividir (ou seja, particionar) um conjunto de condições de teste em grupos ou conjuntos que podem ser considerados iguais (ou seja, o sistema deve tratá-los de forma equivalente), daí 'particionamento por equivalência'.
Essa forma simplificada se aplica aos testes de domínio –
- Somente para testes de variáveis de entrada
- Somente quando testado no nível do sistema
- Somente quando testado um de cada vez
- Somente quando testado de forma muito superficial
Pode ser simplificado conforme abaixo:
| Variável | Classe de equivalência de classe válida | Classe de equivalência de classe inválida | Limites e casos especiais | Notas |
|---|---|---|---|---|
| X | 0-100 | 0 | ||
| 100 | ||||
| <0 | -1 | |||
| > 100 | 101 |
Explicação:
- Se um campo aceita intervalos de 0 a 100, ele não deve aceitar -1 e 101, pois são entradas inválidas e estão fora dos limites.
- O campo deve aceitar valores como 0, 100 e qualquer número entre eles.
Construindo mesas como essas (na prática)
- Para construir uma análise de classes de equivalência ao longo do tempo, insira as informações em uma planilha. Comece listando as variáveis. Adicione informações sobre elas à medida que as obtiver.
- A tabela deverá conter todas as variáveis. Isso significa todas as variáveis de entrada, todas as variáveis de saída e quaisquer variáveis intermediárias que possam ser observadas.
- Na prática, a maioria dessas tabelas está incompleta. As melhores listam todas as variáveis e adicionam detalhes para as variáveis críticas.
Estratégia de teste de domínio
Ao realizar testes de domínio, você precisa considerar os seguintes aspectos:
- Qual domínio estamos testando?
- Como agrupar os valores em classes?
- Quais valores das classes a serem testadas?
- Como determinar o resultado?
Qual domínio estamos testando?
Qualquer domínio que testamos possui funcionalidades de entrada e saída. Haverá variáveis de entrada a serem inseridas e a saída correspondente deverá ser verificada. O diagrama abaixo ilustra essa relação entre entrada e saída.
Exemplo de teste de domínio
Considere um cenário de teste de entrada único:
C = a+b, onde aeb são variáveis de entrada e C é a variável de saída.
No exemplo acima, não há necessidade de classificação, nem é necessária qualquer combinação de variáveis.
Considere as múltiplas entradas abaixo e o cenário de saída apropriado:
Considere uma exposição de jogos para crianças. Seis competições estão organizadas e os ingressos devem ser distribuídos de acordo com a idade e o sexo informados. O sistema de ingressos é um dos módulos a serem testados para garantir a funcionalidade completa da exposição de jogos.
De acordo com o cenário, obtivemos seis cenários baseados na idade e nas competições:
- Meninos com idade entre 5 e 10 anos devem participar da atividade de contação de histórias.
- Meninas com idade entre 5 e 10 anos devem participar do Concurso de Desenho.
- Meninos com idade entre 10 e 15 anos devem participar do Quiz.
- Meninas com idade entre 10 e 15 anos devem participar da redação.
- Para crianças com idade igual ou inferior a 5 anos, meninos e meninas devem participar do Concurso de Rimas.
- Com idade >15 anos, meninos e meninas devem participar do concurso de Poesia.
Neste caso, os dados de entrada serão Idade e Sexo, e, consequentemente, o ingresso para a competição será emitido. Este é o caso em que a divisão dos dados de entrada, ou simplesmente o agrupamento, é necessária.ping de valores, entra em cena.
Como agrupar os valores em classes?
Particionar alguns valores significa dividi-los em partes que não se sobrepõem.ping subconjuntos.
Como discutimos anteriormente, existem dois tipos de particionamento:
- Particionamento equivalente – O particionamento por equivalência é uma técnica de teste de software que divide os dados de entrada de uma unidade de software em partições de dados equivalentes, a partir das quais casos de teste podem ser derivados. Em princípio, os casos de teste são projetados para cobrir cada partição pelo menos uma vez.
- Análise de valor de limite – A análise de valores limite é uma técnica de teste de software na qual os testes são projetados para incluir representantes de valores limite em um intervalo. A ideia vem do próprio conceito de limite.
No exemplo acima, estamos dividindo os valores em subconjuntos. Estamos dividindo a idade nas seguintes classes:
- Classe 1: Crianças com idade entre 5 e 10 anos.
- Classe 2: Crianças com idade inferior a 5 anos
- Classe 3: Crianças com idade entre 10 e 15 anos.
- Classe 4: Crianças com idade superior a 15 anos.
Quais valores das classes a serem testadas?
Os valores selecionados para teste devem ser valores limite:
- Os limites são representantes das classes de equivalência das quais os amostramos. Eles têm maior probabilidade de expor um erro do que outros membros da classe, portanto, são melhores representantes.
- O melhor representante de uma classe de equivalência é um valor entre o intervalo.
Para o exemplo acima temos as seguintes classes a serem testadas:
Por exemplo, para o cenário nº 1:
Classe 1: Crianças com idade entre 5 e 10 anos (Idade >5 e ≤10 anos)
Valores limite:
- Os valores devem ser iguais ou inferiores a 10. Portanto, a idade de 10 anos deve ser incluída nesta classe.
- Os valores devem ser superiores a 5. Portanto, a idade de 5 anos não deve ser incluída nesta classe.
- Os valores devem ser iguais ou inferiores a 10. Portanto, a idade de 11 anos não deve ser incluída nesta classe.
- Os valores devem ser superiores a 5. Portanto, a idade de 6 anos deve ser incluída nesta classe.
Valores de partição de equivalência:
A partição de equivalência é utilizada quando se precisa testar apenas uma condição de cada partição. Nesse caso, assume-se que se uma condição em uma partição funcionar, então todas as condições funcionarão. Da mesma forma, se uma condição nessa partição não funcionar, assume-se que nenhuma das outras condições funcionará. Por exemplo,
(Idade >5 e <=10)
Como os valores de 6 a 10 são válidos, um dos valores entre 6, 7, 8, 9 e 10 deve ser escolhido. Portanto, a idade selecionada "8" é uma idade de entrada válida para a faixa etária entre (Idade >5 e <=10). Esse tipo de partição é chamado de partição de equivalência.
| Cenário | Valores limite a serem considerados | Valores de particionamento de equivalência |
|---|---|---|
| Menino - Idade >5 e <=10 | Idade de entrada = 6 Idade de entrada = 5 Idade de entrada = 11 Idade de entrada = 10 |
Idade de entrada = 8 |
| Menina - Idade >5 e <=10 | Idade de entrada = 6 Idade de entrada = 5 Idade de entrada = 11 Idade de entrada = 10 |
Idade de entrada = 8 |
| Menino - Idade >10 e <=15 | Idade de entrada = 11 Idade de entrada = 10 Idade de entrada = 15 Idade de entrada = 16 |
Idade de entrada = 13 |
| Menina - Idade >10 e <=15 | Idade de entrada = 11 Idade de entrada = 10 Idade de entrada = 15 Idade de entrada = 16 |
Idade de entrada = 13 |
| Idade<=5 | Idade de entrada = 4 Idade de entrada = 5 |
Idade de entrada = 3 |
| Idade> 15 | Idade de entrada = 15 Idade de entrada = 16 |
Idade de entrada = 25 |
Como determinamos se o programa passou ou falhou no teste?
A implementação da funcionalidade não depende apenas dos resultados dos cenários acima. A entrada fornecida e a saída esperada nos darão os resultados, e isso requer conhecimento do domínio.
Analisando os resultados do exemplo: a tela abaixo mostra a emissão de bilhetes para cada combinação de idade e sexo.
Portanto, se todos os casos de teste acima forem aprovados, o domínio de emissão de ingressos na competição será aprovado. Caso contrário, o domínio será reprovado.
Estrutura de teste de domínio
Normalmente, os testadores seguem os passos abaixo no teste de domínio. Estes passos podem ser personalizados ou omitidos de acordo com as nossas necessidades de teste.
- Identifique as variáveis potencialmente interessantes.
- Identifique as variáveis que você pode analisar agora e ordene-as (da menor para a maior e vice-versa).
- Crie e identifique valores limite e valores de classe de equivalência conforme acima.
- Identifique as dimensões secundárias e analise cada uma de forma clássica. (No exemplo acima, Gênero é a dimensão secundária.)
- Identifique e teste variáveis que contêm resultados (variáveis de saída).
- Avalie como o programa usa o valor desta variável.
- Identificar variáveis adicionais potencialmente relacionadas para testes de combinação, onde teste de tabela de decisão ajuda.
- Imagine riscos que não necessariamente se encaixam em uma dimensão óbvia.
- Identifique e liste variáveis não analisadas. Reúna informações para análise posterior.
- Resuma sua análise com uma tabela de risco/equivalência.


