Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

Optimize MS tools for better test development

Expert Amy Reichert discusses management strategies for using MS tool suites.

For the first time in my testing career I'm finally using the entire Microsoft suite of tools for testing. In my past testing experiences I've had access to a tool, or part of one, but never a single-focused, full tool set. I've only scratched the surface of possibilities. For instance, TFS and MTM provide a complete MS tool suite for Agile software development, kanban board task tracking, coding, test development, test management and test tracking. Add SQL Server to the testing toolbox to cover database testing needs. Our team is starting to explore testing within Visual Studio, both manually and via automation. I'll share some tips that save time and reduce waste, while providing a well-organized software development management structure.

Development management and task boards

Microsoft Team Foundation Server (TFS) provides all the tools necessary to manage a software development project in a single tool. Teams can create development space using xxx. XXX allows teams to post notes and communicate whether they're located in the same office or geographically dispersed. XXX has a social media feel and includes the ability to add charts generated from multiple defined metrics like team velocity or release statistics. More importantly, backlog management tools and boards -- task or kanban -- can be built and are straightforward to use. There isn't a need for secondary tools; development teams can build everything with TFS.

One tip on using TFS for kanban or sprint task boards -- create a single board. Many teams tend to create both a backlog board as well as a task board. However, two boards make updating more time-consuming, albeit not by much. The largest problem is that two boards introduce confusion. What do I update first? Which board is in control? The team's status may be misunderstood if someone doesn't keep both boards up to date in the correct order. Eliminate the unnecessary duplication of work and confusion and build a single board. In my opinion, one single kanban task board is the most direct, least error-prone method when creating task boards in TFS.

Test development and execution

TFS includes Microsoft Test Manager (MTM), but MTM is not actually needed: Teams can opt to do everything in TFS itself. However, MTM does have several features that make writing and editing tests in MTM less tedious than in TFS. For example, users can copy and paste test steps between tests in MTM directly without changing views. Editing tests in TFS requires patience because many Windows commands aren't available without digging. Additionally, when writing a test case within MTM, users can hit ALT + <Enter> to add multiple lines to a test step. In TFS, steps are created individually without the ability to add visual formatting. Adding visual formatting to test cases in the form of a bulleted list, numbered list or other formatting that breaks up the text helps improves readability. Testers can easily get lost in long tests of single sentences. Breaking long stretches of sentences with visual formatting is simply kinder and tester friendly.

Personally, I prefer the MTM user interface because I like to write tests directly into a single tool rather than importing or exporting from applications such as Word or Excel. It's a preference, but the nicer editing features make using MTM both faster and better than using TFS directly.

For executing tests, TFS and MTM work the same. The best part is that a tester can plan and test in the same place, simply using toolbar commands. In other words, it's optional to create separate test labs and then search and drag tests into execution suites. I can build my test suite on the fly in TFS and execute it directly, giving me additional time to actually test rather than create separate execution suites. I can still create full traceability and reporting metrics without taking extra steps leaving me more time for focused testing.

Next Steps

Microsoft, ATT introduce joint mobile office suite

Discover how to attain Inbox Zero using an MS tool

Read more about Microsoft's big data strategy

Does Microsoft TFS meet your QA and testing needs?

Dig Deeper on Topics Archive

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

What's your favorite tool for managing software development, and why do you like it?
I don’t think that I really have a favorite tool for managing development. From the perspective of managing WIP, my team uses Trello, which works very well for what we need. As far as managing our tests and test charters goes, we’ve been using HP ALM since I started here, and have recently, over the past couple of years, started looking at other test management tools, including Rally. We spent a little time looking at TFS and MTM when some teams were using TFS, but they have moved in a different direction, so neither of those panned out.
I've gotten the most use out of Podio. In particular, I'm quite fond of its ability to have people assign each other to tasks, set things up so we always know the status of where we're at, and clarify who's supposed to be doing what.

Podio's also been actively supported by its developers, and recent changes like its improved searching capability, mobile access, and read-only setups have made development work even easier to report properly.
Favoite tools for managing Software.  Hrms that's an interesting question.  A lot depends more on the process you want, I think than the tool you prefere.   For example, you can use Bugzilla or Trac to help manage some work, but it's a pretty rough way to do it.  You could integrate with something large like JIRA, but that might be overkill.  I think I like the MS TFS the best for those things.

Let's try this again.... If I were to choose one I would say that I like the customization inherent in MS TFS.  But there are other tools I like as well.   tools like GITHub, Trac, and Bugzilla can also provide help in managing your software dev practice.
I feel the MS TFS suite is good if your team is all bought into .net, but teams expecting to get a lot of use out of the 'testing' parts of it should beware.  Yes you can write some automated checks, and yes you can write test cases, but Test Manager still has a lot of room for improvement.  I've not seen the latest version yet, but I still don't see good support for teams that handle more agile testing, (for example exploratory) in a way that makes sense.   I like TFS for developers, and it has gotten much better over the years, but I feel the only good part about Test Manager is the ability to get some trace-ability to test cases.  And that is only valuable if you are a shop that makes writing test cases part of its bread and butter.  If you aren't, well, I'm not sure why you'd want Microsoft Test Manager.