Professional Application Lifecycle Management with Visual Studio 2012
Buy Rights Online Buy Rights

Rights Contact Login For More Details

  • Wiley

More About This Title Professional Application Lifecycle Management with Visual Studio 2012

English

The authoritative and timely guide to ALM from Microsoft insiders and MVPs

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

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

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

loading