Pular para o conteúdo principal

Questão de Engenharia de Software — Teste de Software — FGV 2025

Engenharia de SoftwareTeste de Software
Código
fg108593
Banca
FGV
Órgão
DPE-RO
Ano
2025
Nível
Superior
Cargo
Analista Programador - Classe B
Os testes de software são essenciais para garantir a qualidade dos códigos gerados.Inicialmente o programador desenvolveu o seguinte código de produção a ser testado:CODIGO-01.py def celsius_to_fahrenheit(celsius): return (celsius * 9/5) + 32 Posteriormente, o programador desenvolveu o código de teste empregando a linguagem Python import unittest class TestTemperatureConversion(unittest.TestCase): def test_celsius_to_fahrenheit(self): self.assertEqual(celsius_to_fahrenheit(0), 32) self.assertEqual(celsius_to_fahrenheit(25), 77) if __name__ == '__main__': unittest.main() A abordagem do teste utilizado pelo programador se refere a um
  1. ABDD (Behavior-Driven Development).
  2. BTDD (Testdriven development).
  3. CTeste de usabilidade.
  4. DTeste de integração.
  5. ETeste Unitário.
Revelar gabarito e comentário

GabaritoE — Teste Unitário.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Teste de Software – Níveis de Teste

Gabarito: letra E. O código apresentado testa isoladamente a função celsius_to_fahrenheit, verificando sua saída para entradas conhecidas (0 e 25). Esse tipo de teste, que verifica o comportamento de uma unidade individual do código (uma função/método), é denominado teste unitário. O uso do módulo unittest do Python reforça essa classificação, pois ele é a ferramenta padrão para criação de testes unitários na linguagem.

A banca testa o conhecimento sobre os níveis de teste de software. O programador escreveu primeiro o código de produção e depois o teste — isso descarta TDD, que exige que o teste seja escrito antes do código. As demais opções (BDD, usabilidade, integração) não se aplicam ao cenário descrito.

Alternativa A — ❌ Incorreta

O BDD (Behavior-Driven Development) é uma técnica que deriva do TDD e utiliza linguagem natural para descrever comportamentos esperados (cenários com Given/When/Then). O código de teste apresentado não segue essa estrutura; é um teste unitário convencional.

Alternativa B — ❌ Incorreta

O TDD (Test-Driven Development) impõe que os testes sejam escritos antes da implementação do código de produção. No enunciado, o programador desenvolveu o código-fonte primeiro e depois o teste — portanto, não se trata de TDD. Além disso, o teste em si é unitário, não a abordagem de desenvolvimento.

Alternativa C — ❌ Incorreta

Teste de usabilidade é um tipo de teste não funcional que avalia a interface e a experiência do usuário. Não há qualquer elemento de interface ou interação com usuário no código fornecido.

Alternativa D — ❌ Incorreta

Teste de integração verifica a interação entre duas ou mais unidades/componentes do sistema. O código testa apenas uma única função isolada, sem dependências externas — portanto, não é teste de integração.

Alternativa E — ✅ Correta ⟵ GABARITO

O teste criado utiliza unittest.TestCase para verificar o resultado da função celsius_to_fahrenheit para entradas específicas. Esse é o padrão clássico de teste unitário: testar uma unidade mínima do software (função, método) de forma isolada, garantindo que seu comportamento está correto. A técnica de caixa‑branca ou caixa‑preta pode ser aplicada, mas o nível é unitário.

Gabarito: letra E.

Link permanente: /questoes/fg108593