Skip to main content

Test Automation Strategy

1. Strategy Overview

The goal of the test automation strategy is to:

  • Accelerate release cycles by reducing manual testing time.
  • Ensure high-quality software through consistent and reliable testing.
  • Achieve broad test coverage, focusing on critical paths and edge cases.
  • Enable scalable and maintainable test automation.

2. Tools Selection

The tools selected align with the application's architecture, technology stack:

API Testing:

  • Postman for exploratory API testing.
  • Mocha, Chai and Sinon, PHP Unit for automated API tests

Front-End Testing:

  • Mocha, Chai and Sinon for automated frontend testing

End-to-End Testing:

  • Playwright: Modern, cross-browser support, excellent debugging tools.

CI/CD Integration:

  • GitHub Actions: For running automated tests on code commits and deployments.

Test Management:

  • Jira: For Test management, track test cases, ensure traceability between tests and project requirements

3. Types of Testing to be Conducted

The automation strategy will include the following types of testing:

  1. Unit Tests:

    • This focuses on verifying the functionality of individual components or "units" of a program in isolation.
  2. Integration Tests:

    • To test the interactions between modules (e.g., API and database).
    • Tools: Postman, Mocha, chai, Sinon
  3. End-to-End Tests:

    • To verify user workflows from start to finish.
    • Tools: Playwright.
  4. Regression Tests:

    • To ensure existing functionality works after changes.
    • Focus on areas impacted by code changes.
  5. Smoke Tests (Post Deployment)

    • Ensures that the basic functionality of the application works as expected after deployment to production.

4. Coverage Goals

Automation will prioritize critical functionalities and high-risk areas:

  • API Coverage: 80-90% of endpoints with automated tests for CRUD operations, validation, and error scenarios.

  • Front-End Coverage: 80-90% of workflows, focusing on user-critical paths.

  • End-to-End Tests Coverage: Full coverage of critical user journeys.

5. Tactical Steps

  1. Framework Setup:

    • Choose a modular framework for maintainability (e.g., Page Object Model for UI tests).

    • Define standards for test structure and naming conventions.

  2. Test Data Management:

    • Use fixtures for reusable test data.

    • Maintain separate datasets for development and staging environments.

  3. Environment Strategy:

    • Dedicated environments for testing with seeded databases to ensure test repeatability.
  4. CI/CD Pipeline Integration:

    • Automate test execution in CI/CD pipelines for immediate feedback.

    • E2E test run during non-peak hours

    • Run smoke tests on every commit and regression suites on nightly builds.

  5. Reporting and Monitoring:

    • Slack integration for immediate test pass/failure notifications.
  6. Scalability and Maintenance:

    • Scalability: Leverage parallel execution in CI/CD to reduce execution time.

    • Maintenance: Regularly refactor test scripts to adapt to application changes and avoid flaky tests.

  7. Critical Flows (For MVP & Widgets)

    • Sign Up
    • Sign In
    • Book Appointment
    • Workflow
    • Reschedule
    • Cancel
  8. Coverage Timelines

    The flows below will be completed in 1 Sprint

    • Sign Up
    • Sign In
    • Reset Password

    The below flows will be completed in 2 Sprints

    • MVP Book Appointment: Guest User, New User, Existing User

    • Widgets Book Appointment: Existing and New User

    • MVP Workflow: New User, Existing User

    • Widgets Workflow: Existing and New User

    • Reschedule

    • Cancel