This repository contains a comprehensive suite of tests designed to evaluate and ensure the quality, stability, and performance of the Ecommerce Microservices Platform. The following categories of testing have been implemented to cover various aspects of the system.
The tests are organized into the following main categories:
- Implemented for individual microservices to ensure isolated components function as expected.
- These tests cover core business logic, data validation, and service-specific behaviors.
- Validate interactions between related services (e.g., Order, Product, User).
- Ensure correct configuration of APIs, service discovery, and communication via HTTP or service meshes.
- Found under
integration-tests/, including test suites for API Gateway, Payment Service, Product Service, and more.
- Simulate real user flows such as registration, product browsing, checkout, and order processing.
- Implemented using pytest-based flows and reusable fixtures.
- Focused on validating the complete functionality of the ecommerce system from the user's perspective.
- Found in
e2e-tests/, including scenarios like full purchase, inventory updates, and user lifecycle.
- Executed using Locust to simulate various user profiles (admin, buyers, browsers).
- Measure throughput, response time, and system behavior under high load.
- Reports generated for key endpoints and workflows.
- All performance-related scripts and configurations are under
performance-tests/.
- Conducted with OWASP ZAP to assess vulnerabilities such as XSS, SQL injection, and misconfigurations.
- Automated scans and reports are included in
security-tests/, along with Docker-based configurations for local testing. - ZAP alerts and security reports are versioned and stored for auditability.
.
├── api-endpoints.md # List of API endpoints
├── e2e-tests/ # End-to-end user flow tests
├── integration-tests/ # Service integration tests
├── performance-tests/ # Load and stress testing with Locust
└── security-tests/ # Security assessments using OWASP ZAP
Note: The folders
v1andv2indicate test evolution or alternative test setups. This README focuses on the overall functionality, not tied to any specific version.
- Test coverage and execution quality reports are generated using built-in pytest tools or third-party reporting libraries.
- HTML reports and JSON logs are stored in their respective folders (e.g.,
*_report_*.html,zap_alerts_*.json).
- pytest, requests – for test automation
- Locust – for load testing
- OWASP ZAP – for vulnerability scanning
- Docker – for containerized security test execution