Continuous Learning and Sharing of Team Foundation Server and Application Lifecycle Management RSS 2.0
# Tuesday, December 13, 2011

Team Foundation Server 2010 provides functionality for testing applications with built in support for test plan and test case management    In our Agile/Scrum projects, we define all of the Test Cases in our planning meeting to define done for each User Story.  When starting new projects, team members often ask is how to format the Test Cases so they are clear.  One way we have found to be very useful is to use the same format as found in Behavior Driven Development(BDD).  BDD uses a format for communicating Test Cases called Gherkin.  The Gherkin format follows the pattern below:

image

Figure 1 – Given, When, and Then definition

Just like the User Story format (As a [user], I want to be able to do [business process], so that [business value]), we have found the Gherkin format is very useful for teams learning Agile.  In fact, these Test Cases can be written for Acceptance/Functional tests and for Unit Tests.  When we work with customers and our own projects we install our customized Deliveron Agile Process Template as part of the Deliveron Agile Delivery Process.  The Deliveron Agile Process Template is a slightly customized version of the MSF for Agile 5.0 process template.  In the Test Case work item, we have added fields for Given, When, and Then.  The “Then” should also match the expected result in the test steps.

SNAGHTML3f2b686e
Figure 2 – BDD additions for TFS Test Case Work Item

image

Figure 3 – Expected result matches the “Then”

Customizing the TFS Test Case Work Item Templates (WIT)  to add these fields is straight forward.  Follow the steps in this post I did a couple years ago.  It was for TFS 2008 but the steps are the same in TFS 2010.

In summary, use Test Cases to define done of the User Story and use BDD and Gherkin for the language of the Test Case.  Feel free to contact us if you have any questions about these changes or about the Deliveron Agile Delivery Process.

This has also be cross posted at http://www.deliveron.com/blog/post/Adding-BDD-to-the-TFS-2010-Test-Case.aspx

Tuesday, December 13, 2011 3:33:00 AM (Central Standard Time, UTC-06:00)  #    Comments [0] -
Agile | ALM | Test Case Management | TFS 2010

# Tuesday, September 06, 2011

Last week I had the opportunity to speak at Omaha’s first SQL Saturday.  My talk was on Continuous Integration with SQL Server Databases.  I had a good turnout and some great questions at my session.  Here are the slides from my talk.  I mistakenly mentioned in the talk that column changes would be treated as a Drop and an Add, thus resulting in data loss.  Visual Studio 2010 Database Projects track the changes like this and incorporates the column change into the delta script. 

In my example, I have a Product table with existing data. 

imageFigure 1 – Product table with data

I renamed the column from NameOfProduct to ProductName

imageFigure 2 – Rename feature in Database Projects

 

imageFigure 3 – Preview Changes Dialog

You can see that the delta script that was generated by the Deploy option in the Visual Studio Database Project is aware of the column name change.  The script calls the sp_rename stored procedure to rename the column name and keep the data intact.

imageFigure 4 – Rename Column Script

 

Here are the results of table after the rename. No data loss!

imageFigure 5 – Product table data after the rename

In my next post I’ll discuss specifics around the CI for SQL Server databases solution.

Enjoy!

This was also cross posted to http://www.deliveron.com/blog/post/Column-Changes-with-Visual-Studio-2010-Database-Projects.aspx

Tuesday, September 06, 2011 3:08:00 AM (Central Daylight Time, UTC-05:00)  #    Comments [0] -
SQL Server 2008 | TFS 2010 | Visual Studio 2010

# Tuesday, August 02, 2011

The Team Project portal site in TFS 2010 is the collaboration hub for many activities that typically includes document libraries, team calendar,  wiki, reporting, and more.  TFS 2010 includes a number of reports that can be displayed on the portal using SSRS (using either SharePoint 2010 Foundation or SharePoint 2010 Enterprise) and Excel Services (using SharePoint 2010 Enterprise).    In this post, I will walk through customizing the report to display the burndown for the particular Iteration..

The first question I often receive is:

How do I customize the burndown dashboard report to fit my Sprint/Iteration?

When you display the project portal page and view the burndown dashboard report, you will notice that the default parameters don’t match the current iteration.  To update this, we can override the parameters being passed into the report through the URL.  I want to set Start Date, End Date, and Iteration parameters to display the correct data.

First, navigate to the page with the report

image

Click on the arrow and choose “Edit Web Part” to edit the parameters for the report.

image

On the right of the screen is the settings for the web part and report. The link is what needs to be modified.

http://tfsserver/ReportServer/Pages/ReportViewer.aspx?%2fTfsReports%2fBP%2fTeamProject%2fDashboards%2f
Burndown&rs:Command=Render&rc:Toolbar=false&StartDateParam=07/05/2011&EndDateParam=07/26/2011

To Determine the properties to add or change, you can go to the report itself and look at the properties available. In this example, we want to update the Start Date and End Date and add the Iteration. To find out what the name of the Iteration parameter is, go to the following URL to see the properties.

http://tfsserver/Reports/Pages/Folder.aspx?ItemPath=%2fTfsReports%2fBP%2fTeamProject%2fDashboards&ViewMode=List

Choose the Manage option in the context menu of the report

image

In the settings screen, choose the Parameters tab and find the parameter you are looking for. This is the name we will add to the URL above. In this instance, it is IterationParam

image

The format of the IterationParam parameter wasn’t intuitive.  The item is a multi-select checkbox list.  So it wouldn’t take a simple text value such as “Iteration 01”.

SNAGHTML561b382

To figure out the format of value, I used the report viewer to set the value of the Iteration and exported the report as an Atom feed.  Then I opened the Atom XML and to pull out the value of the Iteration Param that it created.  Below is what the link looks like with the IterationParam value added.

http://tfsserver/ReportServer/Pages/ReportViewer.aspx?%2fTfsReports%2fBP%2fTeamProject%2fDashboards
%2fBurndown&rs:Command=Render&rc:Toolbar=false&IterationParam=%5BWork%20Item%5D.%5B
Iteration%20Hierarchy%5D.%5BIteration1%5D.%26%5B7130920747760410946%5D%26%5B-4689172157298829814%5D&
StartDateParam=07/06/2011&EndDateParam=07/26/2011

Finally paste this URL into the link in the web part and save. This is ready to display.

Mike Douglas

This post was cross posted to http://www.deliveron.com/blog/post/Customizing-the-Burndown-Dashboard-Report-in-TFS-2010-Team-Portal.aspx

Tuesday, August 02, 2011 11:00:00 PM (Central Daylight Time, UTC-05:00)  #    Comments [0] -
SharePoint | SQL Server 2008 | TFS 2010

# Saturday, June 18, 2011

The Visual Studio ALM Rangers just released two projects, the Build Customization Guide and the Lab Management Guide.  Both projects provide real world, in-depth guidance and hands-on-labs (HOL) for planning and creating solutions for utilizing the Team Build 2010 and Visual Studio 2010 Lab Management.  Every development team should utilize the features covered in these guides for creating a build strategy that includes Continuous Integration (CI), packaging and versioning of applications, and automated deployments to at least the development and test environments. By utilizing Visual Studio Lab Management, these environments can be quickly provisioned and managed by those development teams.  They will be able to do things restore to a baseline before building, deploying, and running tests in those environments, clone the environment to provide multiple test environments for QA, and attaching a snapshot of the virtual environment along with other rich information to bugs for the developers.

Visit the websites for all of the details and downloads for the guidance.

Build Customization Guide

I am especially excited about the Build Customization Guide being released because this was first Visual Studio Ranger project I have had worked on.  I had the opportunity to work with many talented and dedicated individuals.

The Epics included in this guidance are:

  • Practical guidance and tooling to simplify the customization of Team Foundation Build
  • Practical guidance to use Team Foundation Build process templates to automate build and non-build scenarios in Microsoft environments
  • Practical guidance to enable simple and flexible deployment of applications and their data stores
  • Practical guidance for Activities to empower developers and build engineers
  • Quality hands-on labs that complement the guidance and effectively guide the user through the features
  • Visualization of the guidance using quick reference posters

