There is never enough time, so first test that which you are uncertain about.
If it is easy to test, it is easy to write. If it is easy to write, it didn’t need to be tested.
Test the way the program will be used, not the way it should be used.
A wise student tests his code. A wise master tests everyone else’s.
A test is not a debugger. Nor is a debugger a test. Learn them both.
The student saw asks his master, “Why do our tests take so long to run?”
The master replies, “The services are slow.”
The student then asks, “Why don’t you mock the services so we can run the tests faster?”
The master deletes all of the test code and says, “The tests are now fast.”
All combinations of user input should be tested. Configuration files are user input.
To not test what the compiler can prove.
Play with the clock.
If a child can break it in an hour, and adult can in 5 minutes.