Visual Studio 2010 Testing for Developers Steve Lange Developer Technology Specialist Developer Platform & Evangelism Microsoft | Denver, CO
Agenda Testing Isn’t Just For Testers Quality-Centric Tooling in VS 2010 Getting it Right the First Time Diagnosing Issues Time-Permitting Other Test-Centric Capabilities Web Performance Testing Coded UI Testing Other Concepts not Discussed Today
Wouldn’t It Be Nice If.. .. code quality was optimized before moving to QA? .. QA could file more rich & actionable bugs? .. Developers had tooling to more quickly debug issues?
Developer-Tester Ping Pong Tester Developer “I did the same thing and it works. Are you sure you did that?” “Let me come down to your desk and see what you did.” “It works on my machine. What’s different?” “How much RAM do you have?” “What do you want to know?” “What OS are you running?” “What steps did you take?” “I did this, then this.” “Yes, don’t you believe me?” “I found a bug.” “Windows 7.” “Four gigs.” A lot of wasted effort due to poor collaboration & integration
Quality-Centric Tooling for Developers Getting it Right the First Time Code Analysis & Metrics Test Impact Analysis Diagnosing Issues IntelliTrace Performance Profiling
Code Analysis Static “grammar” checking of your code Check for quality while you write it Uses “rule sets” & categories Naming conventions Non-secure data access Design Issues Accessibility Localization Can be run automatically as part of local build Create work item in TFS
Debug is Fine, But.. Forward-only Set breakpoint, run, pause, reset breakpoint, run again.
IntelliTrace DVR for your code Reduce “no repro” bugs Bridge gap between test and development Dynamically instruments code Records program execution flow Records program data (parameters & return values) Direct code version navigation when using symbols
Other Testing Capabilities Not Discussed Today Test Case Management & Automation Load Testing
To Wrap Up Visual Studio 2010 provides.. Tools for not diagnosing existing issues, but mitigating potential ones Capabilities that cross the entire spectrum of testing, from the generalist tester to the true developer.