Overlooked Features of Visual Studio 11

by Dmitry Kirsanov 16. April 2012 05:39

Visual Studio LogoScott Hanselman is a senior program manager in the developer division (whatever that means) at Microsoft. In other words, he is one of the primary sources of information regarding Microsoft Visual Studio.

He has quite interesting post about features of Visual Studio 11 which presumably were not noticed by the community. Until his post, anyway.

What I find especially interesting is that Visual Studio 11 Express edition is going to provide unit testing feature – something that wasn’t available in free Visual Studio editions before. This correlates to Visual Studio 11 Team Foundation Server, which got it’s free edition as well, making Visual Studio much harder to beat even if the budget is tight. I suppose this could lead to improved quality of other development environments.

More...

Team Foundation Server 2010 for Developers - part 8 - Test to Development

by Dmitry Kirsanov 14. March 2012 02:30

Visual Studio Team Foundation Server 2010Once your Team Foundation Server is performing automated UI testing on daily basis, it starts to check your code when needed. When Team Foundation Server finds that your software is doing something unexpected, it automatically creates the bug work item. This time we are going to talk about these bugs, how to get most out of them, and how to use that functionality to boost the effectiveness of your software development. More...

Team Foundation Server 2010 for Developers - part 7 - Configuring a Build

by Dmitry Kirsanov 10. March 2012 12:00

Team Foundation Server 2010 logoMicrosoft Visual Studio 2010 Team Foundation Server has two most important features – the source control and the build automation. Although other features are very important as well, these two are pretty much enough to consider the purchase of the Team Foundation Server.

Today we are going to talk about the Build Management system of Visual Studio 2010 Team Foundation Server. More...

Migrating Team Foundation Server 2010 Project Schema

by Dmitry Kirsanov 15. February 2012 09:36

Team Foundation Server 2010 logoWhat could be more tragic, than to realize that your team cannot into Scrum? Or any other framework, supported by Microsoft Visual Studio 2010 Team Foundation Server. One day you just wake up with a single most powerful desire – to end this pain, no matter what. And this “what” could be really painful as well, as it could mean migration, and if you are not scared yet – you should be, and I’ll tell you why. More...

Advanced Testing in Visual Studio 2010 Team Foundation Server

by Dmitry Kirsanov 4. January 2012 17:10

Team Foundation Server 2010This is part 4 of Visual Studio Team Foundation Server 2010 for Developers walkthrough. Last time we were speaking about the unit tests, and that was useful, but very basic foundation of what you can do in terms of Test Driven Development. However, we can conventionally separate testing in Visual Studio and Team Foundation Server to 3 levels. So today we are going to talk about the second level – Advanced Testing techniques, such as Test Impact Analysis, Coded UI Tests and Load Tests.

If that’s only the middle layer of complex testing in Visual Studio 2010, what’s in the last one, you might ask? There will be test automation using Hyper-V virtualization with Virtual Machine Manager and yes, we will discuss it later as well.

But today we’ll begin with Test Impact Analysis. More...

Test Driven Development in Visual Studio 2010 Team Foundation Server

by Dmitry Kirsanov 27. December 2011 14:50

Team Foundation Server 2010This is the 3rd post in a series of articles about Visual Studio Team Foundation Server 2010 for developers. And this time it is about test driven development. Previous one is available here.

 

Test Driven Development is the concept, which dictates creating unit tests before actually writing the code. To help you to understand this, let’s assume that you are writing the calculator program. And that whole calculation process is done by a separate class named Calculator with functions such as “Addition”, “Subtraction”, “Multiplication” and “Division”.

Now, according to Test Driven Development process, you should first create the test project, and write your tests for each of these functions. Since you know what result should be given for what input (like – “2 + 2 = 4”) you can make your tests to assert, that if you are running the Addition function with parameters of 2 and 2, the result is 4. If the result is different or exception occurs – the test is failed. More...

URL Rewriting and Routing in ASP.NET 4

by Dmitry Kirsanov 9. December 2011 13:37

