of the deep technical and architectural aspects of the system. To manage their
testing efforts, these testers relied largely on Microsoft Word, Microsoft Excel,
handwritten notes, and whiteboards. Worse, testers had no tool support for
running tests and therefore spent significant portions of the day on time-con-
suming and often menial tasks such as deploying software, writing bug
reports, and finding clear steps to reproduce bugs.
As a software development company, Microsoft clearly recognizes the
importance of allowing all members of software development teams, devel-
opers, testers, architects, project and program managers, and business ana-
lysts to participate fully in the development process. We built Microsoft
Visual Studio Test Professional 2010 and the Lab Management capability of
Microsoft Team Foundation Server 2010 to help eliminate the friction
between developers and testers by providing self-documenting builds that
include tests impacted by developers’ changes, single-click actionable bugs
that eliminate the “No Repro” problem, and work item-based test planning
and management that enables visibility and traceability by all project stake-
holders. To streamline the test effort and increase the effectiveness of testing,
we added streamlined virtual build, deploy and test, fast forward for manual
testing, and the capability to generate an automated Coded UI test based on
a previously completed manual test.
During development, we relied heavily on feedback and advice from a
number of external sources who could provide both industry perspective and
feedback based on extensive personal experience. In that capacity, Jeff Levin-
son helped to shape Microsoft’s test offering and TFS’s Lab Management
capability in just about every way possible. Jeff participated in every formal
design review, special interest group, technology preview, and beta program
that existed. Beyond the formal interactions, Jeff spent days and weeks of his
“free time” installing, using, and testing our product followed by hours spent
with me and other members of the team providing feedback, pushing for
improvements, and making suggestions. I can’t say that all Jeff’s feedback
made it into the final product, but our product is better for his effort.
As much as I would like to believe that Jeff spent all this time and effort
just to make my life easier, I know that Jeff’s real motivation came from his
passion for helping teams to build quality software. In his book, Jeff brings
Foreword
xviii