A new service, BrowserSwarm, tests JavaScript frameworks against many different combinations of browsers and OSes

Microsoft wants to help Web application framework developers tackle one of their thorniest problems, that of testing their libraries to ensure they work correctly across today's dizzying combination of available browsers and operating systems (OSes).

Working with software testing consultancy AppendTo and testing tools provider Sauce Labs, Microsoft has launched a new service that provides free automated unit testing for anyone who loads a JavaScript framework or library into a GitHub.

"We see a lot of innovation [in Web development] related to 3D graphics or animations, but we don't see a lot of innovation on the testing side, and so that is where we wanted to help," said Justin Garrett, Microsoft senior product manager for the Internet Explorer team. The idea is that having an automated testing tool would encourage more developers to build useful frameworks for the Web.

BrowserSwarm "helps developers spend less time testing and more time developing," Garrett said.

Over the past decade, Web developers have been increasingly relying on third-party JavaScript frameworks and libraries to easily insert commonly used functionality into their applications.

For instance, Web Technology Surveys found that jQuery, used to script HTML behavior, is used on 56 percent of all websites. JavaScript frameworks are the "building blocks of the Web," Garrett said.

Thanks to a proliferation of devices and browsers, those who write these frameworks face a daunting task of trying to assure that their libraries work across all the different possible combinations of browsers and OSes. Typically, that involves the laborious process of running a test of the code on each combination -- Chrome on a Windows PC, Firefox on an Android tablet, and so on. Plus, not only do the newest browsers and OSes need to be tested, but so do all of the older versions that are still supported.

Large teams of developers, such as those behind jQuery or modernizer, probably have in-house tools to test across all permutations. "But if you have a little framework or are a startup, you may not have time to take the test passes you need to in order to give developers the confidence to use your framework," Garrett said.

To use BrowserSwarm, a developer provides a link to his or her code repository through GitHub. "Whenever you commit code to GitHub, we will automate that job" of testing the code, using QUnit, Garrett said. The service runs more than 150 test cases against the code base. Afterward, it generates a detailed report of all the actions taken, as well as a summary of possible issues.

To help people understand its capabilities, Microsoft ran BrowserSwarm against some of the world's most widely used frameworks, such as Dojo, jQuery and Backbone.js, and provided the reports on the website.

The service is similar to one that Microsoft launched earlier this year called modern.IE, which tests websites for issues such as responsive design, computability issues and adherence to Web standards.