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

Rights Contact Login For More Details

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

English

Ramp up your software development with this comprehensive resource

Microsoft's Application Lifecycle Management (ALM) makes software development easier and now features support for iOS, MacOS, Android, and Java development. If you are an application developer, some of the important factors you undoubtedly consider in selecting development frameworks and tools include agility, seamless collaboration capabilities, flexibility, and ease of use. Microsoft's ALM suite of productivity tools includes new functionality and extensibility that are sure to grab your attention. Professional Application Lifecycle Management with Visual Studio 2013 provides in-depth coverage of these new capabilities. Authors Mickey Gousset, Martin Hinshelwood, Brian A. Randell, Brian Keller, and Martin Woodward are Visual Studio and ALM experts, and their hands-on approach makes adopting new ALM functionality easy.

Streamline software design and deployment with Microsoft tools and methodologiesGain a practical overview of ALM with step-by-step guides and reference materialCase studies illustrate specific functionality and provide in-depth instructionUse new capabilities to support iOS, MacOS, Android and Java developmentDiscover this comprehensive solution for modeling, designing, and coordinating enterprise software deploymentsOver 100 pages of new content, forward-compatible with new product releases

Professional Application Lifecycle Management with Visual Studio 2013 provides a complete framework for using ALM to streamline software design and deployment processes using well-developed Microsoft tools and methodologies. Professional Application Lifecycle Management with Visual Studio 2013 is your guide to make use of newly-available ALM features to take your enterprise software development to the next level.

English

Mickey Gousset is a Microsoft ALM MVP and Principal Consultant at Infront Consulting Group.

Martin Hinshelwood is a Microsoft ALM MVP and Principal Consultant at naked ALM Consulting.

Brian A. Randell is a Microsoft ALM MVP and Partner at MCW Technologies.

Brian Keller is a Principal Technical Evangelist for Microsoft, specializing in Visual Studio and Application Lifecycle Management.

Martin Woodward is a Principal Program Manager in the Visual Studio Application Lifecycle Management team at Microsoft and a former MVP.

English

INTRODUCTION xxix

CHAPTER 1: INTRODUCTION TO APPLICATION LIFECYCLE MANAGEMENT WITH VISUAL STUDIO 2013 1

Application Lifecycle Management 2

Visual Studio 2013 Product Lineup 3

Application Lifecycle Management Challenges 4

Enter Visual Studio 2013 5

Application Lifecycle Management in Action 6

Requirements 6

System Design and Modeling 7

Code Generation 7

Testing 7

Feedback 8

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

Teams 20

Process Templates 21

Work Item Tracking 22

Version Control 23

Team Build 25

Accessing Team Foundation Server 26

Accessing Team Foundation Server from Visual Studio 27

Accessing Team Foundation Server Through a Web Browser 29

Using Team Foundation Server in Microsoft Excel 30

Using Team Foundation Server in Microsoft Project 31

Command-Line Tools for Team Foundation Server 31

Accessing Team Foundation Server from Eclipse 31

Windows Explorer Integration with Team Foundation Server 32

Access to Team Foundation Server via Other Third-Party Integrations 32

What’s New in Team Foundation Server 2013 33

Version Control 33

Web Access 33

Agile Portfolio Management 33

Release Management 34

The Cloud 34

Adopting Team Foundation Server 34

Summary 36

CHAPTER 3: USING CENTRALIZED TEAM FOUNDATION VERSION CONTROL 37

Team Foundation Version Control and Visual SourceSafe (VSS) 2005 39

Setting Up Version Control 40

Using Source Control Explorer 41

Setting Up Your Workspace 42

Getting Existing Code 43

Sharing Projects in Version Control 45

Check-In Pending Changes 48

Checking In an Item 50

Creating and Administering Check-In Policies 54

Viewing History 57

Labeling Files 58

Shelving 59

Workspaces 61

Server Workspaces 64

Local Workspaces 65

Command-Line Tools 66

Branching and Merging 67

Branching Demystified 67

Common Branching Strategies 70

Summary 75

CHAPTER 4: DISTRIBUTED VERSION CONTROL WITH GIT AND TEAM FOUNDATION SERVER 77

Fundamentals of Distributed Version Control with Git 78

Getting Started with the Visual Studio Tools for Git 79

Clone 80

Commit 83

Push, Pull, and Fetch 86

