in reply to Testing in real life
Tests suffer from the same problem as code: they can have bugs. So they undergo the same development as the code they test, and it sounds to me as though you've done everything right:
First you tested the cases you could think of, and when you find a limitation in your approach, you expanded it.
1. When should I write tests?
When (or before) writing new features, and when you discover bugs.
What should I test?
The stuff you're working on.
Tests are a tool to achieve a goal (here: developing and maintaining reliable software), so they should be used to best achieve that goal. If you can't think of a way that your code would make a particular test fail, it's probably useless.
Tools like Devel::Cover can help you identify spots in your code that aren't covered, but you shouldn't blindly try to increase the coverage either.
|
---|