Prévia do material em texto
2 ptsPergunta 1
Assinale verdadeiro ou falso.
FALSO Ao testar, prova-se que um software está correto.
VERDADEIRO Um caso de teste é a escolha específica de dados para testar um
programa.
VERDADEIRO Na estratégia de teste caixa preta, criam-se casos de teste baseados
apenas na especificação do programa.
VERDADEIRO Na estratégia de teste caixa branca, criam-se casos de teste
considerando a estrutura interna do programa.
VERDADEIRO O uso de dublês evita que os defeitos de uma classe se propaguem para
a classe que está sendo testada.
VERDADEIRO A estratégia caixa branca tem potencial de encontrar mais defeitos do
que a estratégia caixa preta em testes de unidade.
FALSO É importante sobrepor os testes para confirmar que o defeito é em
decorrência daquele problema.
2 ptsPergunta 2
Considere o seguinte método:
int quadrante (Ponto p)
Esse método retorna um número, entre 1 e 4, informando o quadrante do plano cartesiano em
que o ponto se encontra. Caso o ponto esteja em uma das retas do plano cartesiano (ou seja, x
= 0 ou y = 0), o método deve retornar 0.
null, new Ponto(1, 0), new Ponto(0, 1), new Ponto(1, 1), new Ponto(1, -1), new Ponto(-1, -1), new Ponto(-1, 1)
new Ponto(0, 0), new Ponto(5, 10), new Ponto(2, -3), new Ponto(-2, -5), new Ponto(-2, 6)
new Ponto(0, 0), new Ponto(1, 1), new Ponto(1, -1), new Ponto(-1, -1), new Ponto(-1, 1)
null, new Ponto(0, 0), new Ponto(1, 0), new Ponto(2, 0), new Ponto(0, 1), new Ponto(0, 10), new Ponto(1, 1), new
Ponto(1, 5), new Ponto(1, -1), new Ponto(5, -10), new Ponto(-1, -1), new Ponto(-8, -3), new Ponto(-1, 1), new
Ponto(-10, 5)
null, new Ponto(0, 0), new Ponto(1, 1)
new Ponto(2, 0), new Ponto(0, 4), new Ponto(1, 5), new Ponto(10, -30), new Ponto(-5, -5), new Ponto(-8, 0)
null, new Ponto(0, 0), new Ponto(1, 1), new Ponto(1, -1), new Ponto(-1, -1), new Ponto(-1, 1)
new Ponto(1, 0), new Ponto(0, 1), new Ponto(1, 1), new Ponto(1, -1), new Ponto(-1, -1), new Ponto(-1, 1)
Considere que a classe Ponto é definida como:
Assinale a alternativa que apresenta os pontos que devem ser usados como casos de teste em
uma estratégia caixa preta, considerando a divisão em partições equivalentes e valores limites
e se limitando a um teste por partição equivalente:
2 ptsPergunta 3
Considere o método da classe Algoritmos:
public static int repetidos (Ponto[] pontos)
O qual deve retornar o número de pontos repetidos no vetor pontos. Por exemplo, para os
pontos {(0, 0), (0, 1), (0, 1), (0, 0), (0,0)}, o algoritmo deve retornar 3.
Assinale a alternativa que representa o teste para o caso de não existirem valores repetidos,
considerando adequadamente o conceito de automação de testes e o funcionamento da
biblioteca jUnit (versão 4).
2 ptsPergunta 4
{new Ponto(0, 0)}
{new Ponto(0, 0), new Ponto(0, 0)}
{new Ponto(0, 0), new Ponto(0, 1)}
{new Ponto(0, 0), new Ponto(1, 0), new Ponto(1, 0)}
{new Ponto(0, 0), new Ponto(1, 0), new Ponto(0, 0)}
{new Ponto(0, 0), new Ponto(0, 0), new Ponto(1, 0), new Ponto(0, 0)}
{new Ponto(0, 0), new Ponto(0, 0), new Ponto(1, 0)}
{}
Considere a seguinte implementação do algoritmo repetidos, o qual deve retornar o número de
pontos repetidos no vetor pontos. Por exemplo, para os pontos {(0, 0), (0, 1), (0, 1), (0, 0), (0,0)},
o algoritmo deve retornar 3.
Pelo critério de teste caixa branca de todas os comandos, deve-se testar pelo menos uma vez
cada linha de código (note que é diferente do critério de todas as arestas). Assinale todas as
alternativas que apresentam vetores de pontos que cobrem todos os comandos:
2 ptsPergunta 5
Considere novamente o algoritmo repetidos.
Dessa vez, queremos considerar o critério caixa branca de todas as arestas. Para isso, é
preciso analisar com detalhes as condições. Por exemplo, para a condição composta x > 0 &&
y < 0, é preciso testar 3 casos:
x > 0 e y < 0I.
x <= 0II.
x > 0 e y >= 0III.
Note que no caso 1 é irrelevante o valor de y, já que, se a condição usa &&, o segundo valor
nunca será avaliado.
Considere os seguintes casos de teste:
{new Ponto(0, 0)}I.
{new Ponto(0, 0), new Ponto(0, 1)}II.
{new Ponto(0, 0), new Ponto(0, 0)}III.
{new Ponto(0, 0), new Ponto(0, 0), new Ponto(1, 0)}IV.
{new Ponto(0, 0), new Ponto(0, 0), new Ponto(1, 0), new Ponto(0, 0)}V.
{new Ponto(0, 0), new Ponto(0, 0), new Ponto(1, 0), new Ponto(0, 0), new Ponto(1,0)}VI.
Assinale verdadeiro ou falso:
FALSO Ao executar os testes I, II e III, é possível cobrir todas as arestas.
VERDADEIRO Como o teste IV não executa a linha 8, ele não cobre todas as arestas.
VERDADEIRO O teste V não cobre a aresta da condição da linha 6 em que k >= 0 e
jaConsiderou==true.
FALSO O teste VI cobre todas as arestas.
Salvo em 12:25
FALSO Ao executar os testes IV e V, é possível cobrir todas as arestas.
FALSO Ao executar os testes I, II, III, IV e V, é possível cobrir todas as arestas.
FALSO Mesmo se forem executados todos os testes (de I a VI), não se cobrirá
todas as arestas.
Enviar teste