Join the discussion @ p2p.wrox.com
Wrox Programmer to Programmer™
Professional
Application Lifecycle
Management
with Visual Studio® 2010
Mickey Gousset, Brian Keller, Ajoy Krishnamoorthy, Martin Woodward
www.it-ebooks.info
Programmer to Programmer™
Get more out of
wrox.com
Interact
Join the Community
Take an active role online by participating in our
P2P forums @ p2p.wrox.com
Sign up for our free monthly newsletter at
newsletter.wrox.com
Wrox Online Library
Browse
Hundreds of our books are available online
through Books24x7.com
Ready for more Wrox? We have books and
e-books available on .NET, SQL Server, Java,
XML, Visual Basic, C#/ C++, and much more!
Wrox Blox
Download short informational pieces and code
to keep you up to date and out of trouble!
Contact Us.
We always like to get feedback from our readers. Have a book idea?
Need community support? Let us know by e-mailing
www.it-ebooks.info
PROFESSIONAL
APPLICATION LIFECYCLE MANAGEMENT
WITH VISUAL STUDIO ® 2010
INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix
PART I
ARCHITECT
CHAPTER 1
Introduction to Software Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
CHAPTER 2
Top-down Design with Use Case Diagrams, Activity Diagrams,
and Sequence Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
CHAPTER 3
Top-down Design with Component and Class Diagrams . . . . . . . . . . . . 33
CHAPTER 4
Analyzing Applications Using Architecture Explorer. . . . . . . . . . . . . . . . 59
CHAPTER 5
Using Layer Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
PART II
DEVELOPER
CHAPTER 6
Introduction to Software Development . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
CHAPTER 7
Unit Testing with the Unit Test Framework . . . . . . . . . . . . . . . . . . . . . . . . 99
CHAPTER 8
Managed Code Analysis and Code Metrics . . . . . . . . . . . . . . . . . . . . . . 139
CHAPTER 9
Profiling and Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
CHAPTER 10
Database Development, Testing, and Deployment . . . . . . . . . . . . . . . . 201
CHAPTER 11
Introduction to IntelliTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
PART III
TESTER
CHAPTER 12
Introduction to Software Testing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
CHAPTER 13
Web Performance and Load Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
CHAPTER 14
Manual Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
CHAPTER 15
Coded User Interface Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
CHAPTER 16
Lab Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Continues
www.it-ebooks.info
PART IV TEAM FOUNDATION SERVER
CHAPTER 17
Introduction to Team Foundation Server . . . . . . . . . . . . . . . . . . . . . . . . . 379
CHAPTER 18
Team Foundation Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
CHAPTER 19
Team Foundation Version Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
CHAPTER 20
Branching and Merging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
CHAPTER 21
Team Foundation Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .471
PART V
PROJECT/PROCESS MANAGEMENT
CHAPTER 22
Introduction to Project Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
CHAPTER 23
Process Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
CHAPTER 24
Using Reports, Portals, and Dashboards. . . . . . . . . . . . . . . . . . . . . . . . . 571
CHAPTER 25
Agile Planning Using Planning Workbooks . . . . . . . . . . . . . . . . . . . . . . . 599
CHAPTER 26
Process Template Customizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
www.it-ebooks.info
PROFESSIONAL
Application Lifecycle Management
with Visual Studio® 2010
www.it-ebooks.info
www.it-ebooks.info
PROFESSIONAL
Application Lifecycle Management
with Visual Studio® 2010
Mickey Gousset
Brian Keller
Ajoy Krishnamoorthy
Martin Woodward
www.it-ebooks.info
Professional Application Lifecycle Management with Visual Studio® 2010
Published by
Wiley Publishing, Inc.
10475 Crosspoint Boulevard
Indianapolis, IN 46256
www.wiley.com
Copyright © 2010 by Wiley Publishing, Inc., Indianapolis, Indiana
Published simultaneously in Canada
ISBN: 978-0-470-48426-5
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means,
electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108
of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization
through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers,
MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the
Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201)
748-6008, or online at />Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with
respect to the accuracy or completeness of the contents of this work and specifi cally disclaim all warranties, including
without limitation warranties of fitness for a particular purpose. No warranty may be created or extended by sales or
promotional materials. The advice and strategies contained herein may not be suitable for every situation. This work
is sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional
services. If professional assistance is required, the services of a competent professional person should be sought. Neither
the publisher nor the author shall be liable for damages arising herefrom. The fact that an organization or Web site is
referred to in this work as a citation and/or a potential source of further information does not mean that the author or the
publisher endorses the information the organization or Web site may provide or recommendations it may make. Further,
readers should be aware that Internet Web sites listed in this work may have changed or disappeared between when this
work was written and when it is read.
For general information on our other products and services please contact our Customer Care Department within the
United States at (877) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available
in electronic books.
Library of Congress Control Number: 2010921244
Trademarks: Wiley, the Wiley logo, Wrox, the Wrox logo, Programmer to Programmer, and related trade dress are
trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affi liates, in the United States and other
countries, and may not be used without written permission. All other trademarks are the property of their respective
owners. Wiley Publishing, Inc., is not associated with any product or vendor mentioned in this book.
www.it-ebooks.info
This book is dedicated to my wife, Amye Gousset.
Once again, I scratched the itch to write, and once
again, she provided me all the love and support I
needed to make it happen. Amye, I love you more and
more each day.
— Mickey Gousset
This book is dedicated to my parents, Ray and Sue
Ellen Keller, who laid the foundation for me to
embark upon a lifetime of learning and a love of
technology. As a kid, they let me hijack the family
computer to teach myself how to program, and as a
young adult, they gave me the inspiration to explore
my passions, and the freedom to learn from my
failures. Mom and Dad, I love you.
— Brian Keller
I dedicate this book to my best friend and my wife,
Vidhya, and our wonderful children, Atul and Aditi.
Thank you for everything.
— Ajoy Krishnamoorthy
To Catherine, William, and Jamie.
— Martin Woodward
www.it-ebooks.info
www.it-ebooks.info
ABOUT THE AUTHORS
MICKEY GOUSSET is a Senior Technical Developer for Infront Consulting Group, a
consulting company focused on the Microsoft System Center family of products.
He has been a Microsoft Team System MVP five years running, a certified professional
in Team Foundation Server and SCOM 2007, and co-author (along with Jean-Luc
David and Erik Gunvaldson) of the book Professional Team Foundation Server
(Indianapolis: Wiley, 2006). Gousset runs “Team System Rocks!” (msystemrocks
.com), a community site devoted to Visual Studio Team System and Visual Studio 2010, where he
also blogs about Visual Studio and Team Foundation Server. He is also a co-host of the popular Team
Foundation Server podcast, “Radio TFS” (). He has spoken on Visual
Studio and Team Foundation Server topics at various user groups, code camps, and conferences,
including Microsoft Tech Ed Developer — North America 2008 and 2009. When not writing or
working with computers, Mickey enjoys a range of hobbies, from playing on Xbox Live (“Gamer
Tag: HereBDragons”) to participating in local community theater. Nothing beats his favorite pastime
though — sitting on his couch with his lovely wife Amye, and their two Chihuahuas, Lucy and Linus.
BRIAN KELLER is a Senior Technical Evangelist for Microsoft, specializing in Visual
Studio and application lifecycle management. Keller has been with Microsoft
since 2002, and has presented at conferences all over the world, including TechEd,
Professional Developers Conference (PDC), and MIX. Keller is also a regular
personality on MSDN’s Channel 9 Web site, and is co-host of the popular show,
“This Week on Channel 9.” Outside of work, he can usually be found enjoying the great outdoors
while either rock climbing, backpacking, skiing, or surfi ng.
AJOY KRISHNAMOORTHY is a Senior Product Manager in the Microsoft Patterns
and Practices group. In this role, he focuses on planning the areas of investments
and business strategy for Patterns and Practices. Prior to this role, Krishnamoorthy
worked as a Senior Product Manager for Microsoft Visual Studio Team System. He
has more than ten years of consulting experience, playing variety of roles, including
developer, architect, and technical project manager. Krishnamoorthy has written articles for online
and printed magazines, and co-authored several books on ASP.NET. You can check out his blog
at Krishnamoorthy has an MBA from Ohio State University.
Any spare time is spent with his family, playing board/card games with friends, watching sports
(especially when the Ohio State Buckeyes are playing), and learning to play “Tabla.”
MARTIN WOODWARD is currently the Program Manager for the Microsoft Visual
Studio Team Foundation Server Cross-Platform Tools Team. Before joining Microsoft,
Woodward was voted Team System MVP of the Year, and has spoken about Team
Foundation Server at events internationally. Not only does Woodward bring a unique
insight into the inner workings of the product he has experienced from more than a
half-decade of real-world use at companies big and small, he is also always happy to share. When not
working or speaking, Woodward can be found at his blog, .
www.it-ebooks.info
www.it-ebooks.info
CREDITS
EXECUTIVE EDITOR
PRODUCTION MANAGER
Robert Elliott
Tim Tate
DEVELOPMENT EDITOR
VICE PRESIDENT AND EXECUTIVE
GROUP PUBLISHER
Kevin Shafer
Richard Swadley
TECHNICAL EDITORS
Siddharth Bhatia
Justin Marks
Peter Provost
Mario Rodriguez
Clark Sell
David Williamson
VICE PRESIDENT AND EXECUTIVE PUBLISHER
Barry Pruett
ASSOCIATE PUBLISHER
Jim Minatel
PROJECT COORDINATOR, COVER
Lynsey Stanford
PRODUCTION EDITOR
Rebecca Anderson
COVER DESIGNER
Michael E. Trent
COPY EDITOR
Christopher Jones
COVER PHOTO
© Ben Blankenburg/istockphoto
EDITORIAL DIRECTOR
Robyn B. Siesky
PROOFREADERS
Mary Beth Wakefield
Scott Klemp, Maraya Cornell,
Carrie Hunter, Word One
ASSOCIATE DIRECTOR OF MARKETING
INDEXER
David Mayhew
J & J Indexing
EDITORIAL MANAGER
www.it-ebooks.info
www.it-ebooks.info
ACKNOWLEDGMENTS
FIRST OFF, I WANT TO THANK AJOY, BRIAN, AND MARTIN for taking this journey with me. You have
been incredible people to work with, and have truly made this a great experience. I’d like to thank
everyone at Wiley and Wrox, specifically Bob Elliot and Kevin Shafer, our editors. This book could
not have happened without their help and constant attention to detail. We also had some amazing
people doing technical edits on this book, including Clark Sell, Peter Provost, Siddharth Bhatia,
Mario Rodriguez, Justin Marks, David Williamson, and I’m sure many other names that I’ve
overlooked. To everyone who has helped to make this book the great product that it is, I thank you.
Finally, a big thank you to my family for your understanding, love, and support during the late
nights and long weekends when I disappeared into my office to write.
— Mickey Gousset
THE EFFORTS OF SO MANY PEOPLE went into the realization of this book that it’s hard to know
where to begin. Perhaps most fundamentally is the work of the engineering team within Microsoft’s
developer division, who have an insatiable drive for shipping great software that helps other
software development teams around the world realize their full potential. Visual Studio 2010 is an
incredibly exciting release, and is the inspiration for this book. David Williamson was the primary
technical reviewer for the chapters I contributed, and his thoughtful suggestions contributed greatly
to the quality of this book. I also received help from Anutthara Bharadwaj, Daryush Laqab, Ed
Glas, Euan Garden, Gautam Goenka, Habib Heydarian, Katrina Lyon-Smith, Mark Mydland,
Michael Rigler, Tanuj Vohra, Ted Malone, Vinod Malhotra, and scores of others over the last year
and a half. Finally, I would like to thank our publisher and my co-authors, who I am proud to share
this accomplishment with.
—Brian Keller
I OWE A BIG THANKS TO MY good friend Jean-Luc David for his persistence in getting me to work
on this book. I was fortunate to have the chance to work with a talented team of fellow authors.
Mickey, Brian and Martin, thank you, and I truly enjoyed working with you on this book.
Several members of the Visual Studio team offered their help, and I am thankful for that. I owe a lot
of gratitude to Aaron Bjork, Siddharth Bhatia, John Socha-Leialoha, Sunder Raman, David Brokaw,
Gokula Thilagar, Habib Heydarian, Justin Marks, and Brad Sullivan. They were all busy shipping
a product, but never hesitated to help me when I reached them with questions, or needed more
information and access to pre-release bits. Thanks to every one of you for your timely help.
I want to thank my manager John deVadoss and my colleagues at Patterns and Practices for their
great support and encouragement throughout the course of this writing project.
www.it-ebooks.info
Finally, I can’t thank my family enough for allowing me to spend countless hours during evenings
and weekends on this book. Vidhya, Atul, and Aditi, none of this would have been possible without
your encouragement, support, and understanding. I have missed several rounds of board games,
trips to the play area, bed-time routines, and more. I promise you that I will do the best to make up
for the lost time. Thank you for everything.
— Ajoy Krishnamoorthy
I WOULD LIKE TO ACKNOWLEDGE THE HELP, advice, and assistance from the people both inside and
outside the Visual Studio team at Microsoft. Special thanks go to Aaron Hallberg, Brian Randell,
Buck Hodges, Clark Sell, Jim Lamb, Julie MacAller, Mario Rodriguez, Matthew Mitrik, and
William Bartholomew, without whom my contributions to this book would not have been possible.
Thanks also to Rob Caron, Jeff Beehler, Brian Harry, Doug Neumann, Eric Sink, and Corey Steffen
for encouraging my involvement in the Visual Studio community over the past five years.
I would like to thank my co-authors for bringing me into this project, and for helping me fulfill
a lifetime ambition of writing a book. I would also like to thank my dad, Roy Woodward, and
my much missed mum, Val Woodward. They got me started down this whole computing path by
getting me a Vic-20 at the age of 6, and got me a typewriter at the age of 8. With that sort of start,
you’d think I’d have written a computer book at the age of 10, but instead I re-wrote “Ghostbusters”
and co-authored a novel about a pink sofa. Well Mum — I got there in the end.
Last but not least, I would also like to thank my wife, Catherine, for her encouragement and support,
and for helping me fi nd the time to write this book in our already busy lives. She has heard the
phrase, “I’m nearly done, just fi nishing this last bit up,” more times than anyone deserves, yet,
bizarrely, has still not figured out that she is way out of my league.
— Martin Woodward
www.it-ebooks.info
CONTENTS
INTRODUCTION
xxix
PART I: ARCHITECT
CHAPTER 1: INTRODUCTION TO SOFTWARE ARCHITECTURE
Designing Visually
Microsoft’s Modeling Strategy
Understanding Model-Driven Development
Understanding Domain-Specific Languages
From Objects to Services
3
3
4
5
6
7
Understanding Objects and Compile-Time Reuse
Understanding Components and Deploy-Time Reuse
Understanding Distributed Components and Run-Time Reuse
Distributed Services and the Service-Oriented Architecture
New Architecture Tools in Visual Studio 2010 Ultimate
Use Case Diagrams
Activity Diagrams
Sequence Diagrams
Component Diagrams
Class Diagrams
Layer Diagrams
Architecture Explorer
7
8
9
10
10
11
11
12
13
13
13
14
Summary
15
CHAPTER 2: TOP-DOWN DESIGN WITH USE CASE DIAGRAMS,
ACTIVITY DIAGRAMS, AND SEQUENCE DIAGRAMS
Use Case Diagrams
17
18
Understanding a Use Case Diagram
Use Case Diagram Toolbox
Creating a Use Case Diagram
Activity Diagrams
18
20
20
22
Understanding an Activity Diagram
Activity Diagram Toolbox
www.it-ebooks.info
22
25
CONTENTS
Creating an Activity Diagram
Adding an Activity Diagram to a Use Case Diagram
Sequence Diagrams
26
27
28
Understanding Sequence Diagrams
Sequence Diagram Toolbox
Creating a Sequence Diagram
Summary
28
29
30
31
CHAPTER 3: TOP-DOWN DESIGN WITH COMPONENT
AND CLASS DIAGRAMS
Component Diagrams
33
34
Understanding a Component Diagram
Component Diagram Toolbox
Component Diagram Element Properties
Creating a Component Diagram
Showing Internal Component Parts
Class Diagrams
34
36
37
38
43
46
Understanding a Class Diagram
Class Diagram Toolbox
Class Diagram Type Properties
Class Diagram Attribute Properties
Class Diagram Operations Properties
Class Diagram Association Properties
Creating a Class Diagram
Summary
47
48
49
51
52
53
55
58
CHAPTER 4: ANALYZING APPLICATIONS USING
ARCHITECTURE EXPLORER
Understanding the Code Base
Architecture Explorer Basics
Understanding the Architecture Explorer Window
Architecture Explorer Options
Navigating Through Architecture Explorer
Exploring Options for Namespaces
Exploring Options for Classes
Exploring Options for Members
Architecture Explorer Queries
Dependency Graphs
59
60
61
61
62
62
64
66
68
69
71
Creating the First Dependency Graph
Creating a Dependency Graph without Architecture Explorer
Navigating Through Your Dependency Graph
Dependency Graph Legend
xvi
www.it-ebooks.info
71
73
74
77
CONTENTS
Dependency Graph Toolbar
78
Summary
80
CHAPTER 5: USING LAYER DIAGRAMS
81
Creating a Layer Diagram
Defining Layers on a Layer Diagram
82
83
Creating a Layer for a Single Artifact
Adding Multiple Objects to a Layer Diagram
The Layer Explorer
Defining Dependencies
Validating the Layer Diagram
Layer Diagrams and the Build Process
Summary
84
84
85
86
88
90
91
PART II: DEVELOPER
CHAPTER 6: INTRODUCTION TO SOFTWARE DEVELOPMENT
What’s New for Developers in Visual Studio 2010
Test Impact Analysis
Improved Code Analysis
Profiler Enhancements
Database Extensibility
Advanced Debugging with IntelliTrace
Improved “Test-First” Development Experience
Summary
CHAPTER 7: UNIT TESTING WITH THE UNIT TEST FRAMEWORK
Unit Testing Concepts
95
96
97
97
97
97
98
98
98
99
100
Benefits of Unit Testing
Writing Effective Unit Tests
Third-Party Tools
100
101
102
Visual Studio Unit Testing
102
Creating Your First Unit Test
Managing and Running Unit Tests
Test Run Configuration
Test Results
Debugging Unit Tests
Programming with the Unit Test Framework
Initialization and Cleanup of Unit Tests
Using the Assert Methods
103
106
108
109
109
110
110
113
xvii
www.it-ebooks.info
CONTENTS
Using the CollectionAssert class
Using the StringAssert class
Expecting Exceptions
Defining Custom Unit Test Properties
TestContext Class
Creating Data-Driven Unit Tests
Accessing Nonpublic Members from Tests
Using PrivateObject to Access Nonpublic Instance Members
Using PrivateType to Access Nonpublic Static Members
Code Generation
116
118
119
119
120
121
122
123
125
126
Generating Tests from Code
Code Coverage
126
129
Enabling Code Coverage
Viewing Code Coverage Results
Test Impact Analysis
130
130
131
Prerequisites for Test Impact Analysis
Identifying Relationships Between Code and Tests
Test Impact Analysis Example
Summary
132
133
133
137
CHAPTER 8: MANAGED CODE ANALYSIS AND CODE METRICS
The Need for Analysis Tools
Using Managed Code Analysis
139
140
140
Built-in Managed Code Analysis Rules
Code Analysis Rule Sets
Enabling Managed Code Analysis
Executing Static Code Analysis
Working with Rule Violations
142
143
144
146
147
Using the Command-Line Analysis Tool
151
FxCopCmd Options
FxCopCmd Project Files
Build Process Code Analysis Integration
151
154
155
Creating Code Analysis Rules
155
Reflection and Introspection
Creating a New Rule
155
156
Code Metrics
Summary
163
165
CHAPTER 9: PROFILING AND PERFORMANCE
Introduction to Performance Analysis
xviii
www.it-ebooks.info
167
168
CONTENTS
Types of Profilers
Visual Studio Profiling
168
169
Using the Profiler
169
Creating a Sample Application
Creating a Performance Session
Using the Performance Explorer
Configuring a Sampling Session
Configuring an Instrumentation Session
Configuring a .NET Memory Allocation Session
Configuring a Concurrency Profiling Session
Executing a Performance Session
Managing Session Reports
Reading and Interpreting Session Reports
Command-Line Profiling Utilities
Virtual Machines
Profiling JavaScript
Just My Code
169
171
173
182
184
184
185
185
186
187
195
196
196
198
Common Profiling Issues
198
Debugging Symbols
Instrumentation and Code Coverage
Summary
198
199
199
CHAPTER 10: DATABASE DEVELOPMENT, TESTING,
AND DEPLOYMENT
201
The Challenges of Database Change Management
Offline Schema Development
202
203
Taking the Schema Offline
Iterative Development
Schema Testing
Build and Deploy
204
204
205
206
Creating a Database Project
Examining the Database Project
Solution Explorer versus Schema View
Schema Dependency Viewer
T-SQL File Structure
Making Schema Changes
207
212
213
213
214
215
Editing T-SQL Files Directly
Detecting Schema Syntax Errors
Database Refactoring
T-SQL Script Templates
Deploying Database Changes
216
216
217
220
221
xix
www.it-ebooks.info
CONTENTS
Data Generation
224
Data Generation Plan
Data Generators
224
226
Database Testing
227
Functions, Triggers, and Stored Procedures
Writing Advanced Database Unit Tests
Effective Database Testing
T-SQL Static Analysis
Additional Database Tools
Summary
227
230
231
233
236
241
CHAPTER 11: INTRODUCTION TO INTELLITRACE
Debugging Using IntelliTrace
Debugging Options
Events Recording
Debugging and Playback
243
243
244
247
248
New Features in Breakpoints
Sharing Breakpoints
Labeling Breakpoints
251
251
252
Pinnable Data Tips
Summary
253
255
PART III: TESTER
CHAPTER 12: INTRODUCTION TO SOFTWARE TESTING
Role-Based Testing Tools
Types of Tests
Diagnostic Data Adapters
Microsoft Test Manager
Managing Automated Tests with Visual Studio
Test Projects
Using Test Categories
Working with Test Results
Using Ordered Tests
Test Settings
Test Impact View
Summary
259
260
260
262
264
265
265
267
269
272
274
275
276
CHAPTER 13: WEB PERFORMANCE AND LOAD TESTING
Web Performance Tests
277
278
xx
www.it-ebooks.info
CONTENTS
Web Performance Tests Versus Coded UI Tests
Creating a Sample Web Application
Creating Users for the Site
Creating and Configuring Web Tests
Recording a Web Performance Test
Configuring Web Performance Test Run Settings
Parameterizing the Web Server
Test Settings
Running a Web Performance Test
Observing Test Execution and Results
Editing a Web Performance Test
Data-Driven Web Performance Tests
Coded Web Performance Tests
Load Tests
278
279
279
281
282
284
285
285
287
287
289
293
294
297
Creating and Configuring Load Tests
Editing Load Tests
Executing Load Tests
Viewing and Interpreting Load Test Results
Command-Line Test Execution
297
306
308
308
312
Executing Tests
Executing Test Lists
Other Test Options
313
313
313
Distributed Load Tests
313
Installing Controllers and Agents
Configuring Controllers
Configuring Agents
Test Settings
Running a Distributed Load Test
Viewing a Distributed Load Test
Summary
314
314
315
315
316
317
317
CHAPTER 14: MANUAL TESTING
Microsoft Test Manager
Using Test Plans
319
319
320
Configuring Test Settings
Using Builds
Analyzing Impacted Tests
Defining Test Configurations
Using Plan Contents
322
323
324
325
326
Running Tests and Tracking Results
Using Microsoft Test Runner
330
332
xxi
www.it-ebooks.info
CONTENTS
Supported Technologies
Saving Test Results
335
335
Running Automated Tests
Summary
336
338
CHAPTER 15: CODED USER INTERFACE TESTING
Creating Coded UI Tests Using the Coded UI Test Builder
Setting up the Sample Application
Create a Test Project
Add a Coded UI Test
Coded UI Test Builder
Generated Code
Running Your Test
Creating a Data-Driven Test
Using the using() Clause
Enhanced Assertion Reporting
Creating Coded UI Tests Using Action Recordings
Supported Technologies
Summary
339
340
340
341
341
342
345
347
347
349
350
351
354
354
CHAPTER 16: LAB MANAGEMENT
357
Lab Management Infrastructure
358
Golden Images
Agents
359
359
Virtual Environments
Testing with Virtual Environments
Create New Test Settings
Run Manual Tests with an Environment
Automated Build-Deploy-Test with Virtual Environments
Physical Environments
Summary
360
366
366
369
371
375
376
PART IV: TEAM FOUNDATION SERVER
CHAPTER 17: INTRODUCTION TO TEAM FOUNDATION SERVER
What Is Team Foundation Server?
Team Foundation Server Core Concepts
Team Foundation Application Tier
Team Project Collection
xxii
www.it-ebooks.info
379
380
380
381
381
CONTENTS
Team Project
Process Template
Work Item Tracking
Version Control
Team Build
382
385
387
388
391
Accessing Team Foundation Server
Accessing Team Foundation Server from Visual Studio
Using the Team Foundation Server Administration Console
Accessing Team Foundation Server through a Web Browser
Using Team Foundation Server in Microsoft Excel
Using Team Foundation Server in Microsoft Project
Command-Line Tools for Team Foundation Server
Accessing Team Foundation Server from Eclipse
Windows Explorer Integration with Team Foundation Server
Access to Team Foundation Server via other Third-Party Integrations
What’s New in Team Foundation Server 2010
Project Management
Version Control
Build
Administration
392
392
394
395
395
397
397
398
399
400
400
400
401
401
402
Adopting Team Foundation Server
402
Hosting Team Foundation Server
Adoption Plan
402
403
Summary
404
CHAPTER 18: TEAM FOUNDATION ARCHITECTURE
Team Foundation Server Logical Architecture
Team Project Collections
Team Foundation Server Farm
Team Foundation Server Application
Team Foundation Server Instance
Physical Architecture
405
406
408
410
410
411
412
Hardware Requirements
Software Requirements
412
414
Deployment Scenarios
415
Individuals and Small Teams
Small Shops
Large Enterprises
Hosted Environments
Upgrading from Older Team Foundation Server Versions
Summary
416
416
417
418
420
421
xxiii
www.it-ebooks.info