http://rabcg.codeplex.com/

Lab Management Guide

I didn’t contribute to the Lab Management Guide, but I have read through the guidance.  It includes a lot of great information that include planning Lab Management, setting up the Virtual Lab environment, and creating Virtual Machines using the VM Factory.

The Epics included in this guidance are:

  • Visualization of the guidance using quick reference posters
  • Advanced golden image management using the VM Factory for Lab Management
  • Provide guidance on setting up Test environments with respect to pre-defined personas
  • Provide Guidance to enable large and small teams to setup and configure both automated and manual tests
  • Provide practical guidance for managing and maintaining a Lab Management environment
  • Provide practical guidance to enable teams to quickly setup and configure their lab management environment

http://ralabman.codeplex.com/

Visual Studio ALM Rangers

So who are the the Visual Studio ALM Rangers?  They are a group of internal Microsoft employees and external communities leaders/MVPs who’s mission is to accelerate the adoption of Visual Studio with out-of-band solutions for missing features and guidance.  Willy-P. Schaub has posted some great information about who we are, the past accomplishments, and future plan in the Visual Studio ALM Rangers 5 year Report.

Please contact us at tfs@deliveron.com for information on these guides or implementing these solutions in your environment.

Mike

Saturday, June 18, 2011 12:52:00 PM (Central Daylight Time, UTC-05:00)  #    Comments [0] -
ALM | Lab Management | Team Build 2010 | Team Foundation Server | TFS 2010 | Visual Studio 2010

# Tuesday, December 07, 2010

Team Deploy 2010 is a custom add-on for Team Foundation Server 2010 (TFS) to deploy MSIs to servers and PCs.  The deploy activity uses an XML file to manage the servers and steps for deployment including starting/stopping services and installing/uninstalling the MSIs.  This is very effective for automated deployments in environments where automated deployments are allowed.  This however does not provide a practice run into downstream environments where automated deployments are not allowed such as Staging/Integration and Production.

An alternative to this that does offer some deployment consistencies beyond the MSI is to have Team Deploy 2010 (or Team Deploy for TFS 2008 also supports this) execute a PowerShell script to perform the deployment steps.  The advantage of this is that the PowerShell scripts can also be used to perform the manual deployments to these other environments.  This won’t work in every scenario but should in a lot.  In this post, I am going to explain how to do this.

The first thing to do is to install Team Deploy 2010.  This is free and can be downloaded at http://TeamDeploy.CodePlex.com.  The installation instructions are detailed on the site.  For this, I will assume Team Deploy 2010 is already installed.

Next open Visual Studio 2010 and create a new build definition workflow.  Create 3 arguments called RemoteExecuteFilename, TargetMachine, and RemoteCommand.

Instead of using the Deploy activity, add the RemoteExecute activity in an AgentScope container.

image

Set the properties on the RemoteExecute activity to the arguments passed in.

image

Next, set the properties that were exposed as arguments of the build definition.  For the RemoteCommand, here is where you want to specify calling PowerShell.exe and the script file that will be executed on the target machine.  One thing I have learned after taking this snapshot is that if you have a space in the path for the script than use this syntax:

PowerShell.exe –File “\\buildserver\deploy scripts\Update.ps1”

Next specify the path where the PSTools were installed and finally specify the machine that you want to run the remote script.

image

The final step is to create the deployment script.  Thanks to the power of PowerShell, these deployment scripts can perform any action.  I have created steps for starting/stoping services, applying SQL Server schema changes, search and replace strings in configuration files, etc. Essentially anything you can do in a batch file and in .NET code, can be done in PowerShell.

Here is a small sample script that I created.  I have creates some much more complicated scripts and ran them on remote machines without any issues.

"Performing removal steps..."

$servicename = "PLA"
$service = Get-Service $servicename
if($service.Status -eq "Running")
{
    "Stopping " + $servicename
    Stop-Service $servicename
}
"status=" + $service.Status
Remove-Item "c:\miketest2"
msiexec /qn /x "{26260DBA-1519-4967-9118-D827793EF3B3}"

"Removal complete.  Starting the installation steps..."

msiexec /qb! /i "\\buildserver\deploy\simple.msi"
New-Item "c:\miketest2" -type directory

"Applying SQL Server Schema changes..."
sqlcmd -S W2K8R2BOOT -E -i \\buildserver\deploy\dropaddcooltable.sql

if($service.Status -eq "Stopped")
{
    "Starting " + $servicename
    Start-Service $servicename
}

This is it. Here are also a couple things to consider. Copy MSIs, SQL Scripts, and the deployment script to a versioned folder.  The folder is the snapshot in time including the deployment file.  Keep the deployment scripts in source control.  Lastly there is a new feature in PowerShell 2.0 called PowerShell Remoting.  I have tried it, but it looks like this could also work.  It is on my list to research and I will be sure to report back when I find out more information.

Enjoy!

Mike

This was cross posted at http://www.deliveron.com/blog/post/Executing-PowerShell-Scripts-on-Remote-Machines-with-TFS-2010-and-Team-Deploy-2010.aspx on the Deliveron’s blog at http://www.deliveron.com/blog.

Tuesday, December 07, 2010 11:45:00 PM (Central Standard Time, UTC-06:00)  #    Comments [0] -
ALM | PowerShell | Team Build 2010 | Team Deploy | TFS 2010 | Visual Studio 2010

# Friday, November 26, 2010

Coded UI Tests do a great job of capturing the action recordings of the steps performed in a test case. The action recordings are used to create the automated code to test the actions.  Unfortunately sometimes these steps are too literal and become excessive especially when running the tests using multiple rows of parameters (that are essentially data driven tests) 

In my example, I created a test case that lists some steps that include opening the application, adding a new customer record, and closing the application.   The application allows for creating multiple customer records without closing and reopening the application.  Closing and reopening the application for each row in the automated test is unnecessary.  Shared steps at the beginning or ending of the tests including logging in/out could be good candidates to make more efficient.

