Ao testar um algoritmo que soma elementos de um vetor usando um índice, quais casos de teste detectam erros de…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Utilizar algoritmos clássicos de manipulação sobre listas.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Ao testar um algoritmo que soma elementos de um vetor usando um índice, quais casos de teste detectam erros de índice fora dos limites (off-by-one)?
- A) Testar vetor vazio, vetor com 1 elemento e vetores com acesso aos índices limite (0 e n-1)
- B) Não testar vetores; supor que o algoritmo está correto.
- C) Utilizar somente índices negativos para verificar falhas.
- D) Testar apenas vetores com mais de um elemento.
- E) Testar apenas o índice n-2 como limite.
✅ Resposta correta: alternativa A
Resolução passo a passo
- Um erro de off-by-one ocorre quando o algoritmo percorre um índice a mais ou a menos do que deveria, por exemplo usando o laço até n em vez de n-1, ou lendo a posição -1 ou n. Para detectar esse tipo de falha, o teste precisa exercitar exatamente as fronteiras do vetor.
- Analisando as alternativas, a opção A cobre as situações de fronteira: o vetor vazio (n = 0), em que o laço não deve executar nenhuma vez; o vetor com 1 elemento, em que início e fim coincidem; e os acessos nos índices limite 0 e n-1, que são os extremos válidos. Esses casos expõem tanto acessos além do fim quanto acessos antes do início.
- Por que as outras estão erradas:
- B) Não testar contraria o objetivo de detectar falhas, pois supor que o código está correto é justamente o que o teste deve verificar.
- C) Índices negativos são apenas uma parte do problema; sem testar o limite superior (n-1 e o acesso a n) o erro de fim de vetor passa despercebido.
- D) Excluir vetores de tamanho 0 e 1 deixa de fora justamente os casos de fronteira mais sensíveis a erros de índice.
- E) Testar somente n-2 não exercita o último índice válido nem os extremos, então não cobre os erros típicos de off-by-one.
- Conclusão: a alternativa correta é a A, que coincide com o gabarito oficial.
💡 Dica: Considere os limites do vetor ao formular os casos de teste.
Alternativa por alternativa
Vetor vazio e único elemento expõem underflow/overflow; testar posição 0 e n-1 verifica se o laço inclui/exclui corretamente limites, revelando off-by-one.
O aluno acredita que o algoritmo já está correto e que testes são desnecessários, confundindo a ausência de erro conhecido com a ausência de erro real.
Por que engana: O aluno pode achar que testar apenas um vetor com um elemento é suficiente, ignorando a necessidade de testar casos de limite e o vetor vazio.
O aluno imagina que erros de índice acontecem principalmente com índices negativos, esquecendo que o estouro pelo lado direito (acessar n ou além) é um erro igualmente comum.
O aluno supõe que casos com zero ou um elemento são triviais e não precisam ser testados, quando justamente as fronteiras do laço costumam falhar nesses tamanhos.
O aluno entende que basta testar um índice próximo ao limite, sem perceber que o índice n-1 (último válido) e o início do vetor precisam ser verificados diretamente.
Raio-X da questão
erros de índice em vetores
diagnostico
erros de índice em vetores · testes de software
Revisar a manipulação de índices em estruturas de dados como vetores.
O aluno pode achar que testar apenas um vetor com um elemento é suficiente, ignorando a necessidade de testar casos de limite e o vetor vazio.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Em pseudocódigo, um algoritmo percorre um vetor V de tamanho n usando um índice i que inicia em 0; dentro do laço o…
- Em um programa que usa uma variável índice para acessar elementos de um vetor de dados, qual verificação previne acesso…
- Uma lista não vazia possui índices de 0 até n, e n é seu último índice válido. Em um laço, o índice i começa em 0…
- Em pseudocódigo, ao percorrer um vetor V de tamanho n cuja indexação usa base 1, qual deve ser o valor inicial do índice…
- Ao analisar um programa que utiliza uma matriz para armazenar notas de alunos, identifique um erro frequente na…
- Considere um algoritmo que soma os números de uma lista. Identifique um erro comum nesse tipo de programa e explique…
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
