Visual Studio Test joins Microsoft's open source push

By open-sourcing the test framework built for Visual Studio, Microsoft takes another step toward freeing up its proprietary products

Visual Studio Test joins the Microsoft open source push
Thinkstock
Current Job Listings

First came the open-sourcing of Microsoft's .Net software platform. Now comes the open-sourcing of many -- if not all -- of the tools and support infrastructure for the platform.

Last week, Microsoft announced it would begin open-sourcing Visual Studio Test, its unit testing system, as an open source project as well. The actual open-sourcing is still limited to a number of pieces in Visual Studio Test, but as Microsoft put it in the announcement for the release, "Crawl, walk, run."

Testing, testing

Visual Studio Test is, as the name implies, the testing framework Microsoft created to provide testing functionality that's tightly integrated with Visual Studio. Clients like Visual Studio (and later Visual Studio Code, it's implied) communicate with the test runner by a JSON wire protocol, and the runner uses the settings it's received to spawn an execution host, which runs the application in question.

Microsoft has so far open-sourced the wire protocol, test runner, and execution host. In theory, you don't have to use Visual Studio in conjunction with any of these pieces; you can fire up the test runner directly from the command line and use that, or you can (eventually) drive it with a third-party product that knows the wire protocol.

The other big piece of the Visual Studio Test puzzle is the collection of test framework adapters that allow Visual Studio Test to use unit test systems created for various languages and libraries. Most of those aren't made by Microsoft, but one that is -- MSTest V2, for testing .Net and ASP.Net applications -- widely used and scheduled to be open-sourced "in the next few months."

If you're an open source maven hankering to open a pull request on Visual Studio Test, rein in those horses. The project isn't accepting contributions yet. The first stage, according to Microsoft's post, is to get it out there so that people can become familiar with its workings; opening the doors to contributions comes later.

From the edges to the center

Microsoft's road map for the project lays out other near-term plans: Allow Visual Studio Test to integrate freely with any editor, enable support for Universal Windows Platform applications, create an infrastructure for collecting data for test runs (presumably also open source), and make everything a test framework or runner can do accessible from a command-line instance of Visual Studio Test. All this work is planned for the next three months, though there's no guarantee they will be feature-complete by then.

Much of Microsoft's push into open source can be credited to the general movement toward cloud and managed services, and away from proprietary binaries delivered to a desktop or a behind-the-firewall rack. If the real money is in offering hosted editions of a service, it doesn't matter if the underlying bits are open source or not; the scale at which it's offered, and whatever other proprietary value-adds provided by the company, are the moneymakers.

Microsoft's proprietary creations aren't going anywhere as long as there's money to be made from them. For developers, that means tools like Visual Studio. But Microsoft can incrementally nibble its way toward the goal by open-sourcing around, atop, and underneath those tools. That's the aim: to see how much of what surrounds Microsoft's proprietary crown jewels can be open-sourced.

Eventually, the greatest slice of value in products like Visual Studio might be in the services provided for them rather than the products themselves. Until that time, though, Microsoft will continue to nibble around the edges, as much to its own benefit as anyone else's.