Wednesday, April 1, 2009

Unit tests- worth it?

The last employer I interviewed with mentioned that they used an agile software development process. For the uninitiated, a good description is below:

http://en.wikipedia.org/wiki/Agile_software_development

A key part of agile is having good automated unit tests that you can run after every build to make sure your new and old code works. That brings forth the question of just how many unit tests you should have when time is a factor.

From my experience at a large financial company, business pressures usually means that your automated tests are patchwork at best. There was no real effort to make sure that all your logic was tested and confirmed. Through the course of test case walkthroughs that may have happened, but it was never explicitly checked as such.

That is unfortunate since I think it encourages developers to manually test their software for the bare minimum. Essentially, they check that their product handles all the typical cases, and then do package breaks and follow up releases when the software breaks on exception cases. The business is trading a somewhat longer initial development period in exchange for a significantly longer support period. This is also a problem when future developers get the code and have no real way to figure out whether it's working as designed.

If I do end up signing on with Power Advocate, I hope they do comprehensive testing. It's far less pressure on the developer when tests are thorough and working.

No comments:

Post a Comment