How to make the URL of your page look more user-friendly or just make it self-explanatory? And anyway – look different from what it really is? In ASP.NET version 4 it’s easier than ever.

Why would we need that feature anyway?

It’s been quite popular trend in web development since the very beginning of dynamic Web – first, we didn’t want anyone to see the extension of our files, as this posed a security risk. Anyone, who could see that our page is actually an ASP page, would understand that you have Internet Information Server, which was considered “dangerous” at that time – not even because it was too bad, but because Windows NT 4 Server was user-friendly enough so people wouldn’t need to be MCSE in order to install and run web server. It wasn’t hard for Linux either, but Apache didn’t offer any dynamic contents out of the box. More...

Team Foundation Server 2010 For Developers part 2 - Advanced Source Control

by Dmitry Kirsanov 4. December 2011 11:03

This is my second post about Microsoft Visual Studio 2010 Team Foundation Server for Software Developers. The previous one is here.

Now that you know how to submit your code to the source control, associate work items and use that information in your daily work, it’s time to learn the rest two things we skipped in the first part. The Branching and the Shelving.

Team Foundation Server is an Agile-oriented platform, and therefore many of it’s concepts supports the existing models of Agile Software Development. One of such models is Source Code Promotion Model, which basically means that your code moves through 3 stages – development, testing and production.

A word of warning: each model of Agile is a double bladed sword. It expects you to meet the conditions which will make this model effective, and if you fail to comply – you’ll get ineffective implementation, which could ruin your software development efforts. In case of Promotion Model, make sure you have a dedicated team of testers – not just developers from other project who came to rescue, but professional testers who are not doing any development. If you don’t have dedicated testers – forget about Promotion Model. More...

Search Engine Optimization in ASP.NET

by Dmitry Kirsanov 30. November 2011 09:19

ASP.NET engine is a wonderful thing. It does so much for you, that in the past could take ages and would earn you the title of demigod of Web Development. In some legacy languages, like PHP, it is still the case. For example, things like Localization and cross-browser support are very natural and automatic in ASP.NET, they don’t require any time or skills. You can add support of more languages, different output formats for date and numbers, add Ajax powered controls, caching, data access, perform various other high pilotage figures without thinking. I remember the time, when saving data between post-backs was an issue, and in ASP.NET it was solved by implementing the VIEWSTATE feature, which saves the state of page controls in one hidden field between submits - that feature alone worth a thousand words.

But ASP.NET comes to the rescue not only in obvious and direct ways - some features were introduced for one purpose, but perfectly helped in other areas. And one such area is Search Engine Optimization, or SEO. More...

What’s new in ASP.NET 4.5 - Performance improvements

by Dmitry Kirsanov 29. November 2011 11:40

A long time ago, when dinosaurs were still operational,  we tried to improve performance of our HTML / CGI pages by various ways, but also having different goals for such improvements.

In the dawn of web, when U.S. Robotics 14.4kbps modem was a de-facto standard and traffic compression wasn’t widely implemented by ISP call centers, our biggest concern was the size of our files. I wouldn’t say “output”, as it was mainly static, but even when it was dynamic, like the output from CGI modules written in Visual Basic 4 or 5, it was paramount that users would not wait more than 2 seconds to get the HTML part of it.

Now even mobile phones are having unlimited data plans, home connections reach 100 Mbit/s heights and in order to decrease the size of the output we just have to tick a checkbox in IIS, so the output – be it static or dynamic, is compressed. So the era of “HTML optimizers” – tools that remove extra spaces and “unneeded” tags from your markup, is over.

Another thing that helped us to avoid traffic jams, was Ajax. It killed 2 rabbits with a single shot – decreased the traffic flow by only up/down loading the data our application needs at this time, and thus increased the response time. But this came at a cost.

Each small callback made by Ajax is no different than ordinary callback, except that it transfer smaller amount of data. But it’s a connection nevertheless. Even if keep-alive is used by browser, it still consumes a connection from server and still there are protocol issues involved. More...