Some of the most highly trafficked interactive systems today are accessed through the Web: Amazon.com, Facebook, Google, Zynga just to name a few. These apps have to work flawlessly across any browser or risk losing eyeballs and audience consistency.
The browser wars after all, are still alive and well, and any serious Web application needs to work on the most popular browsers , such as Internet Explorer, Firefox, and Chrome but don't forget others like Safari and Opera.
But for most companies, it is difficult and costly to maintain and update a test infrastructure on premise that keeps up with the top browsers and all their releases, major and maintenance. Like development and deployment before it, the time has come for cross-browser testing to move to the cloud.
Earlier this year, start-up Sauce Labs launched Sauce OnDemand, a cloud service that allows users to execute their Selenium scripts in parallel across 10 of today's most popular browsers. According to Jason Huggins, the creator of Selenium and co-founder of Sauce Labs, browser testing is a see-it-to-believe-it kind of thing. Developers are used to seeing tests running locally but often lose that visibility when testing moves to the cloud.
Sauce Labs on Thursday is expected to introduce Sauce TV, which provides a live, remote desktop-like capability that allows developers to see exactly what's going on during their tests. It's basically a live, secure peek inside the cloud test machines, with developers having access to only their own tests. They no longer have to wait until the end to discover issues, so this really speeds up debugging cycles. Sauce TV's remote desktop player also works directly in the Web browser without any extra software needed.
This new offering adds a very appealing twist to browser-based testing and reminds me of the "TiVo for software" ideal put forth by Replay Solutions a few years back. It's great to be able to test and get results, but it's important to be able to see where the breakpoints occur and orchestrate your test patterns to the way you expect your application to behave, especially when it comes to Web applications.