Questão de Engenharia de Software — Ferramentas para Teste (JUnit, FindBugs, etc.) — FCC 2025
Engenharia de Software›Ferramentas 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
Aé um framework utilizado para testes de desempenho e carga em aplicativos Java.
Bé um framework de teste de unidade para Java que facilita a criação e execução de testes automatizados.
Cpermite a geração automática de relatórios de cobertura de código sem precisar de ferramentas adicionais.
Dé especificamente projetado para testar interfaces de usuário em aplicações Java Swing.
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.