masaruk Logo

QA & Testing Strategy

Quality Assurance strategy for verifying MASARUK meets all requirements

1. Purpose

This document defines the Quality Assurance strategy used to verify that MASARUK meets all functional and non-functional requirements, across Web, Mobile, Admin, Provider Portal, and Backend APIs.

All tests must be:

  • Reproducible
  • Measurable
  • Deterministic
  • Directly mapped to requirements
  • Aligned with Domain Model and API specifications

2. QA Principles

1.No UI test shall contradict domain rules (Arabic labels remain verbatim)
2.Test the real flows, not assumptions (booking, payment, ratings)
3.Modular testing (each module tested independently and in cross-module flows)
4.End-to-end scenarios mimic actual user behavior (Mobile ↔ API ↔ DB ↔ Admin)
5.Regression is mandatory after every release (booking, payment, cancellation)
6.All Arabic text tested exactly as shown in UI (ملغاه، فعالة، نشطة)

3. Testing Layers

3.1 Unit Testing

Scope:

  • Services
  • Repositories
  • DTOs
  • Validators
  • Helpers
  • Domain logic (status transitions, pricing, cancellation)

Targets:

  • Correct tax calculation (15%)
  • Booking seat validation
  • Cancellation & refund logic
  • Trip lifecycle transitions
  • PaymentTransaction creation
  • Rating submission validation

Tools:

  • Jest / Vitest
  • Mocking Services (Payment, SMS, Email)
  • Flutter test framework

3.3 End-to-End (E2E) Testing

These tests emulate real user flows

E2E-01Trip Browsing

Search trips, filter by type, validate pricing

E2E-02Booking Flow

Passenger data, payment, confirmation, email/SMS

E2E-03Cancellation & Refund

Cancel booking, validate refund, status = ملغاه

E2E-04Rating Flow

Submit rating after completed trip, aggregation

E2E-05Ad Campaign

Create campaign, pay, track impressions

E2E-06Provider Trip Management

Create/edit/delete trips, resources

4. Test Coverage Requirements

≥80%

Backend

≥70%

Frontend

≥70%

Mobile

Priority:

  • All payment flows
  • All status transitions
  • All booking scenarios
  • All Arabic text rendering