Over the past few years, I’ve become a firm believer in the value of automated testing, to such a point that I would never contemplate starting a serious project without at least some form of automated testing built in (be it unit testing, or functional testing). Like most, I’d say that my passion for automated testing has not developed from a sheer love of writing tests (although – if that’s you then you are a lucky person!) but rather because of a number of other things – ie. I’m passionate in my dislike of having to test things manually; passionate in my desire to deliver a quality product; and passionate about being able to refactor code without that fear of unknowingly breaking the entire build.
Fortunately for me, my interest in automated testing (fuelled by a automated testing pioneer colleague of mine) arose at the same time as feasible testing tools – such as JUnit for unit testing, and Selenium and Watir for functional testing – started to gain some serious traction, particularly in the J2EE world.
For those interested in having a dig around while waiting, here are some of the resources that I’ve been using:
- Selenium (http://seleniumhq.org/)
- WebDriverJS (http://code.google.com/p/selenium/wiki/WebDriverJs)
- WebDriverJS – Selenium Bindings for Node.js (https://github.com/Camme/webdriverjs)
- Mocha (https://github.com/visionmedia/mocha)
- Chai (http://chaijs.com/)