AUTOMAÇÃO DE TESTES DE API COM PYTHON
Abstract
O teste de um software tem como objetivo principal a verificação e validação do sistema para obtenção de um produto final. A maneira como os testes são feitos pode variar, de forma que podem ser feitos manualmente ou automatizados, de acordo com a necessidade do projeto. Nesse cenário, durante o estágio, foi feita a automação de testes de Application Programming Interface (API) com Python, utilizando as bibliotecas unittest, para automatizar e rodar uma bateria de testes, requests, para fazer as requisições HTTP e a biblioteca json, para manipulação de dados JSON nas requisições. Os testes de API geralmente são feitos de forma manual utilizando ferramentas como o Postman ou Insomnia, de modo que são feitas requisições HTTP para o servidor onde o sistema está hospedado, para testar os serviços da aplicação. Ao observar que, em alguns momentos, os testes deveriam ser feitos novamente, surgiu a necessidade de automatizar os testes de API a fim de agilizar o processo. Inicialmente os testes automatizados foram feitos no Postman, porém, com relação à exportação, ele guarda em um mesmo arquivo todos os testes que estão em uma mesma pasta, o que dificulta a edição dos casos de testes e resolução de conflitos ao serem enviados para repositórios quando se trata de uma equipe de testes. Diante desse cenário, optou-se por dar continuidade com os testes automatizados, porém, utilizando a linguagem Python. Com isso, surgiram alguns desafios como identificar a melhor forma de organizar as variáveis de ambiente e as baterias de testes, bem como a forma de capturar e comparar os resultados das requisições. Como resultado, os testes de API ficaram mais rápidos e mais organizados de maneira a possibilitar o trabalho em um mesmo repositório sem comprometer os testes realizados.Downloads
Published
2021-01-01
Issue
Section
IV Encontro de Estágios
License
Autores que publicam nesta revista concordam com os seguintes termos:
a. Autores mantém os direitos autorais e concedem à revista o direito de primeira publicação, com o trabalho simultaneamente licenciado sob a Creative Commons Attribution License que permitindo o compartilhamento do trabalho com reconhecimento da autoria do trabalho e publicação inicial nesta revista.
b. Autores têm autorização para assumir contratos adicionais separadamente, para distribuição não-exclusiva da versão do trabalho publicada nesta revista (ex.: publicar em repositório institucional ou como capítulo de livro), com reconhecimento de autoria e publicação inicial nesta revista.
c. Autores têm permissão e são estimulados a publicar e distribuir seu trabalho online (ex.: em repositórios institucionais ou na sua página pessoal) a qualquer ponto antes ou durante o processo editorial, já que isso pode gerar alterações produtivas, bem como aumentar o impacto e a citação do trabalho publicado.