Test case writing is a major activity and considered as one of the most important parts of software testing. It is used by the testing team, development team as well as the management. If there is no documentation for an application, we can use test case as a baseline document.
So why are test cases important?
A typical definition for test case is a ‘set of conditions under which a tester will determine whether an application or software system or one of its features is working as expected.’
It means that test cases clarify what needs to be done to test a system. It gives us the steps which we execute in a system, the input data values which we enter in the system along with the expected results when we execute a particular test case.
Test cases bring together the whole testing process. If the test cases are ready, they are really helpful to measure weather client expectations were fulfilled or not. When we execute test cases, we can get more defects which may be skipped in ad-hoc testing.
We can get the answers of the questions below from test cases and get a sense of the product and where it stands. The questions are:
[checklist icon="check" iconcolor="" circle="no"]
- Which modules have been tested?
- How many test cases have been executed?
- How many modules or features are stable?
- Which modules need more work according to number of defects found in respective modules?
- Are sufficient input combinations exercised and covered in test cases?
- Does the app give out correct error messages if the user does not use it the way it was intended to be used?
- Is the app tested on different browser or different platforms for mobile to test compatibility?
- Does the UI conform to the specifications?
- Are the features traceable to the requirement spec? Have all of them been covered?
- Are the user scenarios traceable to the use case document? Have all of them been covered?
- Are the test cases good enough? Are they finding defects?
- Is software ready to move to production? Is testing enough?
- And finally, what is the quality of the application?
If one can get proper answers of the above questions we can comment on the stability of the whole application. We can use this as a checklist to ensure that we have not missed anything. It is also important to measure test coverage.
That’s why test cases are extremely important!