Visual Studio 2010 Testing for Developers


Published on

Visual Studio 2010 Testing for Developers - from DevExpress webinar on 2/24/2011.

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Visual Studio 2010 Testing for Developers

  1. 1. Visual Studio 2010 Testing for Developers<br />Steve Lange<br />Developer Technology Specialist<br />Developer Platform & Evangelism<br />Microsoft | Denver, CO<br />
  2. 2. Agenda<br />Testing Isn’t Just For Testers<br />Quality-Centric Tooling in VS 2010<br />Getting it Right the First Time<br />Diagnosing Issues<br />Time-Permitting<br />Other Test-Centric Capabilities<br />Web Performance Testing<br />Coded UI Testing<br />Other Concepts not Discussed Today<br />
  3. 3. Before we start..<br />
  4. 4. Testing Isn’t Just for Testers<br />
  5. 5. Wouldn’t It Be Nice If..<br />.. code quality was optimized before moving to QA?<br />.. QA could file more rich & actionable bugs?<br />.. Developers had tooling to more quickly debug issues?<br />
  6. 6. Developer-Tester Ping Pong<br />Tester<br />Developer<br />“I did the same thing and it works. Are you sure you did that?”<br />“Let me come down to your desk and see what you did.”<br />“It works on my machine. What’s different?”<br />“How much RAM do you have?”<br />“What do you want to know?”<br />“What OS are you running?”<br />“What steps did you take?”<br />“I did this, then this.”<br />“Yes, don’t you believe me?”<br />“I found a bug.”<br />“Windows 7.”<br />“Four gigs.”<br />A lot of wasted effort due to poor collaboration & integration<br />
  7. 7. Quality-Centric Tooling for Developers<br />Getting it Right the First Time<br />Code Analysis & Metrics<br />Test Impact Analysis<br />Diagnosing Issues<br />IntelliTrace<br />Performance Profiling<br />
  8. 8. Code Analysis<br />Static “grammar” checking of your code<br />Check for quality while you write it<br />Uses “rule sets” & categories<br />Naming conventions<br />Non-secure data access<br />Design Issues<br />Accessibility<br />Localization<br />Can be run automatically as part of local build<br />Create work item in TFS<br />
  9. 9. Code Analysis Rule Sets<br />
  10. 10. Code Metrics<br />Measures complexity & maintainability of managed code<br />Generated code is ignored<br />User can’t change it<br />For single project or entire solution<br />Export to Excel<br />Create work item in TFS<br />
  11. 11. Understanding Code Metrics Values<br />
  12. 12. Demo<br />Code Analysis & Code Metrics<br />
  13. 13. Test Impact Analysis<br />Identifies tests impacted by code changes<br />Reduces test time<br />Compares code changes with coverage data<br />
  14. 14. Demo<br />Test Impact Analysis<br />
  15. 15. Diagnosing Issues<br />
  16. 16. Debug is Fine, But..<br />Forward-only<br />Set breakpoint, run, pause, reset breakpoint, run again.<br />
  17. 17. IntelliTrace<br />DVR for your code<br />Reduce “no repro” bugs<br />Bridge gap between test and development<br />Dynamically instruments code<br />Records program execution flow<br />Records program data (parameters & return values)<br />Direct code version navigation when using symbols<br />
  18. 18. Demo<br />IntelliTrace<br />
  19. 19. Performance Profiling<br />Performance session capture<br />Perf counter utilization (CPU, RAM, etc.)<br />Concurrency<br />Tier interaction (SQL Server)<br />Client-side Javascript<br />Provides<br />Comprehensive data & reports<br />Hot Path<br />Benchmark comparison<br />
  20. 20. Profiling Reports<br />
  21. 21. Profiling Reports<br />
  22. 22. Demo<br />Performance Profiling<br />
  23. 23. Is There Time?<br />
  24. 24. Web Performance Tests<br />“Headless” browser testing<br />Test communication at protocol level<br />Measures request/response times, server codes, etc.<br />Add validations & extractions<br />Can be data-driven<br />
  25. 25. Demo<br />Web Performance Tests<br />
  26. 26. Coded UI Tests<br />Functional UI Testing, in .NET code<br />Validate behavior of application<br />Record actions & turn into code, or use existing recordings from a test case<br />
  27. 27. Demo<br />Coded UI Tests<br />
  28. 28. Other Testing Capabilities Not Discussed Today<br />Test Case Management & Automation<br />Load Testing<br />
  29. 29. To Wrap Up<br />Visual Studio 2010 provides..<br />Tools for not diagnosing existing issues, but mitigating potential ones<br />Capabilities that cross the entire spectrum of testing, from the generalist tester to the true developer.<br />
  30. 30. Questions?<br />
  31. 31. Steve Lange<br />Developer Technology Specialist<br />Microsoft | Denver, CO<br /><br /><br />@stevelange<br />