Wednesday, April 30, 2008

Rosario Preview #4: Tester Edition

Visual Studio Team System Code Name "Rosario" Test Edition provides new functionality that lets you easily create, manage, edit and run manual tests. Read about manual tests here.

The new Tester Edition is great that address the needs of the UI testers.  This post is a preview of the main features in this edition.

(Click on images to enlarge)


Planning a Testing Effort

Camano Icon on desktopCamano is a standalone application that allows users the ability to author, plan and manage a testing effort from a simple UI specialized for displaying test artifacts.  Planning a testing effort gives you the ability to manage your manual testing efforts and report on your progress. By using this functionality, you can create test plans that show what you plan to test for a specified period of time. Also, you can create test configurations that specify the test environments for your tests.



Camano's main window


Test Case Planning


Test Suite

The manual test cases you create are associated with a specific team project. You can add test steps, validation steps, and parameterized data to the manual test case.

You organize the manual tests into test suites, and then you create a test plan to define which test suites will be run on specific test configurations. You can select the tests you want to run from the test plan.


Executing Manual Test Cases

When you run a manual test, you can optionally make a video recording of the test case. You can add comments, screenshots, and other files as you run the test. If the test fails, you can create a bug. This bug is automatically populated with any of the following information associated with this specific run of the test case:

  • Test steps

  • Validation data

  • System information

  • Video recording

  • Screenshots

  • Log files

  • Action log


Because this functionality is integrated with the other parts of the Visual Studio Team System, you can publish the results to your Team Foundation Server.



Automate a manual test & add validation

Suppose we asked to convert the test into a coded UI test that can run in un-attended mode, we can generate the code from the background recording & then adds validation code using Visual Studio:


Create new UI Element


Adding validation code


Related posts:

Tuesday, April 29, 2008

Team Foundation Server 2008 SP1 Preview

Brian Harry just posted about the many new impressive features and changes coming out in TFS 2008 service pack 1. It is quite a comprehensive blog post and well worth the time to read through it. Check it out at "Team Foundation Server 2008 SP1 Preview".


List of features:

Version Control

  • Add to Source Control
  • Drag & Drop
  • Version control of unbound files
  • Simpler working folder mappings
  • Checkin date/time column
  • Local Path is now a link
  • Editable source location
  • Download files to a stream

Work Item Tracking

  • Ribbon support for Office 2007
  • Easily email work items

TFS Build

  • Easily locate TFSBuild.proj file
  • Conditionalize builds on the trigger
  • Detect test result
  • Dynamically created properties
  • Reduce build log noise
  • Query build definitions across Team Projects

Visual SourceSafe migration tool (vssconverter.exe)

  • Elimination of namespace conflicts
  • Automatic solution rebinding
  • Correction of timestamp issues
  • Improved logging

Other areas

  • SQL 2008 support
  • Team System Web Access links
  • # of projects per sever
  • Create Team Projects with a script

Performance & Scale

  • Improved syncing identities from Active Directory
  • Improved checkin concurrency
  • tf branch /checkin
  • Online index rebuilding
  • Team build support for very large checkins
  • Faster security manager
  • tf get /remap


You can't download any prerelease version of the Service Pack yet, but it shouldn't be too long now.

Monday, April 28, 2008

Error when Creating Database Projects

Recently I got a question about permissions error that  occurred when trying to create database project in the local instance of Microsoft SQL Server used for design-time validation. The error was: "CREATE DATABASE permission denied in database 'master'".


To create database you must be a member of the dbcreator and securityadmin fixed server roles in the server instance that you specified for design-time validation.

First, ensure that the instance name that is specified for your design-time validation database is correct.

Second, a user with sysadmin permissions should run the following script on your design-time validation database:

USE master
GRANT EXECUTE ON sp_detach_db TO public

For more information read Required Permissions in Database Edition.

How To Deploy Data Dude Project Changes using Team Foundation Build

