End-to-end QA for the national Driving License & Vehicle Management system:
complex flows, strict rules, and real-world edge cases.
The Driving License & Vehicle Management System (TTVMA) is a nationwide platform used
to manage citizen profiles, driving license applications, category upgrades, vehicle data,
examinations and approvals between the mobile app and middleware.
My role focuses on validating end-to-end journeys for both citizens and internal staff.
I test how data flows between the mobile app, middleware and external services, making sure
every business rule is respected—for example age-based eligibility, license category logic,
exam dependencies and document requirements.
I also work on regression testing for new releases, verify that changes do not break
existing flows, and help the product and development teams reproduce and fix issues
quickly by providing structured, detailed feedback.
Project: Driving License & Vehicle Management System (TTVMA)
Role: QA Engineer · Product Support
Focus: Functional & Regression Testing, Edge Cases, Flow Validation
I document bugs in a structured way so developers can easily reproduce, understand the impact,
and apply fixes without guesswork. Below are three sample bugs from this project:
| Bug Title |
Description |
Steps to Reproduce |
Expected vs Actual |
| Citizen Becomes Pending After Editing Profile |
When the user edits their profile on the mobile app, the citizen status automatically
becomes “Pending”. In the middleware, the admin is unable to approve the citizen because
the system displays “Citizen Already Linked”.
|
1. Log in on mobile.
2. Edit profile information and save.
3. Open middleware and search for the same citizen.
4. Attempt to approve and link the citizen.
|
Expected: Admin can approve and link the citizen normally after profile edits.
Actual: System blocks the approval and shows “Citizen Already Linked”.
|
| Intro Screens Display Every Time App is Opened |
The onboarding intro screens appear on each app launch instead of only on the first launch
or until the user completes them once.
|
1. Install and open the mobile app.
2. Go through the intro screens and reach the main dashboard.
3. Close the app completely.
4. Reopen the app.
|
Expected: Intro screens appear only on first launch or until the user completes them.
Actual: Intro screens appear on every launch, even after completion.
|
| Practical Exam Result Visible When Theory Not Passed |
The system allows viewing or setting the Practical Exam Result even when the Theoretical Exam
has not been passed, which breaks the required exam sequence.
|
1. Go to the exam results section in middleware.
2. Select a citizen who failed the theoretical exam.
3. Open the practical exam result panel for the same citizen.
|
Expected: Practical exam result should be locked or hidden until theory is passed.
Actual: Practical exam result is accessible regardless of theoretical exam status.
|
I design test cases around real user journeys and system states, covering both positive and negative
paths. Below are three example test cases from the Driving License & Vehicle System:
| TC ID |
Test Case Name |
Test Steps |
Expected Result |
| TC-101 |
Citizen Onboarding with ID Verification |
1. Open the mobile app and tap “Create New Account”.
2. Enter ID or Passport details.
3. Capture face image and complete liveness movement.
4. Submit the request for review.
|
Identity and liveness are validated. Citizen record is created and sent to middleware with
status set to “Pending Approval”.
|
| TC-205 |
Submit New Driving License Application |
1. Log in as an approved citizen.
2. Choose “New Driving License” process.
3. Upload all required documents.
4. Review calculated fees and confirm payment.
5. Submit the application.
|
Application is created successfully, stored in middleware, and status becomes
“Submitted – Under Review” with correct fee and document data.
|
| TC-330 |
Exam Flow Validation (Theory Before Practical) |
1. Open exam management in middleware for a citizen with pending exams.
2. Try to access practical exam section before setting theory result.
3. Set theory exam result as “Passed”.
4. Reopen the practical exam section.
|
Practical exam remains locked until the theory exam result is “Passed”.
After passing theory, practical exam becomes available to schedule and record.
|
Internally, the application follows a clear state machine, for example:
Draft → Submitted → Under Review → Approved → Fees Paid → Appointment Scheduled →
Exam Completed → License Issued. I use this state model to design scenarios that verify
every transition and prevent invalid jumps between states.