Below is the example of the test that was generated from the action recordings of the test case.

        [DataSource("Microsoft.VisualStudio.TestTools.DataSource.TestCase", 
                 "http://localhost:8080/tfs/defaultcollection;Tailspin Toys", "53", 
DataAccessMethod.Sequential), TestMethod] public void AddCustomer_ShouldSaveAndClose() { // To generate code for this test, select "Generate Code for Coded UI Test"
// from the shortcut menu and select one of the menu items.
// For more information on generated code,
//
see http://go.microsoft.com/fwlink/?LinkId=179463 this.UIMap.OpenCustomerKeeper(); this.UIMap.OpenNewRecord(); this.UIMap.FillParams.UIText1EditText = TestContext.DataRow["Name"].ToString(); this.UIMap.FillParams.UIText2EditText = TestContext.DataRow["City"].ToString(); this.UIMap.FillParams.UIText3EditText = TestContext.DataRow["Phone"].ToString(); this.UIMap.FilloutNameCityandPhone(); this.UIMap.SaveandClose(); this.UIMap.VerifyCustomerSaved(); this.UIMap.CloseApplication(); }

As you can see it generated the OpenCustomerKeeper() and CloseApplication() methods.  For each parameters row for the test case it will open and close the application.  These are the two methods I only want to execute at the start of the test run and the end of the test run.  Also if I had other tests that could be run without restarting the application this change would benefit those tests also.

Our options are to move these steps to the TestInitialize/TestCleanup or ClassInitialize/ClassCleanup. The TestInitialize/TestCleanup however is called before each test that also includes before each row of the data driven test.  Therefore, this would be the same result and open/close the application before each row.  This leaves the ClassInitialize/ClassCleanup.   Unfortunately it is not quite as easy as moving the method.  First these two methods need to be static so this.UIMap won’t exist.  Secondly, the Playback engine is not initialized in these methods.  We will need to explicitly perform the Initialize and Cleanup of the Playback engine.  Lastly the ClassInitialize attribute has to be applied to a method with passes in the TestContext as a parameter.

Here is the ClassInitialize method

static private UIMap sharedTest = new UIMap(); 

        [ClassInitialize] 
        static public void ClassInit(TestContext context) 
        { 
            Playback.Initialize(); 
            try 
            { 
                sharedTest.OpenCustomerKeeper(); 

            } 
            finally 
            { 
                Playback.Cleanup(); 
            } 

        }

 

Lastly, we will move the CloseApplication() method to the ClassCleanup method.

[ClassCleanup] 
static public void ClassCleanup() 
{ 
    Playback.Initialize(); 
    try 
    { 

        sharedTest.CloseApplication(); 
    } 
    finally 
    { 
        Playback.Cleanup(); 
    } 
}

 

I hope you find this useful.

Mike

Contact us at tfs@deliveron.com to work with your development teams for all of your Visual Studio ALM needs.

Friday, November 26, 2010 5:01:00 AM (Central Standard Time, UTC-06:00)  #    Comments [0] -
ALM | Coded UI Tests | TFS 2010

# Tuesday, November 23, 2010

In one of my previous posts, I talked about Setting up a Build Server to run Coded UI Tests.  In this post I am going to talk about creating a Coded UI Test and running it from Microsoft Test Manager.   This completes the full testing story.  The build server can run the regression tests and the tests can run any automated test from Microsoft Test Manager on demand.

Create Test Case

First, create the Test Case in Microsoft Test Manager.  This is a simple test that opens the application and customer form.  Then it enters some information to the form, saves, and closes the form.

image

Next, in MTM, go to the Test Tab and Run the test.  Microsoft Test Runner should open.  Check the Create/Overwrite action recording checkbox and click Start Test.

image

Finish going through the test. Be sure to be on the appropriate step of the test case when you perform the step in the application. It is capturing all of clicks to the particular step that is selected. Save and Close the test. Make sure to save the action recording.

Switch your hat to the Developer cap. Open Visual Studio 2010 Premium or Ultimate. Create a new test project. To create a new Coded UI Test, right click on the project and choose Add > Coded UI Test. A dialog appears to choose either Record actions or Use an existing action recording.

image

Since we already have the action recording, choose the “Use an existing action recording.” Search for the Test Case of the test that you just ran. When you click Ok, it will generate the code for the test. Run the test in Visual Studio and make sure the test passes. You will need to make sure the application you are testing is installed on your development machine.

Once you verify the test is passing in Visual Studio, you can associate the automated test back to the test case. To do this, display the Test View window by going to Test > Windows > Test View. Right click on the test and choose “Associate Test to Test Case”

image 

Find the Test Case and choose Ok. This will open the test case work item. Notice that the test is now associated with the test case.

image

Also the Automation Status has been changed to Automated. Another thing is that the Automated test type shows “CodedUITest.” In addition to Coded UI Tests, Unit tests can be linked to a Test Case. This is very useful when you are using the unit test framework to do system level or end to end tests that would be at the same level as the Test Case.

Creating the Test Environment

Now that we have the test case automated, we need to configure the test environment before we can run it.

Test Server

First choose a machine that where the tests will run.  This can be a physical/virtual server or PC depending on the requirements of the application you are testing.  On this machine, I installed the Visual Studio 2010 Test Controller and Visual Studio 2010 Test Agent.  These could also be installed on separate machines.  A test controller can support multiple test agent machines.

To install the Test Controller and Test Agent, download the Visual Studio 2010 Agents ISO. This contains the Test Controller, Test Agent, and Lab Agent.

First install the Test Controller.  I always recommend using a domain account instead of the Network Service account.  Register the Test Controller with the Team Project Collection.  As it states, you must do this to create enable the test environment.

image

Once the Test Controller is configured, install the Test Agent.   I also recommend using a domain account for the Test Agent.  Configure the Test Agent to interact with the desktop.  For the Coded UI Tests to run, they must be able to have full access to the desktop.  This also means that the computer must be logged in and can’t be locked.  Make sure to check the option to disable the screen saver and to log in automatically.

image

Also, one thing that I have learned is you can’t use Remote Desktop (RDP) to access the test machines.  Logging out of RDP automatically locks the machine.  If the machines are virtual then you need to use access them through the virtual machine host or another remote technology.

One optional item you can configure is to configure the test machine to record video. To do this follow these steps:

1.  Install the RTM update for Lab Managementon the server

2.  Install Encoder 4

3. If the machine is a server, install the Desktop Experience feature.

Configure the Environment

The test machine is now configured.  Now we need to configure the test environment so that the automated test knows where to run.

Switch back to Microsoft Test Manager.  Change Testing Center to Lab Center by selecting it from the drop down.

image

First we need to create the environment.  If Lab Management was installed and configured, we could configure a virtual environment.  But since we have already configured a machine outside of Lab Management it will be considered a physical environment.

Select the Lab tab and choose New > New Physical Environment.

Fill in the Name and Description.  Choose the Test Controller to where the environment is going to be created.  Optionally, you can tag the environment.  This could be helpful if you have multiple environments with different configurations.

Next select the machine from the available machines and assign it a role.

image

In a physical environment there isn’t anything to set in the machine properties.  If it was virtual environment, you could specify the memory, product key, and other settings to configure the machine.  Click on Finish to create the environment.

Next is to create the Test Settings that can be used to specify what kind of testing diagnostics to capture for each machine in the environment.  In our example, we only have the one machine.  Select the Test Settings tab and click on New.

image

Give it a name.  Usually name this in relation to how much diagnostic data you want to capture.  Consider having a “Full” setting that has all or most of the diagnostics enabled and then another setting called “Light” or “Minimum”.

Select the Roles Tab.  Make sure the machine is set to the appropriate role and is matched to the environment.

image

In the Data and Diagnostics, select any of the data you want to capture while you are testing.   If your application write to the event log, be sure to check that.  If you enabled the video recording, you can enable that option too.  We don’t need to choose any of the advanced options.  Once you have selected the diagnostic settings, click finish to create it.

Before we configure our Test Plan with these settings, we need a build to test against.  We will need to create a new build definition, so reopen the test project solution in Visual Studio 2010 if it isn’t still open.  In the Team Explorer window, right click on Builds and choose New Build Definition.  The build definition will be pre-populated with the information from the solution.  Choose a drop folder (you may have to create a share for this if one isn’t already created).  Lastly, we are not going to run these tests from the build.  Refer to my previous post if you want to also configure this.   By default it will try to run the tests.  Go to the Advanced settings and disable the Automated Tests.

Save the build.  Right click on the build and choose Queue new build.

Now that we have the build, test settings, and environment our last step is to assign these to the Test Plan.  Switch back Test Manager and make sure you are in Testing Center.  Choose the Organize tab and Open Test Plan.  First under Automated runs settings, choose the testing settings that you created.  If it isn’t in the list, make sure you selected Automated for the settings.  Next choose the environment.

image

Next choose the build definition that you created and click Set build filter.

image

Assign the latest build of the build definition by click on the modify link.  Then choose the appropriate build and click Assign to plan.

image

The settings for the automated test to run from Microsoft Test Manager are complete.  Let’s go back to the test and run it as an automated test.

Switch back to the Test tab.  Locate the test that you created.  Right click on the test and choose Run.  This will open the Test Run screen.  Notice, now this test is automated it no longer starts the test runner by default.  If you want to run the test manually, choose Run with options to choose to run it manually.

image

Here you can see the test is running on the Test machine while the test run shows that it is in progress.  The test run does not refresh very well.  Be sure to manually click on the refresh or it may appear to jump to finished.

image

Here the test shows that has completed and the status is passed. 

image 

Lastly, you can look at the test results to view the status and see any of the diagnostic data.   The ScreenCapture.xesc is video recording of the test.  This is usual because normally you wouldn’t be logged into the machine running the test.  Be sure that the machine that is viewing the screen capture also has the Microsoft Encoder installed.

image

I know this ended up being a long post.  I hope you found it useful.  As always if you have any questions or want to find out more information how Deliveron helps clients with their ALM initiatives, please contact us at tfs@deliveron.comhttp://www.deliveron.com, or the phone number at the top of the screen.

This is also cross posted at http://www.deliveron.com/blog/post/Running-Automated-Tests-from-Microsoft-Test-Manager.aspx

Mike Douglas

Tuesday, November 23, 2010 12:53:00 AM (Central Standard Time, UTC-06:00)  #    Comments [1] -
ALM | Coded UI Tests | TFS 2010 | Visual Studio 2010

# Saturday, August 21, 2010

One of the most exciting things to me in Visual Studio 2010 ALM is the elimination of silos around development, project management, and quality assurance.  In previous version these roles and activities were isolated and disconnected with little traceability between them. 

In Visual Studio 2010 ALM these silos are removed and there is now traceability across the developer, project management, and quality assurance roles because of the emphasis around testing in Visual Studio 2010. The introduction of Microsoft Test Manager, included with Visual Studio 2010 Ultimate and Visual Studio 2010 Test Professional, to create and manage Test Plans and manually run Test Cases has filled a much needed gap in the ALM space.

To visualize the traceability, we have created the Visual Studio 2010 ALM Traceability Matrix to show the relationships between the major work items/artifacts in Visual Studio 2010 ALM. This could include additional links between these items, but we have not included every possible combination for readability. What I found with this matrix helps people relate this to their own environment and start seeing benefits of having all of this information centralized utilizing Visual Studio 2010 ALM and Team Foundation Server (TFS) 2010.  Below the matrix are some examples of questions that can be answered by TFS related to traceability between these items.  The data warehouse in TFS 2010 can be used to answer many more questions for every level of your organization.

Visual Studio 2010 ALM Traceability Matrix

User Stories (1)
How many hours of remaining work are left for this User Story?
Who are the developers working on this User Story?
Is the User Story covered by test cases?
Are the tests passing for the User Story?
Is the User Story done?

Tasks (2)
What bugs have been fixed for a User Story?
Is the task complete so the test case be moved to ready?

Test Plan (3)
What stories are in a Test Plan/Iteration?
How many automated tests are in the the Test Plan?
How many tests are passing in this Iteration/release/test plan from the previous one?
How many bugs were fixed?

Test Suites (4)
What are the group of test cases for the User Story?

Test Cases (5)
Are all of the tests passing for a particular Iteration/Test Plan?
How many iterations has this test been passing?

Automate Tests (6)
How many tests are automated for a User Story or Iteration/Test Plan?
Are there are any regression tests failing?
What is the test coverage for User Stories?

Code/Changesets (7)
What changesets are included in this build? 
What tests are impacted by this check-in?
What is the User Story and Test Plan for this changeset?
Has this changeset been released?

Builds (8)
What test cases are impacted by the code changes in this build?
What build is being used to run the tests against?
What User Stories and/or Test Cases have been tested by this build?

What kind of questions come to mind for your organization around these items?  Send me your thoughts or questions to tfs@deliveron.com

Mike

This is a cross post of http://www.deliveron.com/blog/post/Visual-Studio-2010-ALM-Traceability.aspx

Saturday, August 21, 2010 9:40:00 AM (Central Daylight Time, UTC-05:00)  #    Comments [0] -
ALM | TFS 2010 | Visual Studio 2010

# Friday, July 16, 2010

One of my Team Foundation Server 2010 test servers had TFS 2010, VS 2010, and Team Explorer 2010.  Installed the TFS 2010 Power tools to utilize some of the cmdlets and the tfpt.exe utility to create a team project.  After I did this I also needed to test the TFS Administration Tool 2.0 for TFS 2010.  This is a great and free tool for managing the permissions of TFS users across TFS, SSRS, and SharePoint.   This works with TFS 2010 but it is written against the TFS 2008 object model.  This required

  • Team Explorer 2008
  • Visual Studio 2008 SP1
  • Visual Studio 2008 SP1 Forward Compatibility Hotfix

I installed these pre-requisites and the TFS Admin Tool.  Today I got a request to add some additional email alerts to a TFS 2008 team project.   Since I already had Team Explorer 2008, I installed the TFS 2008 Power tools to get the alerts feature (The TFS 2010 Power tools doesn’t have this feature)..

I went back to work on my script for automated team project creation.

I ran my script

tfpt createteamproject /collection:http://dlvrn2010md:8080/tfs/defaultcollection /teamproject:"testauto5" /processtemplate:"MSF for Agile Software Development v5.0" /sourcecontrol:New

Then I get the following error:

TFPT.exe : Unrecognized command option 'collection'.

I realized the TFPT command is now pointing to the TFS 2008 Power tool version and obviously doesn’t know what a Team Project Collection is.  I looked in the Environment Variables.  The Path variable showed a reference to the TFSPowerToolsDir variable.

image

Next, I checked the TFSPowerToolDir variable and it was pointing to the 2008 Power Tools.

image

I changed this to "C:\Program Files (x86)\Microsoft Team Foundation Server 2010 Power Tools\".  I reopened the PowerShell ISE, executed the script, and it worked again.

This is a unique situation, but it happened to me so it could happen to you :)

