Application development and testing your code

Today I am going to touch on a subject that can all too importantly be overlooked, and regardless of whether it is open source or paid work there is an importance to releasing your code as bug free as you possibly can. I spent today trying to figure out why something that I had been using for a few years, had all of a sudden stopped working. I had patched this open source application to the newest version, which was about 5 versions ahead of what I was using.

When I began running a few tests on the patch before making it live, there was some very noticeable problems with the update. It just would no longer work in any way, and I noticed some very disturbing problems in the code that I had to ask the developer in question if they had done any testing on these changes. So without going into too much detail, I am going to use a few examples that will highlight the problem that I discovered in this case.

Test Drive Development (TDD)

I wanted to talk about TDD, or as some call it Test Driven Design either way I am going to discuss what it is and how a developer can really benefit from it.

I once asked an old collegue whether he was using CFUnit, and the response I got was the same that I seem to hear all so often. it is a waste of time and adds to much overhead to the development. The reality is that it does the reverse.