AUTOMAÇÃO DE TESTES DE API COM PYTHON (Encontros Universitários da UFC, 2021)
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.