When you want to build and deploy database projects with team build you need to edit the database project file and the Team Build file. That's because database projects store any non-default values for the TargetDatabase, TargetConnectionString, and DefaultDataPath properties in a <ProjectName>.dbproj.user file.  *.user files are not checked into version control in order to let every user use different values.


Step 1 - Modify build project file (team build .proj file)

Open the BuildDefinition.proj file, and at the bottom of the file, between the </ItemGroup> element and the </Project> element, add the following:

<Target Name="AfterDropBuild">
<MSBuild Projects="$(SolutionRoot)\SolutionName\ProjectName\ProjectName.dbproj"
Properties="Configuration=Default;OutDir=$(SolutionRoot)\..\binaries\Default\" Targets="Deploy" />


Step 2 - modify the database project file

The target connection and database are stored in the ProjectName.dbproj.user file, which is user specific and not typically checked in to version control. You require those settings to deploy your database. Therefore, you must modify the ProjectName.dbproj file manually to specify the target connection and database.

Copy the lines that contain the definitions for the TargetDatabase and TargetConnectionString properties from the section in the ProjectName.dbproj.user file for the configuration that you want to build. These lines will resemble the following:

<TargetConnectionString>Data Source=ServerName\InstanceName;Integrated Security=True;Pooling=False</TargetConnectionString>

If TargetDatabase and TargetConnectionString already contain empty elements, you should overwrite those entries.


More into at the msdn page.

Saturday, April 26, 2008

Visual Studio 2008 Product Comparison Guide, v1.08 + Updates

A new version of the Visual Studio 2008 Product Comparison Guide is now available. Version 1.08 includes updates to a number or line items, but in particular it includes a lot of fixes in the debugging section and adds a section on 64-bit development features.

Tuesday, April 22, 2008

March 2008 TFS Power Tools now available

Brian Harry has just announced that the March 2008 Team Foundation Power Tools have been released:

We've just released a new version of the TFS Power Tools.  This new Power Tool release will work only with the VS/Team Explorer 2008 client (but against either a TFS 2005 or TFS 2008 server).  If you haven't taken the time to upgrade yet, I highly recommend it - you are missing out on lots of great new value we are delivering.

This release includes:

  • Process Template Editor support for custom work item controls
  • TFSServerManager client
  • TFS BPA support for Windows Server 2008
  • Work Item Template improvements Scriptable Team Project creation
  • Support for 64-bit Sharepoint farms
  • Unshelve to a different branch
  • Improvements to tfpt review
  • Delete global lists in the work item tracking system
  • Update bound Microsoft Office docs when the TFS server name changes
  • Performance improvements in tfpt online

Click here to download.


Rosario Preview #3 - Developer Edition

The 3rd preview of Rosario's April 2008 CTP will focus on the Development Edition. This edition has some great features, my favorites are: Historical Debugger, Standalone Debugger and Rule Sets for Code Analysis.

(Click on image to enlarge it)

Historical Debugger

Visual Studio Historical Debugger captures and records what the application does while it is running. When an error occurs, you can quickly find the root cause by investigating the information that was recorded by the Historical Debugger. At any time during debugging, you can go backward and forward in time to determine where an error occurred.

Historical Debugger

Historical Debugger increases debugging productivity by reducing the time it takes to reproduce and diagnose an error in your code.

Historical Debugger


Code Analysis with Rule Sets

We are presented with a list of built-in rule sets when we configure Code Analysis. We can either use the minimum recommended rules, or we can select alternative rule sets that relate to our project type. In either case, the rule sets can also be customized to fit your project requirements
For example, you can select a rule set that is suited for scanning code for a publicly available API.

Code Analysis with Rule Sets 

Available Rule Sets

