O que saber para testes de API?
Como Analistas de Qualidade, nosso trabalho vai muito além da interface do usuário. Entender e testar as APIs (Application Programming Interfaces) é fundamental, pois elas são a espinha dorsal da comunicação entre diferentes sistemas. Testar APIs nos permite garantir que nossos sistemas não só funcionem, mas que também se comuniquem de forma robusta e segura.
Aqui estão algumas dicas essenciais para você começar a explorar o mundo dos testes de API:
Dicas Essenciais para Testes de API
-
🚦 1. Códigos de Resposta (Status Codes):
-
Sempre valide os códigos de resposta das requisições (ex:
200,OK,OK201,Created,Created400 Bad,Request,Request404 Not,Found,Found500 Internal Server).Error)Error -
As APIs nunca devem retornar
500 (Internal Server Error)para chamadas malformadas ou fora do padrão. Deve haver um código de resposta tratado (ex:400 Bad Request,404 Not Found) explicando claramente o motivo pelo qual a requisição não foi completada.
-
-
Realize o teste de contrato da API. A API deve validar rigorosamente os tipos de dados e formatos dos campos passados no body da requisição.
-
Exemplos: Um campo para "data de nascimento" não deve aceitar letras; um campo para "UF" não deve aceitar números.
-
Verifique a obrigatoriedade dos campos. Se um campo for obrigatório, a API não deve permitir que ele seja enviado em branco ou nulo, retornando uma mensagem tratada informando sobre a ausência ou invalidade do valor.
-
Tente excluir, atualizar ou consultar registros que não existem no banco de dados. A API deve retornar uma mensagem tratada indicando que o registro não foi localizado (ex:
404 Not Found). -
Realize tentativas sucessivas de chamada no mesmo endpoint com intervalos curtos entre as requisições. Observe o comportamento da API para identificar se há mecanismos de rate limiting ou throttling e como ela lida com esse tipo de "inundação" de requisições.
📝
✅
🚫
⏱️
🔑
6. Autenticação e Autorização:
-
Teste a API com diferentes níveis de permissão de usuário (admin, usuário comum, sem autenticação).
-
Verifique se usuários não autorizados conseguem acessar recursos restritos.
-
-
Tente enviar dados maliciosos ou inesperados nos parâmetros da requisição (ex: código SQL em campos de texto, scripts em campos de entrada) para verificar a robustez da API contra ataques comuns.
-
Use ferramentas para simular um grande volume de usuários ou requisições simultâneas para avaliar a performance da API sob carga. Verifique tempos de resposta e se ela se mantém estável.
-
Se a API tiver recursos de paginação, teste os parâmetros de limite, offset e número da página.
-
Verifique se os filtros retornam os dados esperados e se a combinação de múltiplos filtros funciona corretamente.
-
Realize operações de criação, leitura, atualização e exclusão (CRUD) e verifique se os dados estão consistentes no banco de dados e são retornados corretamente em outras chamadas.
-
Se a API possuir versionamento (ex:
/v1/,/v2/), teste se as versões antigas ainda funcionam conforme o esperado e se novas versões introduzem as mudanças corretas sem quebrar a compatibilidade (se for o caso). -
🚥 Status Codes: Respostas claras e corretas.
-
✍️ Contrato: Dados válidos e formatos esperados.
-
☑️ Obrigatoriedade: Campos essenciais preenchidos.
-
👻 Inexistentes: Tratamento adequado para dados não encontrados.
-
💨 Performance: Respostas rápidas e sem falhas sob carga.
-
🔐 Segurança: Autenticação e autorização robustas.
-
💉 Proteção: Resistência contra injeção de dados.
-
📏 Limites: Paginação e filtros funcionando.
-
✨ Consistência: Dados sempre corretos.
-
🗓️ Versão: Compatibilidade entre versões da API.
🛡️
📊
📄
🔄
⬆️
Resumo Visual: Pontos Chave em Testes de API
Para um resumo rápido e visual dos nossos focos em API: