Alexander Vanwynsberghe

"There is nothing impossible to him who will try"

Microsoft Feedback Client using TFS11

bg

When your team is developing software, it is really important to capture feedback from the project stakeholders like end-users and the product owners. This way, you can ensure that the progress that the team is making is on track to meet the requirements that the stakeholders have in mind. In the next version of Team Foundation Server, there is a new tool called ‘Microsoft Feedback Manager’. I mentioned this in a previous post, but now I will handle this subject a little bit more in depth using the brand new TFS11 beta.

 You can start the Feedback tools in two ways. The first way is ‘voluntary‘, where you decide to gather some feedback without being asked. The second way is ‘on request‘, where you got a request to give your feedback about a particular part or feature of an application. To start a ‘voluntary‘ feedback session, go to Start -> All Programs  -> Microsoft Visual Studio 11 -> Microsoft Feedback Client. The first thing you have to do is connect to your Team Project. After you select the Team Project, the feedback client is running on the left side of the screen:

There you see in the Instructions that you’re running the tool in ‘voluntary’ mode. In this mode, you don’t have any instructions available about the feedback session. The other way to start the feedback client is by making use of the ‘Request Feedback’ link on the TFS11 Web Access.

In the “Request Feedback” screen, you select the Stakeholder(s) you want to invite. You also provide some information about the product/application and what you expect as feedback. This can be anything related to a particular feature or about a general thing

When you click on ‘Send’, you should receive an email with the request for a Feedback session. In this email, there is link which will open the Feedback Client. The first time you do this, you’ll get a dialog asking you to open the Feedback client

When the Feedback client is started, you now see that the ‘Application‘ and ‘Instructions‘ have the same content as you provided in the previous dialog on the Web Interface

When you click ‘Next‘, you’re ready to gather some feedback. Do what you have to do (described in the instructions) and enter as much feedback as you can. The Feedback client has support for audio, video, screenshots and attachments. Using this functionality, you can create rich feedback to the developers. When you make a Feedback Request, you can also request multiple feedback items. In the Feedback Client tool, you will see multiple items to gather feedback for.

The last step is to Publish your feedback. Just click on ‘Next‘ and you will see a summary of the feedback you provided. You will also see the location where the feedback will be stored.

Now your feedback is submitted to TFS. The person who requested the Feedback can check your session. You can do this using the TFS Web interface. Go to the ‘Work Items‘ section of you Team Project, select ‘Shared Queries‘ and open the ‘Feedback Requests‘. There you will see you feedback request and the actual feedback session.

One of the nice things is that you automatically get the System Information which can be very useful for Web Application, because it will also show you the browser version and some additional information. Actually, this information is linked to your Feedback Response Work Item.

Now you have an idea what the possibilities of what the Feedback Client can do for your. It’s really a powerful tool to help you collection all information you want from your stakeholders. It’s nicely integrated in the Visual Studio 11 suite and it looks slick in the new metro-style. Thanks for reading!

Cloning Microsoft Test Manager 11 Test Suites

tcm_img

With the next version of Microsoft Test Manager, MTM11, there is a possibility to clone test suites across plans. This is something which can be very helpful if you’re working on multiple releases. This way, you can clone an existing Test Suite from a previous release, and just change the necessary things related to the new release. When you clone a test suite, the new suite will contain the copies of all test cases in the source suite. However it will not retain all historical data like the previous test runs, the related bugs, old results. It provides a clean starting point.

Getting started

This feature is available through the command line utility tcm.exe. You can start this utility using the ‘Developer Command Prompt‘ from Visual Studio 11 (beta). Start->All Programs->Microsoft Visual Studio 11->Visual Studio Tools. Enter ‘tcm‘ to see the list of available commands:

We will continue with the ‘tcm suites’ command. This command will provide us all operations related to Test Suites, like listing and cloning. The first thing you can do is get a list of all available Test Suites using the ‘tcm suites /list’ command. This will give you a list of Suites with an ID and a Name. This ID is useful to know when you want to clone from one Suite to another Suite. For each command you want to execute, you have to provide the URL of your Team Project Collection and the Team Project Name you want to work with. In my case (using the great HOL VM from Brian Keller), the command is:

