Heuristics for Testers |
|
Heuristic – An idea or method that may help solve a problem |
|||
|
1. |
Maximize diversity. Diversity helps avoid the “pesticide paradox”. Software (the insect) becomes immune to tests (the pesticide) if you keep using the same type of test. Use the testing model to help generate diverse tests. |
||
|
2. |
You can never prove that software is bug-free. Your job is to prove that it has bugs. |
||
|
3. |
The more bugs you find, the more bugs there are. Bugs hang out in clusters. Programmers have bad days, repeat habitual errors and often there are architectural weaknesses in a specific area. |
||
|
4. |
Fresh eyes find new bugs. It is tempting to let testers specialize in testing a small subset of functionality, but they will get into a testing rut and start making too many assumptions. |
||
|
5. |
Report the good news too. You need to develop rapport with the developers so give them positive feedback. |
||
|
6. |
Focus on risk. Test planning is a process of reducing infinite choice to do-able tasks. One of the best ways to do this is to order the product features and attributes from highest to lowest risk. |
||
|
7. |
A picture is worth a thousand words. Draw models of the application and look for connections between the components. This can stimulate your creativity. |
||
|
8. |
Test to the intent of the product, not just the formal specifications. There never has been and never will be a perfect specification. |
||
|
9. |
Collaborate with developers, users, managers, other testers and anyone else who can help you understand the product requirements. |
||
|
10. |
Plan your tests, but avoid mindless boiler plating. Do not remove improvisation and critical thinking from the testing process with your test plan. |
||
|
11. |
Focus on the product, not the person. Keep your comments neutral and impersonal. Even avoid humor in your problem reports. It may be misunderstood. |
||
|
12. |
Celebrate each bug you find. Testers focus of failure so others can focus on success. |
||