Merging Changes with Git and Visual Studio 88

Branch Creation 88

Summary 91

CHAPTER 5: TEAM FOUNDATION BUILD 93

Team Foundation Build 94

What’s New in Team Foundation Build 2013 95

Support for Git-based Repositories 96

Simplified Building and Testing of Windows Store Apps 97

MSTest Support Removed 99

Enhanced Hosted Build Services 99

Build Output Changes 99

Simplified Process Template 100

Built-in Support for Calling Scripts 100

Team Foundation Build Architecture 100

Working with Builds 101

Team Explorer 102

Build Explorer 102

Build Details View 103

Creating a Build Definition 104

Queuing a Build 114

Build Notifications 116

Team Build Process 118

Default Template Process 119

Build Process Parameters 119

Summary 125

CHAPTER 6: RELEASE MANAGEMENT 127

What Is Release Management? 127

Continuous Software Delivery 129

Defining a Release Pipeline 132

Configuring for First Use 133

Introduction to Actions 135

Introduction to Release Paths 137

Creating Release Templates 142

Creating Releases 148

Approvals 149

Summary 151

CHAPTER 7: COMMON TEAM FOUNDATION SERVER CUSTOMIZATIONS 153

Object Models 154

Client Object Model 155

Server Object Model 155

Build Process Object Model 155

Simple Object Model Example 155

Java SDK for TFS 157

Customizing Team Foundation Build 157

Creating Custom Build Process Templates 157

Creating Custom Build Workflow Activities 159

Customizing Team Foundation Version Control 160

Custom Check-in Policies 160

Team Foundation Server Event Service 161

Customizing Work Item Tracking 162

Modifying Work Item Type Definitions 162

Creating Custom Work Item Controls 163

Summary 163

PART II: BUILDING THE RIGHT SOFTWARE

CHAPTER 8: INTRODUCTION TO BUILDING THE RIGHT SOFTWARE 167

Stakeholders 169

Storyboarding 170

Capturing Stakeholder Feedback 171

Work Item Only View 172

Third-Party Requirements Management Solutions 173

TeamCompanion 173

TeamSpec 174

inteGREAT 174

Summary 176

CHAPTER 9: STORYBOARDING 177

Why Storyboarding? 177

PowerPoint Storyboarding 179

Storyboard Shapes 180

Layouts 181

Screenshots 182

My Shapes 185

Animations 187

Hyperlinks 188

Storyboard Links 189

Summary 190

CHAPTER 10: CAPTURING STAKEHOLDER FEEDBACK 193

Requesting Feedback 194

Providing Feedback 195

Voluntary Feedback 199

Summary 199

PART III: PROJECT MANAGEMENT

CHAPTER 11: INTRODUCTION TO PROJECT MANAGEMENT 203

Project Management Enhancements in Team Foundation Server 2013 204

Rich Work Item Relationships 204

Agile Planning Tools 205

Test Case Management 207

Feedback Management 207

Enhanced Reporting 208

SharePoint Server Dashboards 208

Work Items 209

Work Item Types 209

Areas and Iterations 211

Process Templates 214

MSF for Agile Software Development 215

MSF for CMMI Process Improvement 217

Visual Studio Scrum 221

Third-party Process Templates 222

Custom Process Templates 223

Managing Work Items 223

Using Visual Studio 223

Using Microsoft Excel 228

Using Microsoft Project 230

Using Team Web Access 230

Project Server Integration 231

Summary 232

CHAPTER 12: AGILE PLANNING AND TRACKING 233

Defining a Team 234

Managing Portfolio Backlogs 240

Maintaining Product Backlogs 244

Planning Iterations 248

Tracking Work 251

Customization Options 253

Summary 255

CHAPTER 13: USING REPORTS, PORTALS, AND DASHBOARDS 257

Team Foundation Server Reporting 258

Working with Team Foundation Server Reports 260

Tools to Create Reports 261

Working with Microsoft Excel Reports 262

Working with RDL Reports 273

Summary 274

PART IV: ARCHITECTURE

CHAPTER 14: INTRODUCTION TO SOFTWARE ARCHITECTURE 277

Designing Visually 277

Microsoft’s Modeling Strategy 279

Understanding Model-Driven Development 279

Understanding Domain-Specific Languages 280

The “Code Understanding” Experience 281

The Architecture Tools in Visual Studio Ultimate 2013 281

