One of the constants of programming is that there will be bugs.  As a project like BlueSky gets more complex, the likelihood of introducing errors in the code increases dramatically. Since we can’t completely avoid introducing bugs in our code, we need adequate tools to make sure we can catch and fix those bugs before they make it out into the wild.

When starting BlueSky we were already using automated tests to catch bugs in our code.  These would do a great job of catching most of our bugs before they saw the light of day, but as our interface became more and more complex (such as the code that allows you to build an entire agenda without reloading the page), it got to the point where our tests couldn’t cover everything we were doing.  This is where we started using Selenium.

Selenium allows us to run automated tests of our website using any web browser we choose (such as Firefox, Google Chrome, or Internet Explorer), so we can make sure that every page works for every browser we want to support.

Using a combination of technologies we now have a suite of tests that run automatically and use multiple web browser to test our site faster and much more thoroughly than any human tester could.  This means we spend our quality assurance time more effectively making sure our interface works well, and not hunting for pesky bugs.

Check out the video below to see a small example of what our Selenium tests look like!