tcm suites /list /collection:http://vsalm:8080/tfs/DefaultCollection /teamproject:FabrikamFiber

In this example above, I have “TestPlan1” containing the ‘A Demo Suite‘ test suite. What I want to do is clone this test suite into “TestPlan2“. So I want Id 3 to be cloned in Id 2. To do this, just use this command:

tcm suites /clone /suiteid:3 /destinationsuiteid:2 /collection:http://vsalm:8080/tfs/DefaultCollection /teamproject:FabrikamFiber

When this command is executed, the clone operation is ongoing. This command returns an operation Id back. This Id is an identifier of the actual clone process. In some cases, a test plan/test suite can contain a large number of test cases, resulting in an operation which can take a serious amount of time. In my case, it’s only a small one. What you can do to follow the process of the clone operation is executing the following command:

tcm suites /clone /status:2 /collection:http://vsalm:8080/tfs/DefaultCollection /teamproject:FabrikamFiber

As you can see, the operation ‘2‘ has succeeded. You also have some information about the clone operation like the number of test cases cloned and the cloned shared steps.

Each clone operation is stored in the TFS_DefaultCollection (or TFS_YourTPC) database. You can get an overview using table ‘tbl_CloneOperation’ where you have the same information as in the screenshot above.

This is a nice (hidden) feature in the new improved version of Microsoft Test Manager 11. I hope they will include this command in the interface so you don’t have to use the commandline version of the tool. Thanks for reading!

Exploratory testing with MTM 11

Today, I want to talk a little bit more about what exploratory testing is, and especially how you can do exploratory testing with the new Microsoft Test Manager 11.

Last month, I followed an ISTQB training where I got some lessons about Fundamentals of testing, Test design techniques and Test management. One part of the course was about exploratory testing, why use it, and mostly why not use it. I didn’t really agree about the fact that they discourage the use of exploratory testing, and definitely not agree if you use MTM11 to do exploratory testing. I’ll show you why.

What is exploratory testing?

According to Wikipedia:

Exploratory testing seeks to find out how the software actually works, and to ask questions about how it will handle difficult and easy cases. The quality of the testing is dependent on the tester’s skill of inventing test cases and finding defects. The more the tester knows about the product and different test methods, the better the testing will be.

Exploratory testing is all about simultaneous learning, test design and test execution. It’s a powerful and a fun approach to testing as you don’t have to follow a formal test plan, and you can use the system like an end customer should do. Like Anu Bharadwaj said in her ALM summit session, exploratory testing is about focusing on customer and business value. You have to ask yourself the questions: Does the software do what I want it to do? Does it act like it has to act? Those are the things a customer will also look at. They are not interested in how many bugs are fixed, which scripts you use,..

Logo

Microsoft Test Manager 11

Microsoft Test Manager 11 is the new to be released version in the ALM suite of Microsoft. MTM 11 will allow you to run exploratory tests on your software. The nice thing is that exploratory test sessions might be associated with user stories. That way, you can verify that the user story behaves correctly. It also provides an easy way to create manual test cases based on the action steps during your ET session. If you create a manual test based on the action steps that are recorded, the manual test case is automatically associated with your user story and all bugs that you file during this session will also be automatically linked to that story. The bug will also have some rich diagnostics attached.

Starting an exploratory test session