This is also posted at http://www.deliveron.com/blog/post/Fix-TFS-2010-Power-Tools-after-installing-TFS-2008-Power-Tools.aspx

Friday, July 16, 2010 3:43:00 AM (Central Daylight Time, UTC-05:00)  #    Comments [0] -
Team Foundation Server | TFS 2010

# Friday, May 28, 2010

Today I have released Team Deploy 2010 for Team Foundation Server 2010.  In this post, I am going to give a quick overview of Team Deploy if you haven’t used it before, explain this release and upcoming releases, compare it to Lab Management 2010, and give a walkthrough for setting it up and uninstalling it.

What is Team Deploy?

Team Deploy is a set of custom build activities used to deploy MSIs to multiple client PCs and/or deploy services to servers.  This activities include the ability to kill processes, start/stop services, pass in arguments to the MSIs, provide the service username/password, and uninstall previous versions.  Team Deploy uses SysInternal’s PSTools to remotely execute MSIEXEC to install the MSIs and PSKill to kill processes.  By using Team Deploy, development teams can create automated build and deploy processes for better configuration management.  Deployments can be done on demand or scheduled just like any other build in Team Build.  If you are using Team Foundation Server 2008, Team Deploy 2.1 is the current release to download.  Team Deploy is open source and free to use.  It can be downloaded from http://teamdeploy.codeplex.com

This Release and Future Plans

I am calling this version of Team Deploy 2010, Release 1.  This release is a 1 for 1 port of the MSBuild tasks to Workflow custom activities.  I wanted to release this version without any additional enhancements so development teams can upgrade their build definitions to workflow.  I have a lot ideas for future versions.  Lab Management 2010 has given me some ideas (see comparison below) and there are several other things I want to do.  Here is a list of some:

  • MSI Package for Team Deploy 2010 – For custom build tasks, deployments are easy.  Basically just copy the Dll to the MSBuilds folder and use that path in the build definitions.  For Team Build custom activities, it is a little more complicated.  As you will see in the Setup Walkthrough below, there are several steps that are fairly easy to do manually but are going to be more difficult to do with a custom task.  I have begun working on this but it wasn’t ready for this release.
  • Breakout Deploy activity into Workflow – Currently the Deploy activity does all the work and calls the other activities within code.  I want to create an additional workflow with all of these steps in a workflow.
  • PowerShell capabilities – PowerShell 2.0 has the ability to be run on remote machines.  I want to research this functionality and see if it makes sense to create an addition set of activities that use PowerShell instead of PSTools.
  • Custom Build Definition Screen – Display screen to create the deployment options through the UI instead of creating it in XML today.
  • Change the Threadpool to .Net 4 Tasks for deploying to multiple machines at the same time.
  • Team Deploy build definition to call another definition to  do the build and deploy (Similar to Lab Management)

Team Deploy and Lab Management

