No contexto de testes de software baseados em grafos, a análise dos caminhos linearmente independentes é uma técnica usada para assegurar que todas as rotas críticas no código sejam cobertas por casos de teste específicos. Esses caminhos independentes garantem que o comportamento do software seja validado em diferentes condições, com base nas variações de dados de entrada utilizadas nas decisões condicionais. Com relação a essa técnica de teste, assinale a alternativa que sintetiza corretamente a abordagem para projetar casos de teste que garantam a cobertura total dos caminhos linearmente independentes.
Questão
No contexto de testes de software baseados em grafos, a análise dos caminhos linearmente independentes é uma técnica usada para assegurar que todas as rotas críticas no código sejam cobertas por casos de teste específicos. Esses caminhos independentes garantem que o comportamento do software seja validado em diferentes condições, com base nas variações de dados de entrada utilizadas nas decisões condicionais. Com relação a essa técnica de teste, assinale a alternativa que sintetiza corretamente a abordagem para projetar casos de teste que garantam a cobertura total dos caminhos linearmente independentes.
Alternativas
A) Criar casos de teste que ignorem a idade como critério, focando apenas na execução dos métodos principais do código, sem variações.
B) Projetar casos de teste que utilizem a idade como parâmetro principal, variando-a entre valores menores e maiores que 18, garantindo que todas as condições sejam exercitadas.
C) Criar casos de teste utilizando a idade como único parâmetro, verificando apenas se o código retorna o valor correto quando a idade é menor que 18.
D) Utilizar apenas valores de idade menores que 18 para testar todas as possibilidades condicionais do código, sem alterar outros parâmetros.
E) Definir um único caso de teste com a idade igual a 18, garantindo que o caminho condicional seja coberto, sem necessidade de testar outros valores.
Explicação
Em testes baseados em grafos (como teste de caminho básico), busca-se identificar os caminhos linearmente independentes do fluxo de controle e então criar um conjunto de casos de teste capaz de executar cada um desses caminhos ao menos uma vez.
Quando o código possui uma decisão condicional do tipo idade < 18 (ou equivalente), existem pelo menos dois ramos relevantes no grafo de fluxo:
- ramo em que a condição é verdadeira (idade menor que 18);
- ramo em que a condição é falsa (idade maior ou igual a 18).
Para garantir a cobertura dos caminhos linearmente independentes associados a essa decisão, é necessário variar os dados de entrada (a idade) de modo a forçar a execução de todos os ramos/condições. Assim, projetar testes com valores menores que 18 e maiores que 18 (representando lados diferentes da decisão) é uma síntese correta da abordagem para cobrir os caminhos independentes nesse cenário.
As demais alternativas falham porque:
- ignoram a variável que controla a decisão (A),
- testam apenas um lado da condição (C e D),
- ou usam um único valor (E), o que não garante exercitar todos os caminhos independentes.
Alternativa correta: (B).
Travou em outra questão? A gente resolve.
Crie sua conta grátis e resolva 3 questões por dia com explicação passo a passo, por texto ou foto.