Skip to content
 
 

Repository files navigation

Postman Newman Node.js npm GitHub JSON Docker Jenkins Nginx

🐾 Petstore API Testing Suite

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).


👥 Equipe


🤖 Uso de Inteligência Artificial

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.


🛠️ Tecnologias Utilizadas

  • 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.

🐳 Containerização com Docker

Toda a infraestrutura do projeto foi containerizada utilizando Docker e Docker Compose, garantindo portabilidade, padronização do ambiente e facilidade de implantação.

Serviços Utilizados

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

Imagem no Docker Hub

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:

🔗 kaikfreitas/s07-jenkins

Ela é referenciada diretamente no docker-compose.yml (image: kaikfreitas/s07-jenkins:latest) e baixada automaticamente ao rodar docker compose up.

Arquitetura da Solução

Arquitetura da Solução

🚀 Como executar o projeto:

Inicialização dos Containers

Subir todos os serviços (com rebuild):

docker compose up -d --build

Verificar containers em execução:

docker ps

Visualizar logs:

docker compose logs -f

Encerrar os serviços:

docker compose down

⚙️ Pipeline CI/CD

O projeto utiliza uma pipeline declarativa implementada no Jenkins para automatizar a validação da API.

Fluxo da Pipeline

Fluxo da Pipeline

Integração Contínua

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.


📋 Pré-requisitos

Antes de começar, você precisará ter instalado em sua máquina:

  1. Node.js (versão 12 ou superior).
  2. npm (gerenciador de pacotes do Node).

📊 Estrutura de Testes

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.

About

S107 - Matéria de DevOps do Inatel

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages