Skip to content

Repository files navigation

QA Testing Framework - OrangeHRM Demo

Automated Tests CI License: MIT

A comprehensive Quality Assurance testing framework demonstrating both manual and automated testing practices for the OrangeHRM Demo Application.

⚠️ Note: The OrangeHRM demo site may experience periodic downtime. If the link above is unavailable, please try again later or visit the OrangeHRM main site.

🎯 Project Overview

This repository showcases a complete QA testing framework including:

  • βœ… Manual Testing Suite: Test plans, test cases, bug reports, and exploratory testing
  • πŸ€– Automated Testing Framework: UI and API tests using Playwright
  • πŸ”„ CI/CD Integration: GitHub Actions for continuous testing
  • πŸ“Š Comprehensive Documentation: Detailed test strategies and traceability matrices
  • ☁️ Cloud Deployment Ready: Azure deployment configuration

πŸ—οΈ Project Structure

TestingDemo-02/
β”œβ”€β”€ manual-testing/               # Manual testing documentation
β”‚   β”œβ”€β”€ 01-test-strategy.md      # Overall testing strategy
β”‚   β”œβ”€β”€ 02-test-plan.md          # Detailed test plan
β”‚   β”œβ”€β”€ 03-test-cases.md         # 95 test cases across all modules
β”‚   β”œβ”€β”€ 04-bug-reports.md        # Sample bug reports with details
β”‚   β”œβ”€β”€ 05-traceability-matrix.md # Requirements traceability (90 requirements)
β”‚   β”œβ”€β”€ 06-exploratory-testing-notes.md # 8 exploratory test sessions
β”‚   └── 07-test-execution-report.md # Test execution report template
β”‚
β”œβ”€β”€ automated-testing/            # Automated test framework
β”‚   β”œβ”€β”€ pages/                   # Page Object Models
β”‚   β”‚   β”œβ”€β”€ LoginPage.js
β”‚   β”‚   β”œβ”€β”€ DashboardPage.js
β”‚   β”‚   β”œβ”€β”€ AdminPage.js
β”‚   β”‚   └── PIMPage.js
β”‚   β”œβ”€β”€ tests/
β”‚   β”‚   β”œβ”€β”€ ui/                  # UI tests (Playwright)
β”‚   β”‚   β”‚   β”œβ”€β”€ auth.spec.js     # 9 authentication tests
β”‚   β”‚   β”‚   β”œβ”€β”€ admin.spec.js    # 4 admin module tests
β”‚   β”‚   β”‚   └── pim.spec.js      # 5 PIM module tests
β”‚   β”‚   └── api/                 # API tests
β”‚   β”‚       └── api.spec.js      # 13 API tests
β”‚   β”œβ”€β”€ utils/                   # Test utilities
β”‚   β”‚   β”œβ”€β”€ testData.js          # Test data fixtures
β”‚   β”‚   └── helpers.js           # Helper functions (40+)
β”‚   β”œβ”€β”€ playwright.config.js     # Test configuration
β”‚   β”œβ”€β”€ package.json
β”‚   └── README.md                # Automation framework docs
β”‚
β”œβ”€β”€ business-case/                # πŸ“Š Manager-focused documents
β”‚   β”œβ”€β”€ executive-case-study.md  # 20+ page comprehensive case study
β”‚   β”œβ”€β”€ stakeholder-presentation.md # 20-slide presentation
β”‚   β”œβ”€β”€ test-metrics-dashboard.csv # Quality metrics tracking
β”‚   β”œβ”€β”€ risk-register.csv        # 25 risks tracked & mitigated
β”‚   β”œβ”€β”€ test-coverage-summary.csv # Module-wise coverage analysis
β”‚   β”œβ”€β”€ roi-analysis.csv         # 3-year financial ROI analysis
β”‚   └── README.md                # Guide to business documents
β”‚
β”œβ”€β”€ screenshots/                  # Screenshot examples and guidelines
β”‚   └── README.md                # Screenshot documentation
β”‚
β”œβ”€β”€ .github/workflows/            # CI/CD workflows
β”‚   β”œβ”€β”€ automated-tests.yml      # GitHub Actions for tests
β”‚   └── azure-deploy.yml.example # Azure deployment template
β”‚
β”œβ”€β”€ SETUP_TROUBLESHOOTING.md     # Complete setup and troubleshooting guide
β”œβ”€β”€ PERFORMANCE_ACCESSIBILITY.md # Performance & accessibility testing guide
β”œβ”€β”€ QUICK_START.md               # 5-minute getting started
β”œβ”€β”€ CONTRIBUTING.md              # Contribution guidelines
β”œβ”€β”€ CHANGELOG.md                 # Version history
└── README.md                    # This file

πŸ“‹ Manual Testing Suite

Test Documentation

Document Description Key Metrics
Test Strategy Overall testing approach and methodologies 11 sections, comprehensive strategy
Test Plan Detailed test planning and scheduling 14 sections, 5-week timeline
Test Cases Detailed test scenarios 95 test cases across 6 modules
Bug Reports Sample defects found 10 documented bugs with severity
Traceability Matrix Requirements to test mapping 90 requirements, 98.9% coverage
Exploratory Testing Ad-hoc testing sessions 8 sessions, 11 hours total
Test Execution Report Comprehensive report template Metrics, charts, analysis

Test Coverage by Module

  • Authentication: 10 test cases
  • Admin Module: 20 test cases
  • PIM (Employee Management): 20 test cases
  • Leave Management: 15 test cases
  • Time & Timesheets: 10 test cases
  • Recruitment: 15 test cases
  • Other Modules: 5 test cases

