I have recently surpassed a milestone of helping over 100 companies
migrate and implement Team Foundation
Server to become the backbone of their Application Lifecycle Management.
Through this work, I have come to an analogy that “testing is like the
nail holding a picture on the wall.” It is this nail which prevents the
picture from falling to the ground; however, it is the wall that holds the nail
in place. Some nails hold the picture up for years and some for only days; thus,
the strength and composition of the wall becomes very important to the picture.
In this analogy, the picture is Development, Testing the nail and Tools determine
the strength of the wall.
We need a solid structure to hang all our work, which means our tools
and process must be solid and complete. Over the years, I have learned that a
great development team needs exceptional testers, and exceptional testers need
a very good tool to manage their work and relationship with their developers.
Featured in This Article
A couple of years ago when speaking with software development teams, I noticed
that testing was not part of the whole process. There were the Customers,
Products, Designs and Development, and then after they were done building they would
throw it over to Testing. Naively, Testing wasn't part of this process and
some people said not even part of the same software team.
Over the years more and more software development teams understand the
importance of testing being a part of the whole process in order to improve the
product quality. With that approach, the Testers searched for ways to improve
the quality assurance of their product. The first thing they found was a Tool,
a tool to help them manage their Defects, Test Plans, Test Cases, Test Results
and more – A true tool instead of Excel and Word.
One of the most popular Testing Tools in the market today is – Quality Center
from HP. Over the past couple of years there wasn't a real competitor
for Quality Center as a Testing Platform. It worked well and met the needs of
the test team. When working with Quality Center, Testers were able to manage
their Project Requirements, Releases, Create Converge between Requirements and
Test Cases, manage Test Run, and generate testing reports and more. For many
testers, Quality Center is the only tool available for managing the full
The BIG problem with Quality Center is: It's just a tool for Testers
and not for the entire team. Even if Quality Center allows Product Manager
to manage Requirements, Product Managers wants to work with Word Documents or
their own tools so the Testers are those who are entering the Requirements into
Quality Center and someone needs to sync between the Product Documents and
Quality Center. Unfortunately, something bad always seems to be happening at
this point and broader team stops managing Requirements in Quality Center. Even
if Quality Center allows you to manage Defects, Developers are working on a
different environment (Eclipse, Visual Studio etc.) and don't want to use other
tools that have no relation and connection to the Developer work. Above of all
that, a developer wants to attach their work to the Defect so, in the future, they
will be able to see what code they wrote to fix that Defect.
The key for good software development process is collaboration
through Integration with team members and the tools they use to do their
Product Managers, Developers and Testers are part of the same Team and
the same Process. In order to improve product quality, they all need to work
together and share information easily and quickly. The question is how to apply
integration inside the team? What if we all worked with the same tool? Then
it becomes very easy to share information across the entire team. But what
tool is good enough for Product and Developers and Testers?
None – there is not one tool for all teams. However, now, there are a set
of tools, under one unified platform, that is optimized for each team.
Foundation Server – This is a suite of development tools all within
a single platform
The idea of one platform for the entire team is brilliant. Microsoft
created tools for each individual position on the team; there are tools for
Requirements Management, design tools for Architects, Developer tools and of
course testing tools ranging from manual test to automation and load testing.
All is this is now under one platform. When the entire team works on the same
platform the collaboration and integration become easy and fluent, collecting
data to generate reports no longer needs to take a lot of time. The team’s
efforts are now integrated as part of the platform. Synchronizing between
different tools is no longer necessary because all are working together in one
Is TFS really better for Testers?
The First question I hear a lot when talking about TFS 2010 is "does
TFS have a good tool for Testers?"
My answer without hesitation is Yes! My clients have
Test Manager (MTM module in TFS) is even better for manual and automated Testers
than QC. Microsoft changed the concept of Testing with TFS 2010, they introduced
major features for testers that saves time, effort, money and frustration. Here
are several features in MTM that I find most valuable:
Defining your testing effort: You can create test plans,
test suites, test configurations, and test cases to define the testing
required. You specify which test suites must runs using which test
configuration. These testing artifacts are part of your team project. You can
then select the tests you want to run from the test plan.
- Collect diagnostic data or impact your system when testing and
easily add collected data to a bug: When you run a manual test,
you can optionally make a video recording of the test case or record the
actions to a log file or create an action recording. You can add comments,
screenshots, and other files as you run the test.
- Record manual test steps for playback: You can create
recordings of actions you perform for a manual test case. You can play back
this action recording to fast forward to a particular step in a manual test to
verify a bug has been fixed, or you can use it to fast forward to save you time
when you run a test, the best part is you don't need to write even one line of
Creating the environments you need to use for your testing:
You can create both physical and virtual environments that define the set of
roles required to run a specific application and the machines to be used for
each role. Physical environments use test agent controllers associated with
your Team Foundation Server and test agents to run your tests remotely and
- Finding tests to rerun based on code changes: You can
compare builds to view which tests are recommended to be rerun, based on
changes to your application under test.
- View reports to help you track your testing progress: You
can view reports on your test case readiness and the testing progress for your
Test application performance and stress: You can use load
tests to determine how well your application responds to various levels of
How do I migrate from QC to TFS?
The Second question I hear after the Testers wants to move to Microsoft
Test Manger is how to move all our data from Quality Center to Microsoft Test
Even that Microsoft Test Manager is part of a platform and all our
team is using TFS and there are very cool features in Microsoft Test Manager we
can't throw away all the data from Quality Center, for that Sela Group has
develop a unique migration tool to migrate Quality Center Data into TFS 2010.
There is a power tool, SCRAT that
converts and migrates all of your HP Quality Center™ projects and items over to
Microsoft Team Foundation Server 2010™. The migration is quick, easy and a safe
process that completes in just a few hours. Contrary to the manual migration
traditionally employed by organizations, Scrat fully automates the process so
there is no room for human errors.
Scrat puts the control in your hands. Through an easy to manage wizard,
the entire process is fully customizable. You decide how, to what extent and
where to migrate your projects. All of the QC elements (Requirements, Bugs,
Test Cases, Attachments and Links between items) are accurately migrated to the
TFS 2010™ including their interrelationships and links.
Summary – TFS is a strong tool for Testers
Mature tools within the TFS suite to improve testing and team
- Moving data from Quality Center to TFS is easy with SCRAT.
- MTM within TFS is a complete Suite for Testers from Manual to
Automate to Load Testing.
- No More “No Repro” using diagnostic data and advanced features
self-paced TFS training is now available to help your new employees get
Shai Raiten is VS ALM MVP, currently working for Sela Group as a ALM senior consultant and trainer specializes in Microsoft technologies especially Team System and .NET technology. He is currently consulting in various enterprises in Israel, planning and analysis Load and performance problems using Team System, building Team System customizations and adjusts ALM processes for enterprises. Shai is known as one of the top Team System experts in Israel. He conducts lectures and workshops for developers\QA and enterprises who want to specialize in Team System.
My Blog: http://blogs.microsoft.co.il/blogs/shair/