Geral
Gerência e Qualidade de Software
Semana 4
0

Questão

Leia o cenário abaixo:
Em um sistema de software, o desenvolvedor deseja garantir que todas as declarações do código estejam sendo testadas adequadamente. A ideia é identificar trechos de código que não estão sendo testados, para garantir que todo o comportamento esperado do sistema seja validado.
Com relação à aplicação da cobertura de declaração em testes automatizados, observe as afirmativas a seguir:
  1. A cobertura de declaração assegura que todas as linhas de código foram executadas, mas não garante que a lógica do código foi testada corretamente.
  2. A cobertura de declaração é suficiente para garantir que todas as possíveis condições e caminhos lógicos do código foram testados.
  3. Para garantir uma validação completa do comportamento do código, a cobertura de declaração deve ser complementada com a cobertura de ramo e de caminho, que avaliam a lógica e os diferentes cenários do código.

Está correto o que se afirma em:
A)

I, II e III.

B)

I e II, apenas.

C)

I e III, apenas.

D)

II e III, apenas.

E)

I, apenas.

function vote(questaoId, value) { window.location.href = "/accounts/login/?next=/questao/168/"; return; fetch(`/vote/questao/${questaoId}/`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRFToken': 'jBqLWb8oytIuKlRzal19ZrfDxrhsMJiacap21L9BPGrw7EU4PhyyxH5kywDi2IrA' }, body: JSON.stringify({ value: value }) }) .then(response => response.json()) .then(data => { if (data.success) { document.getElementById(`score-${questaoId}`).textContent = data.score; const upBtn = document.querySelector(`button[onclick="vote(${questaoId}, 1)"]`); const downBtn = document.querySelector(`button[onclick="vote(${questaoId}, -1)"]`); upBtn.classList.remove('active-up'); downBtn.classList.remove('active-down'); if (data.user_vote === 1) upBtn.classList.add('active-up'); if (data.user_vote === -1) downBtn.classList.add('active-down'); } }); }