Post

1 Star2 Stars3 Stars4 Stars5 Stars
Loading ... Loading ...

By Fabrício Ferrari de Campos
Essa é uma questão casca grossa. E a principal razão para eu dizer isso, é que ela quebra uma regra que eu tinha: o número de testes para garantir a cobertura de desvio será sempre maior que o número de testes para garantir a cobertura de sentença.
Questão
Dado o seguinte código, qual a alternativa verdadeira:

IF A > B THEN
C = A – B
ELSE
C = A + B
ENDIF
Read D
IF C = D Then
Print “Error”
ENDIF

a) 1 teste de cobertura de sentença (comando), 3 para a cobertura de desviob) 2 testes de cobertura de sentença (comando), 2 para a cobertura de desvioc) 2 testes de cobertura de sentença (comando), 3 para a cobertura de desviod) 3 testes de cobertura de sentença (comando), 3 para a cobertura de desvioe) 3 testes de cobertura de sentença (comando), 2 para a cobertura de desvio
Análise do código
Temos dois IFs independentes, sendo que o primeiro IF tem um ELSE.
Resolução
Cobertura de sentença
Com um único teste poderíamos garantir quase toda a cobertura de sentença, por exemplo:
Teste 1
A = 20
B = 10
C = será 10
D = 10
Com o teste 1 iremos passar pelo primeiro e segundo IF, porém, não iremos passar pelo ELSE. Portanto precisamos de mais um teste:
Teste 2
A = 0
B = 10
C = será 10 (o valor de C nem interessa nesse teste)
D = 9 (o valor de D nem interessa nesse teste)
Com o teste 2 passamos pelo ELSE, porque A é igual a B e nos levará a linha 4, a única pela qual não tínhamos passado.
Cobertura de desvio
Podemos usar os mesmos testes feitos na cobertura de sentença. Mas com uma diferença: no teste 2, os valores de C e D nos interessam, pois irão cobrir o resultado falso (a não passagem) do segundo IF.
Portanto, com apenas dois testes também alcançamos a cobertura de desvio.
Resposta
Alternativa: b) 2 testes de cobertura de sentença (comando), 2 para a cobertura de desvio
Dica
Adaptando a minha regra inicial: o número de testes para garantir a cobertura de desvio, na maioria das vezes, será maior que o número de testes para garantir a cobertura de sentença.
Fique por dentro das novidades, assine o feed do QualidadeBR.

Source: http://qualidadebr.wordpress.com/2009/03/29/resolucao-de-questoes-ctfl-q14s2/

Category: Certificações, ctfl, questões, simulado

Você também pode querer ler

Comments are off for this post.