240 likes | 400 Views
DEV316. Application Lifecycle Management Tools for C++ in Visual Studio 2012 . Rong Lu Program Manager Visual C++ Microsoft Corporation. Agenda. Recap: ALM features for C++ in Visual Studio 2010 . ALM features for C++ in Visual Studio 2012. Demos. Q&A. Resources.
E N D
DEV316 Application Lifecycle Management Tools for C++ in Visual Studio 2012 Rong Lu Program Manager Visual C++ Microsoft Corporation
Agenda • Recap: ALM features for C++ in Visual Studio 2010 ALM features for C++ in Visual Studio 2012 Demos Q&A Resources
ALM features for C++ in Visual Studio 2010 • VS Premium • Code Coverage • Code Analysis • Profiling • Concurrency Profiling • VS Ultimate • Load testing • Lab management • Team Foundation Server • Source Code Control • Team Build
Profiling • Measure performance aspects of the application to identify bottlenecks.
Load Testing • Load tests consist of a series of Web tests or unit tests to simulate multiple users over a period of time.
Concurrency VisualizerCPU Utilization Other processes Number of cores Your Process Idle time
Concurrency VisualizerThreads Detailed thread analysis (one channel per thread) Call Stacks
Concurrency VisualizerCores One color per thread Cross-core migration details
Visual Studio 2012 ALM and C++ • Additional ALM features for C++ in VS 2012 • 2010 features Updated • Code Analysis • Code Coverage • Architectural Discovery • Unit Testing • ALM features in VS 2012 • User Story/Product Backlog mgmt • Lightweight Requirements • Sprint planning, Taskboards planning • Context Switching • Stakeholder Feedback • Code Review • Exploratory Testing
demo Architectural Discovery
Summary: Architectural Discovery • Use dependency graphs to better understand your code • Generate graphs for whole solution • Generate graphs for include file (C++) • It is your diagram, edit it! • Use Architecture Explorer to browse assets and generate customized graphs
Code analysis • “The most important thing I have done as a programmer in recent years is to aggressively pursue static code analysis. Even more valuable than the hundreds of serious bugs I have prevented with it is the change in mindset about the way I view software reliability and code quality.” • “Eventually, I had all the code used to build the 360 executable compiling without warnings with /analyze enabled…This did slow down compiles somewhat, but /analyze is by far the fastest analysis tool I have worked with, and it is oh so worth it.” --John Carmack Founder and technical director of Id Software http://www.altdevblogaday.com/2011/12/24/static-code-analysis/
demo Code analysis
Summary: Code Analysis • Improved user experience and analysis capabilities • 64 bit support • Available in all editions • Concurrency rules (Pro+) • Customize ruleset (Pro+)
demo Unit testing
Summary: Unit Testing • New native C++ unit test framework in VS11 • Author tests, manage tests and view results in VS • Available in all editions • Continuous run after build (Premium+) • Extensible: plug in 3rd party native framework to VS (Pro+)
demo Code Coverage
Summary: Code Coverage • Simplified experience and integrated with unit test framework • Analyze code coverage by one single click in VS • For all tests • For selected tests • Allow integration with 3rd party unit test frameworks
Summary • Use ALM features in VS2012 to build safer, more reliable and high quality C++ apps: • Architectural Discovery • Code Analysis (available in Express) • Unit Testing (available in Express) • Code Coverage • Profiler (available in Express) • …plus general ALM features in VS2012
Q&A ronglu@microsoft.com Find me at TLC Visual Studio Platforms after session and on Friday
Related Content • Download Visual Studio 2012 RC and try it out! Breakout sessions • (Tue) FDN02: Application Lifecycle Management(ALM): It’s a Team Sport • (Wed) DEV214: Introducing the New Visual Studio 2012 Unit Testing Experience • (Wed) DEV368: Visual C++ and the Native Renaissance • (Thu): DEV367: Building Windows 8 Metro Style Apps With C++ • (Fri): DEV334: C++ Accelerated Massive Parallelism in Visual C++ 2012 Find me at TLC: Visual Studio Platforms
Resources Learning TechNet • Connect. Share. Discuss. • Microsoft Certification & Training Resources http://europe.msteched.com www.microsoft.com/learning • Resources for IT Professionals • Resources for Developers • http://microsoft.com/technet http://microsoft.com/msdn
Evaluations Submit your evals online http://europe.msteched.com/sessions
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.