Showing posts with label VSTS 2008. Show all posts
Showing posts with label VSTS 2008. Show all posts

Wednesday, May 27, 2009

Delete a Team Project

One of the new team members accidently created a team project (Remiss of the administrator for giving him full control).
Found out a way to delete the team project
Open a command line on your team foundation server and cd to
drive:/%program files%\Microsoft Visual Studio 9.0\Common7\IDE (For VSTS 2008)
tfsdeleteproject /q /force /server:<tfs server> "<project name>"

Thursday, April 23, 2009

Installation VSTS 2008, Team Explorer, SQL 2005

Installations required to be followed in sequence.
1. Install IIS.

2. Visual Studio Team System 2008
3. VSTS 2008 Team Explorer
4. VSTS 2008 SP1
5. SQL Server 2005 (or 2008) (Also if you are working with Service Packs of SQL you can subsequently install that too)
6. VSTS Power Tools (If required)



If you installed Team Explorer into Visual Studio after you applied Visual Studio 2008 Service Pack 1, you’ll need to re-apply the service pack. If you don’t, then you’ll be running an unsupported “mixed mode” installation, meaning the core Visual Studio components will be at the SP1 servicing level and TE will be at the RTM servicing level.

Struggling with LoadTest Reports

Been two days I was struggling with troubleshooting Loadtest reports. Still I am not able to access the inbuilt LoadTest report which comes with VSTS 2008.

Thanks to Shai, for giving me this wonderful link which solved my purpose of reports.

Tuesday, April 21, 2009

Use DataSource in Unit Test

I had a unit test in C#, written to test one of the functions of my service. Considering best practices of testing like Boundary Value testing, there were number of data input which I had to consider to completely test the function. For doing that one of the ways is, instead of writing different tests with different type of inputs, we can classify the test with respect to passing tests and failing tests.

I created a test for passing input values and another test in which the Test had an Expected Exception. In both the cases I had wide range of data input. For this I used a CSV file for getting the input data. So for in a particular test, all the data combinations mentioned in the CSV will be executed.
For using a Data Source in a test we will have to perform the following steps.


1. Go to the Properties of the Test (Press F4 after selecting the Test in TestView)


2. Select the Data Connection String button
3. Then select the type of input file suitable to you (CSV or XML) In my case I used CSV




4. First Row of the CSV is automatically considered as header. (This needs to be taken care of while preparing the CSV)



5. Select Yes/No in the next dialog box if you wish to select this CSV to be added in deployment item and also get added to the solution. If you select Yes, the CSV will be added to the current project and also it will be added in the list of Deployment files in the LocaltestConfig.TestConfig file.


6. The Test will now look like

[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "DataDirectory\\CSV.csv", "CSV#csv", DataAccessMethod.Sequential), DeploymentItem("Test\\QA\\UnitTestProjectName\\CSV.csv"), TestMethod]
public void TestUsingDataSource()
{
}
7. For using the data in the test you will have to write TestContext.DataRow["Name"]
Note: The name you mention here should be exact to the header name given in the CSV.
The retrieved data from CSV can be converted to string by
Convert.ToString(TestContext.DataRow["Name"]).Trim();
That’s it. The test will be using the CSV whenever it runs now. The important thing to remember is whenever you run the test once from the test view, it will have individual runs inside it which will depend on the number of rows of the CSV.

Monday, April 20, 2009

Add Check-in Policy

The Check-in policy can be added at Team Project level. Below are the steps.
1. Open the Team Explorer
2. Select the Team Project
3. Right Click -> Source Control


4. Click on Check-in Policy Tab
5. Click on Add button.
You will get the options as above if you have installed PowerTools, otherwise 4 options will be displayed
1. Builds
2. Code Analysis
3. Testing Policy
4. Work Items

Tuesday, March 17, 2009

Add/Modify Area & Iteration

Atlast I found it!!


I was searching for a option to add Area or Iteration to my Project. I had one option in my WebAccess portal of my Team Project but that didnt reflect in my Creat New work item Classification block.


Searched many things but didnt get any help. (the option is obvious but didnt get any help)


It can be done as below.










Tuesday, March 10, 2009

Auto-Generated Unit Tests for WCF services

A really cool tool that was released by Microsoft enables you to take a WCF trace file and a WCF client proxy, or a WCF interface contract, and generates a unit test that replays the same sequence of calls found in the trace file. The code generated is easily modifiable so that data variation can be introduced for the purpose of doing performance testing. The tool generates code for both Visual Studio 2005 and Visual Studio 2008.

Click here to download the tool

Wednesday, March 4, 2009

VSTS 2008 : Unit Testing - Keyboard Shortcuts

Normally I try to use keyboard shortcuts as much as possible. I believe that it saves time.
Here are some handy unit testing keybaord shortcuts with Visual Studio:
Run Mode
1. Ctrl + R, A – Run all tests
2. Ctrl + R, T – Run tests in context (based on if cursor is in function, class, or namespace)
3. Ctrl + R, F – Runs all tests that are checked in Test Results
Debug Mode:
1. Ctrl + R, Ctrl + A – Run all tests in debug mode
2. Ctrl + R, Ctrl + T – Run all tests in context in debug mode
3. Ctrl + R, Ctrl + F – Run all checked tests in debug mode

