Custom Keyboard Collective

QA Automation Showcase for a Django E-Commerce Application

Coverage: 99% Avg Response Time: 41 ms Failure Rate: 0.00%
Custom Keyboard Collective Showcase Dashboard

Tech Stack

Application

Django Python

Testing

pytest Playwright Requests Locust Coverage.py

Quality & CI

Ruff GitHub Actions Lefthook

Environment

Astral uv

Why I Built This

Rather than treating an online store as a simple CRUD application, I approached it as a production system where every purchase, account update, and checkout flow had to behave consistently. The goal was to build a QA showcase that demonstrates how automated testing can validate both the underlying business logic and the complete customer experience—from browsing products to completing an order—while ensuring every change can be deployed with confidence.

Summary

An e-commerce application built to demonstrate modern QA automation practices in a real-world Django environment. The project focuses on ensuring reliability through automated testing, continuous integration, code quality checks, and performance validation.

My Role & Focus

Designed and maintained a full QA automation strategy covering multiple layers of testing, including unit, integration, API, UI end-to-end, smoke, and performance testing.

Key Achievements

  • Built end-to-end browser automation tests using Playwright with a structured Page Object Model approach.
  • Achieved 99% test coverage across core e-commerce functionality.
  • Implemented a CI pipeline with GitHub Actions to run tests, linting, and compatibility checks on every commit.
  • Performed performance testing with Locust, validating a stable 41ms average response time under load.
  • Configured Lefthook pre-commit hooks to enforce code quality rules using Ruff and automated test execution.

What I tested — and why it mattered

Test Type Tool What I Tested
Business Logic pytest Product inventory, pricing calculations, shopping cart behavior, form validation, and database models to ensure business rules remain correct under different scenarios.
API Validation pytest + Requests REST endpoints, authentication, request validation, and response consistency to verify reliable communication between the frontend and backend.
End-to-End User Flows Playwright (Page Object Model) Complete customer journeys including account creation, product browsing, cart management, and checkout through a real browser session.
Critical Page Health Playwright Smoke tests verify that the application's critical pages load successfully and remain accessible after every deployment, providing fast feedback during CI.
Backend under load Locust Concurrent virtual users browsing products and interacting with the store while measuring response times, stability, and failure rates under sustained load.