Pular para o conteúdo principal

Questão de Engenharia de Software — Ferramentas de Desenvolvimento de Software — FGV 2023

Engenharia de SoftwareFerramentas de Desenvolvimento de Software
Código
fg072563
Banca
FGV
Órgão
TJ-SE
Ano
2023
Nível
Superior
Cargo
Analista Judiciário - Especialidade - Análise de Sistemas
O time de desenvolvimento de sistemas (TDS) tem utilizado o Swagger conjugado ao desenvolvimento de API Restful. Utilizando o Swagger:
  1. Aas requisições PUT requerem autorização além da autenticação;
  2. Bo grupo de testes pode testar os serviços da API sem a camada de frontend;
  3. Cestá dispensada a autenticação à API pois não há riscos de injeção de código;
  4. Das respostas aos serviços com conteúdos JSON não são exibidas, embora sejam exibidos os códigos de retorno;
  5. Eos códigos de retorno de erro devem obrigatoriamente ser definidos e os códigos de sucesso são opcionais.
Revelar gabarito e comentário

GabaritoB — o grupo de testes pode testar os serviços da API sem a camada de frontend;

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

Swagger e Testes de API RESTful

Gabarito: letra B. O Swagger (atualmente OpenAPI) é uma ferramenta que permite documentar, consumir e testar APIs RESTful. Uma de suas principais funcionalidades é a interface gráfica (Swagger UI) que possibilita que desenvolvedores e testadores executem requisições diretamente contra a API, sem a necessidade de um frontend implementado. Isso viabiliza testes precoces e validação dos endpoints de forma autônoma.

As demais alternativas apresentam afirmações incorretas sobre o Swagger, confundindo suas capacidades com regras de implementação ou segurança.


Alternativa A — ❌ Incorreta

Afirma que requisições PUT requerem autorização além da autenticação. No Swagger/OpenAPI, a definição de segurança (autenticação/autorização) é feita por esquemas (bearer token, API key, OAuth2, etc.) e aplicável a qualquer método HTTP, não havendo uma regra que exija autorização extra para PUT. A autenticação e autorização dependem da lógica da aplicação, não da ferramenta de documentação.

Alternativa B — ✅ Correta ⟵ GABARITO

Correta. O Swagger UI expõe todos os endpoints da API conforme a especificação OpenAPI, permitindo que o grupo de testes execute requisições (GET, POST, PUT, DELETE, etc.) e analise as respostas diretamente, sem a camada de apresentação (frontend). Isso torna o Swagger uma ferramenta valiosa para testes de integração e validação de serviços.

Alternativa C — ❌ Incorreta

Afirma que a autenticação está dispensada porque não há riscos de injeção de código. Isso é falso: a especificação OpenAPI não elimina a necessidade de autenticação, e ataques como injeção de código (SQL, NoSQL, LDAP) continuam sendo possíveis se a API não estiver devidamente protegida. O Swagger apenas documenta e testa; a segurança é responsabilidade do desenvolvedor.

Alternativa D — ❌ Incorreta

Diz que as respostas com conteúdos JSON não são exibidas, apenas os códigos de retorno. Na realidade, o Swagger UI exibe tanto os headers (códigos de status) quanto o body da resposta (exibindo JSON formatado, XML, etc.). A afirmação contradiz o funcionamento básico da ferramenta.

Alternativa E — ❌ Incorreta

Afirma que códigos de retorno de erro são obrigatórios e os de sucesso opcionais. Na especificação OpenAPI, tanto respostas de sucesso (2xx) quanto de erro (4xx, 5xx) são opcionais de definir; não há hierarquia de obrigatoriedade. Boas práticas recomendam documentar ambos, mas a afirmação como regra é falsa.


PEGA ESSA DICA!

O Swagger UI é uma poderosa ferramenta para testes manuais e automatizados de APIs RESTful. Ao estudar para provas de Engenharia de Software, lembre-se de que a principal finalidade do Swagger é fornecer uma interface interativa para testar endpoints sem a necessidade de um frontend. Questões sobre ferramentas de desenvolvimento costumam explorar esse conceito de forma direta.

Gabarito: letra B

Link permanente: /questoes/fg072563