Visual Studio 2010 introduces an additional product for Team Foundation Server 2010 called Lab Management 2010.  This product allows virtual environments be created, quickly provisioned, used for manual and automated testing.  Lab Management also includes a new build definition type and activities.  With the build definition type, it allows you to revert the virtual environment to a baseline snapshot, build the application, deploy the application, run the automated tests, and capture the results.  So Lab Management can do what Team Deploy can do and a lot more.   The one area that I have seen Team Deploy used where Lab Management would not be used is for deploying applications to QA and Production.  I have worked with several companies that use Team Deploy to deploy to all of their environments for a consistent deployment process.

Team Deploy Setup

Here are the steps to install Team Deploy and create a simple build.

1. The TeamDeploy2010_R1.zip file contains the following 4 files that are used to install the application.

image

2. Copy TeamDeploy.Activities.* to a location in source control and check in.

image

3. Add TeamDeploy.Activities.dll to the GAC using Gacutil.

image

4. Add source control location of custom assemblies to build controller.  ($/TestBuilds/CustomActivities in this example)

image

5. Copy DeployTemplate.xaml to source control in the BuildProcessTemplates folder.

image

6. Create a new build definition.  In the Process Step click on “New” Template and add the existing DeployTemplate.xaml template that was added to source control.  Click OK.

image

7. Set the build properties to where the PSTools is installed and where the deployment XML is located. Click Save.

image

8. Rename and edit SampleDeployScript.xml to specify applications to install and machines to deploy to.  See http://teamdeploy.codeplex.com website for full list of options available. If you open the DeployTemplate.xaml.  It should look like this. 

image 

If there is an error for the deploy activity.  Delete the AgentScope activity.

1.  Add Team Deploy 2010 Activities by right clicking in the toolbox and select “Choose Items…”. Make sure System.Activities Components tab is selected and select “Browse…” to find the location of the TeamDeploy.Activities.dll and choose it.

image

  2. Once you have added the TeamDeploy.Activities.dll, you will see the activities selected.  Click Ok.

image

3. Clicking Ok will add the activities to the toolbox. Drag the Deploy activity to the AgentScope container.  The required properties will cause a red error icon to display.  Fill out the properties to where you have the deployment script and PSTools installed. (Sometimes the designer won’t let you drag the Deploy activity to the canvas.  Save the workflow, exit Visual Studio 2010, and reopen the workflow.  It should then.

image

Uninstalling or Updating Team Deploy 2010

1. Close Visual Studio 2010

2. Stop the Visual Studio Team Foundation Build Service Host service.

image

3. To remove Team Deploy from the GAC, browse to c:\windows\microsoft.net\assembly\gac_msil and delete the TeamDeploy.Activities folder.

image

Build Log of Deploy activity in Team Build 2010

Here is an example of the build log for the Deploy activity.

image

I hope you enjoy!  Let me know if you have any ideas or run into problems.

Mike

Friday, May 28, 2010 12:36:00 AM (Central Daylight Time, UTC-05:00)  #    Comments [0] -
Team Build | Team Build 2010 | Team Foundation Server | TFS 2010 | Visual Studio 2010

# Thursday, March 25, 2010

Thanks everyone for coming on Tuesday to the Omaha Team System User Group meeting to see my presentation on What’s New for Testing in Visual Studio 2010 and TFS 2010.  It was a great turnout and there were a lot of great dialog and questions asked. 

Here’s the slides from the presentation.
http://www.codesmartnothard.com/content/binary/Whats_New_for_Testing_in_Visual_Studio_2010.zip

If you missed it or know anyone else that wants to see it, I’m doing this presentation again on a Webcast on April 14th at 11:00 (central time).  Here’s the link:
https://www.clicktoattend.com/invitation.aspx?code=146828

Contact us below if you would like more information about implementing Team Foundation Server and/or Visual Studio Lab Management 2010.

Thanks,
Mike

deliveron_banner

Thursday, March 25, 2010 2:30:09 PM (Central Daylight Time, UTC-05:00)  #    Comments [2] -
Deliveron | Lab Management | Team Build | Team Build 2010 | Team Foundation Server | TFS 2010

# Monday, March 22, 2010

I’m excited to be speaking 3 times in the next month on the new testing capabilities in Visual Studio 2010 and TFS 2010.  Two events are listed below.  The third event is full.  I hope you can make one of them.

Sign up for the Deliveron Newsletter to be notified about future presentations.

Presentation Overview

Visual Studio 2010 introduces Lab Management 2010 and Test Professional 2010 to remove the silos between QA professionals and developers to establish a more cohesive development and testing process.  Together these products include tools and features for creating test plans, creating and running manual tests, automated UI testing, creating test virtual environments, recording manual tests, and collecting diagnostic and error data to easily include with bugs.  See how everyone on your development and testing teams can take advantage of these improvements

Omaha Team System User Group Meeting

March 23, 2010 at 6:00pm
Farm Credit Services of America
5015 S 118th St
Omaha, NE 68137
Register here

Deliveron April Webcast

April 14th, 2010 at 11:00am Central Time
Register here

Monday, March 22, 2010 5:40:00 PM (Central Daylight Time, UTC-05:00)  #    Comments [0] -
Team Build 2010 | Team Foundation Server | TFS 2010 | Visual Studio 2010

# Saturday, February 27, 2010

In previous versions of Team Foundation Server there was not a way to install and configure TFS to be run in a completely high available environment.  TFS 2008 supports the data tier running in a SQL Server Cluster.  If the TFS application tier server crashed, there could be a “warm standby” configured to take over but required a manual process to do this.   TFS 2010 supports running multiple Application tier servers using Network Load Balancing (NLB).  Last year I first heard of topology improvements in TFS 2010 in Brian Harry’s post about the Administrator, Operations,and Setup Improvements in Team Foundation Server 2010.  I think this is an extremely important feature as companies are utilizing more features in Team Foundation Server and expecting these services to always be available.

In this post I am going to explain:

  • Configuring the second TFS application tier
  • Enabling and configuring Network Load Balancing in Windows Server 2008 R2
  • Testing TFS using the NLB Application tier severs
  • Lessons learned

 

Team Foundation Server 2010 Farm Network Topology Diagram

This is a diagram shows the topology of the TFS configuration I created to demonstrate the NLB option.

 

image

 

I set up this environment on a laptop.  I installed Windows Server 2008 R2 x64 on the laptop as the host OS to utilize Hyper-V.   I added Active Directory Domain Services (ADDS) and DNS to this machine and configured it as the domain controller.  I installed SQL Server 2008 R2 x64 on it also to be the data tier for the TFS installation.  Both TFS Application Tier Servers were created as Hyper-V virtual machines with Windows 2008 R2 x64.  To make this configuration 100% redundant I would have needed to install the reporting services on both of the TFS Servers, used a SharePoint 2007 Farm for the portal, and a SQL Server cluster for the data tier.  In fact, now that I have all of this working, I am going to uninstall everything and try to get WSS and SSRS installed on both application tiers also utilizing the NLB.  This would allow for 100% redundant and high availability for all of the TFS 2010 Components with only 4 servers (creating a 2 server SQL Server Cluster). I will post a follow up on how this goes..

 

Team Foundation Server Installation

The TFS installation and configuration for the first server (TFS2010A) was done just as if it was going to be the only server.  Here are the settings after I installed the first server.

oneserver_apptiersettings

oneserver_datatiersettings

oneserver_reportingserversettings

 

For the second server (TFS2010B), the only pre-requisites that were required were IIS 7 and SQL Client connectivity tools.    Below are the steps for configuring the second TFS Server.

In the TFS configuration, choose the “Application-Tier Only” installation option.

configure_apptieronly

The first step was the Welcome step.  There were no options on this step.  The next step is to specify the configuration database that was created when the first server was configured. 

configure_apptieronly3

Next, specify the service account for the the new application tier.  I chose to use the same domain account that I used for the first server.

 configure_apptieronly4

This screen shows the summary of the settings that were chosen before the verification is run.

 configure_apptieronly5

After the first time I ran the verification I received two errors.  One was that .Net 3.5sp1 wasn’t installed.  I’m not sure why I reported this error.  When I checked it, it was installed.  It could be related to other error.  The other error, TF255040, was that I didn’t have Reporting Services or SQL Server Connectivity tools installed.

 configure_apptieronly6_error

I installed the connectivity tools and reran the verification process and it passed this time.

 configure_apptieronly7

The configuration completed successfully.

 configure_apptieronly9

The TFS administrative console now shows both application tier servers.

configure_apptieronly10 

 

Setting up Network Load Balancing in Windows 2008 R2 and Hyper-V

Now that both servers are installed and configured correctly, the next step is to set up Network Load Balancing (NLB).  This will allows users to connect to TFS through a single endpoint and allow NLB to balance the traffic and route all of the traffic to one server if the other is unavailable.  This provides high availability in the event of an outage or when the servers need to be updated.

The first thing to do before setting up NLB is to pick a static IP address and create a DNS (A) Record for the shared name.  In this example, TFS2010 is the endpoint that clients such as Visual Studio 2010.  Here is a snapshot of the A records.

configure_nlb5

 

Here is an article I used to help enable and configure NLB in Windows Server 2008 R2.  Below are the steps I performed to configure it.
http://technet.microsoft.com/en-us/library/cc731695.aspx

For each TFS Application Tier server, install Network Load Balancing by going to Server Manager > Features > Add Features > Network Load Balancing

configure_nlb

Once NLB is installed on all of the App Tiers, run the Network Load Balancing Manager by typing nlbmgr at the command prompt.  Then connect to one of the hosts.  I chose TFS2010a first.  Right click on the Network Load Balance node and choose “Add New Cluster”.  Add the current server to the node by walking through the wizard.  You should be able to leave the defaults unless you want to limit the NLB to just port 8080. The last step of the wizard is to assign the Cluster a shared IP Address.  This IP Address is how all of the clients will access and see it.  Make sure this is different than the IP addresses of the any of the nodes in the cluster.

configure_nlb2 

Next, add the other host to the cluster by right clicking on the cluster and choosing “Add Host to Cluster”.  Enter the name of the Host to be added to the cluster.

Here is what the Cluster looks like when it is configured.

nlb_configured

 

Connect to TFS from Visual Studio 2010

connect_tfs_nlb

 

Testing the high availability servers

To test the high availability configuration, I am going to take down one of the TFS application tier servers and then both.  First I created the team project while both servers were available.

Then I created a C# windows project, checked it in, and then checked out one of the files.

Next, I disabled the NIC on TFS2010a.

disabled_tfs2010a_nic

I did a Undo checkout on the file

NLB rerouted the traffic to TFS2010B and it worked perfect.

Next, I Disabled the NIC on TFS2010b so now both are disabled and it should error.

Tried to check out a file and got a TFS not available error as expected.

both_tfs_servers_nic_disabled 

Last, I re-enabled the NIC on TFS2010A

I performed the check out again and worked perfect.

The NLB worked as expected.

 

Lessons Learned

I’m a developer.  I started my IT career as a server and desktop administrator but that was a long time ago.  So setting up a domain to test this scenario was fun but I ran into a few unexpected problems.   Here are a couple things that slowed me down.

  • Installed DHCP and DNS with dynamic IP.  Make sure you assign a static IP address to the virtual internal network card on the DC.  Actually now that I have assigned static IP addresses to both of the TFS Servers, DHCP doesn’t even need to be installed.
  • I couldn’t reach SQL Server 2008 R2 from the TFS Servers.  I got an TF255049 error in the TFS configuration.  I installed the SQL Server Management Studio and couldn’t connect using that.  I set up aliases and toggled named pipes on and off.  Still couldn’t connect.  Finally I stumbled upon the network protocol configuration for SQL.  TCP and Named Pipes were disabled.   Seems very strange but probably a security precaution.  I enabled TCP/IP and it worked perfect.

 

NLB Issue

I ran into an issue trying to configure NLB on Windows Server 2008 R2 using Hyper-V

“The interface is misconfigured”

Cluster IP address (IP) not added to TCPIP properties

Dedicated IP address (IP) not added to TCPIP properties

Fix is to enable MAC spoofing in the settings of each VM in Hyper-V.

enable_mac_spoofing

Enjoy!

Mike

Saturday, February 27, 2010 8:04:00 PM (Central Standard Time, UTC-06:00)  #    Comments [6] -
SQL Server 2008 | Team Foundation Server | TFS 2010 | Visual Studio 2010

# Tuesday, January 05, 2010

To me there has always been a feeling a of excitement to be able to build an application and then deliver it to someone that wants it.  When I first started programming over 20 years ago with GW-BASIC on my Tandy 1000 EX, it was limiting that what I built could only be run within GW-BASIC since it was an interpreted language environment and not compiled.  When I bought Quick Basic 4.5, I could finally compile my applications into an EXE and run them outside of the interpreter.  Then I felt like I hit the big time when I was able to build my first setup package in Visual Basic 4.  I remember I built a Hello World caliber application and created a setup package that took 3 or 4 floppy disks.  I didn’t think it could get any better than this :)  Over the years the the excitement about delivering applications became more from the what was built and not how it would be delivered.  Visual Studio has always included functional, no frills setup projects.  3rd Party vendors have created easier to use and more power tools for creating deployment projects such as InstallShield.   Developers who didn’t purchase a 3rd Party tool were limited to using the OOB (out of the box) setup projects within Visual Studio.  While this is functional, the developer has to know where and how to do things and the usability is not very intuitive.  It requires many steps to creating a MSI that I have blogged about in Deployments with TFS Part 2: How to create an automated deployment MSI.   In Visual Studio 2010 there is finally an easy to solution without purchasing an additional production.

