Gáspár Nagy on software

coach, trainer and bdd addict, creator of SpecFlow

TFS Service Build performed well in “mission-critical ;-)” situation

by Gáspár on September 6, 2013

I have just arrived from Oslo, Norway. I conducted a three-day Team Foundation Server course for the students of the “Microsoft University .NET 2013” organized by Microsoft & Programutvikling (the organizer of the famous NDC conference, that goes to London too this year too). The TFS course was the last one of the course series for freshly graduated developers.

imageConducting a course for a server product like TFS is always challenging. I like doing a lot of demos and hands-on exercises, but with a complex server setup in an unknown environment anything can go wrong (I had 21 attendees.) So this time I decided to use the TFS Service (the cloud-hosted TFS at http://tfs.visualstudio.com/) for the exercises. I have been anyway excited about TFS Service since the Git support is available and since we made SpecLog work with the hosted environment, so actually I was even happy that I could try how it would perform.

I did some tests before. It was clear that there will not be any problem with the source-control tasks. Neither the ALM exercises that depend heavily on the TFS web access looked fine. But the build… How will the build work? I wanted to let my students experiment with the build configuration features, so they were supposed to perform several builds, including test execution, NuGet package restore or gated check-in. The first tests looked promising: 1-2 minutes waiting time in the build queue and the build performance was also OK. But then I experienced much longer waiting times. In one case it was longer than 20 minutes. I got nervous a little bit. It was too late to change the strategy. The TFS virtual machine server on my notebook would have had probably also difficulties with 21 people testing build features at the same time. So – having no better idea – I prepared with a few jokes and extra demos that I can drop in when the classroom gets a 10-20 minutes idle time from TFS Service.

imageFinally everything went well. We saw very short queue waiting times (in most of the cases less than a minute) and as expected, the TFS service had no scaling issues with my 21 eager students. So I left the jokes for another occasion.

It is a part of the story that I tried to organize the build-related topics for the morning , when even the most hard-core geeks are already in bed in the US, but I don’t know if finally this was the key to the success. However, it is sure that using the TFS Service gave a bonus for the attendees: all their exercises remained at their own accounts, so they can review/test them later again.

Altogether there were only a few glitches with the technology (also thanks for Programutvikling for the high quality setup and organization). I had a demo at the end of the last day, where I made an automated UI tests, associated it with a test case work item and let it run on a “standard” lab environment through the “build, deploy & test” build strategy (consists of two builds and a lot of configurations). Even this monumental demo (needed at least 20 minutes to get to the final test execution) worked immediately… almost :).

imageThis course also showed the potential in the hosted TFS service and I’m sure I will use it for even more things. (You can sign up for a TFS Service account in a few minutes for free.)

5 thoughts on “TFS Service Build performed well in “mission-critical ;-)” situation

  1. Rad says:

    Nice post. I will soon start playing with TFS Services, Speclog and Specflow.
    Will you please share the demo you produced at this course?
    Also will you write a blog post or possibly do a quick – 1 hour video :) of your experience.
    I am struggling to find and end to end explanation about using the latest version of these tools with TFS Services.

    • Gáspár says:

      For using SpecFlow on a TFS build server, I can recommend the video “Using SpecRun with Team Foundation” linked from the SpecRun website. For SpecLog there are a few into videos that you can watch.
      The TFS course demo application was nothing special, just a simple application with a couple of unit test. On the TFS VM, there are other more complex examples too.

      I’ll publish an updated SpecFlow “BookShop” sample soon, but you can put together a SpecFlow sample that is enough for testing TFS integration really in a few minutes (like the calculator example).

  2. Rad says:

    Thanks Gáspár.
    I watched the SpecRun integration video already. How would I make Specflow html report visible to other TFS Service users and what would be a well know URL link to this report so the business users can check the progress of user stories on a daily basis?
    It would be still good to see Speclog and Specflow (SpecRun) in action as being used in this presentation: http://techtalk.ch/Agile-Business/Agile-Medical-sector/Webinar.aspx.
    I believe that talk was done in German, but if it was recorded I would still like to see it (waiting for a link) and I can still follow the presentation in English. So and end to end demo would be great to show Speclog being user for Impact and Story mapping to running Scenario testing run with or without SpecRun.
    I will try to do it myself of course.


  3. Gáspár says:

    TFS, report link: I’ll collect the information and will port about it soon.
    The mentioned webinar is in English, and the video will be available soon. I’ll post there when it’s online.

  4. Rad says:

    Any info on video? Thanks