Tuesday, October 28, 2008

Now we are really talking... VSTS 2010 promises major improvements in software quality! (Part 1)

It's been awhile since I last posted :) ... I had a silly notion about keeping blogging during my parental leave but it didn't really turn out that way. I have been spending the last 4 months with my kids and actually managed to read a bunch of non technical books which was very nice and relaxing.

Anyway let's get on with the real post, I figured that I'd start following the developments on VSTS 2010 again now when the newest CTP was released in conjuction with Microsoft PDC08 (the only drawback with being on parental leave gotta be the fact that I was unable to attend this conference).

I'm really excited about some of the new features in VSTS which are promising a really huge leap in the ability to produce high quality software if applied correctly. The current release is focusing heavly on the Architecture and Test Editions of the product.

ARCHITECTURE EDITON

I have never really bothered with this edition of VSTS before it has brought way to little to the table in my taste historically. But boy have I changed my mind about this I'm thrilled about the positbilitied with using the new Layer Diagram to perform validation of architecture compliance during the build process this is really nice. Also the layer diagram is something that most of us produces anyway so it's good to see that we can use it for something else than presentations of the conceptual architecture.

Also the architecture explorer which let's visualize dependencies between namespaces and classes looks very nice and will give us a nice way to investigate as well as produce documentation regarding the dependencies of our solutions. The visualizations looks very nice and they even carry semantics with them, for instance if there is a heavy dependency between two namespaces the line illustrating the link is thicker than is the dependency just concerns a class or two. The links lets you we information about the dependecy and navigate to the code that is causing the dependency by clicking and drilling down in the diagrams.

The fact that Microsoft has joined the OMG and finally included UML support in the product is also nice although what I'm really excited about here is the feature that let's put the cursor in a method and then say generate sequence diagram and viola VSTS will parse the code and produce a diagram for us. We can even filter the pasing by specifying the call depth and excluding namespace that we don't care about. I guessing that we can save alot of time we looking for bugs and trying to improve our codebase using this feature.

Finally if I understand this correctly we can produce these diagrams using the Architecture SKU and they will be read only in all the other SKU's which will make them really usefull in illustrating problem areas in the code.

TEST EDITION

The manual testing parts of VSTS has not really been up to speed with their competitors such as HP Quality Center, but in this release this is changing when we get a totally new application called Cameo that our testers can use to plan and perform their tests. The really neat thing about this is that we as developers will get a slew of new information in conjuction with the bug report. Microsoft is aiming at eliminating the No Repro effect (or as it's also known "hey it works on my machine"). Some of this information that we get is a video recording of the actual test run, system information concerning service packs and such and a historical debugger log (if you haven't looked at this you have to get a peak at it, you get a black box flight recording of what your application did before the failure which you can playback after the fact).

When we find and fix our bugs or simply make a change to our code we have a new feature called Test Impact Analysis which will analyse the changes in the background and produce a list of impacted tests so that you don't have to run all your tests for a small change this can improve productivity abit but I think it will really shine when you start to consider your changes and their impact on the test suite (provided that you have a fairly good coverage of your code), say for instance that you are changing a function and your test impact analysis goes of the chart and give you a list of thousands of test, you might want to consider getting a second oppinion on your change and bring in someone more senior on the change.

Another really nice feature that we get is the concept of coded UI tests which in it self is nothing new (and I'm guessing that we will have some v1 issues here also) but what is really exciting is the fact that the test code produced to drive our is regular .NET code so it can be C# or VB.NET finally we get ride of all those nasty script based tests (as far as I know this is unique in the marketplace). Another nice thing about the coded UI test is that they build upon the existing unit test framework which we already know and love (atleast I do) all in all it looks really nice.

... It's getting late and there are a ton of new features that I haven't talked about so I guess I'll have to get back to you later with that.

You can get the bits from the new Visual Studio 2010 and .NET Framework 4.0 CTP Feedback site or you can grab it using FDM following the instructions in Brain Kellers post A More Reliable and Faster Download Experience for VS2010/ VS08 VPC's

Some links getting you upto speed on the comming features:

Be sure to checkout Cameron Skinners presentation from PDC08 in LA which is available online

Radio TFS is currently running a series of podcast titled Road To Rosario which I recommend that you listen to
Road To Rosario - Architect
Road To Rosario - Test
Road To Rosario - Developer

Finally Channel9 had a special on Visual Studio Team System 2010 you can find more info about it here

No comments:

Post a Comment