Teste de tabela de decisão (exemplo)
O que é teste de tabela de decisão?
O teste de tabela de decisão é uma técnica de teste de software usada para testar o comportamento do sistema para diferentes combinações de entrada. Esta é uma abordagem sistemática onde as diferentes combinações de entradas e o comportamento correspondente do sistema (Saída) são capturados em forma de tabela. É por isso que também é chamado de Causa efeito tabela onde Causa e efeitos são capturados para melhor cobertura do teste.
A Tabela de decisão é uma representação tabular de entradas versus regras/casos/condições de teste. É uma ferramenta muito eficaz usada tanto para problemas complexos teste de software e gerenciamento de requisitos. Uma tabela de decisão ajuda a verificar todas as combinações possíveis de condições para teste e os testadores também podem identificar facilmente as condições perdidas. As condições são indicadas como valores Verdadeiro(T) e Falso(F).
Vamos aprender com um exemplo.
Exemplo 1: Como fazer Tabela Base de Decisão para Tela de Login
Vamos criar uma tabela de decisão para uma tela de login.
A condição é simples: se o usuário fornecer o nome de usuário e a senha corretos, o usuário será redirecionado para a página inicial. Se alguma entrada estiver errada, uma mensagem de erro será exibida.
Condições | Regra 1 | Regra 2 | Regra 3 | Regra 4 |
---|---|---|---|---|
Nome de usuário (T/F) | F | T | F | T |
Senha (T/F) | F | F | T | T |
Saída (E/H) | E | E | E | H |
Legenda:
- T – Nome de usuário/senha corretos
- F – Nome de usuário/senha errados
- E – Mensagem de erro é exibida
- H – A tela inicial é exibida
Interpretação:
- Caso 1 – Nome de usuário e senha estavam errados. O usuário recebe uma mensagem de erro.
- Caso 2 – O nome de usuário estava correto, mas a senha estava errada. O usuário recebe uma mensagem de erro.
- Caso 3 – O nome de usuário estava errado, mas a senha estava correta. O usuário recebe uma mensagem de erro.
- Caso 4 – O nome de usuário e a senha estavam corretos e o usuário navegou para a página inicial
Ao converter isso para um caso de teste, podemos criar 2 cenários,
- Digite o nome de usuário e a senha corretos e clique em login, e o resultado esperado será que o usuário deverá navegar até a página inicial
E um do cenário abaixo
- Digite o nome de usuário e a senha errados e clique em login, e o resultado esperado será que o usuário receba uma mensagem de erro
- Digite o nome de usuário correto e a senha errada e clique em login, e o resultado esperado será que o usuário receba uma mensagem de erro
- Digite o nome de usuário errado e a senha correta e clique em login, e o resultado esperado será que o usuário receba uma mensagem de erro
Como eles essencialmente testam a mesma regra.
Exemplo 2: Como fazer Tabela de Decisão para Tela de Upload
Agora considere uma caixa de diálogo que solicitará ao usuário que carregue uma foto com certas condições como –
- Você pode fazer upload apenas de imagens no formato '.jpg'
- tamanho do arquivo menor que 32kb
- resolução 137*177.
Se alguma das condições falhar, o sistema emitirá uma mensagem de erro correspondente informando o problema e se todas as condições forem atendidas, a foto será atualizada com sucesso
Vamos criar a tabela de decisão para este caso.
Condições | Caso 1 | Caso 2 | Caso 3 | Caso 4 | Caso 5 | Caso 6 | Caso 7 | Caso 8 |
---|---|---|---|---|---|---|---|---|
Formato | . Jpg | . Jpg | . Jpg | . Jpg | Não .jpg | Não .jpg | Não .jpg | Não .jpg |
Tamanho | Less de 32kb | Less de 32kb | >= 32kb | >= 32kb | Less de 32kb | Less de 32kb | >= 32kb | >= 32kb |
resolução | 137*177 | Não 137*177 | 137*177 | Não 137*177 | 137*177 | Não 137*177 | 137*177 | Não 137*177 |
saída | Foto enviada | Incompatibilidade de resolução de mensagem de erro | Incompatibilidade de tamanho da mensagem de erro | Tamanho da mensagem de erro e incompatibilidade de resolução | Mensagem de erro por incompatibilidade de formato | Formato da mensagem de erro e incompatibilidade de resolução | Mensagem de erro por incompatibilidade de formato e tamanho | Mensagem de erro sobre incompatibilidade de formato, tamanho e resolução |
Para esta condição, podemos criar 8 casos de teste diferentes e garantir uma cobertura completa com base na tabela acima.
- Faça upload de uma foto no formato '.jpg', tamanho menor que 32kb e resolução 137*177 e clique em upload. O resultado esperado é que a foto deve ser carregada com sucesso
- Faça upload de uma foto no formato '.jpg', tamanho menor que 32kb e resolução não 137*177 e clique em upload. O resultado esperado é que a incompatibilidade de resolução da mensagem de erro deve ser exibida
- Faça upload de uma foto no formato '.jpg', tamanho superior a 32kb e resolução 137*177 e clique em upload. O resultado esperado é que a incompatibilidade de tamanho da mensagem de erro deve ser exibida
- Faça upload de uma foto com formato '.jpg', tamanho maior que 32kb e resolução não 137*177 e clique em upload. O resultado esperado é que o tamanho da mensagem de erro e a incompatibilidade de resolução devem ser exibidos
- Faça upload de uma foto com formato diferente de '.jpg', tamanho menor que 32kb e resolução 137*177 e clique em upload. O resultado esperado é que uma mensagem de erro para incompatibilidade de formato deve ser exibida
- Faça upload de uma foto com formato diferente de '.jpg', tamanho menor que 32kb e resolução não 137*177 e clique em upload. O resultado esperado é que o formato da mensagem de erro e a incompatibilidade de resolução devem ser exibidos
- Faça upload de uma foto com formato diferente de '.jpg', tamanho superior a 32kb e resolução 137*177 e clique em upload. O resultado esperado é que uma mensagem de erro para incompatibilidade de formato e tamanho deve ser exibida
- Faça upload de uma foto com formato diferente de '.jpg', tamanho maior que 32kb e resolução não 137*177 e clique em upload. O resultado esperado é que uma mensagem de erro para incompatibilidade de formato, tamanho e resolução deve ser exibida
Por que o teste da tabela de decisão é importante?
O teste da tabela de decisão é importante porque ajuda a testar diferentes combinações de condições e fornece melhor cobertura de testes para lógicas de negócios complexas. Ao testar o comportamento de um grande conjunto de entradas, onde o comportamento do sistema difere com cada conjunto de entradas, o teste da tabela de decisão fornece uma boa cobertura e a representação é simples, por isso é fácil de interpretar e usar.
In Engenharia de Software, o valor limite e a partição equivalente são outras técnicas semelhantes usadas para garantir uma melhor cobertura. Eles são usados se o sistema mostrar o mesmo comportamento para um grande conjunto de entradas. Entretanto, em um sistema onde para cada conjunto de valores de entrada o comportamento do sistema é diferente, o valor limite e a técnica de particionamento equivalente não são eficazes para garantir uma boa cobertura de teste.
Neste caso, o teste de tabela de decisão é uma boa opção. Essa técnica pode garantir uma boa cobertura e a representação é simples, facilitando a interpretação e o uso.
Esta tabela pode ser utilizada como referência para o desenvolvimento de requisitos e funcionalidades, pois é de fácil compreensão e abrange todas as combinações.
A importância desta técnica torna-se imediatamente clara à medida que o número de insumos aumenta. O número de combinações possíveis é dado por 2 ^ n , onde n é o número de entradas. Para n = 10, o que é muito comum em testes baseados na web, com grandes formulários de entrada, o número de combinações será 1024. Obviamente, você não pode testar todas, mas escolherá um subconjunto rico de combinações possíveis usando decisão técnica de teste baseada.
Vantagens do teste de tabela de decisão
- Quando o comportamento do sistema é diferente para diferentes entradas e não é o mesmo para uma série de entradas, tanto o particionamento equivalente quanto a análise de valor limite não ajudarão, mas uma tabela de decisão pode ser usada.
- A representação é simples para que possa ser facilmente interpretada e também usada para desenvolvimento e negócios.
- Esta tabela ajudará a fazer combinações eficazes e pode garantir uma melhor cobertura para testes
- Quaisquer condições de negócios complexas podem ser facilmente transformadas em tabelas de decisão
- No caso de buscarmos 100% de cobertura, normalmente quando as combinações de entrada são baixas, esta técnica pode garantir a cobertura.
Desvantagens do teste de tabela de decisão
A principal desvantagem é que quando o número de insumos aumenta a tabela se torna mais complexa
Vídeo de teste de tabela de decisão
Clique aqui se o vídeo não estiver acessível