QA AUTOMATION PROJECT
Web Application · Authentication · UI Automation · API Testing · Database Validation
PROJECT OVERVIEW
I developed a full-stack web application as an Application Under Test (AUT) to demonstrate practical software testing and QA automation.
I designed and implemented independent test automation frameworks using Selenium WebDriver (Java), Playwright (JavaScript), Jest, and Apache JMeter to validate UI, API, database, authentication, accessibility, and performance workflows.
The project also includes structured test documentation, defect investigation, regression coverage, and CI/CD integration.
Build and test a realistic full-stack application using professional QA practices, multi-layer automation, traceability, defect management, and continuous integration.
SYSTEM DESIGN
The application combines a server-rendered portfolio interface with a React authentication client, both connected to a shared Node.js / Express backend, session-based authentication, and PostgreSQL.
Portfolio Pages · Authentication Pages
EJS · Bootstrap · HTML · CSS · JavaScript
React · Login · Register · Account · Admin
Portfolio · APIs · Authentication · Sessions
Page Routes · Contact API · Authentication API
Validation · Processing · Response Handling
express-session · connect-pg-simple · Session Cookie
User / Admin RBAC · bcrypt Password Hashing
Messages · Users · Session Store
CLOUD DEPLOYMENT
The production application is deployed as a Railway service and connects to Railway PostgreSQL through the private network. Public application traffic uses HTTPS, while application data and session storage are persisted in PostgreSQL.
Portfolio · Authentication
Public Application Endpoint
EJS Portfolio · React Auth Build
REST APIs · Sessions · Authentication · RBAC
Application-to-Database Traffic
Messages · Users · Session Store
APPLICATION TECHNOLOGIES
Technologies used to build, secure, persist, deploy, and run the full-stack Application Under Test.
HTML · CSS · Bootstrap · JavaScript · Fetch API
React · Login · Register · Account · Admin
EJS
Node.js · Express.js
express-session · connect-pg-simple
User / Admin RBAC · bcrypt
body-parser
PostgreSQL · SQL · pg
dotenv · DATABASE_URL · SESSION_SECRET · NODE_ENV
npm · nodemon
Git · GitHub
Railway · GitHub Actions
QUALITY ENGINEERING
Tools, frameworks, and testing practices used across unit, UI, API, database, accessibility, performance, cross-browser, and CI/CD testing.
Contact Validation · Authentication Validation
Java · TestNG · Maven · Page Object Model
JavaScript · UI · API · Database · Authentication
WCAG-Oriented Scans · Color Contrast · Accessible Names · Semantics · Keyboard Focus
HTTP Validation · Authentication APIs · JSON Schema Validation
SQL · JDBC · pg · Data Integrity · Backend Validation
Smoke · Baseline · Load · Stress
Selenium: Chrome · Firefox · Edge
Playwright: Chromium · Firefox · WebKit
Smoke · Regression · Positive · Negative · EP · BVA
Allure · TestNG · HTML Reports · CI Artifacts
Generated Test Data · Boundary Data · Database Cleanup
Automated Regression · PostgreSQL Service · Test Artifacts
TEST STRATEGY
Multi-layer testing strategy covering isolated business logic, browser workflows, APIs, authentication and authorization, database behavior, accessibility, performance, and regression risk.
API VALIDATION
Application APIs are validated for request handling, response content, status codes, validation errors, authentication state, authorization, database persistence, and API contract behavior.
Verifies that the application backend is available and returns the expected service status.
Processes validated contact form submissions and persists message data in PostgreSQL.
Validates account creation, credential handling, login behavior, and authenticated session creation.
Verifies authenticated identity state and confirms that logout invalidates the active server session.
Validates authentication and role-based authorization for the protected Admin API.
API behavior is validated across Java and JavaScript automation frameworks using direct HTTP requests and backend assertions.
DATABASE VALIDATION
PostgreSQL validation covers contact-message persistence, authentication user records, role data, password hashing, session-backed authentication, and UI/API-to-database consistency.
TEST AUTOMATION
Explore the Jest unit tests, automation frameworks, API tests, performance tests, and test results created for this project.
Unit · UI · API · Database · Accessibility · Performance · Cross-Browser · CI/CD
View Automation Details