Below is a list of the most common mistakes made during the testing process, which i hope you’ll find useful and remember not to make. They are classified taking in consideration the following categories: A. Role of testing, B. Planning the complete testing effort, C. Personnel issues, D. Tester at work, E. Test automation, F. Code coverage.
A. Role of testing
-
Thinking that the testing team is responsible for assuring quality.
-
Thinking that the purpose of testing is (only) to find bugs.
-
Not finding the important defects (being more focused on low priority defects rather than high priority defects).
-
Not reporting usability problems.
-
No focus on an estimate of quality (and on the quality of that estimate). Having a well-defined testing procedure, the test team can certify the software to a specific level of quality based upon the pass ratio of designed tests /coverage of the tests.
-
Reporting bug data without putting it into context.
-
Starting testing too late (bug detection, not bug reduction)
B. Planning the complete testing effort
-
A testing effort biased toward functional testing.
-
Under emphasizing configuration testing.
-
Putting stress and load testing off to the last minute.
-
Not testing the documentation
-
Not testing installation procedures.
-
An over reliance on beta testing (especially in the V and W models).
-
Finishing one testing task before moving on to the next (sometimes this cannot be avoided due to project specific circumstances, the tester having in specific projects to either retrace his steps in order to compensate for new changes in the project/software system or put a task on hold pending a new addition/modification to the project/software system.
-
Failing to correctly identify risky areas.
-
Sticking stubbornly to the test plan.
C. Personnel issues
-
Using testing as a transitional job for new programmers.
-
Recruiting testers from the ranks of failed programmers.
-
Testers are not domain experts.
-
Not seeking candidates from the customer service staff or technical writing staff.
-
Insisting that testers be able to program.
-
A testing team that lacks diversity.
-
A physical separation between developers and testers.
-
Believing that programmers can’t test their own code.
-
Programmers are neither trained nor motivated to test.
D. Tester at work
-
Paying more attention to running tests than to designing them.
-
Unreview test designs.
-
Being too specific about test inputs and procedures.
-
Not noticing and exploring “irrelevant” oddities.
-
Checking that the product does what it is supposed to do, but not that it does do what it isn’t supposed to do (negative tests).
-
Test suites that are understandable only by their owners.
-
Testing only through the user-visible interface.
-
Poor bug reporting.
-
Adding only regression tests when bugs are found.
-
Failing to take notes for the next testing effort.
E. Test automation
-
Attempting to automate all tests.
-
Using GUI capture/replay tools to reduce test creation cost.
-
Expecting regression tests to find a high proportion of new bugs.
F. Code coverage
-
Removing tests from a regression test suite just because they don’t add coverage.
-
Using coverage as a performance goal for testers.
-
Abandoning coverage entirely.
Source: ISTQB – Foundation Course.
No Comments