DevEX - reference for building teams, processes, and platforms
Visual Studio 2010 Testing for Developers
1. Visual Studio 2010 Testing for Developers Steve Lange Developer Technology Specialist Developer Platform & Evangelism Microsoft | Denver, CO
2. 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
5. 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?
6. 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
7. Quality-Centric Tooling for Developers Getting it Right the First Time Code Analysis & Metrics Test Impact Analysis Diagnosing Issues IntelliTrace Performance Profiling
8. 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
10. Code Metrics Measures complexity & maintainability of managed code Generated code is ignored User can’t change it For single project or entire solution Export to Excel Create work item in TFS
16. Debug is Fine, But.. Forward-only Set breakpoint, run, pause, reset breakpoint, run again.
17. 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
24. Web Performance Tests “Headless” browser testing Test communication at protocol level Measures request/response times, server codes, etc. Add validations & extractions Can be data-driven
26. Coded UI Tests Functional UI Testing, in .NET code Validate behavior of application Record actions & turn into code, or use existing recordings from a test case
29. 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.