Software Testing Principles

  1. A necessary part of a test case is a definition of the expected output or result.

  2. A programmer should avoid attempting to test his or her own program.

  3. A programming organization should not test its own programs.

  4. Thoroughly inspect the results of each test.

  5. Test cases must be written for invalid and unexpected, as well as valid and expected, input conditions.

  6. Examining a program to see if it does not do what it is supposed to do is only half of the battle. The other half is seeing whether the program does what it is not supposed to do.

  7. Avoid throw-away test cases unless the program is truly a throw-a way program.

  8. Do not plan a testing effort under the tacit assumption that no errors will be found.

  9. The probability of the existence of more errors in a section of a program is proportional to the number of errors already found in that section.

  10. Testing is an extremely creative and intellectually challenging task.

  11. Testing is the process of executing a program with the intent of finding errors.

  12. A good test case is one that has a high probability of detecting an as-yet undiscovered error.

  13. A successful test case is one that detects an as-yet undiscovered error.
Share on Google Plus

About Debasis Pradhan

Debasis has over a decade worth of exclusive experience in the field of Software Quality Assurance, Software Development and Testing. He writes here to share some of his interesting experiences with fellow testers.


  1. There are many principles that guide Software Testing Principle. Before applying methods to design effective test cases, a software engineer must understand the basic principles that guide software testing. The following are the main principles for testing


NOTE: Comments posted on Software Testing Tricks are moderated and will be approved only if they are on-topic. Please avoid comments with spammy URLs. Having trouble leaving comments? Contact Me!