Rights Contact Login For More Details
- Wiley
More About This Title Professional Application Lifecycle Management with Visual Studio 2013
- English
English
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 releasesProfessional 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
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
English
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