In this example, let’s start with creating new test plan in MTM

  • Open the application and connect to your TFS11 environment (for tfs preview, use https://name.tfspreview.com , without the port 8080)
  • In the testing center, click ‘Add’ and enter a name.
  • Select the new plan and click ‘Select Plan’
  • You’re now connected to the Exploratory Testing test plan.
  • Now you can go to the ‘test’ tab and select the ‘Do Exploratory Testing’ functionality
  • There you see an overview of all the work items that can be tested. You can also select ‘explore’ to start without a link to a work item.
01
02
03
04


Executing an exploratory test

  • Click on the work item you want to test, and click the green arrow ‘Explore work item’
  • You should see the MTM test-bar on the left side of the screen.
  • If you want, you can enable Video and Audio recording by clicking on the settings button on the bottom-right corner and select the checkbox for video/audio recording
  • Let’s start the test by clicking ‘Start’
  • Now you can do your ‘test’ .. the one I selected was about getting an overview of the available session on the techdays 2012 website.
  • We open IE, enter the URL
  • When the website is loaded, we want to create a partial screenshot of the header
  • Click on the ‘screenshot’ button.
  • We select the piece we want
  • Now you see the screen capture in the description box of the test-bar
  • Double-click on the image, and Paint should open
  • In Paint, you can add whatever you want to the screenshot
  • When you are ready, just save it, and close Paint
  • You see that the screenshot in your editor has the changes you just made
  • Now you can continue with your test and do/test whatever you want
  • Save your session by clicking on ‘End testing’
  • You now see an overview of your test
05
06
07
08
09
10

Create test case from your exploratory test

In MTM11, there is a possibility to file a bug or create a test case while you are running your exploratory test.

  • Let’s start a new session, not linked to any work item. Click on the ‘explore’ button
  • Start your test and do what you want to do
  • When you find a bug, click on the ‘Create bug button’
  • You see a new ‘bug’ window
  • The steps to reproduce screen is completed with all your steps
  • You can also change the steps to be included in the bug by clicking on ‘Change steps’
  • In the new dialog, move the slider to change the visible actions
  • You can now save your bug, or click on ‘Save and create test’
  • When you click on that, a new test case dialog opens. The steps from the test case are also completed
  • You can save this test case.
  • When you finish your current test session, you can see that there is one bug and one test case linked to this test.
11
12
13
14
15
16

Now you got an overview of how you can define and run exploratory tests with MTM11. In a next post, I will talk a little bit more about session based test management and testing tours. Thanks for reading!

Note: I also found a little issue when using MTM11 in combination with tfspreview. When you add some screenshots to your test, you see a ‘missing image’ error when you look at the test afterwards. More info here

Hosted TFS with TEE11 using Eclipse on Linux

A while ago, I made a blog post about how to access TFS2010 with Eclipse. Now the cool thing is that there is also a new version of Team Explorer  Everywhere 11 (TEE11) to be used with Visual Studio Team Foundation Server 11 Developer Preview, so this also includes the hosted TFS version (tfspreview.com, where I still have one invite left).

As I have an account on the hosted TFS preview, I definitely wanted to connect my brand new Ubuntu 11.10 distro with my brand new Eclipse 3.7 IDE. I will not explain each step of the installation process, as they are described in my previous post.

You can get the TEE11 download here, or using your TFS preview (Administration -> 3. Download software).  You will need the ‘TFSEclipsePlugin-UpdateSiteArchive-11.0.0-CTP1.zip‘ file.

Once the bits are downloaded, install the Eclipse plugin (Help -> Install New Software). After the plugin is installed, go to Window -> Show View -> Other -> Team Explorer and select the TFS specific windows you need.

The next thing you want to do off course is connect to your shiny hosted TFS. In the Team Explorer, click on plus-sign and on the server window, click on the add button. In this window, add the URL of you TFS server in the correct format. If you want to connect to your hosted TFS, enter ‘https://yourname.tfspreview.com’. This will automatically disable the connection details window. Next step, click on OK.

If you’re using Ubuntu 11.10, you will get a nice error window.. Auch..?

Tfs11_linux

I was not really sure what the problem was. Something about ‘XULRunner’, but I never heard about that before. So I posted an issue on the MSDN forum. Because I really wanted to know what was wrong and I started a quick wiki-search:

XULRunner is a runtime environment developed by the Mozilla Foundation to provide a common back-end for XUL-based applications. It replaced the Gecko Runtime Environment, a stalled project with a similar purpose. All XUL-based applications like Mozilla FirefoxMozilla ThunderbirdSongbird, …run on XULRunner.

So from what I understand is that XULRunner is a runtime environment where you can render things, like Firefox uses it to render webpages. The error I had was indeed when the plugin wants to open a windows to show the Windows Live login screen. Ok, but how to solve my problem, as Ubuntu 11.10 has XULRunner by default?

After some google work, I found out that TEE11 requires xulrunner-1.9.2, which is not installed anymore on Ubunutu 11.10. I will tell you how to install this, as it’s not just “apt-get install xulrunner-1.9.2, which will not work by default.

The first thing you have to do is adding a line to your /etc/apt/sources.list
Go to your terminal, and enter:

sudo gedit /etc/apt/sources.list

After entering your password, it will open the gedit texteditor. Just add the following line to the end of the file:
deb http://security.ubuntu.com/ubuntu lucid-security main  

Gedit

This line will allow you to apt-get on the security repositories of Ubuntu. Now you can open your terminal, and simply type:
apt-get install xulrunner-1.9.2

This will install the package on your machine. If this doesn’t work, you can also download the package as .deb file and install it by double clicking on the package, and follow the steps of the Ubuntu software center.

Swc

Next thing is restart your Eclipse IDE, a try to add a new TFS server. Now you should see the Authentication window like you have in VS2010 SP1 (with KB2581206)

Liveid

All right, mission accomplished! Now you can do whatever you want with TEE11 like source control, workitems, builds,..

Teexpl

Just wanted to say thanks to Shaw Terwilliger who gave me the following explanation about the issue:

I’m glad you figured this out quickly, I was just about to post the same work around.  We finished our TEE 11 CTP before Ubuntu 11.10 was released, and we depend on the Mozilla browser via xulrunner for this control.  Shortly after Ubuntu 11.10 was released, xulrunner wasn’t available in the repositories but the xulrunner-1.9.2 from 11.04 installed cleanly and works.

We’re investigating Ubuntu’s plans to continue shipping xulrunner in future releases, and may make some changes in our next release to work with the Webkit browser (the default in Eclipse 3.7 on Linux/GTK).

How-to Visual Studio 11 ALM VM on ESXi

Last week, Brian Keller released the Visual Studio 11 Developer Preview ALM Virtual Machine along with 6 hands-on-labs. You can read more in the blogpost he made about it. I definitely wanted to try the new features that were introduced with Visual Studio 11 and Team Foundation Server 11. So how easy can it be to just download the Virtual Machine Brian made, fire it up and discover all this amazing stuff.

Just perfect, only one problem for me. I don’t have a running Windows 2008 R2 machine which I can use to run the Hyper-V image. What I do have is a VMware ESXi server with some space and performance left. So.. How to run a Hyper-V image on a VMware ESXi? It’s quite easy, and I’ll explain how this can be done.

 

Step 1: Download the Hyper-V image
That’s about 12Gb, so it can take a while if you don’t have a fast internet line. When all parts are downloaded, just click on the first item which is an exe file called: “VisualStudio11ALMDeveloperPreview.part01.exe”  This will start a WinRar unzipping, and it will create 3 folders and a file. What you need is the file “BL_WS2008R2SP1x64Std.vhd” in folder “Virtual Hard Disks“.

 

Step 2: Convert your .VHD to .VMDK
What we did was a manual conversion from the vhd file to vmdk. We did this using a small utility called Winimage. The conversion is really simple. Select ‘Disk->Convert Virtual Hard Disk Image’. After that, select your .VHD file, choose the type of image you want to make (As this VM will only be used for the labs, I took a fixed size one), and the last step is to select the output destination. Here we go, the conversion will start and it will take quite a while to convert.

 

Step 3: Upload your .VMDK to the ESXi datastore
Now we have the virtual machine in an .VMDK format, we can upload this image to our ESXi host. Once this is uploaded, we can use it as hard disk in our new VM we will create later on. To do that, you have to:

1. Start your vSphere client, and connect to your vCenter
2. Select your VMware host
3. Click “Configuration”
4. Click “Storage”
5. Look at right hand side datastore
6. Right click one of the datastore LUN and click Browse Datastore….
7. Click on the upload button
8. Select your .VMDK image and start the upload 

 

 

Step 4: Create new a VM and attach the .VMDK image
The next step is to create a new VM. Just loop the simple wizard to create one. Give it enough resources (The installation guide tells me 6 GB of free physical RAM but 8 GB or more is recommended). The latest step is to remove the newly created hard disk from the list (as we already have one from Brian) and add yours, which you have just uploaded. When ready, just save your VM.

 

Step 5: Time to play
When the VM is created, it’s time to start it. Normally the VM should boot into Windows 2008R2 without any problems. If you see the login screen, you’re awesome!

Newvm04

 

PS: I read something that you can also convert your .vhd file using VMWare converter, but we did not try that.. If you did, just add a comment!

PS 2: As Brian just mentioned in his comment: Note that the agile project management dashboards assume that the date is Sept 14 and the time is 8 p.m. If you care about getting the right agile dashboard data then you should look for an option to disable the date/time sync. In Hyper-V this is an option under settings. If you use VMware, you can install the VMware Tool on the host machine, and then disable the checkbox ‘Time sync’ as you can see in the screenshot below. Thanks for the mention Brian!

Vm

Thanks a lot for reading and have fun playing! The credits for this post are also for my colleague Frederik Vannieuwenborg

 

Getting started with Team Foundation Service

Logo

Introduction

At the Build conference this week, a new service for the upcoming version of TFS was announced. They call it Team Foundation Service. This is a Windows Azure hosted solution of a Team Foundation Server, which is pretty cool! The TFS team definitely did a great job to bring the Application Lifecycle Management features of Visual Studio and Team Foundation Server to a higher level. And from what I can say, it looks promising. In this post, I’ll describe some setup steps and a general overview of some new features. 

 

Setup

First of all you need an account for the Team Foundation Service on tfspreview.com. For now, you need an invitation code to create an account. (If you don’t have an invitation code, I have some left. Just post a comment..) Brian Harry already made a nice blogpost about the registration process and how to add and invite users to your Team Foundation Service environment. When you finish your registration (using your Windows Live Id), you’re in the adminstration mode of the Team Foundation Service.

One tip I can give is that the gray border on top indicates that you’re in administration mode. This is one thing I didn’t notice in the beginning. I was a little bit confused when I tried to open my team project when I was still in administration mode. But after a while I got whole point.

The first thing you can do is create your first team project. You can do this by clicking on ‘create team project’. There you get a dialog where you can enter a name and a project description. You can also select which process template you want to use. The Microsoft Visual Studio Scrum 2.0 Preview 1 template is selected by default. (More about this specific template will follow in a later post) Currently it is not yet possible to add extra process templates. But I think most of us will use the Scrum template or the Agile Software Development 6.0 template.

Creating the team project only takes about one minute or less. Actually it will queue a job in the background, and the service does some jobstatus polling to show the process status to the user.

 

Overview

After the team project is created, you can click on the ‘My Team home page’ and you are redirected. That’s the place where all the fun starts. On top of the page you see:

  • Home: where you have some shortcuts to your activites, and a link to some administration
  • Backlog: where you can add your userstories
  • Board: where you have a graphical overview of the running/sheduled/.. work items. There you can also change the status of the workitems.
  • Source: where you have the possibility to search in changesets, shelvesets. You can lookup code, compare code with previous versions.
  • Builds: where you get an overview of the build history. You can also manage the build qualities.

 

Conclusion

I spent some time on the Team Foundation Service now, and from what I experience it’s really good. It’s surprisingly easy to use and quite fast. I really like the ajaxified interface. The only things which I think will need some change are some usability issues. Apart from that, my first impressions are good.

In my next blog posts, I’ll cover some other things like the product backlog, work-items, the board, how to use Team Foundation Service with Visual Studio 2010,..   You can always share your personal experiences by adding a comment to this post.

Thanks for reading!