Rights Contact Login For More Details
- Wiley
More About This Title Professional Application Lifecycle Management with Visual Studio 2012
- English
English
Focused on the latest release of Visual Studio, this edition shows you how to use the Application Lifecycle Management (ALM) capabilities of Visual Studio 2012 to streamline software design, development, and testing. Divided into six main parts, this timely and authoritative title covers Team Foundation Server, stakeholder engagement, project management, architecture, software development, and testing. Whether serving as a step-by-step guide or a reference for designing software solutions, this book offers a nuts-and-bolts approach to using Microsoft's flagship development tools to solve real-world challenges throughout the application lifecycle.
Coverage includes:
- INTRODUCTION TO APPLICATION LIFECYCLE MANAGEMENT WITH VISUAL STUDIO
- INTRODUCTION TO TEAM FOUNDATION SERVER
- TEAM FOUNDATION VERSION CONTROL
- TEAM FOUNDATION BUILD
- COMMON TEAM FOUNDATION SERVER
- INTRODUCTION TO BUILDING
- STORYBOARDING
- CAPTURING STAKEHOLDER FEEDBACK
- AGILE PLANNING AND TRACKING
- INTRODUCTION TO SOFTWARE ARCHITECTURE
- TOP-DOWN DESIGN WITH USE CASE
- ANALYZING APPLICATIONS USING
- USING LAYER DIAGRAMS TO MODEL
- INTRODUCTION TO SOFTWARE DEVELOPMENT
- UNIT TESTING
- CODE ANALYSIS, CODE METRICS
- PROFILING AND PERFORMANCE
- DEBUGGING WITH INTELLITRACE
- INTRODUCTION TO SOFTWARE TESTING
- MANUAL TESTING
- CODED USER INTERFACE TESTING
- WEB PERFORMANCE AND LOAD TESTING
- LAB MANAGEMENT
Professional Application Lifecycle Management with Visual Studio 2012 offers a thoroughly revised and updated edition of the leading reference book on ALM.
- English
English
Mickey Gousset is a principal consultant for Infront Consulting Group, a Microsoft ALM MVP, and coauthor of several ALM books.
Brian Keller is a senior technical evangelist for Microsoft, the coauthor of several books, and has presented at conferences all over the world.
Martin Woodward is a senior program manager for Visual Studio Team Foundation Server at Microsoft. He has coauthored several ALM books, presents on the topic at conferences around the world and is a former Visual Studio ALM MVP of the Year.
Wrox Professional guides are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.
- English
English
INTRODUCTION xxi
CHAPTER 1: INTRODUCTION TO APPLICATION
LIFECYCLE MANAGEMENT WITH VISUAL STUDIO 2012 1
Application Lifecycle Management 2
Visual Studio 2012 Product Lineup 3
Application Lifecycle Management Challenges 4
Enter Visual Studio 2012 5
Application Lifecycle Management in Action 6
Requirements 6
System Design and Modeling 7
Code Generation 7
Testing 7
Feedback 7
Operations 8
Putting It into Context 8
Summary 8
PART I: TEAM FOUNDATION SERVER
CHAPTER 2: INTRODUCTION TO TEAM FOUNDATION SERVER 11
What Is Team Foundation Server? 12
Acquiring Team Foundation Server 13
Hosted Team Foundation Server 13
On-Premises Installation 15
Team Foundation Server Core Concepts 15
Team Foundation Server 16
Team Project Collection 16
Team Project 17
Team 19
Process Templates 20
Work Item Tracking 22
Version Control 23
Team Build 26
Accessing Team Foundation Server 26
Accessing Team Foundation Server from Visual Studio 27
Accessing Team Foundation Server through a Web Browser 28
Using Team Foundation Server in Microsoft Excel 29
Using Team Foundation Server in Microsoft Project 29
Command-Line Tools for Team Foundation Server 30
Accessing Team Foundation Server from Eclipse 30
Windows Explorer Integration with Team Foundation Server 31
Access to Team Foundation Server via other Third-Party Integrations 32
What’s New in Team Foundation Server 2012 32
Version Control 32
Web Access 33
Team Explorer 34
Teams 34
Work Item Tracking 34
The Cloud 34
Adopting Team Foundation Server 35
Summary 36
CHAPTER 3: TEAM FOUNDATION VERSION CONTROL 37
Team Foundation Version Control and Visual SourceSafe (VSS) 2005 39
Setting Up Version Control 39
Using the Source Control Explorer 40
Setting Up Your Workspace 42
Getting Existing Code 42
Sharing Projects in Version Control 44
Check-In Pending Changes 46
Checking In an Item 47
Creating and Administering Check-In Policies 51
Viewing History 54
Labeling Files 55
Shelving 56
Workspaces 58
Server Workspaces 61
Local Workspaces 62
Command-Line Tools 63
Summary 63
CHAPTER 4: BRANCHING AND MERGING 65
Branching Demystifi ed 65
Branch 66
Merge 66
Confl ict 66
Branch Relationships 67
Baseless Merge 68
Forward/Reverse Integration 68
Common Branching Strategies 68
No Branching 69
Branch per Release 70
Code-Promotion Branching 71
Feature Branching 72
Implementing Branching Strategies 73
The Scenario 73
The Plan 74
Implementation 75
Dealing with Changesets 81
Tracking Change through Branches 91
Summary 92
CHAPTER 5: TEAM FOUNDATION BUILD 95
Team Foundation Build 96
What’s New in Team Foundation Build 2012 97
Hosted Build Services 98
Drop to Version Control 98
Batched Gated Check-in 98
Changes to the Build Service Protocol 100
Updated Build Report 101
Team Foundation Build Architecture 101
Working with Builds 102
Team Explorer 102
Build Explorer 103
Build Details View 104
Creating a Build Defi nition 105
Queuing a Build 114
Build Notifi cations 115
Team Build Process 117
DefaultTemplate Process 117
Build Process Parameters 119
Summary 124
CHAPTER 6: COMMON TEAM FOUNDATION SERVER
CUSTOMIZATIONS 125
Object Models 126
Client Object Model 127
Server Object Model 127
Build Process Object Model 127
Simple Object Model Example 127
Java SDK for TFS 129
Customizing Team Foundation Build 129
Creating Custom Build Process Templates 129
Creating Custom Build Workfl ow Activities 131
Customizing Team Foundation Version Control 132
Custom Check-in Policies 132
Team Foundation Server Event Service 133
Customizing Work Item Tracking 134
Modifying Work Item Type Defi nitions 134
Creating Custom Work Item Controls 134
Summary 135
PART II: BUILDING THE RIGHT SOFTWARE
CHAPTER 7: INTRODUCTION TO BUILDING
THE RIGHT SOFTWARE 139
Stakeholders 140
Storyboarding 142
Capturing Stakeholder Feedback 142
Work Item Only View 143
Third-Party Requirements Management Solutions 144
TeamSpec 145
TeamLook 145
inteGREAT 147
Summary 148
CHAPTER 8: STORYBOARDING 149
Why Storyboarding? 149
PowerPoint Storyboarding 151
Storyboard Shapes 152
Layouts 154
Screenshots 154
My Shapes 158
Animations 159
Hyperlinks 160
Storyboard Links 161
Summary 163
CHAPTER 9: CAPTURING STAKEHOLDER FEEDBACK 165
Requesting Feedback 166
Providing Feedback 168
Summary 171
PART III: PROJECT MANAGEMENT
CHAPTER 10: INTRODUCTION TO
PROJECT MANAGEMENT 175
Project Management Enhancements in
Team Foundation Server 2012 176
Rich Work Item Relationships 176
Agile Planning Tools 177
Test Case Management 178
Feedback Management 179
Enhanced Reporting 179
SharePoint Server Dashboards 180
Work Items 180
Work Item Types 180
Areas and Iterations 182
Process Templates 185
MSF for Agile Software Development 186
MSF for CMMI Process Improvement 187
Visual Studio Scrum 191
Third-Party Process Templates 192
Custom Process Templates 193
Managing Work Items 193
Using Visual Studio 193
Using Microsoft Excel 198
Using Microsoft Project 200
Using Team Web Access 201
Project Server Integration 202
Summary 202
CHAPTER 11: AGILE PLANNING AND TRACKING 205
Defi ning a Team 206
Maintaining Product Backlogs 210
Planning Iterations 212
Tracking Work 215
Customization Options 218
Summary 218
CHAPTER 12: USING REPORTS, PORTALS, AND DASHBOARDS 221
Team Foundation Server Reporting 222
Working with Team Foundation Server Reports 224
Tools to Create Reports 225
Working with Microsoft Excel Reports 226
Working with RDL Reports 236
Summary 237
PART IV: ARCHITECTURE
CHAPTER 13: INTRODUCTION TO SOFTWARE ARCHITECTURE 241
Designing Visually 241
Microsoft’s Modeling Strategy 243
Understanding Model-Driven Development 243
Understanding Domain-Specifi c Languages 244
The “Code Understanding” Experience 245
The Architecture Tools in Visual Studio Ultimate 2012 245
Use Case Diagrams 246
Activity Diagrams 247
Sequence Diagrams 247
Component Diagrams 247
Class Diagrams 249
Layer Diagrams 249
Architecture Explorer 250
What’s New with Architecture Tools in Visual Studio Ultimate 2012 251
Architecture Menu Options 251
Dependency Graph Enhancements 251
Visual Studio Visualization and Modeling SDK 252
Summary 252
CHAPTER 14: TOP-DOWN DESIGN WITH USE CASE,
ACTIVITY, SEQUENCE, COMPONENT, AND CLASS DIAGRAMS 253
Use Case Diagrams 254
Creating a Use Case Diagram 254
Use Case Diagram Toolbox 257
Activity Diagrams 259
Creating an Activity Diagram 259
Activity Diagram Toolbox 262
Adding an Activity Diagram to a Use Case Diagram 263
Sequence Diagrams 264
Creating a Sequence Diagram 264
Sequence Diagram Toolbox 266
Component Diagrams 267
Creating a Component Diagram 268
Component Diagram Toolbox 272
Class Diagrams 274
Creating a Class Diagram 274
Class Diagram Toolbox 276
Generating Code from a UML Class Diagram 278
Summary 278
CHAPTER 15: ANALYZING APPLICATIONS USING
ARCHITECTURE EXPLORER AND DEPENDENCY GRAPHS 281
Understanding the Code Base 282
Architecture Explorer Basics 283
Understanding the Architecture Explorer Window 284
Architecture Explorer Options 284
Navigating through Architecture Explorer 285
Exploring Options for Namespaces 287
Exploring Options for Classes 289
Exploring Options for Members 290
Dependency Graphs 291
Creating the First Dependency Graph 292
Creating a Dependency Graph without Architecture Explorer 294
Navigating through Your Dependency Graph 294
Dependency Graph Legend 297
Dependency Graph Toolbar 299
Dependency Graph Enhancements in Visual Studio 2012 300
Summary 302
CHAPTER 16: USING LAYER DIAGRAMS TO MODEL
AND ENFORCE APPLICATION ARCHITECTURE 303
Creating a Layer Diagram 304
Defi ning Layers on a Layer Diagram 305
Creating a Layer for a Single Artifact 306
Adding Multiple Objects to a Layer Diagram 307
The Layer Explorer 307
Defi ning Dependencies 309
Validating the Layer Diagram 311
Layer Diagrams and the Build Process 313
Summary 313
PART V: SOFTWARE DEVELOPMENT
CHAPTER 17: INTRODUCTION TO SOFTWARE DEVELOPMENT 317
What’s New for Developers in Visual Studio 2012 318
Unit Testing 318
Improved Code Analysis 319
Code Metrics 319
Code Clone Analysis 320
Profi ler 320
Advanced Debugging with IntelliTrace 320
My Work 321
Suspend and Resume 321
Code Review 322
Summary 324
CHAPTER 18: UNIT TESTING 325
Unit Testing Concepts 326
Benefi ts of Unit Testing 326
Writing Eff ective Unit Tests 327
Third-Party Tools 328
Visual Studio Unit Testing 328
Creating Your First Unit Test 329
Managing and Running Unit Tests 331
Debugging Unit Tests 332
Programming with the Unit Test Framework 333
Initialization and Cleanup of Unit Tests 333
Using the Assert Methods 336
Using the CollectionAssert class 339
Using the StringAssert class 341
Expecting Exceptions 341
Defi ning Custom Unit Test Properties 342
TestContext Class 342
Introduction to Microsoft Fakes 343
Choosing between Stubs and Shims 344
Using Stubs 344
Using Shims 347
Test Adapters 348
Summary 350
CHAPTER 19: CODE ANALYSIS, CODE METRICS,
AND CODE CLONE ANALYSIS 351
The Need for Analysis Tools 352
What’s New for Code Analysis in Visual Studio 2012 352
Using Code Analysis 353
Built-in Code Analysis Rules 354
Code Analysis Rule Sets 355
Enabling Code Analysis 356
Executing Code Analysis 358
Working with Rule Violations 359
Using the Command-Line Analysis Tool 363
FxCopCmd Options 363
FxCopCmd Project Files 366
Build Process Code Analysis Integration 367
Creating Code Analysis Rules 367
Code Metrics 367
Code Clone Analysis 370
Finding Code Clones 370
Reviewing the Code Clone Analysis Results 371
How Code Clone Analysis Works 371
Excluding Items from Code Clone Analysis 372
Summary 372
CHAPTER 20: PROFILING AND PERFORMANCE 375
Introduction to Performance Analysis 376
Types of Profi lers 376
Visual Studio Profi ling 377
Using the Profi ler 377
Creating a Sample Application 377
Creating a Performance Session 379
Using the Performance Explorer 382
Configuring a Sampling Session 390
Configuring an Instrumentation Session 391
Configuring a .NET Memory Allocation Session 392
Configuring a Concurrency Profi ling Session 392
Executing a Performance Session 393
Managing Session Reports 393
Reading and Interpreting Session Reports 395
Command-Line Profi ling Utilities 404
Profi ling JavaScript 405
Just My Code 406
Common Profi ling Issues 406
Debugging Symbols 406
Instrumentation and Code Coverage 408
Summary 408
CHAPTER 21: DEBUGGING WITH INTELLITRACE 409
IntelliTrace Basics 410
IntelliTrace — An Example 410
Navigating the IntelliTrace Events View 413
Collecting Method Call Information 413
Collecting Detailed Information 415
Saving Your IntelliTrace Session 417
IntelliTrace Options 421
IntelliTrace in Production 424
Installing the IntelliTrace Stand-Alone Collector 424
Configuring IntelliTrace PowerShell Commandlets 426
Collecting Execution Information 426
Summary 427
PART VI: TESTING
CHAPTER 22: INTRODUCTION TO SOFTWARE TESTING 431
Role-Based Testing Tools 432
Types of Tests 432
Diagnostic Data Adapters 434
Microsoft Test Manager 436
Managing Automated Tests with Visual Studio 437
Test Project Types 437
Test Explorer 438
Code Coverage 440
Using Ordered Tests 441
Test Settings 443
Summary 444
CHAPTER 23: MANUAL TESTING 445
Microsoft Test Manager 446
Using Test Plans 446
Configuring Test Settings 449
Using Builds 450
Analyzing Impacted Tests 452
Defi ning Test Confi gurations 452
Plan Contents 453
Running Tests and Tracking Results 459
Using Test Runner 460
Supported Technologies for Action Recordings 464
Filing Bugs and Saving Test Results 465
Exploratory Testing 465
Running Automated Tests 470
Summary 471
CHAPTER 24: CODED USER INTERFACE TESTING 473
Creating Coded UI Tests Using the Coded UI Test Builder 474
Setting up the Sample Application 474
Create a Test Project 475
Coded UI Test Builder 476
Generated Code 480
Running Your Test 483
Creating a Data-Driven Test 483
Failing Tests 485
Taking Screenshots 486
UI Map Editor 486
Creating Coded UI Tests Using Action Recordings 488
Supported Technologies 492
Summary 492
CHAPTER 25: WEB PERFORMANCE AND LOAD TESTING 493
Web Performance Tests 494
Web Performance Tests versus Coded UI Tests 494
Creating a Sample Web Application 495
Creating Users for the Site 495
Creating and Configuring Web Tests 497
Recording a Web Performance Test 498
Configuring Web Performance Test Run Settings 500
Parameterizing the Web Server 501
Test Settings 502
Running a Web Performance Test 504
Observing Test Execution and Results 504
Editing a Web Performance Test 505
Data-Driven Web Performance Tests 509
Coded Web Performance Tests 512
Load Tests 514
Creating and Configuring Load Tests 515
Editing Load Tests 523
Executing Load Tests 527
Viewing and Interpreting Load Test Results 527
Distributed Load Tests 530
Installing Controllers and Agents 530
Configuring Controllers 531
Configuring Agents 532
Running a Distributed Load Test 532
Summary 533
CHAPTER 26: LAB MANAGEMENT 535
Lab Management Infrastructure 536
Golden Images 537
Agents 537
SCVMM Environments 538
Testing with Environments 545
Create New Test Settings 545
Run Manual Tests with an Environment 547
Automated Build-Deploy-Test with Environments 551
Standard Environments 555
Summary 556
INDEX 557