Notes on software quality
Practical writing about how I test — the checklists, the trade-offs, and the things that only become obvious after a few years of finding defects.
Testing Role-Based Permissions Without Missing a Cell
Permission bugs ship because testers sample instead of enumerating. Here is the matrix method I use, and the cells almost everyone forgets to fill in.
The Booking Bugs That Cost Real Money
Double bookings, time zones, refund windows, and payments that succeed twice. The edge cases I test on every booking flow, and why the database is the only honest witness.
A Test Plan People Actually Read
Thirty-page test plans get skimmed once and ignored. One page that answers six questions gets used every release — and settles the arguments before they start.
A First Selenium and Java Suite That Doesn't Rot in Three Months
Most first automation suites are abandoned within a quarter. The reasons are predictable — brittle locators, sleeps, shared test data — and all of them are avoidable.
What Changed When I Stopped Just Finding Bugs
Finding defects is the entry fee. What actually changed my work was owning the release decision — and learning to state risk instead of handing over a list.
Breaking Into QA in Pakistan: The Route That Actually Works
No network, no referral, no expensive bootcamp. What actually gets a first software testing job here — and the order to learn things in.
Mobile App Testing: The Device Matrix and What Really Breaks
Emulators pass the tests that matter least. Interruptions, flaky networks, revoked permissions, and app updates are where mobile apps actually fail.
Running QA in a Team That Has No QA Department
No test manager, no tooling budget, no dedicated testers. What to put in place first when quality is everyone's job and therefore nobody's.
How to Write a Bug Report a Developer Can Actually Fix
The difference between a bug report that gets fixed today and one that sits in the backlog for a month is almost never the severity. It is the write-up.
API Testing with Postman: What I Check on Every Endpoint
The happy path is the easy part. Here is the checklist I run against every endpoint — auth, ownership, validation, and the failure modes the UI hides.
A Regression Testing Strategy That Survives ERP Releases
ERP modules share data, so a fix in one screen breaks totals three modules away. Here is how I decide what to re-test when re-testing everything is not an option.
Testing Below the Interface: Why I Verify Results in SQL
The screen said the order was cancelled. The database said otherwise. A practical case for every manual tester learning enough SQL to check for themselves.
Want this kind of thinking on your product?
I take on contract QA work and consulting for teams that want testing done properly rather than checked off.