Software Testing as a Skill
This can be a revelation for some people, but not everybody can test. For any system you can find an enormous number of possible tests and at the same time, practically we have usually time to run only a very small amount of tests.
Efforts to select test cases are very important part of the software testing process. As the purpose of testing is detection of most defects in the software with this small number of test cases.
At first glance it might seem that the selection of test cases at random is not an effective approach to software product testing. More considered approach may be applicable if you have well-written test cases.
What Test Case Can Be Called Well-Written?
Based on my experience I can identify four attributes that define the quality of test case. The most important feature is its efficiency of detection of defects. Test case considered well-written if it can find defects, or at least has possibility to find defects.
Also well-written test-case should be exemplifying. This test case should test not only single function of the system, thus reducing the total number of executed test cases.
Two other characteristics of a well-written test case are:
- Lack of links to other test cases;
- Independence from the “traces” left by other test cases in system under test or database.
Therefore, if we have in document A 10 test cases: test case 1, test-case 2,…, test-case 10, the proof of the independence of each of the test cases will be the fact that they can be executed without detriment for testing in any order, for example, test case 10, then the test case 2, then the test case 6, etc.
Thus and so the mastery of software testing is not only to ensure that with the help of test cases you will find a high correlation of defects, but also guaranteeing that the tests were well-written to avoid exceeding costs.