Escolar Documentos
Profissional Documentos
Cultura Documentos
Apresentação
O principal objetivo da atividade de testes é garantir que o software que está sendo desenvolvido
esteja em conformidade com o que foi especificado. Existem várias técnicas e abordagens para a
aplicação de testes no sentido de cumprir com esse objetivo e, para isso, as técnicas devem ser
aplicadas de maneira controlada.
Nesta Unidade de Aprendizagem, você aprenderá sobre o suporte para testes de software baseados
em tabelas de decisão, uma técnica que provê maior completude ao teste por proporcionar
fomento ao cruzar combinações de diversas situações diante de uma necessidade específica do
software.
Bons estudos.
Neste Infográfico, você vai entender o fluxo de trabalho comum para o uso das tabelas de decisão
em casos de teste.
Aponte a câmera para o
código e acesse o link do
conteúdo ou clique no
código para acessar.
Conteúdo do livro
Existem testes funcionais que fazem parte da abordagem caixa-preta. Quando a fase de testes
funcionais inicia, são levantados documentos de especificações para serem os insumos que darão a
base de informações para a criação dos casos de teste, os quais irão testar o sistema e assegurar a
sua qualidade.
Um dos primeiros artefatos, e também um dos mais importantes coletado pelos analistas de testes,
são as tabelas de decisão. O motivo dessa priorização é que essas tabelas são uma ótima alternativa
para criar casos de teste com boa fidelidade com a especificação, além de boa cobertura. Isso é
constatado porque uma tabela de decisão foi construída para modelar, em formato de tabela, os
requisitos que contemplam a estrutura de decisão da funcionalidade.
No capítulo Tabelas de decisão e testes, da obra Testes de software e gerência de configuração, base
teórica desta Unidade de Aprendizagem, você vai aprender sobre o suporte para testes de software
baseados em tabelas de decisão.
Boa leitura.
TESTES DE
SOFTWARE E
GERÊNCIA DE
CONFIGURAÇÃO
Introdução
Ao longo dos anos, os testes ganharam bastante relevância nas fábricas
de software que almejam produtos finais com mais qualidade e menor
número de correções. Assim, muitas técnicas e abordagens foram de-
senvolvidas por estudiosos, matemáticos e cientistas da computação
com o objetivo de testar os sistemas. Entretanto, as técnicas de testes às
vezes necessitam de suporte adicional. Isso faz com que elas ganhem
amplitude sem necessariamente uma mudança de abordagem ou a
criação de uma nova forma de testar sistemas.
O uso de tabelas de decisão é uma das técnicas adicionais ao teste de
software. Quando associada a uma abordagem adequada, essa técnica
proporciona a ampliação da cobertura de testes. Neste capítulo, você vai
conhecer e aprender a identificar as tabelas de decisão que dão suporte
aos testes de software. Além disso, vai analisar essas tabelas para utilizá-las
na implementação de casos de teste.
Combinações
R1 R2 R3 R4 R5 R6 R7 R8
A1 = 10 F F F F T T T T
Condições A2 = 20 F F T T F F T TT
A3 = 30 F T F T F T F
Ação 1 X X X X
Ações Ação 2 X X
Ação 3 X
A tabela que você acabou de ver pode ser usada para o suporte do caso de
teste na validação e na verificação do comportamento da funcionalidade alvo.
Após o analista de testes selecionar as tabelas definidas na documentação, ele
deve ter o cuidado de analisar a estrutura de decisão que a tabela apresenta
para estabilizá-la a fim de otimizar a criação dos casos de teste.
A tabela ainda pode ser minimizada. Isso quer dizer que o analista pode
reduzir seu tamanho consideravelmente apenas mesclando ou eliminando
combinações similares. Dessa forma, durante o teste, uma regra é capaz de
testar também aquela sua similar eliminada, já que a ação será a mesma. A
seguir, veja a tabela anterior minimizada e otimizada para uso em casos de teste.
Tabelas de decisão e testes 3
Combinações
A1 = 10 F F F T
Condições A2 = 20 F F T —
A3 = 30 F T — —
Ação 1 X
Ações Ação 2 X
Ação 3 X
A notação “—” é usada para definir dont’n care. Ou seja, quando há esse
sinal, o teste não precisa verificar se existe ou não um valor de entrada para a
combinação. O “—” entra nas lacunas das colunas omitidas em que existiam
valores díspares.
Combinações
R1 R2 R3 R4 R5 R6 R7 R8
A1 = 10 F F F F T T T T
Condições A2 = 20 F F T T F F T T
A3 = 30 F T F T F T F T
Ação 1 X X X X
Ações Ação 2 X X
Ação 3 X
Veja que a tabela tem possibilidades para mesclar/eliminar colunas por ter
combinações de valores de entrada semelhantes que executam a mesma ação.
A análise deve ter como resultado a reestruturação da tabela de decisão. Veja:
Combinações
R1 R2 R3 R5
A1 = 10 F F F T
Condições A2 = 20 F F T —
A2 = 30 F T — —
Ação 1 X
Ações Ação 2 X
Ação 3 X
A seguir, confira uma lista de casos de teste possíveis para a tabela minimizada que
você acabou de ver.
Caso de teste R1: aborda uma combinação de entrada como pré-requisito de
valores F, F, F, sendo que a especificação da regra R1 para quando as condições
forem combinadas dessa forma é não ter uma ação.
Caso de teste R2: aborda uma combinação de entrada como pré-requisito de
valores F, F, T, sendo que a especificação da regra R2 para quando as condições
forem combinadas dessa forma é executar a ação 3.
Caso de teste R3: aborda uma combinação de entrada como pré-requisito de
valores F, T, “—”, sendo que a especificação da regra R3 para quando as condições
forem combinadas dessa forma é executar a ação 2.
Caso de teste R4: aborda uma combinação de entrada como pré-requisito de va-
lores T, “—”, “—”, sendo que a especificação da regra R4 para quando as condições
forem combinadas dessa forma é executar a ação 1.
6 Tabelas de decisão e testes
Combinações
R1 R2 R3 R5
A1 = 10 F F F T
Condições A2 = 20 F F T —
A3 = 30 F T — —
Ação 1 X
Ações Ação 2 X
Ação 3 X
Regras A1 ≠ 10 e A2 ≠ 20 e A3 ≠ 30
Resultado
Sem resultado.
esperado
Tabelas de decisão e testes 7
Regras A1 ≠ 10 e A2 ≠ 20 e A3 = 30
Resultado
Resultado da ação 3 ocorrido.
esperado
Regras A1 ≠ 10 e A2 = 20
Resultado
Resultado da ação 2 ocorrido.
esperado
Regras A1 = 10
Resultado
Resultado da ação 1 ocorrido.
esperado
8 Tabelas de decisão e testes
Caso de Resultado
Pré-condições Regras Ações
teste esperado
Agora você sabe como uma tabela pode apoiar a criação de casos de teste.
Porém, os casos de teste não se limitam somente a essas especificações. É por
isso que as tabelas são suportes. Os casos de teste podem ser mais extensos
e a tabela de decisão pode, por exemplo, adicionar uma regra a um conjunto
de outras regras de um caso de teste mais complexo.
Nesta Dica do Professor, você vai ver, de forma simplificada, como uma tabela de decisão pode ser
escrita como caso de teste.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Na prática
Os casos de teste podem ser criados com suporte das tabelas de decisão confeccionadas para a
especificação de um software. Analisar a documentação para obter essa fonte de informação é uma
boa prática, pois as tabelas de decisão geram casos de teste funcionais muito eficientes em verificar
e validar as regras de comportamento definidas para o software.
Neste Na Prática, você vai ver o caso de um analista de testes de uma fábrica de softwares.
Aponte a câmera para o
código e acesse o link do
conteúdo ou clique no
código para acessar.
Saiba +
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor:
Testes caixa-preta 2
Nas páginas 10 a 14 do seguinte material, você vai ver exemplos sobre tabelas de decisão.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.