Dirty Testing (or) Creative Testing
Testing as we all know is a verification and validation process that certifies that a product works as per the requirements. But testing as per requirements alone wouldn’t make the product stable. This is where we introduce a stage/phase that we call as Dirty testing. This phase is also known as “Creative Testing“.
Dirty testing involves testing creative side of the equivalence partation. There are certain conditions in which the application would surely break if tested with test data other than the ones mentioned in the requirements. Dirty testing also involves testing out of box. Sometimes a tester’s experience of testing similar products plays a vital role in determining the depth in which negative testing is carried out.
Let us discuss a scenario where I had employed creative a.k.a dirty testing. The requirements does not always cover every business aspect. Based on your product experience If you find any gaps in the technical & functional requirements then you are sure to find gaps in the application which would ultimatly lead of failure.
Case Study: I was involved in the UAT phase of Testing an ATM (Automated Teller Machine) interface with Core Banking application.
All test cases where written by business users strictly based on BRD and FS. The software was strictly developed based on the BRD & FS. Not enough care was taken to program the application’s behaviour for alternative paths.
The main functions of the ATM machine are listed below:
-
Cash Withdrawal
-
Balance Enquiry
-
Fund Transfer
-
Cash Deposit
-
Mobile Phone Recharge
All test cases for the above scenarios where based on happy path and never considered the dirty path. Let us have a look at sample test cases for Cash Withdrawal:
Strictly Requirement Based Cases – Cash Withdrawal:
-
Cash Withdrawal from Current account using Maestro card
-
Cash Withdrawal from Savings account using Maestro card
-
Cash Withdrawal from current account when there is not enough balance
-
Cash Withdrawal from savings account when there is not enough balance
- Cash withdrawal using a blocked card using Maestro card
- Cash withdrawal using an expired card using Maestro card
Even though the above test cases covers both positive and Negative paths in the high level cash withdrawal scenario, the very aspect of alternate path is not covered. Out of my experience let me list down a sample of dirty test cases that I have come up with:
-
Cash withdrawal using a utility card
-
Cash withdrawal from a revolving credit card
-
Cash withdrawal using a store card
-
Cash withdrawal using damaged card
Well, all the 4 dirty test cases failed and the system almost crashed resulting in Sev-1 defects. Real show stoppers. This is when we decided, we would cover regular BRD/FS aligned test cases along with Dirty test cases which would surely improve the quality of the product delivered.
It would be great if you as readers can also share your experiences in creating dirty test cases. Please do write to me at arun.vijayaraghavan@focustesting.com
Thanks,
Arun





