Thursday, July 26, 2012

Windows Azure Tools 1.6 - Fatal Error 0x80070643

I was trying to install Windows Azure Tools 1.6 on one of my build agents but was getting a Fatal Error during installation

I tried various uninstallations and installations but nothing seemed to work.
The log file didn't point to anything specifc but then I found this in the log file:
[0F28:0D3C][2012-07-26T19:24:54]: Setting string variable 'WixBundleLog_CctSetup.Shared' to value 'C:\Users\xxx\AppData\Local\Temp\2\Windows Azure Tools for Microsoft Visual Studio 2010_-_November 2011_20120726192451_0_CctSetup.Shared.log'

I opened CctSetup.Shared.log file and found:
MSI (s) (54:10) [19:24:54:839]: Product: Windows Azure Tools for Microsoft Visual Studio 2010 Core -- Windows Azure Tools for Microsoft Visual Studio 2010 Core requires the Windows Azure Emulator.  Please install the Windows Azure Emulator and try again.
Action ended 19:24:54: LaunchConditions. Return value 3.
Action ended 19:24:54: INSTALL. Return value 3.
MSI (s) (54:10) [19:24:54:839]: Note: 1: 1708
MSI (s) (54:10) [19:24:54:839]: Product: Windows Azure Tools for Microsoft Visual Studio 2010 Core -- Installation failed.

This reminded me that I had installed the Windows Azure SDK but not Windows Azure Emulator.
I installed Windows Azure Emulator and then the installation of Windows Azure Tools 1.6 was successful.

VS 2010 Load Test - Percentile values for Transaction Response Time

In VS 2010, when the load test run is complete, you can view the percentile values for transactions. Remember that these are percentile values and not percentage values.

Consider there are 10 requests where request1 to request9 took 1sec and request10 took 5 sec.
So the percentage of requests which took less than or equal to 1 sec is  9*100/10 = 90 percent

However, to calculate the percentile, we have to arrange the values in a sorted manner i.e.

Now, to calclulate the percentile, we calculate the rank by using the formula:
n = (P*N)/100 + 1/2 where P is the percentile and N is the number of items.

So the rank for 90th percentile will be:
n = (90*10)/100 + 1/2 = 9.5
We round off the rank and pickup the the nth element i.e. the 10th element i.e. 5

Thus the 90th percentile value is 5 sec but 90 percentage of transactions took 1 sec.

You can view Percentile values of 90%, 95% and 99% for each transaction in Tables->Transactions

Thursday, July 19, 2012

TFS 2010 - How to fix the issue with automated tests getting aborted in Test Manager

I had been running all my tests for a long time using Build-Deploy-Test workflow (

Suddenly one day, the test runs started getting aborted and there was no specific log which pointed to the root cause.

To find the root cause, I ran all the tests locally from Visual Studio and tried to publish the results against a build from the Test Results window.

The publish failed with the error:
Failed Invalid character in Assert.AreEqual failed. Expected:xxx Actual:yyy

The problem was that xxx and yyy had some invalid characters which was causing the publish to fail. I fixed the test by comparing expected and actual and doing Assert.Fail() if they didn't match. Thus, the invalid characters were not logged to console and the publish started to succeed.

Problem solved and the test runs started getting completed.

Sunday, July 1, 2012

Congratulations 2012 Microsoft MVP!

I am so excited to receive the MVP award again. I received an email from Microsoft  today which states:

Dear Anuj Chaudhary,

Congratulations! We are pleased to present you with the 2012 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others. We appreciate your outstanding contributions in Visual Studio ALM technical communities during the past year.

Here is the link to my profile