Last week I saw this post from Somasegar on Building setup and deployment packages in VS 2010.   Microsoft has partnered with Flexera, makers of InstallShield to create InstallShield Limited Edition for Visual Studio 2010.  This brings the InstallShield graphical interface to Visual Studio.  In addition to providing a highly intuitive interface for building setup packages, this product allows setup packages to be built from with TFS Team Builds.  This has been a major pain point for automated deployments and SCM (Software Configuration Management) processes.  I downloaded and installed InstallShield 2010 LE and here is a walkthrough of the tool.

Download and Installation

Read Somasegar’s blog post on how to download and install it.  (see link above)

 

InstallShield 2010 LE Setup project

Once it is installed and you create a InstallShield Setup project, the Project Assignment view is the default view.  As you can see, the graphic is a guide that explains the parts of the MSI and the steps to create the package.  At the bottom of the screen are the steps to the installation project.  In addition to the steps at the bottom of the guide, there are also intuitive steps to the right that keep all of the package settings cleanly organized.  

image

This first step is to fill out the basic information about the application that is going to be deployed.

image

In the second step, required operating systems and prerequisite applications can be specified and enforced when installing the application.  Custom prerequisites can be defined by choosing “Create a custom software condition” under “More Options”.

image

The installation Architecture section step is disabled in the Limited Edition.  In the other editions different features can be defined for users to choose what sections they want installed.

image

The next step is the Application Files.  Here the application’s files can be added to the installation.   The “Add Project Outputs” is the primary button for adding the application files.  I found this dialog window to be a lot easier to use than the Visual Studio setup project.

image

The Application Shortcuts step is where desktop and start menu shortcuts can be defined.

image

If the application requires any registry entries, they can be defined in the Application Registry step.

image

The last step is the Installation Interview.  This step asks a series of questions that drive what dialogs the user running the installation will see.  Custom dialogs are not supported in the InstallShield Limited Edition.   Custom dialogs are supported in the Visual Studio setup projects.  For the automated deployment MSIs, I create a dialog that allows the user to specify the environment.

image

Custom Actions are non-standard activities that can be performed at different points of the installation process.  The Limited Edition supports VBScript, JScript, and Exe custom actions.  However, as shown in the following image, there are only a couple points in the process where custom actions can be defined.  The Premier and Professional editions also support InstallScript, a powerful scripting tool to create more advanced customizations to the installation process.

image

After I built the MSI, I ran package to install it.  Users will see this message box that the installation was created with a beta version of InstallShield. 

 image

