Skip to main content

Agile with TFS Presentation Follow-up

Thanks for everyone attending my "Implementing an Agile Software Development Process with Team Foundation Server (TFS)" presentation today. We enjoyed some good discussion. I had a few TFS-related questions pop up which I thought I'd address in a post:

Q. Is it possible to fail the build but only if a specific test fails? So, let's say we have 3 tests. If Test01 or Test02 fail, fail the build. If Test03 fails, don't fail the build.

A. Not that I'm aware of. If any test fails in a build but compilation succeeded, that build lists a state of Partially Succeeded. With TFS 2008 SP1, we received a property to modify or control this behavior: TreatTestFailureAsBuildFailure. If true (false is the default), any test failure will set the build state to Failed (vs. Partially Succeeded). Nice write-up here.

You might take the approach of creating two separate builds: one that contains all your tests and one containing just mission critical tests. Set TreatTestFailureAsBuildFailure to true for that one and any test failure will fail the build. Not precisely what you want but close. It may also be beneficial or helpful to check the TestSuccess output parameter.

Q. Can I move a Work Item from one team project to another (prefer not to copy...delete)?

A. Unfortunately, no. One can use the TFS Migration Tool but it's a bit heavy. We typically copy to the destination team project and then Close the source work item. For one client, we even developed a desktop triage application to programmatically copy and then delete defects and task requests between team projects. The client wanted to triage out of one team project and then distribute the work item to the correct team [project].

Comments

Popular posts from this blog

Rollback a Ooops in TFS with TFPT Rollback

Rhut roe, Raggie. You just checked in a merge operation affecting 100's of files in TFS against the wrong branch. Ooops. Well, you can simply roll it back, right? Select the folder in Source Control Explorer and...hey, where's the Rollback? Rollback isn't supported in TFS natively. However, it is supported within the Power Tools leveraging the command-line TFPT.exe utility. It's fairly straightforward to revert back to a previous version--with one caveot. First, download and install the Team Foundation Power Tools 2008 on your workstation. Before proceeding, let's create a workspace dedicated to the rollback. To "true up" the workspace, the rollback operation will peform a Get Latest for every file in your current workspace. This can consume hours (and many GB) with a broad workspace mapping. To work around this, I create a temporary workspace targeted at just the area of source I need to roll back. So let's drill down on our scenario... I'm worki...

VSTS 2008 Data-Driven Web Test

During a client demo this afternoon, I mind-blanked on creating a data-driven web test. Sure enough, I stepped out of the client offices and figured it out. Super. But, I think it's counterintuitive enough to outline in a blog post (...trying to make myself feel better ;-). Somewhat in my defense, I was thinking about data-driven unit tests. These, IMO, are easy to implement. Data-driven web tests are a bit more effort and challenging. Create a web test: Right-mouse on your test project selecting Add >> Web Test. Use the browser recorder to capture your web test scenario. Let's assume you're submitting an age and credit rating to an insurance rate calculator...similar to the screen capture below: Create a table or CSV file (comma-delimited...just use Excel and save as CSV) with relevant headings for your inputs and expected values: From Solution Explorer, double-click on your web test. In the main window, right-mouse on your web test selecting Add Data Sou...

TFS Reports Out of Date

You may have noticed it takes a while for Team Foundation Server (TFS) reports to reflect changes you've made to work items or builds. Let me guess...about an hour, right? Out of the box, TFS is set to refresh the data warehouse from its transactional store every 60 minutes. How do I change the frequency of the data warehouse refresh? Browse to the TFS Controller Web Service on your TFS application tier server within IE at: http://localhost:8080/Warehouse/v1.0/warehousecontroller.asmx Select the ChangeSetting option Enter RunIntervalSeconds for the settingId and the desired number of seconds for newValue (300 for 5 minutes...5*60) Select Invoke How do I force a data warehouse refresh? Two methods here: either via the above web service or using SQL Server Management Studio. Via the web service: Browse to the TFS Controller Web Service within IE at: http://localhost:8080/Warehouse/v1.0/warehousecontroller.asmx Select the Run option Click Invo...