Questão de Engenharia de Software — Teste de Software — Quadrix 2025
Engenharia de Software›Teste de Software
Código
qg595986
Banca
Quadrix
Órgão
CRA-SP
Ano
2025
Nível
Superior
Cargo
Analista II - Desenvolvimento de Sistemas
Uma aplicação foi decomposta em microsserviços. O microsserviço “Pedidos” precisou se comunicar com o microsserviço “Pagamentos” através de uma API REST para autorizar uma transação. A equipe de QA precisou validar se o “Pedidos” enviou a requisição no formato e se o “Pagamentos” respondeu adequadamente.Com base nessa situação hipotética, assinale a opção que apresenta o nível de teste focado em verificar a comunicação e a troca de dados entre esses dois microsserviços distintos.
Ateste unitário
Bteste de sistema
Cteste de integração
Dteste de aceitação
Eteste de usabilidade
Revelar gabarito e comentário▾
GabaritoC — teste de integração
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”.
Níveis de teste de software: integração entre microsserviços
Gabarito: letra C. O teste de integração é o nível de teste focado em verificar a comunicação e a troca de dados entre dois ou mais componentes ou módulos de um sistema — exatamente o que ocorre entre os microsserviços "Pedidos" e "Pagamentos" ao se comunicarem via API REST. Os demais níveis (unitário, sistema, aceitação) e o teste de usabilidade não têm esse foco específico na interface entre componentes.
O teste de software é organizado em níveis, que representam a amplitude do que está sendo testado — do menor componente até o sistema completo. A definição clássica, presente na literatura de engenharia de software (Pressman, Sommerville), estabelece quatro níveis principais: teste unitário, teste de integração, teste de sistema e teste de aceitação. Cada nível responde a uma pergunta diferente: o unitário verifica se cada unidade (função, método, classe) funciona isoladamente; o de integração verifica se as unidades funcionam quando combinadas, ou seja, se a comunicação entre elas está correta; o de sistema verifica o sistema como um todo, já integrado, em um ambiente que simula o de produção; e o de aceitação verifica se o sistema atende aos requisitos e necessidades do usuário/cliente.
No contexto da questão, a equipe de QA precisa validar se o microsserviço "Pedidos" enviou a requisição no formato correto e se o "Pagamentos" respondeu adequadamente. Isso é, por definição, um teste de integração: está sendo verificada a interface entre dois componentes distintos. O teste unitário não se aplica porque cada microsserviço já foi testado isoladamente; o teste de sistema não se aplica porque o foco não é o sistema completo, mas a comunicação entre dois de seus módulos; o teste de aceitação não se aplica porque não está em jogo a validação dos requisitos do usuário final; e o teste de usabilidade é um tipo de teste que avalia a facilidade de uso da interface com o usuário, não a comunicação entre sistemas.
A pegadinha da banca está em confundir o nível de teste (o que se testa) com o tipo de teste (como se testa). O teste de integração é um nível; o teste de usabilidade é um tipo de teste não funcional. Além disso, a banca pode tentar confundir o teste de integração com o teste de sistema, mas a diferença é clara: a integração foca nas interfaces entre componentes, enquanto o sistema foca no comportamento do todo. Guarde essa fronteira: integração = comunicação entre módulos; sistema = comportamento do conjunto.
Critério
Teste Unitário (A)
Teste de Integração (C)
Teste de Sistema (B)
Teste de Aceitação (D)
Teste de Usabilidade (E)
Objeto de teste
Unidade isolada (função, método, classe)
Interface entre 2+ componentes/módulos
Sistema completo, já integrado
Sistema completo sob ótica do usuário/cliente
Interface de usuário (aspectos não funcionais)
Foco principal
Funcionamento interno da unidade
Comunicação e troca de dados entre componentes
Comportamento do todo em ambiente simulado de produção
Atendimento a requisitos e necessidades do cliente
Facilidade de uso, eficiência, satisfação do usuário
Aplicação ao cenário (microsserviços Pedidos ↔ Pagamentos)
Não se aplica: cada microsserviço já testado isoladamente
Aplica-se diretamente: valida requisição/resposta via API REST entre os dois microsserviços
Não se aplica: foco é o sistema inteiro, não a comunicação entre dois módulos
Não se aplica: não há validação de requisitos de negócio/usuário
Não se aplica: interação máquina-máquina, sem interface de usuário
Momento no ciclo de testes
Primeiro nível, antes da integração
Segundo nível, após unitário e antes de sistema
Terceiro nível, após integração
Quarto nível, após sistema
Tipo de teste não funcional, pode ocorrer em vários níveis
Alternativa A — ❌ Incorreta
O teste unitário verifica o funcionamento de uma unidade isolada do código (uma função, um método, uma classe), sem considerar sua interação com outros componentes. No cenário, cada microsserviço já foi testado em nível de unidade; o que falta validar é a comunicação entre eles, o que foge ao escopo do teste unitário.
Alternativa B — ❌ Incorreta
O teste de sistema verifica o software completo, já integrado, em um ambiente que simula o de produção, avaliando se o sistema atende aos requisitos funcionais e não funcionais como um todo. A questão, porém, foca especificamente na comunicação entre dois microsserviços — um recorte menor que o sistema inteiro. O teste de sistema viria depois, para validar o comportamento global da aplicação.
Alternativa C — ✅ Correta ⟵ GABARITO
O teste de integração é a técnica sistemática para construir a arquitetura de software ao mesmo tempo em que conduz testes para descobrir erros associados às interfaces. Seu objetivo é verificar se os componentes, já testados em nível de unidade, funcionam corretamente quando combinados — exatamente o que a equipe de QA precisa fazer ao validar a requisição enviada pelo microsserviço "Pedidos" e a resposta do microsserviço "Pagamentos". A comunicação via API REST é a interface entre esses dois componentes, e é justamente essa interface que o teste de integração valida.
Alternativa D — ❌ Incorreta
O teste de aceitação (ou validação) verifica se o sistema atende aos requisitos e necessidades do usuário/cliente, sendo realizado geralmente com a participação do cliente ou de usuários finais. No cenário, não há menção à validação de requisitos de negócio ou à aceitação pelo usuário; o foco é puramente técnico, na comunicação entre dois microsserviços.
Alternativa E — ❌ Incorreta
O teste de usabilidade é um tipo de teste não funcional que avalia a facilidade de uso da interface por usuários finais, medindo aspectos como eficiência, eficácia e satisfação. Ele não se aplica à comunicação entre microsserviços, que é uma interação máquina-máquina, sem interface de usuário envolvida.