Rule Set Description
All Rules This rule set has all rules enabled.
General API Design Guidelines This rule set contains rules that apply to any API, especially if the API is intended for external use. These rules closely follow the design guidelines for the .NET Framework. Use this rule set if you are building a programming interface such as a class library, Web service, WCF service or workflow library.
General Web Development Guidelines This rule set contains rules that apply to Web development. This includes Web applications, server controls, AJAX and Web services. This rule set enables additional security and performance rules that help ensure that your Web site is reliable.
General Windows Application Guidelines This rule set contains rules that apply to Windows application programming. Use this rule set to help you assess the quality of your Windows application. This rule set applies to Windows Forms applications, console applications, WCF applications, WPF applications and workflow applications.
Legacy Code Cleanup This rule set contains rules that can help clean up legacy code. The rules that are violated can be fixed without having to change the public interfaces of your code. Therefore, they are ideally suited to cleaning up a legacy code base. These rules apply across all project types for which analysis is enabled.
Minimum Recommended Rules This rule set has the minimum set of rules enabled. If you encounter warnings when a scan with this rule set is enabled, it is likely that there is an error in your code.
Release Criteria This rule set contains rules that should be applied to an application that is undergoing final checks before release.


Debugging with the Standalone Debugger

Visual Studio Stand-Alone Debugger is a lightweight, stand-alone debugger that allows you to quickly diagnose problems in development, test, and production environments.

Visual Studio Stand-Alone Debugger (VSSD) does not require setup or configuration, which makes it ideal for situations where it is important to have minimal impact on the environment. In addition, deploying Visual Studio Stand-Alone Debugger is as simple as copying a few files. We can carry Visual Studio Stand-Alone Debugger on a USB thumb drive for “Just-In-Time” troubleshooting....

Creating the Standalone Debugger

Standalone Debugger


Wizard ...

Standalone Debugger


Standalone Debugger


This is the wizard's product - folder which contains the debugger...

Standalone Debugger


And the debugger!!


Once the Standalone Debugger is running, we can click the “Attach: Process” link on the start page to start debugging.

Additionally, the VSSD does not touch the system's registry. The VSSD uses most of the features that are available in the Visual Studio Debugger.


The development edition  has several new features, most of them in the area of the debugging and testing. I'm sure that the productivity of the developers and the quality of code will increased.




Posts about Rosario:

Saturday, April 19, 2008

Rosario Preview #2 - Team Build

This is the second post in a series about April CTP of Rosario's.

Team Build System Based on Windows WorkFlow Foundation

The new Team Build system in Rosario built on Windows Workflow Foundation, featuring dynamic build machine allocation from a machine pool and distributed build functionality.


New Term - “Build Controller”

In Rosario, Team Build uses an agent/controller architecture where the controller is responsible for managing a pool of agents. Notice the notion of “Tags” which let you define metadata for a build controller/agent. Then you can target your builds at agents/controllers that have a specified tag.

Controller that hosts a build execution is the pool of build machines where the build will run. Additionally, the workflow that comprises your build process will run on both the controller and the agent with coordination activities occurring on the controller.

No doubt, Rosario's Team Build introduce interesting issues especially the support in WF - it seems that most of the problems in the area of custom task(s) can be handled by this issue. I'll check it out and post about it later.


Posts about Rosario:

Wednesday, April 16, 2008

Team System Web Access 2008 SP1 and Work Item Web Access 2008 CTP's Available

Community Technology Previews (CTP) for Team System Web Access 2008 SP1 and Work Item Web Access has just released by Hakan Eskici and TFS team.

Team System Web Access (TSWA) 2008 SP1 (CTP)

Work Item Web Access (WIWA) 2008 (CTP)

Tuesday, April 15, 2008

Rosario Preview #1 - Exciting Enhancements Of The Version Control

This is the first post in a series I'm writing about Rosario's tidings.

The first taster will be about the new enhancements in the Source Control area.

So, what's new there?

  • Editable source location field

Editable source location field 

this enables us to navigate to other place in the tree easier, also copy this location.

  • Last checkin column

Last checkin column

we don't need to open the history in order to know when the file was checked-in.

  • Hyperlinks to local working folders

Hyperlinks to local working folders

