Testing while coding

Wow! It's been a long time since I wrote a blog!  Things have been very busy around here.  I am busy coding a new integral piece of the next version of OCS.  Unfortunately that is about all I can say about it at this time. 

When I was a tester, my code was the tests for the developer's code.  Therefore, I did not have code that tested my own code.  Developers would create simple unit tests that would call methods directly in their code.

Since I have moved to dev, I now write unit tests for everything I check in.  However I have taken a slightly different approach than some other devs in that I don't just write 'unit tests' but instead write any test that I can easily code.  The goal of many of the tests are to break the product.

While it has taken me some time to write these tests (112 at current count) and maintenance has taken some time, I find the results of the tests worth their weight in gold.  Now, whenever I make any type of change, I run the tests and in about three minutes I can determine whether I broke anything.  I also have found several bugs that would have been found much later.  In the end I suspect that product quality will be much higher because of these tests.

The tests also save me a lot of worrying.  Whenever I make a change that I think could be problematic I just run all of the tests.  Because of the breadth and depth of the tests, I know that if they all pass my change is relatively safe.  This also saves me the embarrassment of a tester reporting that I broke something that previously worked.