Questões de Teste de Software (Engenharia de Software)

Limpar Busca

Analise as afirmações abaixo sobre as capacidades e os tipos de avaliação que tais ferramentas podem oferecer:

I.A avaliação somativa é realizada por meio de um sistema de classificação automática que executa o programa do aluno com um conjunto de casos de teste, atribuindo uma nota quantitativa com base nos resultados.
II.A avaliação formativa, por sua vez, concentra-se em fornecer feedback durante o processo de desenvolvimento, oferecendo aos alunos informações sobre casos de teste que falharam e estatísticas de desempenho para auto-monitoramento, mas geralmente carece de mecanismos para apoiar o aprendizado antes da avaliação final.
III.A análise do código-fonte em uma avaliação automática abrange múltiplos aspectos, incluindo a sintaxe, a semântica (o comportamento do programa), a eficiência (uso de recursos) e a manutenibilidade (clareza e organização do código).

Assinale a alternativa correta:

  • A Todas as afirmações estão corretas.
  • B Apenas a afirmação I está correta.
  • C Apenas as afirmações I e III estão corretas.
  • D Apenas as afirmações II e III estão corretas.

Os princípios FIRST são um guia para garantir que testes automatizados sejam bem escritos, confiáveis e úteis ao longo do tempo. Cada letra representa uma característica desejável: Fast, Independent, Repeatable, Self-validating e Timely. No que tange a esses princípios, assinale a alternativa correta.

  • A O princípio Repeatable exige que um teste produza o mesmo resultado, independentemente do ambiente ou momento da execução.
  • B O princípio Timely recomenda que os testes sejam escritos apenas após a entrega do código final, para evitar retrabalho.
  • C O princípio Self-validating sugere que o teste automatizado exija sempre uma validação manual para garantir confiabilidade.
  • D O princípio Independent admite que testes compartilhem o mesmo banco de dados e dependam da ordem de execução.
  • E O princípio Fast afirma que é aceitável que testes automatizados levem vários minutos se tiverem muitas verificações.

O teste de software constitui-se em uma importante tarefa, quando do desenvolvimento de um software. Sendo uma das características indicadas e recomendadas, para que se tenham bons testes de software, que esses testes

  • A sejam capazes de, necessariamente, detectar, no máximo, um erro a cada nova execução.
  • B não levem em conta as especificações determinadas para o software.
  • C consigam localizar erros decorrentes da falta de comentários no código fonte.
  • D tenham alta probabilidade de encontrar ou detectar erros.
  • E sempre apresentem erros de compilação a cada teste planejado e implementado.

Considerando as técnicas de validação de software é correto afirmar que a técnica de

  • A análise de valor limite explora os limites dos valores, cria casos de teste mais eficientes e ajuda, ainda, a perceber se há uma maior chance de erros quando as entradas são referentes ao limite do domínio.
  • B classe de equivalência é utilizada para ampliar o número de casos de teste a um nível de garantir sua cobertura. Todas as combinações de possíveis dados de entrada são divididas em blocos de cobertura.
  • C tabela de decisão define quais ações serão executadas pelo sistema quando não houver um conjunto de entradas predeterminado. As regras de negócio do sistema podem ser descritas em uma tabela cujas colunas representam diferentes tipos de entradas.
  • D transição de estados é similar à técnica de análise do valor limite; no entanto, o foco é na transição dos comportamentos e não nas entradas do sistema. Assim, casos de testes são baseados nas possíveis saídas que causam uma mudança de comportamento no sistema.

Considere o código abaixo, em Python, que utiliza a técnica de classe de equivalência e análise de valor limite para elaboração de teste de unidade.


Imagem relacionada à questão do Questões Estratégicas


Nesse contexto, é correto afirmar que os testes implementam, respectivamente,

  • A 1 classe de equivalência com 2 valores limites.
  • B 2 classes de equivalência: uma com 2 valores limites, e outra com 3 valores limites.
  • C 2 classes de equivalência: uma com 1 valor limite, e outra com 3 valores limites.
  • D 1 classe de equivalência com 1 valor limite.