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...

Team Foundation Server 2010 for Developers - part 1

by Dmitry Kirsanov 20. November 2011 18:50

As I finished the series of presentations for Quality Assurance specialists on Team Foundation Server 2010 Test Manager, it was obvious to continue with TFS and now do it for the biggest audience of it’s users – for .NET developers.

Microsoft Visual Studio is the most advanced RAD platform made so far. We could argue about the languages and platforms, like .NET vs. J2EE or ASP.NET vs. Ruby, but one thing is for sure – when you are software developer, no matter what language you are using, the Visual Studio is the most advanced and friendly platform  for any level.

Saying that, Microsoft Visual Studio Team Foundation Server 2010 (that’s the official name of the product) is a very advanced and sophisticated part of Visual Studio, arguably the most advanced product Microsoft created, apart from operating systems.

Systems administrators having hard hours installing it, developers spend hours learning it’s concepts, but then it starts working and software development becomes a pleasant and highly productive process.

Once you’ve started working with TFS, you can’t imagine working without it on any more or less complex team project. It takes the burden of source and version control, the whole agile workflow, sophisticated automated testing, control over policies and a lot more.  That’s definitely a product which costs every penny of it’s price.

All right, enough praises. You should make your own conclusions and for that you should see it in action. While the previous demonstration for QA specialists was convincing enough to use TFS as the platform for automated testing and main environment for testers, now we are going to talk about the main, biggest and greatest part of Team Foundation Server 2010 – the one meant for software developers.

In this first demonstration we are exploring the source control, but as everything is linked in TFS, we also touch working with code and some best practices. In the next part we will explore the source control deeper, before moving further to more complex and wonderful parts of Team Foundation Server 2010.

Team Foundation Server for Software Developers part 1

Team Foundation Server Quality Assurance Lab 8 - Miscellaneous Testing

by Dmitry Kirsanov 14. November 2011 01:02

The last lab on Team Foundation Server Quality Assurance course, this time – about miscellaneous testing techniques you can use.

In this lab you can learn how to create ordered testing, use the test list editor and create exploratory tests.

After completing filming this lab I missed the topic so much, that decided to create another one, now just for software developers (this one was for Software Quality Assurance specialists). It will be about how to use TFS on daily basis and it will be narrated for sure!

TFS Team Foundation Server Quality Assurance Lab 8 - Miscellaneous Testing

Enjoy and don’t forget to switch to HD. This lab is rather old and probably quality suffers a little, new one, that you can see in the previous post, is rather better.

Team Foundation Server 2010 Quality Assurance Lab 6 - Coded UI Tests

by Dmitry Kirsanov 8. November 2011 14:56

Seems like my labs are evolving as I am adding a few comments when needed and added a sound track in order to help focusing on what’s happening on the screen.

During years of training I found that ambient avant-garde  music greatly help in keeping focus on the subject, even when added as additional background to narrated training. I didn’t add Biosphere, though, as their tracks are rather short, although beautiful. Enjoy!

Coded UI Tests–Visual Studio 2010 Test Manager Lab 6

Previous lab can be seen here.

Team Foundation Server 2010 Test Manager Lab 5 - Web Load Testing

by Dmitry Kirsanov 1. November 2011 11:39

Next part in a series of Team Foundation Server 2010 Labs. Previous is available here (Lab 4, Test Runs).

This time it’s about Web Load Testing. When you are developing ASP.NET web application, it’s paramount to make sure your application is able to handle the required amount of requests, or at least you need to know the exact cap of your application for scalability planning. If your IT infrastructure is working according to ITIL / ITSM, you need to know what you need to scale out your application and how to do it right.

We are going to find the bottleneck in our application and refactor it when needed, so sudden success of our website will not mean eminent failure (see Slashdot Effect).

This Lab is longest so far (1h 17m) and contains materials which are valuable even if you don’t have TFS installed. You may perform Web Load tests using Visual Studio 2010 Ultimate and virtual machine with IIS installed, but that’s a good topic for another article.

And now – enjoy and don’t forget to watch it in full screen HD!

Team Foundation Server 2010 Test Manager Lab 5 - Web Load Testing

Team Foundation Server 2010 Test Manager Lab 4 - Test Runs

by Dmitry Kirsanov 31. October 2011 21:01

So far we’ve seen a lot of unusual and amazing things in Team Foundation Server 2010, more specifically – in Visual Studio 2010 Test Professional. However, one of the most ground-breaking features of TFS and Visual Studio Test Professional is it’s ability to run automated tests.

By automation we understand performing complex tasks and verifying results of users’ interaction with your application. As you can see in this example.

Enjoy the 4th lab of Team Foundation Server 2010’s Test Manager, and now it’s about Test Runs.

Team Foundation Server 2010 Test Manager Lab 4 - Test Runs

As always, make sure you watch it in Full Screen HD!

Previous lab is available here.

Team Foundation Server 2010 Test Manager–Test Cases and Shared Steps

by Dmitry Kirsanov 31. October 2011 15:33

This screen cast of interactive virtual lab describes the feature of Test Cases and Shared Steps in Team Foundation Server 2010’s Test Manager.

Since there is still no MOC for TFS 2010 (although it has a number of 50430) the only resources you have for now are lectures of TFS gurus and virtual labs. Fortunately, usually that’s enough to pay attention to recorded lab session in order to understand the subject.

So, as always, enjoy the view and don’t forget to switch to Full Screen HD in order to see anything.

Team Foundation Server 2010 Test Manager Test Cases and Shared Steps

Team Foundation Server Quality Assurance Lab 2 - Test Plans

by Dmitry Kirsanov 31. October 2011 14:34

When I learn new material, sometimes it’s enough to me to see system in action to understand the principles behind it’s logic. Especially when it is self-descriptive lab like this one. Team Foundation Server 2010 is very complex but extremely valuable engine to energize your software development division, and one of it’s key features is automated testing.

With TFS automated testing you can automatically deploy virtual machines with required configuration, deploy the latest build of your software and test it for various scenarios. When bug is found, TFS (automatically) creates bug record in it’s centralized system, attaches screencast (video) of the incident and developer can work on solving that bug immediately.

Once you start working with TFS in your .NET software development, you can’t imagine life without it.

This lab is about creating and working with Test Plans, and while  there is no astrophysical concepts in it, the topic is usually hard to understand at first. The reason for that is quite simple – when you need to create schema for actual work, it’s harder to learn then performing the “real” action, as the necessity to do so doesn’t look as obvious, as, say, compiling your application.

Well, enough talking, enjoy the view! (And don’t forget to switch to HD!)

To see part 3 of this lab, regarding Test Cases and Shared Steps, click here.
Previous Lab (Test Manager Overview) is available there.