Use Case Diagrams 282

Activity Diagrams 283

Sequence Diagrams 283

Component Diagrams 284

Class Diagrams 284

Layer Diagrams 286

Architecture Explorer 286

What’s New with Architecture Tools in Visual Studio Ultimate 2013 287

Code Maps 287

Visual Studio Visualization and Modeling SDK 288

Summary 288

CHAPTER 15: TOP-DOWN DESIGN WITH USE CASE, ACTIVITY, SEQUENCE, COMPONENT, AND CLASS DIAGRAMS 289

Use Case Diagrams 290

Creating a Use Case Diagram 290

Use Case Diagram Toolbox 294

Activity Diagrams 295

Creating an Activity Diagram 295

Activity Diagram Toolbox 298

Adding an Activity Diagram to a Use Case Diagram 300

Sequence Diagrams 300

Creating a Sequence Diagram 300

Sequence Diagram Toolbox 303

Component Diagrams 304

Creating a Component Diagram 304

Component Diagram Toolbox 308

Class Diagrams 310

Creating a Class Diagram 311

Class Diagram Toolbox 312

Generating Code from a UML Class Diagram 314

Summary 315

CHAPTER 16: ANALYZING APPLICATIONS USING ARCHITECTURE EXPLORER, DEPENDENCY GRAPHS, AND CODE MAPS 317

Understanding the Code Base 318

Architecture Explorer Basics 319

Understanding the Architecture Explorer Window 320

Architecture Explorer Options 320

Navigating Through Architecture Explorer 321

Exploring Options for Namespaces 323

Exploring Options for Classes 325

Exploring Options for Members 326

Dependency Graphs 328

Creating the First Dependency Graph 328

Creating a Dependency Graph Without Architecture Explorer 329

Navigating Through Your Dependency Graph 331

Dependency Graph Legend 334

Dependency Graph Toolbar 335

The Code Index 336

Code Maps 337

Summary 341

CHAPTER 17: USING LAYER DIAGRAMS TO MODEL AND ENFORCE APPLICATION ARCHITECTURE 343

Creating a Layer Diagram 344

Defining Layers on a Layer Diagram 345

Creating a Layer for a Single Artifact 347

Adding Multiple Objects to a Layer Diagram 347

The Layer Explorer 347

Defining Dependencies 349

Validating the Layer Diagram 351

Layer Diagrams and the Build Process 353

Summary 354

PART V: SOFTWARE DEVELOPMENT

CHAPTER 18: INTRODUCTION TO SOFTWARE DEVELOPMENT 357

What’s New for Developers in Visual Studio 2013 358

Unit Testing 358

Code Analysis 359

CodeLens 359

Profiler 359

Advanced Debugging with IntelliTrace 360

Lightweight Code Commenting 361

My Work 362

Suspend and Resume 363

Code Review 364

Summary 367

CHAPTER 19: UNIT TESTING 369

Unit Testing Concepts 370

Benefits of Unit Testing 370

Writing Effective Unit Tests 371

Third-Party Tools 372

Visual Studio Unit Testing 372

Creating Your First Unit Test 373

Managing and Running Unit Tests 376

Debugging Unit Tests 377

Programming with the Unit Test Framework 377

Initialization and Cleanup of Unit Tests 377

Using the Assert Methods 380

Using the CollectionAssert class 383

Using the StringAssert Class 385

Expecting Exceptions 386

Defining Custom Unit Test Properties 386

TestContext Class 387

Introduction to Microsoft Fakes 387

Choosing Between Stubs and Shims 388

Using Stubs 389

Using Shims 391

Using Test Adapters 393

Summary 394

CHAPTER 20: CODE ANALYSIS, CODE METRICS, CODE CLONE ANALYSIS, AND CODELENS 397

The Need for Analysis Tools 398

What’s New for Code Analysis in Visual Studio 2013 398

Using Code Analysis 399

Built-in Code Analysis Rules 400

Code Analysis Rule Sets 401

Enabling Code Analysis 402

Executing Code Analysis 404

Working with Rule Violations 407

Using the Command-Line Analysis Tool 410

FxCopCmd Options 410

FxCopCmd Project Files 413

Build Process Code Analysis Integration 414

Creating Code Analysis Rules 414

Code Metrics 414

Code Clone Analysis 417

Finding Code Clones 417

Reviewing the Code Clone Analysis Results 418

