Wednesday, November 17, 2010

Testing, testing, one, two, three testing ...

It's been some time since I last posted, but I have been quite busy in the last few weeks.  I tend to be the type of person who is very good at starting things, but less good at finishing them. I can do it, it just takes some concentration.  After a bit of distraction (beer brewing sensor/data logger, 2D image to 3D virtual object video processing) my focus is back on PRM.  The goal now is to get the site up and functioning for actual users.  My plan was to start using it myself in my daily Risk Manager job (amazing concept, I know...) but when I tried, a few things were broken due to changes I made elswhere, which affected things that used to work.

I have reasoned that once real user's get on the site, they won't be happy about bugs like these and will most likely not return, so I have taken the  advice of 'Pragmatic Programmer' and started implementing Tests in my code to first tell me when the problems that I have identified are fixed, and second to prevent problems from coming back undetected. It usually takes about 3-4 times more work to implement the test than it does to solve the problem, but I can imagine that the pay-back will be there when later, lots of users will be on the site and it prevents hours or days of down time.  It also just feels right to be doing it this way - almost like a professional.  The time to implement each test is starting to improve as I learn what works and what doesn't and I have to say it is deeply satisfying - almost to the point of being thrilling, to run a series of tests and have no failures or errors.