If you are involved in software development then recalling a basic testing principles once again is not a waste of time. So here are the principles:
- A necessary part of a test case is a definition of the expected output or result.
- A programmer should avoid attempting to test his or her own program.
- A programming organization should not test its own programs.
- Any testing process should include a thorough inspection of the results of each test.
- Test cases must be written for input conditions that are invalid and unexpected, as well as for those that are valid and expected.
- Examining a program to see if it does not do what it is supposed to do is only half the battle; the other half is seeing whether the program does what it is not supposed to do.
- Avoid throwaway test cases unless the program is truly a throwaway program.
- Do not plan a testing effort under the tacit assumption that no errors will be found.
- 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.
- Testing is an extremely creative and intellectually challenging task.
I recommend reading a book «The Art of Software Testing» by Glenford j. Myers, Tom Badgett and Corey Sandler (ISBN: 978-1-118-03196-4).