how write complex business logic test scenarios using decision table technique
O Teste de Tabela de Decisão é uma abordagem fácil e confiável para identificar os cenários de teste para lógica de negócios complexa .
Existem várias técnicas de design de casos de teste. Neste artigo, aprenderemos como usar a técnica da Tabela de Decisão efetivamente para escrever casos de teste para um aplicativo com lógica de negócios complexa.
Aqui está uma ilustração:
Todos nós sabemos que as regras e validações de negócios ocupam grande parte dos requisitos dados pelos clientes. Ao observar como esses requisitos são representados e comunicados a toda a equipe do projeto por analistas de negócios ou clientes, descobrimos que a maioria dessas regras e lógicas de negócios são apresentadas em um diagrama de fluxo de processo lógico.
Um diagrama de fluxo de processo lógico para um requisito complexo é composto por muitos ramos, nós e caixas de decisão. Esperançosamente, nós testadores devemos cobrir todos esses ramos e tocar cada canto e canto de uma árvore lógica tão complexa. Também enfrentei fluxos de negócios complexos e tentei muitas técnicas de preparação de casos de teste / cenários de teste para tornar o processo mais fácil.
Por fim, descobri que a técnica Teste da Tabela de Decisão é altamente útil nesse aspecto. Aqui está como uma técnica de Tabela de Decisão pode facilitar a preparação do cenário de teste para lógica de negócios complexa.
Exemplo: Escrevendo casos de teste para uma tela de login usando a técnica da tabela de decisão:
Vamos dar uma Exemplo de mesa de decisão dos requisitos de negócios abaixo para uma tela de login.
Fig: 1.0 Diagrama de fluxo de negócios de amostra
O primeiro passo que fazemos é nomear todos os ramos e sair com números ou letras como abaixo.
1, 2, 3 são as folhas e a, b & c são os ramos.
inserção e exclusão de árvore binária em java
Então, temos que criar uma tabela de decisão conforme mostrado abaixo: (Clique para ampliar a imagem)
Fig 1.1 Tabela de decisão para o fluxo de negócios fig 1.0
O que você aprenderá:
- Pontos para lembrar
- Vantagens de usar a técnica da tabela de decisão
- Limitações do uso da técnica da tabela de decisão
- Outras técnicas de design de caso de teste
- Conclusão
- Leitura recomendada
Pontos para lembrar
- Todas as validações especificadas nas caixas de decisão devem ser feitas nas colunas da tabela.
- Todos os resultados (folhas) mencionados no diagrama de fluxo devem ser incluídos na tabela de decisão.
- Todas as combinações de entradas necessárias para obter um determinado resultado devem ser mencionadas na coluna de combinações e podem ser incluídas durante a escrita dos casos de teste.
- Depois de preencher a tabela de Decisão, basta verificar se todos os ramos e folhas da árvore lógica estão cobertos.
Vantagens de usar a técnica da tabela de decisão
# 1) Qualquer fluxo de negócios complexo representado como um diagrama pode ser facilmente abordado nesta técnica.
#dois) Ele fornece confiança rápida nos casos de teste. Não é necessário revisar seus próprios casos de teste várias vezes para ganhar confiança.
# 3) Fácil de entender. Qualquer pessoa pode fazer casos de teste a partir deste modelo de tabela de decisão.
# 4) O retrabalho nos casos de teste e cenários de teste pode ser totalmente evitado, pois oferece cobertura completa na primeira tentativa.
diferença entre teste de fumaça e teste de sanidade
Limitações do uso da técnica da tabela de decisão
# 1) Determinadas técnicas de preparação de caso de teste, como análise de valor limite e particionamento de equivalência, não podem ser acomodadas diretamente neste modelo. Mas, pode-se anotar isso na coluna de combinações e usá-las ao escrever casos de teste.
Antes de explicar por que outras técnicas de escrita de casos de teste não podem garantir tanta precisão quanto as tabelas de decisão, gostaria de lembrar rapidamente outras Caixa preta e caixa branca técnicas de escrita de casos de teste.
Outras técnicas de design de caso de teste
# 1) Análise de valor limite é uma técnica de Teste de Software em que os casos de teste são projetados para incluir representantes de valores limite dentro e fora de um determinado intervalo.
#dois) Particionamento equivalente também chamado Particionamento de classe de equivalência é uma técnica de teste de software que divide a condição fornecida em partições e um dado de entrada de cada partição pode ser escolhido para teste.
# 3) Teste de transição de estado é uma técnica de teste de caixa preta, que pode ser usada para projetar casos de teste para um sistema que adquire um número finito de estados e pode transitar de um estado para outro em eventos específicos.
# 4) Adivinhação de erro é uma técnica onde a experiência de um testador é usada para encontrar os erros ou parte de um aplicativo com maior possibilidade de encontrar erros. Esta é uma técnica baseada em habilidades, sem regras.
# 5) Teste de caso de uso Nesta técnica, casos de uso / cenários são usados para escrever os casos de teste. A interação de usuários e sistemas é descrita em um caso de uso.
Mais algumas técnicas de design de teste:
# 6) Cobertura de declaração
# 7) Cobertura de condição
# 8) Teste exploratório
Por que outras técnicas de design de caso de teste para lógica de negócios não podem provar ser úteis como tabelas de decisão?
# 1) O particionamento de classes de Análise de Valor Limite e Equivalência destina-se a intervalos e comprimentos numéricos. Ambas as técnicas sozinhas não podem garantir 100% de cobertura de teste para regras de negócios.
#dois) O Error Guessing é mais sobre a experiência. Embora seja necessária experiência, ela não pode ser tudo.
# 3) Com a técnica de teste de transição de estado, pode-se garantir que todas as partes da árvore lógica sejam cobertas, mas não sugere documento ou artefato, pois a técnica de Tabela de decisão garante a cobertura com uma tabela de decisão (fig. 1.1).
Conclusão
Para escrever casos de teste para lógica de negócios, é aconselhável seguir o seguinte etapas para preparar casos de teste, a fim de garantir a cobertura de teste máxima:
Passo 1) Usar uma técnica de design de caso de teste de Tabela de Decisão para atingir 100% de cobertura lógica.
Passo 2) Análise de valor limite e particionamento de equivalência para cobrir vários intervalos de entradas.
Etapa 3) Combinações e permutações para validações em nível de campo (embora nem todas as permutações sejam necessárias).
Passo 4) Adivinhação de erros (além dos erros que podem ser identificados nas três etapas acima) com experiência como toque final
Com a combinação certa de todas essas técnicas, espero que você seja capaz de descobrir quase todas cenários de teste para qualquer aplicativo em teste.
Sobre o autor: Hari Narayan é um profissional de teste de software com mais de 3 anos de experiência em escrever cenários de teste para lógica de negócios complexa. Ele está atualmente trabalhando com a Plintron Global Technologies.
Deixe-nos saber qual técnica de design de caso de teste você usa com mais frequência em seu projeto? E qual o melhor método de acordo com a sua experiência?
Sinta-se à vontade para compartilhar seus valiosos comentários / sugestões sobre este artigo.
Leitura recomendada
- Exemplos de algoritmos de árvore de decisão em mineração de dados
- O que é a técnica de adivinhação de erros?
- Tabela de validação de campo (FVT): uma técnica de design de teste para validação de campo
- O que é técnica de teste baseada em defeitos?
- As 4 etapas para o teste de Business Intelligence (BI): como testar dados de negócios
- Processo de teste de gateway B2B (Business to Business)
- Dez principais ferramentas de design de banco de dados para construir modelos de dados complexos
- Business Process Testing (BPT) - Como simplificar e acelerar o processo de teste usando BPT