This post originated from an RSS feed registered with .NET Buzz
by Darrell Norton.
Original Post: Please stop the fragmentation of the testing tools market!
Feed Title: Darrell Norton's Blog
Feed URL: /error.htm?aspxerrorpath=/blogs/darrell.norton/Rss.aspx
Feed Description: Agile Software Development: Scrum, XP, et al with .NET
Jamie Cansdale, brilliant VS.NET addin programmer, posts about a System.Testing unifying framework (one testing framework to rule them all!):
Peter Provost has started a petition to include unit testing support in all versions of Visual Studio 2005. While I agree that unit testing should be essential part of all development, I don't think Visual Studio is the place to introduce an important new API. I think a much more fitting place would be the BCL and SSCLI/Rotor. At the moment the BCL has an extensive set of unit tests. I would be in favor of converting these over to using a core testing framework (say 'System.Testing'). We would then have a standard API for writing tests under all implementations of the CLI. I think this is where real value would come.
Having said that, there is going to be a need for unit testing support in standard versions of Visual Studio 2005. At the moment I am developing a testing tool what will work in all versions of Visual Studio and integrate with Visual Studio Team System. It will support NUnit, csUnit, MbUnit and the testing framework that comes with VSTS. The idea is to allow those using VSTS to run their existing unit tests unchanged via the Team System extensibility hooks. It will also allow those not using Team System to run tests written using the Microsoft testing framework.
So long as Team System remains a premium feature of Visual Studio, there is a point carrying on with this and other projects. I am relieved that Microsoft have chosen to tread relatively lightly on the thriving .NET tools community. I think this can only help encourage innovation and crossfertilization.
Why are people creating all these new testing frameworks? Four different frameworks is at least two too many. While there might be something interesting in csUnit or MbUnit, they aren’t compelling enough for me to leave NUnit (in marketing terms these are known as switching costs). And since I’ll be using Visual Studio Team Server, I’ll very likely be using that testing framework due to all the integration work Microsoft has put into it. Why can’t we roll any functionality from the non-market leaders into the market leader (which I would assume to be NUnit, but pick one and everyone support it)? Is it pride that gets in the way? Really, the important part is to make it easier to develop better software.
UPDATE: This is not to say that Jamie is fragmenting the testing tools market. I just don't think there should be effort spent on supporting three different open-source/freeware testing tools. One tool, like Jamie proposes, is a great idea!
This Blog Hosted On: http://www.DotNetJunkies.com/