API Testing
Pq a vida não é só ID's, Css, Xpath...
Eduardo Cini
QA Analyst - @Noesis
Certified Tester: BSTQB/CTFL
Certified Agile: ScrumMaster - ProductOwner - Kanban
Management 3.0 - Coach(IBC)
eduardocini@gmail.com
https://www.linkedin.com/in/eduardocini/
@eduardocini - Facebook
API
API é um conjunto de rotinas e padrões de
programação para acesso a um aplicativo de
software ou plataforma baseado na Web.
A sigla API refere-se ao termo em inglês
"Application Programming Interface" que significa
em tradução para o português "Interface de
Programação de Aplicativos".
Teste De API
● Estão entre a camada de testes de UI e Unitários;
● Podem ser automatizados em paralelo com o desenvolvimento
da API;
● Facilidade de validar múltiplos cenários;
● Garantir que a estrutura do JSON de retorno está correta;
Payload
● É todo conteúdo enviado por um meio de transporte, é o
corpo da informação, é o que é útil de tudo o que está
sendo transmitido.
● Não possui um formato obrigatório. O fato de ser JSON é
apenas circunstancial.
Response
● É todo conteúdo recebido por um meio de
transporte, é o corpo da informação de retorno;
● statusCode
○ 2xx (Success)
○ 4xx (Client Error)
○ 5xx (Server Error)
“Ideal”
A importância de testes em diferentes níveis
Unit
Service
UI
Manual
Testes de Serviço
Depois dos Testes de Unidade e antes dos Testes de UI
Contratos
API/Webservices
Integração/Componentes
Sem interface
Testar seu app + módulos componentes, banco de dados
Contratos de API
Teste de contrato tem o objetivo de garantir que o
conteúdo fornecido não foi modificado, podemos dizer
que tem a finalidade de validar se o contrato acordado
não foi quebrado, deve validar schema permanece o
mesmo.
É possível validar se os dados continuam do mesmo tipo,
se a estrutura não foi modificada, valores limites,
restringir valores recebidos etc...
Resources
http://localhost:3000/employee
http://localhost:3000/company
GET /employee/
GET /company
POST /employee/
POST /company/
GET /company/:ID
GET /employee/:ID
request.js
request.js
schema.js
Ferramentas de Testes de Serviço
https://github.com/visionmedia/supertes
t https://github.com/rest-client/rest-client
Dúvidas?
REFERÊNCIAS:
https://github.com/eduardocini/api_test
https://github.com/eduardocini/api_mock_test
https://imasters.com.br/apis-microsservicos/testes-de-contrato-de-api
supertest - https://github.com/visionmedia/supertest
chai - http://chaijs.com/
Mocha - https://mochajs.org/
JOI - https://github.com/hapijs/joi
JOI-Assert - https://github.com/Bartvds/joi-assert
http://www.restapitutorial.com/httpstatuscodes.html
Eduardo Cini
linkedin.com/in/eduardocini/
eduardocini@gmail.com
@EduardoCini
github.com/eduardocini/

API testing - Pq a vida não é só ID's, Css, Xpath...