Este projeto contém uma suíte de testes automatizados para a Swagger Petstore API, desenvolvido como parte da disciplina de Qualidade e Gerência de Software no INATEL. O foco principal é validar os fluxos de sucesso (Happy Path) e comportamentos de erro (Negative Path) utilizando Postman e Newman.
Além da automação dos testes, o projeto utiliza uma infraestrutura baseada em Docker, Jenkins e Nginx para implementar práticas de Integração Contínua e Entrega Contínua (CI/CD).
- André Augusto - https://github.com/andreaugust0
- Arthur Rabelo - https://github.com/arthurrabeloo
- Marcus Vinicius - https://github.com/MarcusSouza02
- Kaik Freitas - https://github.com/kafreitas07
- Dimitri Schulz - https://github.com/schulzdimitri
- Anna Rennó - https://github.com/acrenno
Este projeto utilizou tecnologias de Inteligência Artificial (IA) como ferramenta de apoio e co-criação. O uso de modelos de linguagem avançados (como o Google Gemini) foi aplicado nas seguintes frentes:
- Geração de Scripts.
- Documentação.
- Planejamento de Testes.
- Containerização e Infraestrutura.
- Pipeline CI/CD.
Todos os artefatos gerados por IA foram revisados, testados e validados pelos integrantes do grupo para garantir a precisão técnica e o cumprimento dos requisitos acadêmicos.
- Postman - Criação e design dos testes.
- Node.js - Ambiente de execução para o Newman.
- Newman - Runner de linha de comando para testes do Postman.
- Newman-Reporter-HtmlExtra - Gerador de relatórios visuais em HTML.
- Swagger Petstore - API alvo (System Under Test).
- Docker - Containerização dos serviços.
- Docker Compose - Orquestração dos containers.
- Jenkins - Automação da pipeline CI/CD.
- Nginx - Proxy reverso para acesso ao Jenkins.
Toda a infraestrutura do projeto foi containerizada utilizando Docker e Docker Compose, garantindo portabilidade, padronização do ambiente e facilidade de implantação.
| Serviço | Responsabilidade |
|---|---|
| Jenkins | Execução da pipeline CI/CD |
| Jenkins Agent | Execução das etapas automatizadas |
| Nginx | Proxy reverso para acesso ao Jenkins |
| Newman | Execução dos testes automatizados |
A imagem do Jenkins (com Node.js, Docker CLI e os plugins do jenkins/plugins.txt já instalados via Dockerfile.jenkins) está publicada publicamente no Docker Hub:
Ela é referenciada diretamente no docker-compose.yml (image: kaikfreitas/s07-jenkins:latest) e baixada automaticamente ao rodar docker compose up.
Subir todos os serviços (com rebuild):
docker compose up -d --buildVerificar containers em execução:
docker psVisualizar logs:
docker compose logs -fEncerrar os serviços:
docker compose downO projeto utiliza uma pipeline declarativa implementada no Jenkins para automatizar a validação da API.
A pipeline pode ser executada automaticamente a cada novo push realizado no repositório GitHub, permitindo validação contínua e identificação rápida de falhas.
Antes de começar, você precisará ter instalado em sua máquina:
- Node.js (versão 12 ou superior).
- npm (gerenciador de pacotes do Node).
A suíte está organizada em 21 Casos de Teste (TC) seguindo o padrão de identificação única:
- TC-001 a TC-010: Caminhos Felizes (Happy Path).
- TC-011 a TC-021: Caminhos Negativos (Negative Path).
Todos os testes utilizam variáveis de ambiente para garantir independência entre execuções e facilitar a manutenção dos cenários.