How Code Clone Analysis Works 418

Excluding Items from Code Clone Analysis 419

Using CodeLens 420

Summary 423

CHAPTER 21: PROFILING AND PERFORMANCE 425

Introduction to Performance Analysis 426

Types of Profilers 426

Visual Studio Profiling 427

What’s New in Profiling with Visual Studio 2013 427

Using the Profiler 428

Creating a Sample Application 429

Creating a Performance Session 430

Adding a Blank Performance Session 434

Using the Performance Explorer 434

Configuring a Sampling Session 444

Configuring an Instrumentation Session 445

Configuring a .NET Memory Allocation Session 446

Configuring a Concurrency Profi ling Session 446

Executing a Performance Session 446

Managing Session Reports 447

Reading and Interpreting Session Reports 450

Command-Line Profiling Utilities 459

Just My Code 460

Profiling JavaScript 460

Common Profiling Issues 462

Debugging Symbols 462

Instrumentation and Code Coverage 462

Summary 463

CHAPTER 22: DEBUGGING WITH INTELLITRACE 465

IntelliTrace Basics 466

IntelliTrace — An Example 466

Navigating the IntelliTrace Events View 468

Collecting Method Call Information 469

Collecting Detailed Information 472

Saving Your IntelliTrace Session 473

IntelliTrace Options 478

IntelliTrace in Production 480

Installing the IntelliTrace Standalone Collector 481

Configuring IntelliTrace PowerShell Commandlets 482

Collecting Execution Information 483

Summary 484

PART VI: TESTING

CHAPTER 23: INTRODUCTION TO SOFTWARE TESTING 489

Role-Based Testing Tools 490

Types of Tests 490

Diagnostic Data Adapters 491

Microsoft Test Manager 493

Managing Automated Tests with Visual Studio 494

Test Project Types 495

Test Explorer 496

Code Coverage 499

Using Ordered Tests 499

Test Settings 501

Summary 503

CHAPTER 24: MANUAL TESTING 505

What’s New in Visual Studio 2013 506

Microsoft Test Manager 507

Using Test Plans 510

Configuring Test Settings 512

Using Builds 513

Analyzing Impacted Tests 515

Defining Test Configurations 515

Plan Contents 517

Running Tests and Tracking Results 523

Using Test Runner 525

Supported Technologies for Action Recordings 529

Filing Bugs and Saving Test Results 530

Exploratory Testing 531

Running Automated Tests 535

Summary 535

CHAPTER 25: CODED USER INTERFACE TESTING 537

What’s New in Visual Studio 2013 538

Creating Coded UI Tests Using the Coded UI Test Builder 542

Setting Up the Sample Application 542

Create a Test Project 543

Coded UI Test Builder 544

Generated Code 549

Running Your Test 551

Creating a Data-Driven Test 552

Failing Tests 554

Taking Screenshots 555

UI Map Editor 556

Creating Coded UI Tests Using Action Recordings 558

Supported Technologies 562

Summary 562

CHAPTER 26: WEB PERFORMANCE AND LOAD TESTING 563

Web Performance Tests 564

Web Performance Tests versus Coded UI Tests 564

Creating a Sample Web Application 565

Creating Users for the Site 565

Creating and Configuring Web Tests 566

Recording a Web Performance Test 568

Configuring Web Performance Test Run Settings 569

Parameterizing the Web Server 570

Test Settings 571

Running a Web Performance Test 574

Observing Test Execution and Results 574

Editing a Web Performance Test 575

Data-Driven Web Performance Tests 580

Coded Web Performance Tests 582

Load Tests 585

Creating and Configuring Load Tests 585

Editing Load Tests 595

Executing Load Tests 598

Viewing and Interpreting Load Test Results 598

Distributed Load Tests 601

Installing Controllers and Agents 601

Configuring Controllers 602

Configuring Agents 603

Running a Distributed Load Test 603

Cloud-Based Load Testing with Visual Studio Online 603

Running a Load Test in the Cloud 604

Summary 607

CHAPTER 27: LAB MANAGEMENT 609

Lab Management Infrastructure 610

Golden Images 611

Agents 611

SCVMM Environments 612

Testing with Environments 619

Create New Test Settings 619

Run Manual Tests with an Environment 622

Automated Build-Deploy-Test with Environments 626

Standard Environments 630

Summary 631

INDEX 633

loading