Enjoy Testing

Monday, February 16, 2009

How to remove Recent Projects from Visual Studio 2008 Start Page

Being a tester I had never worked on Visual Studio before. I used to work with VB 6.0in my early career days. Since then I got not chance to create any new projects.

Given responsibility to setup TFS, Continuous Integration and also white box testing I had to create projects every now and then, which resulted in a never ending list of projects in my start page. No matter how many I delete from my local RnD folder the list didn't clear.

Below list helped me do that

1. Close Visual Studio if it is running.
2. Start the Registry Editor (run regedit).
3. Navigate to this registry key: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\ProjectMRUList
4. Then delete the key that has the project you do not want to keep in the list.

The only catch in the last step is you need to keep the File names consecutive.
e.g. If you have File 1 to File 5. Now if you dont need File 3 to appear in the list and if you remove File 3, Files 4 & 5 wont appear either. You need to rename the File 4 and 5 to File 3 and 4 so that the numbering is consecutive.

This will be very easy with VS2010. Its all xaml at the end of the day.

Monday, February 9, 2009

Continuous Integration - Force a build to fail when unit tests fail and create work item



I had to setup continuous build on my TFS2008 machine which had to run a specific set of tests before it created a build (whenever anyone check’s in any code). I was pretty much successful doing that. The process was running smooth but whenever a test used to fail the build used to “Partially Fail” and also it didn’t create a “Bug” and assign it to the person who broke the build. A Bug was assigned to the person who broke the build only when the build used to “Fail”.
I did some RnD in this and figured out a way to force a build to fail whenever a test failed. I wrote the below line in the TFSBuild.proj file

< treattestfailureasbuildfailure > true < /treattestfailureasbuildfailure >
Adding this I thought, as I am forcing the test fail to be treated as a Build Failure, TFS will take care of raising a work item or Bug to the person but it didn’t.
Then I wrote a Target in the same file to create a work item on Test failure.



<UsingTask TaskName="Microsoft.TeamFounadtion.Build.Tasks.CreateNewWorkItem"

AssemblyFile="$(TeamBuildRefPath)\Microsoft.TeamFoundation.Build.Tasks.VersionControl.dll" />


<Target Name="AfterTest">

<!-- Refresh the build properties. -->

<GetBuildProperties TeamFoundationServerUrl="$(TeamFoundationServerUrl)"

BuildUri="$(BuildUri)"

Condition=" '$(IsDesktopBuild)' != 'true' ">

<Output TaskParameter="TestSuccess" PropertyName="TestSuccess" />

</GetBuildProperties>

<!-- Set CompilationStatus to Failed if TestSuccess is false. -->

<SetBuildProperties TeamFoundationServerUrl="$(TeamFoundationServerUrl)"

BuildUri="$(BuildUri)"

CompilationStatus="Failed"

Condition=" '$(IsDesktopBuild)' != 'true' and '$(TestSuccess)' != 'true' ">

</SetBuildProperties>

<CreateNewWorkItem

BuildNumber="$(BuildNumber)"

BuildURi="$(BuildURI)"

Description="The CreateNewWorkItem task created this bug."

TeamProject="$(TeamProject)"

TeamFoundationServerUrl="$(TeamFoundationServerUrl)"

Title="Unit Test Failure in $(BuildNumber)"

WorkItemFieldValues="$(WorkItemFieldValues)"

WorkItemType="$(WorkItemType)"

Condition=" '$(IsDesktopBuild)' != 'true' and '$(TestSuccess)' != 'true' ">

</CreateNewWorkItem>

</Target>

Tuesday, January 13, 2009

Reset Database after Unit Tests are run

I was doing RnD using VSTS 2008 for Unit tests. One of the issue I faced was the data used to get changed after my tests were passed. This scenario created one more need for me to find a method to rollback what ever changes my Unit tests used to make to my database.

I tried out MdbUnit, NUnit but I was still searching for something which is provided by Microsoft itself. Reading to few blogs I successfully made it work.

[TestInitialize]
public void Initialize()
{
ServiceConfig config = new ServiceConfig();
config.Transaction = TransactionOption.RequiresNew;
ServiceDomain.Enter(config);
}

[TestCleanup]
public void Cleanup()
{
if (ContextUtil.IsInTransaction)
{
ContextUtil.SetAbort();
}
ServiceDomain.Leave();
}

After I wrote this in my Test.cs file I faced another error
system.Data.Entity Exception: The underlying provider failed on Open. ---> System.Transactions.TransactionManagerCommunicationException: Network access for Distributed Transaction Manager (MSDTC) has been disabled.

The following link helped me

http://social.msdn.microsoft.com/Forums/en-US/windowstransactionsprogramming/thread/993b1b87-b9c0-4070-938b-8539fcb059f6/

Wallah my Unit test problem is solved!

Wednesday, January 7, 2009

.Net 2.0 Runtime error on Recording Webtest using VS 2008

I faced a issued as follows:

When I start recording a webtest using VS 2008, IE7 or IE6 (Itried both) and Win XP on my machine, IE used to crash. On investigating in the Event viewer it had the following log

".Net 2.0 Runtime error" for iexplore.exe

I tried many settings but it was in vain. I then disabled my McAfee 8.0i on access scan and it worked.