Sunday, February 28, 2010

Visual Studio 2010 features preview.

Today I got an opportunity to attend the “Visual Studio 2010 Pit stop” in Chennai. If I am not wrong it is a pre launch event which Microsoft is conducting in different cities to generate interest and gauge developers reaction on the various features which is getting introduced in VS 2010. I thought why not blog on some of the features which were demoed.

With the release of VS 2010 Microsoft is trying to make Visual Studio capable of managing all the phases of Application Lifecycle Management (ALM). They want VS 2010 to target developers, architects and testers. Lets see what VS 2010 brings to the table for different audience it targets.

For developers

The first feature which was demoed was simple yet powerful, which was targeted towards developers like me, who hate to drag and drop controls from the toolbox instead prefer writing the controls in HTML view. The feature is a kind of auto complete whereby when in the HTML view of an aspx page you need to type the name of the control and from the intellisense one need to select the control and press tab and VS 2010 will add the full tag with ID, Text and other properties. Though the beta release of VS 2010 which was used for the demo didn’t auto generate ID and other properties, it only auto generated “Text” property, but it was promised that the production version would generate most of the relevant properties like ID etc.

Another feature was a template kind of feature for creating web sites where you get pre-configured pages for login, user registration etc. One gets a full website with some color scheme applied and .mdf file in the “App_data” folder. The .mdf database has all the tables for user management and one can generate schema from this .mdf and recreate the tables in Sql Server 2005/2008. One can use the login, user registration pages without doing any changes or writing any code. Now creating a website is just few clicks away. Microsoft is making the life of a developer easy. Is it? I would say nah, with all these automatic features the developer will forget coding and he will become a lazy bum. Nowadays, when I do interviews many a developers don’t know many of the basics, with all these new changes the next generation developers job will have less of coding and more of configuration.

Next feature was the business layer code generation feature from the Entity framework. You need to follow some of the steps in a wizard and select the needed tables from the database and voila you have your Business Access Layer (BAL) auto generated code. If you tie this auto generated BAL layer to a grid and set some properties you have a grid which is capable of adding, deleting, updating, sorting records without writing a single line of code. One also gets search integration using new search extender control where you need set some properties and you can filter your records based on the search criteria.

IntelliTrace

The IntelliTrace feature like Intellisense is going to become a huge hit with developers. With intellitrace you can exactly pinpoint which line of the code threw the exception with values which were passed to the function. Intellitrace feature in combination with Test and Lab management features of VS 2010 is going to rock.

For Architects

For the architects visual studio supports UML diagram drawing capabilities. You can draw class diagrams, dependency diagrams, sequence diagrams etc which were earlier done in Visio or some other tool. The architects can have validation checks on dependency during compile time or whatever policies they have set. For e.g. take a simple e.g. where we have a Presentation layer, Business Access Layer and Data Access Layer. The architect doesn’t want the presentation layer to interact with DAL. He can set a constraint like this and during compile time the system will throw an error if the constraints is broken. Also you can restrict classes in a dll from interacting with other dlls. One can generate sequence diagram from methods by right clicking on the method and selecting some option from the context menu.

Visual Studio Test and Lab management

This feature of VS 2010 just blew my head away. This feature is aimed at the testers but I feel this feature will be a boon to the developers. In this feature the testers will have provision to add their manual test steps and record them and then replay them. The feature works like this. The testers will first enter all the manual test steps like the following in an UI.

1. “Open IE and type the following url: http://someone.com”.

2. Click register link from the UI.

3. Fill first name with “Sandeep”

4. Fill last name with “P.R”

5. Fill email field with “sndppr@gmail.com

6. Fill the password field with “123456”

7. Fill the confirm password field with “123456”

8. Click the “Register” button.

Once the steps are done the tester can now start recording the steps. The advantage of this feature is that if there is an error in step 8 the tester need not repeat all the steps manually. Once the recording is over he can replay the steps upto step 8 and he need not manually do all the above steps. Think of a situation where there are 50 steps and the error happens in the 45th step then once the bug is fixed the tester has to repeat all the 44 steps manually to reach the 45th step which threw error. Just by recording the steps he can play them back up to the 44th step and then carry on the recording from the 45th step. Can you imagine how much time will be saved on this? It will be huge. Hats off to Microsoft for this.

That’ not all. What happens when a tester posts a bug? Bang comes the reply from the developer, “it works on my system, so sorry boss its not a bug”. Some developer even go to the extend where they ask to reproduce the bug. Poor tester, he has to repeat the whole 44 steps to show the bug. Not any more. Once the tester finds a bug he can use the new features to post the bug while he is recording and can assign the bug to a developer. The developer when he gets the bug has got links to view the video of the recording where he can exactly see what the tester has done to reproduce the error. Now there will be no more tester developer acrimony. Also to top it all he will get the IntelliTrace link along with the link to view the video. When the developer clicks the IntelliTrace link, it goes to repository (Team Foundation Server [TFS]) and opens your code and shows you the exact place where the error occurred. Not only this, it gives you the exact values which were used by the tester and which were passed to the function. Just by clicking a link you can know the exact line number where the error has happened and the data which caused the problem. Isn’t it so cool. IntelliTrace is gonna ROCK. Developers, our life is going to be simple. :) With IntelliTrace, I think, the bug fixing time taken by the developers will be reduced to 1/4th of what a normal developer takes. Wow that’ really superb. After all time is money.

With the above features and many more, Visual Studio 2010 is going to ROCK. Waiting to get my hands dirty with VS 2010.

Try to know more….

Sandeep

1 comment:

Please provide your valuable comments.