visual studio 2010 diagnostics and analysis tools to improve software quality as building software...
Post on 20-Dec-2015
212 views
TRANSCRIPT
Visual Studio 2010 Diagnostics and Analysis Tools to Improve Software Quality As building software becomes more
complex, the probability of exposing end-users to application defects increases exponentially. Software quality begins as soon as you start writing code. Improving code quality is the first line of offense in quality management.
IntelliTrace™ extends and enhances the Visual Studio live debugging experience. Debugging with IntelliTrace provides an enhanced picture of your application compared with traditional debuggers.
Test Impact Analyst will help you analyze the tests impacted as a result of a code change. These tests can be Unit Test or just Manual Tests.
Multi-Tier Performance Analysis. Tier Interaction Profiling enables you to measure the performance of your application from a database interactions point of view.
Randy PagelsSr. Developer Technical SpecialistMicrosoft [email protected]://www.teamsystemcafe.net
Specialist covering Heartland(MI, OH, KY, and TN) Team Foundation Server Visual Studio ALM tools Visual Studio Test Professional Lab Management
• IntelliTrace™• Test Impact Analysis• Multi-tier Performance
Analysis• Solve Complex Debugging
Tasks• Q & A
Agenda
What is Proteus?
The Answer
Codename “Proteus”
Intellitrace, previously called “Historical Debugging”Record what the application does as it is runningMakes it easy to spot the bugRecord method calls with parametersGet intellitrace logs from your F5 developer testingGet intellitrace logs from your build serverGet intellitrace logs from your testers Record / Trace testers executionUse same source code to debug as the tester had to test
Is it an early blooming spring flower?Is it an sea god, according to Greek Mythology?Is it a planet in the Milky Way?Is it the code name for Visual Studio 2010?
ss
− Testing - No more “no repro”− Integrated, Extensible Diagnostics− Rich Bugs, fix first time, every time− Intellitrace
− Build Automation - BVTs− Build Verification Test (BVT) test fails− View & Debug failed test results from build
report− Intellitrace
− Developer Experience – F5− Historical Debugging from Dev machine− Play back events, forward & backward− Intellitrace
IntelliTrace™ value add experiences
Eliminate “No-repro” Bugs
File Bug
Resolve as
“No Repro”
Hand-offto Test
Test CodeHand-offto Dev
Verify Bug
Write Code
What is IntelliTrace?
+ =
ApplicationInstrumentati
onLog File
Today
+ ==
IntelliTrace • Record• Playback• Rewind
IntelliTrace
demo
• IntelliTrace™• Developer F5 debugging• Build Verification Test (BVT) test
failures• Manual Test failures
IntelliTrace in Production
From the Microsoft Visual Studio 2010 Licensing White Paper (page 17):
The IntelliTrace adapter and/or IntelliTrace.exe cannot be used:• On a device or server in a
production environment.• For purposes of system or
application monitoring.• In non-interactive scenarios
other than as part of an automated test or debugging-data collection session.
IntelliTrace 64-bit Support
• 64-bit is supported for:• Running IntelliTrace from the command
line• Integration with Microsoft Test Manager• Integration with Lab Management
• 64-bit is not supported for• F5 debugging
IntelliTrace Capabilities
• Code is instrumented dynamically• Records program execution flow
• Method Enter & Exit• Records program data
• Parameters• Return values
• Low overhead for collection• Supports Dev, Test and Staging environments
• Pay-as-you-go collection model• 1st class debugging experience in VS
Using IntelliTrace from the CMD Line• Four steps:• XCopy IntelliTrace.exe and supporting
files to any location on the target machine• C:\Program Files\Microsoft Visual
Studio 10.0\Team Tools\TraceDebugger Tools
• On the target machine, open a Command prompt with elevated privilege
• Run IntelliTrace.exe on the target machine to collect *.itrace file• IntelliTrace launch /collectionplan:en\
CollectionPlan.xml /logfile:HelloWorld.itrace HelloWorld.exe
• Open *.itrace file in Visual Studio to debug
How IntelliTrace WorksApplication
IntelliTrace File
CollectionPlan.xml
IntelliTrace Recorder(IntelliTrace.exe)
Using IntelliTrace to debug Windows Azure Cloud Services
Windows Azure Compute Explorer indicates whether a deployment has IntelliTrace enabled on Hosted Services
Now simply view the Intellitrace logs
Enable IntelliTrace for .Net 4 apps
Package IntelliTrace logs from the web and worker host processes in the cloud and start the deployment process
A B
C D
What is Aftershock?
The Answer
Codename “Aftershock”
Test Impact AnalysisA list of impacted testsA list of changed methods with unit testsA list of changed tests with methods
Is it a rock band?Is it a type of basketball shoe?Is it a luxury women's clothing brand?Is a liqueur drink produced in Canada?Is it the code name for Visual Studio 2010?
Automated Testing
Manual Testing
User Testing
Choosing the Right TestsThe Problem
Application Functionality
Q: Which tests should the developer and tester run to verify this code change?A) Automated Tests
onlyB) Manual Tests onlyC) All of the aboveD) Don’t knowE) Trick question??
Δ
Code Change
Choosing the Right TestsThe Consequence
The world of Developers−Run more tests than
needed−Run too few tests than
needed
The world of Testers− Verify more tests than
needed− Verify too few tests than
needed
1. Less Productivity• Effort wasted on tests that don’t need to be run
2. Lower quality• Not enough testing to verify code change
What is Test Impact Analysis?
− Automatically pinpoint which tests are impacted as a result of a code change
What is the impact of this bug fix?
How Test Impact Analysis Works
Automated Impacted Tests
Test Impact View
TFS
Team Build
Manual Impacted Tests
Microsoft Test Manager
Team Build Report
A B
C
Multi-Tier Performance AnalysisUser: “Why is it taking so long to load the Orders
page?”
Developer: “I wonder where the
problem could be???”
Front End?
Mid Tier?
Back End?
Dump File Summary PageDump file summary information
Support for mixed-mode dump files
IL Interpreter for managed property evaluation
Operating system and CLR version information
Module Information
Search modules
DataTipsPin the DataTip to the source code
DataTip stays in sync with the source code
Toolbar allows the user to pin/unpin a DataTip
Context menu for managing values/expressions in the DataTip
Floating DataTips can be dragged anywhere, and can’t be pinned unless over source code
Space provided for comments in the DataTip which can be collapsed/expanded as desired
DataTip changes color to indicate it is a floating window
Visual Studio 2010 Ultimate
• Provides everything in one box• IntelliTrace®• Microsoft® Test Manager 2010• Architecture and modeling
toolsLab Management is part of Visual Studio 2010 Ultimate and Test Professional 2010 for MSDN subscribers
© 2009 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.
Test Manager 2010
Manual Testing
Layer Diagram
UML Modeling
Load Testing Web Testing
Test Case Management
IntelliTrace™
Architecture Explorer Fast Forward for Manual Testing
Logical Class Designer
Cloud Development
Office Development
Windows Development
New WPF Editor Customizable IDE
Multi-core Development
Silverlight Tools
Web Development
SharePoint Development
Generate from Usage
Static Code Analysis
Database Deployment
Code Metrics
Database Unit Testing Test Data Generation
Test Impact AnalysisUI Test Automation
Code Coverage
Performance Profiling
Database Change Mgmt
Test Manager 2010
Test Case Management
Fast Forward for Manual Testing
Manual Testing
Lab Mgmt Config.
Checkpoint Environment
Environment from Template
Virtual Env. Setup/Tear Down
Team Explorer
Team Agents
Reporting
Team Portal
Test Case Management
Branch Visualization
Version Control
Build Automation
Gated Check-in
Agile Planning Tools