InstallShield 2010 LE for Visual Studio 2008

The InstallShield 2010 LE Installation also installs a version that works within Visual Studio 2008.  This interface looks the same in Visual Studio 2008 as it does in Visual Studio 2010.

image

 

Building MSIs with Team Build 2010

This is the feature I am most looking forward to in InstallShield 2010 LE.  Standard Visual Studio 2008 setup projects can not be built within Team Build without some tricks.  Unfortunately TFS Source Control and Team Build integration is not available in this beta version.  I verified this with Flexera.  They are currently working on it.  As soon as an updated version is available with this enabled I will do a follow up post detailing the TFS Source Control and Team Build experience.  I’m interested to see the following in action:

  • Triggering a build and having the MSI compile with the updated assemblies.
  • Curious to see if the InstallShield Setup project build can detect new dependencies added.  My tests will include adding a reference to the primary output application.  Then do a new build to see if the MSI will automatically include it.  It might be expecting too much but this would be very beneficial.

 

Overall

  • The Project Assistant is a very simple to use series of steps to create a complete setup project.  As users feel more comfortable with the too, they will probably jump to the specific screens they are looking for in the navigation pane on the right.  Both are highly intuitive and significant improvements over the the standard Visual Studio setup projects.
  • Most things that are supported in the standard Visual Studio setup project can be accomplished with InstallShield 2010 Limited Edition.  For most installation packages, these limitations will not be problem.  However, I will not be able to create automated deployment MSIs because of the limitations of no custom dialogs and not being able to create custom properties.
  • Being able to rebuild the MSIs during each Team Build is a huge benefit.  Once this feature is available, I think it will become my favorite feature.
  • I believe Microsoft and Flexera will both win with this product.  Microsoft’s Visual Studio 2010 will include an improved tool for creating installation packages without having to reinvent the wheel.  Flexera has built an amazing and easy to use product that will work for the majority of scenarios, but many will want to upgrade to the Express, Professional, or Premier editions to get the full power of InstallShield.
  • The final product should be great, but this beta version is not ready to be used for more than evaluation purposes.  Between the beta message box that is displayed when the user installs it and the fact that the TFS Source Control and Team Build integration features are not available yet, I recommend waiting until the final version is released.

Mike

Tuesday, January 05, 2010 12:28:00 AM (Central Standard Time, UTC-06:00)  #    Comments [3] -
Team Build 2010 | Team Foundation Server | TFS 2010 | Visual Studio 2008 | Visual Studio 2010

# Saturday, December 12, 2009

There is a lot of information about the major updates of TFS 2010 and Team Build 2010 including changing from MSBuild to Workflow and Gated Check-Ins to name a couple.  In using TFS and Team Build 2010 beta 2, there are a lot little features and improvements that help make these two products complete and polished.  Here are a few of the features and I keep discovering new ones each time I use it.

 

New Build Definition will default name and solution to build

if you have a solution open in Visual Studio 2010 when you create a new build definition, the build name will default to the solution name.

image

 

An open solution will also automatically be populated as the Project to Build

image

 

The build retention policy is not set to “Keep All” by default.

Finally, the default retention policy for the builds is not set to “Keep All” anymore.  Primarily all results will default to keep the last 10 builds.  In Visual Studio 2008, I always recommended that this should be changed.

image

 

TFS Build notifies you about successful and failed builds

The Team Foundation Build Notification tool used to be part of the power tools.  Now it is included with the standard installation and alerts you to the success or failure of the build.   This supports continuous integration and gated check-in builds.  The notification dialog window also has an option for unshelving failed gated check-ins.

This dialog displays for a successful Gated Check-in build

GatedCheckinResults

 

This dialog is display when a Gated Check-In fails.  Notice the Unshelve Changes option to retrieve the changeset that was be attempted to be checked-in.

FailedGatedCheckin

Build Parameters are now strongly typed and visible

In Team Build 2008, parameters could be passed in to a build when it was being queued.   However the format was command line argument style passed into a textbox similar to this:

/p:IsThisCool=”false”

In Team Build 2010, the build parameters are displayed as strongly typed properties.   This will allow for type checking and eliminate the misspelling of parameters.

image

 

Enjoy all of the great new features in Team Build 2010 including these smaller but helpful features!

Mike

Saturday, December 12, 2009 6:10:00 AM (Central Standard Time, UTC-06:00)  #    Comments [0] -
Team Build | Team Build 2010 | Team Foundation Server | TFS 2010

# Thursday, November 26, 2009

Here are the updated slides for my Getting Agile with TFS 2010 presentation.  I gave this presentation for two lunch and learns at ANT and then earlier this week at the Omaha Team System User Group meeting.  I had a great time giving this presentation multiple times.   Thanks everyone that attended these talks. 

Getting Agile with TFS 2010 Presentation Slides

Mike

 

Thursday, November 26, 2009 11:54:00 PM (Central Standard Time, UTC-06:00)  #    Comments [0] -
Agile | Team Foundation Server | TFS 2010

# Tuesday, November 03, 2009

I am going to giving two Getting Agile with Team Foundation Server 2010 talks in November, both in Omaha, NE.  On Thursday November 12th, I will be giving the talk for a lunch and learn at Advanced Network Technologies.  You can register for the event here.  On November 24th, I will be giving the talk at the Omaha Team System User Group Meeting.  Here is more information about the event and registration instructions.

This is the same talk as the one I gave at the Heartland Developer Conference in October but I will be using Beta 2 for these two.  Here’s some more details on the presentation and myself.  I look forward to seeing everyone there.

Presentation: Getting Agile with TFS 2010

This presentation will demonstrate a complete two week scrum iteration from the planning meeting to development, testing, and bug fixing to deployment utilizing the features found in Team Foundation Server 2010. New features include gated check-ins for Continuous Integration (CI), Test-Driven Development (TDD), Product Backlog enhancements including hierarchical views and support for multiple teams to work from a single backlog. The presentation also demonstrates the enhancements to the TFS Portal and Web Access to support Agile planning and displaying graphs such as burn-down charts. Each walk through includes a live demonstration of the feature in Visual Studio 2010.

Speaker: Mike Douglas, Deliveron Consulting Services

Mike Douglas is a Solution Consultant at Deliveron Consulting Services where he provides end-to-end solutions and TFS installation, configuration, and custom development for clients.  He has over 11 years experience building enterprise level applications on a variety of .NET technologies including WCF, Web Services, ASP.NET, Disconnected Smart Clients and Data Synchronization, BizTalk, and Team Foundation Server.  Mike enjoys trying to keep up with the constant change and evolution of .NET.  Mike is an experienced presenter having spoken at several Omaha .NET User Group meetings on CSLA.NET, Subsonic, and TFS.  He also spoke at the 2008 ESRI International User Conference on a GIS integration project he helped lead. Mike actively maintains the open source project, Team Deploy, on CodePlex for deploying MSIs using Team Foundation Server.  Mike also enjoys sharing his experiences in Code Generation, CSLA.NET, and TFS on his blog at www.CodeSmartNotHard.com.

Tuesday, November 03, 2009 3:42:00 AM (Central Standard Time, UTC-06:00)  #    Comments [0] -
Agile | Team Foundation Server | TFS 2010

# Tuesday, October 20, 2009

Visual Studio 2010 and TFS 2010 beta 2 were just released on Monday and there is already an incredible amount of information available.   It is hard to keep up with all of the information.   I created a list of some of the links to posts and downloads I have found and others have tweeted about.  I’m sure I missed some.  Let me know if there are any links I missed that you want me to add to the list.

Downloads

Download Visual Studio 2010 Beta 2
http://msdn.microsoft.com/en-us/default.aspx

Visual Studio 2010 and .NET Framework 4 Training Kit - October Preview
http://www.microsoft.com/downloads/details.aspx?familyid=752CB725-969B-4732-A383-ED5740F02E93&displaylang=en

Team Foundation Installation Guide for Visual Studio Team System 2010 (Updated)
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=2d531219-2c39-4c69-88ef-f5ae6ac18c9f