Key Features

  • βœ… Comprehensive test cases with detailed steps
  • πŸ› Sample bug reports with screenshots and severity
  • πŸ”— Full requirements traceability matrix
  • πŸ“ Exploratory testing notes with findings
  • πŸ“Š Test metrics and coverage statistics

πŸ€– Automated Testing Framework

Technology Stack

  • Framework: Playwright v1.40+
  • Language: JavaScript/Node.js
  • Test Runner: Playwright Test
  • Browsers: Chrome, Firefox, Safari, Mobile
  • Reporting: HTML, JSON, JUnit
  • Utilities: 40+ helper functions, test data fixtures

Quick Start

# Navigate to automated testing directory
cd automated-testing

# Install dependencies
npm install

# Install browsers
npx playwright install --with-deps

# Run all tests
npm test

# Run specific test suite
npm run test:ui        # UI tests only
npm run test:api       # API tests only

# Run in specific browser
npm run test:chrome    # Chrome only
npm run test:firefox   # Firefox only

# View test report
npm run test:report

Test Statistics

  • Total Automated Tests: 31
  • UI Tests: 18 (Authentication, Admin, PIM)
  • API Tests: 13 (Performance, Security, Resources)
  • Page Objects: 4 (Login, Dashboard, Admin, PIM)
  • Cross-browser: Chrome, Firefox, Safari, Mobile

Key Features

  • 🎭 Page Object Model for maintainability
  • πŸ”„ Parallel test execution
  • πŸ“Έ Automatic screenshots on failure
  • πŸŽ₯ Video recording for failed tests
  • πŸ“Š Multiple report formats (HTML, JSON, JUnit)
  • 🌐 Cross-browser testing support
  • πŸ“± Mobile viewport testing

πŸ”„ CI/CD Integration

GitHub Actions

Automated tests run on:

  • βœ… Every push to main/develop branches
  • βœ… All pull requests
  • βœ… Manual workflow dispatch
  • βœ… Multiple browsers in parallel

View workflow: .github/workflows/automated-tests.yml

Test Results

  • Test results uploaded as artifacts
  • HTML reports available for download
  • Test summary in workflow logs
  • 30-day artifact retention

☁️ Azure Deployment

Deployment Options

This project can be deployed to:

  1. Azure Static Web Apps: For static content and documentation
  2. Azure App Service: For full web applications

Setup Instructions

See .github/workflows/azure-deploy.yml.example for deployment template.

Steps:

  1. Create Azure resource (Static Web App or App Service)
  2. Get deployment credentials
  3. Add secrets to GitHub repository
  4. Enable deployment workflow
  5. Push to main branch

πŸŽ“ Application Under Test

OrangeHRM Demo Application

⚠️ Note: The demo site may experience periodic downtime or intermittent availability issues. If it is unavailable, please try again later or visit the OrangeHRM main site as a fallback.

Modules Tested

  1. Admin: User management, system configuration
  2. PIM: Employee information management
  3. Leave: Leave application and approval
  4. Time: Timesheet management
  5. Recruitment: Hiring workflow management
  6. Dashboard: Overview and quick actions

πŸ“– Documentation

Manual Testing

Automated Testing

Business Case & Executive Materials πŸ“Š

Setup & Advanced Testing

πŸš€ Getting Started

Prerequisites

  • Node.js 18+ (for automated tests)
  • Git
  • Text editor (VS Code recommended)

Clone Repository

git clone https://github.com/bg-playground/TestingDemo-02.git
cd TestingDemo-02

Setup Automated Tests

cd automated-testing
npm install
npx playwright install --with-deps
npm test

View Manual Test Documentation

Open any markdown file in manual-testing/ directory in your text editor or GitHub.

πŸ§ͺ Test Execution

Manual Testing

  1. Review test plan and test strategy
  2. Execute test cases from 03-test-cases.md
  3. Log defects using template in 04-bug-reports.md
  4. Update traceability matrix
  5. Perform exploratory testing sessions

Automated Testing

# Run all tests
npm test

# Run with UI (visible browser)
npm run test:headed

# Debug tests
npm run test:debug

# Generate code
npx playwright codegen https://opensource-demo.orangehrmlive.com

πŸ“Š Test Metrics

Manual Testing Coverage

  • Total Requirements: 90
  • Test Cases: 95
  • Coverage: 98.9%
  • Modules Covered: 6
  • Exploratory Sessions: 8 (11 hours)

Automated Testing Coverage

  • Total Automated Tests: 31
  • Pass Rate: Target 95%+
  • Browsers: 3 desktop + 2 mobile
  • Execution Time: ~5-10 minutes
  • Parallel Execution: Yes

Defect Statistics

  • Total Bugs Documented: 10
  • Critical: 0
  • High: 2
  • Medium: 6
  • Low: 2

🀝 Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Add tests or documentation
  4. Ensure tests pass
  5. Submit pull request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘₯ Authors

  • Brad - Initial work and framework development

πŸ™ Acknowledgments

  • OrangeHRM for providing the demo application
  • Playwright team for the excellent testing framework
  • GitHub Actions for CI/CD capabilities
  • Azure for cloud deployment options

πŸ“ž Support

For questions or issues:

  • Create an issue in this repository
  • Review the documentation in manual-testing/ and automated-testing/
  • Check Playwright Documentation

πŸ”— Useful Links


Last Updated: February 2026
Version: 1.0.0
Status: βœ… Active Development

About

A QA Testing framework demonstrating manual and automated workflows with Playwright

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages