Testing (software, or hardware) code can be a very daunting task. It’s bad enough if you have to test your own code, someone else’s code is much, much worse.
One of the warmly advised ways to solve problems is to turn minuses to pluses, turn the bad sides to good ones.
Where am I going ? Well, if testing is as automated as possible (and I mean completely automated), the boring task of testing turns into the nice task of writing the code that runs automatic tests.
It is a long known method, and CPAN actually has some nice modules that help people with that… but this is only Perl. C, C++, Lisp, VHDL code also has to be tested. And it isn’t easy to write automatic testing systems for everything. Sometimes the program/design is complicated / interactive / interdependent or whatever, and it makes auto-testing hard.
Such thinking has a negative impact on my productivity in the past couple of days. Instead of testing the (rather bulky) VHDL core, I spend most of the time thinking how to automate it. Hopefully it will eventually pay off, or my time was in vain…