Pular para o conteúdo principal

Questão de Engenharia de Software — Ferramentas para Teste (JUnit, FindBugs, etc.) — FCC 2025

Engenharia de SoftwareFerramentas para Teste (JUnit, FindBugs, etc.)
Código
fc150517
Banca
FCC
Órgão
TRT 15
Ano
2025
Cargo
AJ TRT15
Maria é uma analista de TI em um Tribunal Regional do Trabalho. Ela está implementando um novo sistema para gerenciamento de processos trabalhistas e quer realizar testes no código do sistema para garantir que todas as funcionalidades atendam aos requisitos corretamente antes de lançar o sistema em produção e decidiu utilizar o JUnit que
  1. Aé um framework utilizado para testes de desempenho e carga em aplicativos Java.
  2. Bé um framework de teste de unidade para Java que facilita a criação e execução de testes automatizados.
  3. Cpermite a geração automática de relatórios de cobertura de código sem precisar de ferramentas adicionais.
  4. Dé especificamente projetado para testar interfaces de usuário em aplicações Java Swing.
  5. Eé uma ferramenta que permite a execução paralela de testes de integração distribuídos.
Revelar gabarito e comentário

GabaritoB — é um framework de teste de unidade para Java que facilita a criação e execução de testes automatizados.

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”.

JUnit: Framework de Teste de Unidade para Java

Gabarito: letra B. O JUnit é um framework de teste de unidade para a linguagem Java, que facilita a criação e a execução de testes automatizados. Ele é amplamente utilizado para verificar se cada unidade do código (métodos, classes) se comporta conforme o esperado, permitindo a automação da execução e a apresentação dos resultados. As demais alternativas atribuem ao JUnit funcionalidades que não lhe pertencem, como testes de desempenho, geração de relatórios de cobertura, testes de interface e execução paralela de testes de integração.

O JUnit é uma das ferramentas mais consagradas no ecossistema Java para automação de testes. Ele permite que o desenvolvedor escreva casos de teste de forma estruturada, utilizando anotações como @Test, @BeforeEach e @AfterEach, e execute-os de maneira automatizada, seja pela linha de comando, por uma IDE ou por ferramentas de integração contínua. O objetivo principal é validar o comportamento de unidades isoladas do código, como um método que soma dois números, garantindo que a lógica implementada atenda aos requisitos esperados.

A importância do teste de unidade reside na detecção precoce de defeitos. Ao testar cada parte do sistema separadamente, o desenvolvedor consegue isolar falhas e corrigi-las antes que se propaguem para outras partes do software. Essa prática é fundamental em metodologias ágeis, como o Extreme Programming (XP), que adota o desenvolvimento orientado a testes (TDD), onde os testes são escritos antes da implementação do código. O JUnit, nesse contexto, é a ferramenta que viabiliza a automação desses testes, permitindo que a equipe valide continuamente o código à medida que novas funcionalidades são desenvolvidas.

É importante distinguir o JUnit de outras ferramentas de teste. Enquanto o JUnit é especializado em testes de unidade, existem ferramentas específicas para outros tipos de teste, como Selenium para testes de interface (GUI), JMeter para testes de desempenho e carga, e JaCoCo para análise de cobertura de código. O JUnit não gera relatórios de cobertura nativamente, nem é projetado para testar interfaces de usuário ou executar testes de integração distribuídos. Essa distinção é crucial para responder corretamente a questões que cobram o conhecimento das funcionalidades de cada ferramenta.

A pegadinha desta questão está em atribuir ao JUnit funcionalidades que pertencem a outras ferramentas. O candidato que conhece apenas o nome do JUnit, mas não suas funcionalidades específicas, pode ser induzido a escolher uma alternativa que descreve uma ferramenta de teste de desempenho ou de interface. Para evitar esse erro, é fundamental memorizar o papel de cada ferramenta no ciclo de testes de software.

JUnit
  • 1É
    • Framework de teste de unidade
    • Para Java
    • Automação de testes
  • 2Não é
    • Teste de desempenho/carga (JMeter)
    • Geração de cobertura (JaCoCo)
    • Teste de interface (Selenium)
    • Teste de integração distribuído
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

O JUnit não é um framework para testes de desempenho e carga. Testes de desempenho e carga são realizados por ferramentas como JMeter, Gatling ou LoadRunner, que simulam um grande número de usuários acessando o sistema para verificar sua capacidade de resposta e estabilidade sob condições extremas. O JUnit, por sua vez, foca na verificação do comportamento de unidades isoladas de código, não no desempenho do sistema como um todo.

Alternativa B — ✅ Correta ⟵ GABARITO

O JUnit é, de fato, um framework de teste de unidade para Java. Ele fornece anotações e asserções que facilitam a criação de testes automatizados, permitindo que o desenvolvedor verifique se cada método ou classe se comporta conforme o esperado. A execução dos testes é automatizada, e os resultados são apresentados de forma clara, indicando quais testes passaram e quais falharam. Essa é a definição correta e abrangente do JUnit.

Alternativa C — ❌ Incorreta

O JUnit não gera relatórios de cobertura de código nativamente. A análise de cobertura de código é feita por ferramentas específicas, como JaCoCo, Cobertura ou Emma, que se integram ao JUnit para medir a porcentagem do código que foi exercitada pelos testes. O JUnit, sozinho, não possui essa funcionalidade embutida.

Alternativa D — ❌ Incorreta

O JUnit não é projetado para testar interfaces de usuário em aplicações Java Swing. Testes de interface são realizados por ferramentas como Selenium, que automatizam a interação com elementos gráficos, ou por frameworks específicos como AssertJ Swing. O JUnit é focado em testes de unidade, que não envolvem a interface gráfica.

Alternativa E — ❌ Incorreta

O JUnit não é uma ferramenta para execução paralela de testes de integração distribuídos. Testes de integração verificam a interação entre módulos do sistema e podem ser executados com ferramentas como TestNG, que oferece suporte a execução paralela. O JUnit, embora possa ser usado em conjunto com outras ferramentas para testes de integração, não é especificamente projetado para essa finalidade, muito menos para execução distribuída.

Gabarito: letra B

Link permanente: /questoes/fc150517