Visual Studio Team System 2008 Service Pack 1 Forward Compatibility Update for Team Foundation Server 2010 (Installer)
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=cf13ea45-d17b-4edc-8e6c-6c5b208ec54d

 

Multimedia

10-4 Episode 33: Downloading and Installing Visual Studio 2010 Beta 2
http://channel9.msdn.com/shows/10-4/10-4-Episode-33-Downloading-and-Installing-Visual-Studio-2010-Beta-2/

Radio TFS - The Ultimate Announcement Show
http://www.radiotfs.com/2009/10/19/TheUltimateAnnouncementShow.aspx

 

Visual Studio Blog Posts

Somasegar - Announcing Visual Studio 2010 and .NET FX 4 Beta 2
http://blogs.msdn.com/somasegar/archive/2009/10/19/announcing-visual-studio-2010-and-net-fx-4-beta-2.aspx

Scott Guthrie - VS 2010 and .NET 4.0 Beta 2
http://weblogs.asp.net/scottgu/archive/2009/10/19/vs-2010-and-net-4-0-beta-2.aspx

Shai Raiten - Historical Debugger Is Now –> IntelliTrace And Much More
http://blogs.microsoft.co.il/blogs/shair/archive/2009/10/20/historical-debugger-is-now-gt-intellitrace-and-much-more.aspx

Jeff Bramwell - Visual Studio 2010 – Beta 2 Released
http://devmatter.blogspot.com/2009/10/visual-studio-2010-beta-2-released.html

Duke Kamstra - What’s new for Data Dude in Visual Studio 2010?
http://blogs.msdn.com/vstsdb/archive/2009/10/19/what-s-new-for-data-dude-in-visual-studio-2010.aspx

Emil Protalinski - Visual Studio 2010 simplified to four SKUs, Beta 2 arrives
http://arstechnica.com/microsoft/news/2009/10/visual-studio-2010-simplified-to-four-skus-beta-2-arrives.ars

Jeff Beehler - “Going live” with Visual Studio 2010 Beta 2
http://blogs.msdn.com/jeffbe/archive/2009/10/19/going-live-with-visual-studio-2010-beta-2.aspx

 

TFS Blog Posts

Buck Hodges - TFS 2010 server licensing: It's included in MSDN subscriptions
http://blogs.msdn.com/buckh/archive/2009/10/20/tfs-2010-server-licensing-it-s-included-in-msdn-subscriptions.aspx

Allen Clark - Enabling New Application Lifecycle Management Features for Visual Studio 2010 Beta 2 in Upgraded Team Projects
http://blogs.msdn.com/allclark/archive/2009/10/13/enabling-new-application-lifecycle-management-features-for-visual-studio-2010-beta-2-in-upgraded-team-projects.aspx

Martin Hinshelwood - Installing Visual Studio 2010 Team Foundation Server on Windows Vista in 3 minutes
http://blog.hinshelwood.com/archive/2009/10/20/installing-visual-studio-2010-team-foundation-server-on-windows-vista.aspx

Martin Hinshelwood - Configuring Visual Studio 2010 Team Foundation Server on Vista in 12 minutes
http://blog.hinshelwood.com/archive/2009/10/20/configuring-visual-studio-2010-team-foundation-server-on-vista-in.aspx

Compatibility Matrix for 2010 Beta 2 Team Foundation Server to Team Explorer 2008 and 2005
http://blogs.msdn.com/teams_wit_tools/archive/2009/10/19/compatibility-matrix-for-2010-beta-2-team-foundation-server-to-team-explorer-2008-and-2005.aspx

Tuesday, October 20, 2009 5:42:00 PM (Central Daylight Time, UTC-05:00)  #    Comments [0] -
TFS 2010

Here are the slides from my An Iteration in the Life of an Agile Team with Team System 2010 talk at the 2009 Heartland Developer Conference.  Thanks for everyone that attended.  I had a great time giving the talk and at the rest of the conference.

http://www.codesmartnothard.com/content/binary/agile_vsts2010.zip

If you didn’t get a chance to attend my talk, I am going to be giving the presentation again (This time with beta 2!) at the next Omaha Team System User Group meeting on November 24th.  Check out the Omaha Team System User Group website for more details.

Thanks!

Mike

Tuesday, October 20, 2009 4:15:00 AM (Central Daylight Time, UTC-05:00)  #    Comments [0] -
Agile | HDC | Team Foundation Server | TFS 2010

# Monday, August 17, 2009

Today I completed the installation of Team Foundation Server 2010 beta 1.  I had previously started a couple times and run into a couple issue (mostly time) but didn’t get a chance to finish.  Tonight I finally worked through a couple issues and completed it.  I kept a few notes of the issues I encountered and what I did to resolve them.  If you run into any of these errors, I hope they help.

TFS Configuration Wizard Readiness Checks

When the configuration wizard completed, I had errors in Reporting Check and SharePoint Check.

Reporting

Here is the error

TF255275: The following Web service for SQL Server Reporting Services could not be accessed: http://myserver/ReportServer/ReportService2005.asmx

Problem was I installed Report Services in Integrated Mode.  It only supports Native.

Here are the steps to fix the error:

1. Deleted the ReportServer databases
2. Recreated the ReportServer database in Native mode.

SharePoint

We are planning on using this server for multiple things and we installed SharePoint 2007 on before I started the installation of TFS 2010 beta 1.  I thought that TFS would simply install the extensions to any compatible SharePoint installation on the server.  Apparently, TFS must install and configure SharePoint on the machine before the verification will allow you to continue. 

Here is the error

TF255282: Windows SharePoint 3.0 cannot be installed error on server.  The program is already installed on this server.

The fix is easy.  Simply, go to Add/Remove programs and uninstall.   However I do want MOSS 2007 to be install on it.  Once, I have a backup made after VSTS 2010 finishes installation.  I am going to try uninstalling WSS 3 and reinstalling MOSS 2007.

 

image

After fixing these two bugs, the Readiness Checks completed successfully.  Clear sailing from here?  Not quite.   When the configuration tool completed, it displayed the following error.

Windows NT user or group '.\tfsservice' not found. Check the name again.

Installation log details:

TF255356: The following error occurred when configuring the Team Foundation databases: Error occurred while executing servicing step Setup Warehouse for component TfsWarehouse during Install: Windows NT user or group '.\tfsservice' not found. Check the name again.. For more information, see the configuration log. (Error occurred while executing servicing step Setup Warehouse for component TfsWarehouse during Install: Windows NT user or group '.\tfsservice' not found. Check the name again.) ---> Microsoft.TeamFoundation.Framework.Server.CollectionServicingException: Error occurred while executing servicing step Setup Warehouse for component TfsWarehouse during Install: Windows NT user or group '.\tfsservice' not found. Check the name again. ---> System.Data.SqlClient.SqlException: Windows NT user or group '.\tfsservice' not found. Check the name again.

The system allowed me to enter a dot for the server name instead of the actual server name and then display the error.  I would classify this more as a user error but it would be nice to prevent or allow configuration tool, to lookup the actual server so it will complete.  I logged an error with Connect.  I will see how they rate it.

For the fix, fortunately I took a snapshot of server right before I ran this.  I restored to the previous step and restarted the configuration tool.   For the service name, I entered: <myserver>\TFSService and everything worked.

image

It finally completed with a Success message!!!  

While I have been typing this, I started the TSVS 2010 Beta 1 Installation.  It is really slow (knock on wood), but so far it hasn’t caused any errors.

 

Thanks,

Mike

Monday, August 17, 2009 5:01:00 AM (Central Daylight Time, UTC-05:00)  #    Comments [3] -
Team Foundation Server | TFS 2010

Visual Studio ALM MVP
Microsoft Visual Studio ALM MVP
Archive
<February 2012>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910
Blogroll
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2012
Mike Douglas
Sign In
Statistics
Total Posts: 76
This Year: 0
This Month: 0
This Week: 0
Comments: 53
All Content © 2012, Mike Douglas
DasBlog theme 'Business' created by Christoph De Baene (delarou)