great feature - click on this link opens the local mapped folder .

  • Simplified workspace mappings

    • Now you can  cloak folders from the mappings
    • Mapping a folder from the source control itself without opening the workspace manager.

Map to local folder:


Cloak folder:



  • A new Add Files to Source Control wizard and support for drag and drop from Windows Explorer to Source Control Explorer

We can add files from the tree and a wizard is opened. The wizard helps us to map a folder if it's not mapped and even exclude items.





  • Enhanced, non-modal conflict resolution experience, integrated into the pending changes tool window



  • New history view that shows labels applied to a file


Saturday, April 12, 2008

April 2008 Rosario CTP Available

It's here! You can download it !

Jeff Beehler has just announced:

… that the next Community Technology Preview of Rosario (officially known as Microsoft® Visual Studio® Team System code name “Rosario” April 2008 CTP) is now available.  Customers can immediately begin downloading the VPC images from our download page.


Here's a list of walkthroughs broken out by product:

Architecture Edition

  • Exploring the existing code structure
  • Designing process flow as activities
  • Designing user interactions with systems
  • Designing system functionality as components
  • Visualizing and designing types in systems
  • Visualizing and designing interaction sequences in systems

Development Edition

  • Simplify Code Analysis rule selection with rule sets
  • Find and fix a bug using the historical debugger
  • Identify the test impact of code changes
  • Find a bug on a separate machine using the standalone debugger

Database Edition

  • Building and using an off-line representation of your operational database as a “sandbox” development environment.
  • Using Data Generation to custom-build data for testing your database application.
  • Making and unit-testing schema and code changes in an off-line environment.
  • Performing static code analysis of your programmability objects.

Test Edition

  • Planning a testing effort
  • Executing manual test cases
  • Verify the fix
  • Automate a manual test and add validation.

Team Foundation Server

  • Managing an Agile schedule
  • Easier reporting from Excel
  • Managing features with the CMMI Process
  • A new Add Files to Source Control wizard and support for drag and drop from Windows Explorer to Source Control Explorer
  • An enhanced, non-modal conflict resolution experience, integrated into the pending changes tool window
  • A new history view that shows labels applied to a file as well as how changes were merged across branches
  • A new automated build system built on Windows Workflow Foundation, featuring dynamic build machine allocation from a machine pool and distributed build functionality
  • Rollback for a check in (currently only available at the command line)
  • Many Source Control Explorer usability enhancements

Feedback in the form of bugs and suggestions can be submitted via Make sure when you submit issues through Connect that you indicate the product version as being “Visual Studio Team System Code Name “Rosario” (April 2008 CTP)”.

Wednesday, April 9, 2008

My TechED Talk - Slides AND Demo

Yesterday I had the pleasure of presenting at TechEd Israel 2008. It was a great experience!

My Session went very well, if I do say so myself. I talked about controlling your database lifecycle with data dude.

In any case, if you were in my talk, I'd love to hear your comments (good or bad!) about it so that I can either feel good about it, or get better for next time.

Thanks to everyone that wake up for the talk - it was very well attended despite the time (9:00 AM after the midnight party...).

You can download here slides and demo:

Tuesday, April 8, 2008

My TechED Session Is Over

Thank you everybody who attended this morning (after last night part) to see my presentation. I hope you enjoyed and feel it open your mind.

Feel free to contact me to ask anything. I'll publish the slides and demos soon.


Saturday, April 5, 2008

Determine TFS Edition: Full, Workgroup, Trial

What version of TFS do you have? The full edition? Workgroup edition? or maybe Trial edition?

To answer this question, open your registry (Start-->Run-->regedit.exe) and navigate to:


Note: If you have TFS 2005, replace the 9.0 with 8.0

You will find in this key a value named Edition_CT. This value is a string that indicates the edition you have. (This text equivalent to the encrypted key of the Edition value)

Available values:

  • Trial
  • Workgroup
  • Full (The standard edition)