Using Microsoft Test Manager, <br />Visual Studio 2010, and TFS 2010 to Improve Software Quality<br />Anna Russo<br />Sr. ...
The enclosed material is proprietary to Imaginet and is therefore  copyrighted.  This document may not be disclosed in any...
7 Steps to Improving Quality<br />Step 1- Work Management<br />Step 2- Defining/Reporting of “Done” <br />Step 3- Automate...
Step 1: Work Management<br />How do we manage work?<br />
Collaborate & Communicate<br />Team Foundation Server<br />A unified project server<br />Developer<br />Designer<br />Data...
TFS Tools<br />Use many tools to interact with TFS<br />Eclipse IDE<br />Team Explorer Everywhere<br />Team<br />Foundatio...
Goals for 2010 Release - Quality<br />Align QA with the Lifecycle<br />Create tighter Dev/Test interaction<br />Enable hig...
Work Management<br />NEW!<br /><ul><li>Hierarchical Work Management
Excel Reports
Ad-hoc Reports
Improved Dashboards
Improved Integration with Project and Excel
Agile Workbooks</li></li></ul><li>Demo<br />Work Management<br />
Step 2: Defining/Reporting of “Done”<br />What is the end goal?<br />
Improved Reporting<br />
Improved Reporting<br />
Dashboard: SharePoint Server<br />Dashboard title<br />What is this dashboard about?<br />Additional dashboards<br />Repor...
Are we making progress on running test plans?<br />How are our builds doing over time?<br />Are we fixing bugs?<br />What’...
Reporting<br />
Improved Test Reporting<br />
Improved Bug Reporting<br />
Step 3: Automated Build<br />What is our traceability from<br />Dev to QA?<br />
Powerful Build Engine<br />Build Explorer<br />Centralized build information<br />Build Report to display code and work it...
Gated Check-in<br />Build with TFS 2005/2008<br />Check-In Denied<br />Build Fails<br />New Code is Checked In<br />Build ...
Build Report<br />Check code in TFS+ <br />Associate Work Item+ <br />TFS Build script= <br />Build Report<br />
Integrate Work Frequently<br />
Step 4: Manual Testing Tools<br />How do we keep track of Testing?<br />
Testing Done Right<br />Test Manager<br />Manual Testing for the 21st century<br />Plan, Manage and Execute tests from one...
Testing Tools<br />MTM <br />Manual Testing Tools<br />Test Plan Management<br />Test Case Management<br />Shared Steps Ma...
                               Test Process<br />Release Cycle<br />Requirements<br />Build/<br /> Environment<br />Test R...
Test Plans, Suites and Cases<br />
Test Plans and Test Settings<br />
Test Plans with Configurations<br />
Test Suites<br />
Test Cases/Shared Steps are Work Items!<br />
Test Execution<br />
The Problem<br />Development and test have built a wall:<br />Development work happens on one side of the wall.<br />Testi...
Development Perspective<br />Works on my machine!<br />What build is being tested?<br />How do I repro this?<br />Insuffic...
Test Perspective<br />This is still broken? They said they fixed it!<br />Dev teams go over schedule, testing time is redu...
Rich Bugs<br />NEW!<br />Repro Steps<br />Screenshot<br />Video Capture<br />System Info<br />Debug Log<br />Test Environm...
Demo<br />Test Case Management/Filing Bugs<br />
Anna Bots<br />
Automated Coded UI Test<br />NEW!<br />Recorded<br />Actions<br />from Manual Tester<br />Use Visual Studio Recorder<br />...
Coded UI Testing<br />Enables verification of UI functionality.<br />Record test actions and VS will generate the resultin...
Best Practices (From MSDN)<br />Create each test case as a sequence of Recorded Methods. <br />Use meaningful method names...
Playback.PlaybackSettings…<br />Continue on Error<br />DelayBetweenActions<br />MatchExactHierarchy<br />SearchTimeout<br ...
UITestControl.WaitForControl…<br /><ul><li>WaitForControlReady() – This waits for the control to be ready to accept mouse/...
WaitForControlEnabled() – This waits for the control to be enabled. 
WaitForControlExist() – This waits for the control to exist on the UI. 
WaitForControlNotExist() – This waits till the control cease to exist on the UI.  For example, you can use this for progre...
WaitForControlPropertyEqual(string propertyName, object propertyValue) – This waits for the specified property of the cont...
WaitForControlCondition(Predicate<UITestControl> conditionEvaluator) –wait till the status text is “Succeeded” or “Failed”...
Step 5: Developer Quality Tools<br />How can developers contribute to the quality?<br />
Create code, Don’t debug it<br />Dependency Diagrams<br />Understand code dependencies visually and understand where to ma...
Spend Less time Debugging<br />IntelliTrace™<br />Make “No-Repro” History with Actionable Bugs<br />Test Impact Analysis a...
IntelliTrace<br />
Automated Coded UI Test<br />NEW!<br />Recorded<br />Actions<br />from Manual Tester<br />Use Visual Studio Recorder<br />...
Automation Platform Support<br />
Step 6 : Test Lab Managment<br />How do we integrate VM’s for manual or automated testing?<br />
Testing Done Right<br />Test Manager<br />Manual Testing for the 21st century<br />Plan, Manage and Execute tests from one...
Upcoming SlideShare
Loading in...5
×

STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Manager, Visual Studio 2010, and TFS 2010

2,455

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,455
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • This is the fully animated slide.
  • The 2010 release for Microsoft is a very big release with a lot of rich capabilities. Quality is a key pillars for the release planning efforts and we aspired to achieve the above goals with the test offerings in the 2010 release by taking a fresh look at the problems.We want to align QA with the lifecycle to ensure that testers can add more value to the application lifecycle and are not looked at “necessary evil”. Having test assets co-located with the dev assets &amp; project assets ensures visibility across the entire team.Create tighter integration across development &amp; test teams to ensure that we can eliminate waste across the hand shake (or lack there of) that happens across devs &amp; tests when it comes to bugs, builds, recreation of bugs etc. Enable highly leveraged QA teams ensures that teams are most efficient and are driving up productivity by focusing on key tasks and eliminating a lot of the waste that spans from boring repetitive tasks.
  • Having the right infrastructure and approach to testing is helps ensure high quality deliverables at the end of the development cycle. Visual Studio 2010 Ultimate arms you with tools to ensure that testing is done right the first time and streamlines the testing process to ensure that you can deliver on time and on budget.Test and Lab ManagerVisual Studio 2010 Ultimate delivers a brand new product for manual testing and test case management. The new Test and Lab Manager interface is a thoroughly modern interface that allows testers and anyone else involved in testing to manage test plans, test cases and individual tests. In addition, Test and lab manager acts as the one stop shop for manual testing. When executing manual tests, the Test and Lab Manager interface morphs into the Microsoft Test Runner, a modern integrated manual test interface that allows manual tests to be executed and the results to be filed in a simple and productive way. Additionally, Microsoft Test Runner can take a snapshot of the system data, record a video of the test, take a picture of the bug and record the IntelliTrace log to ensure you can always repro a bug, and there are no more &quot;not reproducible&quot; discussions. Virtual Test EnvironmentsOne of the most costly aspects of testing is the maintenance of the test infrastructure. A traditional test infrastructure consisted of rooms full of physical test machines that required dedicated professionals to provision and maintain. With Visual Studio 2010 Ultimate this test infrastructure has gone virtual. By using the new virtualized test lab management capabilities it is possible to reduce the overhead inherent with maintaining a physical test infrastructure and instead take advantage of the power of virtualized environments. It is also possible to share these environments not only within your testing team but also with other members of the team who need access to specific environments for development tests or dry runs prior to full scale testing begins.Web and Load TestingVisual Studio 2010 Ultimate also gives you access to advanced web and load testing features that help you ensure that whatever application you are building it is ready for the most demanding uses. The Web and Load testing capabilities of Visual Studio 2010 Ultimate help you ensure that whatever application you are building it is ready for whatever scenarios your organization can envisage taking you one step closer to knowing your application is ready for prime time.
  • OverviewWhen you’re building software as a team, there’s a natural cycle that you follow – testers find bugs, developers fix bugs, testers verify fixes. In order for this cycle to be productive, testers need builds that include fixes to the bugs that the developers have fixed. If the build is broken, there is a risk of holding up the entire team until it is fixed.Gated check-in provides a way to prevent build breaks by validating a developer’s changes prior to committing them to the version control repository. Those changes are validated via an automated build. If the build fails, the user’s pending changes are rejected and passed back to them as a shelveset, otherwise the changes are committed to the repository.Shelve-and-build, a related feature, lets the developer validate their changes with a private automated build. Unlike gated check-in, shelve-and-build is something the developer can choose to do. It can help identify breaks in code that the developer may not generally build on their local machine.Value Proposition       If a single developer on your team typically breaks the build just once a year and you have 52 developers working on your project, the build could be broken every week. If you have 260 developers, the build could be broken every day. When the build breaks, the entire team may be stalled resulting in substantial productivity losses. Those losses could be prevented by the gated check-in feature.
  • Having the right infrastructure and approach to testing is helps ensure high quality deliverables at the end of the development cycle. Visual Studio 2010 Ultimate arms you with tools to ensure that testing is done right the first time and streamlines the testing process to ensure that you can deliver on time and on budget.Test and Lab ManagerVisual Studio 2010 Ultimate delivers a brand new product for manual testing and test case management. The new Test and Lab Manager interface is a thoroughly modern interface that allows testers and anyone else involved in testing to manage test plans, test cases and individual tests. In addition, Test and lab manager acts as the one stop shop for manual testing. When executing manual tests, the Test and Lab Manager interface morphs into the Microsoft Test Runner, a modern integrated manual test interface that allows manual tests to be executed and the results to be filed in a simple and productive way. Additionally, Microsoft Test Runner can take a snapshot of the system data, record a video of the test, take a picture of the bug and record the IntelliTrace log to ensure you can always repro a bug, and there are no more &quot;not reproducible&quot; discussions. Virtual Test EnvironmentsOne of the most costly aspects of testing is the maintenance of the test infrastructure. A traditional test infrastructure consisted of rooms full of physical test machines that required dedicated professionals to provision and maintain. With Visual Studio 2010 Ultimate this test infrastructure has gone virtual. By using the new virtualized test lab management capabilities it is possible to reduce the overhead inherent with maintaining a physical test infrastructure and instead take advantage of the power of virtualized environments. It is also possible to share these environments not only within your testing team but also with other members of the team who need access to specific environments for development tests or dry runs prior to full scale testing begins.Web and Load TestingVisual Studio 2010 Ultimate also gives you access to advanced web and load testing features that help you ensure that whatever application you are building it is ready for the most demanding uses. The Web and Load testing capabilities of Visual Studio 2010 Ultimate help you ensure that whatever application you are building it is ready for whatever scenarios your organization can envisage taking you one step closer to knowing your application is ready for prime time.
  • http://blogs.msdn.com/mathew_aniyan
  • Assertions - This inserts assertions into your main coded UI test method. Even if some part of the recording must be changed, you can reuse your assertions.
  • Hints provided by MS product team member: Mathew AniyanContinue on Error (login page recorded and “remember password” prompted during recording)Match Exact - Sometimes application may change so that the hierarchy gets modified. Record and Playback engine attempts to locate the control, in such cases, by skipping the intermediate elements in the hierarchy.
  • Hints provided by MS product team member: Mathew AniyanContinue on Error (login page recorded and “remember password” prompted during recording)Match Exact - Sometimes application may change so that the hierarchy gets modified. Record and Playback engine attempts to locate the control, in such cases, by skipping the intermediate elements in the hierarchy.
  • The more time you spend debugging and fixing code the less time you have to spend creating innovative solutions and bringing value to the outcome. Visual Studio 2010 Ultimate includes features that help you reduce the number of bugs that get into an application thereby freeing you up to spend more of your time being creative around the solutions you deliver. Dependency DiagramsMaking changes to code can be fraught with danger and often leads to many types of new bugs being introduced into a solution that can be difficult to debug and fix. Visual Studio 2010 Ultimate allows you to create dependency diagrams that allow you to visually understand the dependencies between various areas of a solution helping you find where to make changes and what potential ripple effect those changes may have.Gated Check-InOne of the most costly problems that development teams face is when a build gets broken. This can potentially stop all development work for an entire team while the cause of the broken build is investigated and fixes are put in place. Visual Studio 2010 Ultimate includes an innovative new feature called Gated Check-In that looks to stop build breaks before they happen. By utilizing the shelving infrastructure first introduced into TFS in 2005, Gated Check-Ins allow developer to check code into source control but hold that check-in from the build tree until it has passed all the required validation and test required to ensure that there are not potential issues that may break the build. This is all done in the background and allows you to continue working while the checks and validations are performed.Code Analysis and Code MetricsOne easy way to reduce the number of bugs that occur is to simply ensure that the code you right is higher quality. Visual Studio 2010 Ultimate helps you find and fix problems before you make them by delivering advanced tools that analyze code for potential issues and ensure that code that is written is of high quality and maintainable.
  • Debugging code takes up a disproportionate amount of the development lifecycle. With the new features in Visual Studio 2010 Ultimate you can ensure that you reduce the amount of time spent debugging code to a minimum. IntelliTraceThe new IntelliTrace feature makes the “no-repro” discussion a thing of the past. It records the application’s execution history guaranteeing that the developer can always reproduce a reported bug. Step back in time to see the exact application state at the point of time when the bug occurs and use the inline call hierarchy to quickly trace a program’s execution flow without invoking the debugger. Automatically open the code at the place exactly where the code broke, reducing debugging time. Test Impact Analysis and Code CoverageTest impact analysis can tell you exactly what tests are impacted when you change a piece of code allowing you to choose to only run impacted tests. When you change a piece of code, Visual Studio 2010 Ultimate can make an automatic recommendation of tests based on that change leading to reduced testing time. Coupling this functionality with the Code Coverage tools ensure that not only are you running the appropriate tests but that you are testing all of your code so you can be confident that the code you deliver is free of defects.Coded UI TestsOnce you have found bugs in your code and have taken the steps to fix them, automated regression tests ensure that as you progress further through the development process that you catch any bugs that may have been re-introduced earlier in the cycle. This in turn ensures that you find new bugs earlier and can catch them when they are less costly to fix.
  • Having the right infrastructure and approach to testing is helps ensure high quality deliverables at the end of the development cycle. Visual Studio 2010 Ultimate arms you with tools to ensure that testing is done right the first time and streamlines the testing process to ensure that you can deliver on time and on budget.Test and Lab ManagerVisual Studio 2010 Ultimate delivers a brand new product for manual testing and test case management. The new Test and Lab Manager interface is a thoroughly modern interface that allows testers and anyone else involved in testing to manage test plans, test cases and individual tests. In addition, Test and lab manager acts as the one stop shop for manual testing. When executing manual tests, the Test and Lab Manager interface morphs into the Microsoft Test Runner, a modern integrated manual test interface that allows manual tests to be executed and the results to be filed in a simple and productive way. Additionally, Microsoft Test Runner can take a snapshot of the system data, record a video of the test, take a picture of the bug and record the IntelliTrace log to ensure you can always repro a bug, and there are no more &quot;not reproducible&quot; discussions. Virtual Test EnvironmentsOne of the most costly aspects of testing is the maintenance of the test infrastructure. A traditional test infrastructure consisted of rooms full of physical test machines that required dedicated professionals to provision and maintain. With Visual Studio 2010 Ultimate this test infrastructure has gone virtual. By using the new virtualized test lab management capabilities it is possible to reduce the overhead inherent with maintaining a physical test infrastructure and instead take advantage of the power of virtualized environments. It is also possible to share these environments not only within your testing team but also with other members of the team who need access to specific environments for development tests or dry runs prior to full scale testing begins.Web and Load TestingVisual Studio 2010 Ultimate also gives you access to advanced web and load testing features that help you ensure that whatever application you are building it is ready for the most demanding uses. The Web and Load testing capabilities of Visual Studio 2010 Ultimate help you ensure that whatever application you are building it is ready for whatever scenarios your organization can envisage taking you one step closer to knowing your application is ready for prime time.
  • The idea is you can take all of your learned best practices and begin to layer them into areas that need the most help. The notion of “best practices” apply at many levels when talking about the Application Lifecycle – from the individual to the organization.
  • The idea is you can take all of your learned best practices and begin to layer them into areas that need the most help. The notion of “best practices” apply at many levels when talking about the Application Lifecycle – from the individual to the organization.
  • Let me drill down into the capabilities in each product. For a more extensive list of capabilities, please go to www.microsoft.com.vstudio.Microsoft Visual Studio 2010 Professional is the essential tool for basic development tasks to allow developers to implement their ideas easily. This includes core capabilities for Windows, Web, and Office development, along with new capabilities for Cloud and SharePoint development. There are also new tools for Silverlight and Multi-core development. With Visual Studio 2010 the IDE and editor were refreshed using Microsoft Windows Presentation Foundation.[CLICK]Microsoft Visual Studio 2010 Premium is a complete toolset for developers to deliver scalable, high quality applications. This includes support for offline database development, unit testing and change management, static code analysis, performance profiling and code coverage and code metrics. New capabilities including UI test automation (aka Coded UI Tests) and Test Impact Analysis are available in premium.[CLICK]Microsoft Visual Studio 2010 Ultimate is the comprehensive suite of application lifecycle management tools for teams to ensure quality results from design to deployment. This includes IntelliTrace – the new historical debugger which enables debugging events that ran previously on your machine, or another machine. Microsoft Test and Lab manager is included in Ultimate enabling complete Test Case Management and test execution. Additionally the new architecture and modeling tools are included in Ultimate, including support for authoring UML diagrams (Activity, Use Case, Sequence, Component and Class diagrams are supported).[CLICK]
  • There are some additional products in the Visual Studio 2010 family.Team Foundation Server 2010 is the center of gravity – the hub for a development team. Team Foundation Server has a version control repository, a test case management database, a work item tracking and change management system, support of build automation and a comprehensive reporting solution built on SQL Server Reporting Services. Some of the new capabilities of Team Foundation Server include support for gated check-in, branch visualization and drag-n-drop merge, and new Agile Planning tools.[CLICK]Team Lab Management 2010 enables teams to configure and manage virtual lab environment. Team Lab Management works with System Center Virtual Machine Manage enabling teams to create environment templates, provision ring-fenced environments, and checkpoint those environments. Those checkpoints can be attached to bugs filed using the Test and Lab Manager enabling the person fixing the bug to open the environment right to the appropriate point in the application flow.[CLICK]Visual Studio Test Elements 2010 is the essential tool for anyone engaging in test case management or manual test execution in the development lifecycle. This tool is designed for the generalist tester – someone who tests applications, but who is not responsible for writing code. This product includes Microsoft Test and Lab Manager (the Visual Studio IDE is not included). [CLICK]
  • Transcript of "STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Manager, Visual Studio 2010, and TFS 2010"

    1. 1. Using Microsoft Test Manager, <br />Visual Studio 2010, and TFS 2010 to Improve Software Quality<br />Anna Russo<br />Sr. Application Lifecycle Management Consultant<br />Imaginet<br />arusso@imaginet.com<br />Blog- http://ImprovingSoftwareQuality.blogspot.com<br />www.Imaginet.com<br />
    2. 2. The enclosed material is proprietary to Imaginet and is therefore copyrighted. This document may not be disclosed in any manner to anyone other than the addressee and the employees or representatives of Notion Solutions who are recipients. This document may not be used in any manner other than for the purpose it was distributed. Any unauthorized use, reproduction or transmission in any form is strictly prohibited.<br />
    3. 3. 7 Steps to Improving Quality<br />Step 1- Work Management<br />Step 2- Defining/Reporting of “Done” <br />Step 3- Automated Builds<br />Step 4- Manual & Automated Testing Tools<br />Step 5- Developer Quality Tools<br />Step 6- Lab Management<br />Step 7- Working Smart<br />
    4. 4. Step 1: Work Management<br />How do we manage work?<br />
    5. 5.
    6. 6. Collaborate & Communicate<br />Team Foundation Server<br />A unified project server<br />Developer<br />Designer<br />Database Professional<br />Tester<br />Architect<br />ProjectManager<br />BusinessAnalyst<br />Team<br />Foundation<br />Server<br />
    7. 7. TFS Tools<br />Use many tools to interact with TFS<br />Eclipse IDE<br />Team Explorer Everywhere<br />Team<br />Foundation<br />Server<br />Visual Studio<br />Team Explorer<br />Microsoft Test Manager<br />
    8. 8. Goals for 2010 Release - Quality<br />Align QA with the Lifecycle<br />Create tighter Dev/Test interaction<br />Enable highly leveraged QA teams<br />
    9. 9. Work Management<br />NEW!<br /><ul><li>Hierarchical Work Management
    10. 10. Excel Reports
    11. 11. Ad-hoc Reports
    12. 12. Improved Dashboards
    13. 13. Improved Integration with Project and Excel
    14. 14. Agile Workbooks</li></li></ul><li>Demo<br />Work Management<br />
    15. 15. Step 2: Defining/Reporting of “Done”<br />What is the end goal?<br />
    16. 16. Improved Reporting<br />
    17. 17. Improved Reporting<br />
    18. 18. Dashboard: SharePoint Server<br />Dashboard title<br />What is this dashboard about?<br />Additional dashboards<br />Reports shown side-by-side in context of other relevant metrics<br />Yes, we have a burndown!<br />Are we making progress on tasks?<br />Are we making progress on our User Stories?<br />How are we doing on open issues?<br />Reporting in 2010 | Custom Reports | Making Transparency Work<br />
    19. 19. Are we making progress on running test plans?<br />How are our builds doing over time?<br />Are we fixing bugs?<br />What’s the quality of our bug fixes?<br />What’s the value?<br />
    20. 20. Reporting<br />
    21. 21. Improved Test Reporting<br />
    22. 22. Improved Bug Reporting<br />
    23. 23. Step 3: Automated Build<br />What is our traceability from<br />Dev to QA?<br />
    24. 24. Powerful Build Engine<br />Build Explorer<br />Centralized build information<br />Build Report to display code and work items<br />Executes Tests<br />Unit test<br />Automated Coded UI test<br />Web tests<br />Load tests<br />Third party tool tests<br />Deploy<br />Physical or Virtual machines<br />Virtual Lab machines- Restores to Clean Baseline<br />
    25. 25. Gated Check-in<br />Build with TFS 2005/2008<br />Check-In Denied<br />Build Fails<br />New Code is Checked In<br />Build is Executed<br />Developer Makes Changes<br />Build Fails<br />Build is Executed<br />Developer Makes Changes<br />The code that caused the build to fail is still checked-in.<br />Build Succeeds<br />New Code is Checked In<br />
    26. 26. Build Report<br />Check code in TFS+ <br />Associate Work Item+ <br />TFS Build script= <br />Build Report<br />
    27. 27. Integrate Work Frequently<br />
    28. 28. Step 4: Manual Testing Tools<br />How do we keep track of Testing?<br />
    29. 29. Testing Done Right<br />Test Manager<br />Manual Testing for the 21st century<br />Plan, Manage and Execute tests from one place<br />File rich & actionable bug during manual testing<br />Perform Exploratory testing<br />
    30. 30. Testing Tools<br />MTM <br />Manual Testing Tools<br />Test Plan Management<br />Test Case Management<br />Shared Steps Management<br />Test Configuration Management<br />Test Fast Forwarding<br />Test Collectors<br />Test Lab Management<br />Visual Studio<br />Automated Testing Tools<br />Automated Coded UI Testing<br />Web Testing<br />Load Testing<br />Generic Tests<br />Developer Unit Tests<br />Database Unit Tests<br />
    31. 31. Test Process<br />Release Cycle<br />Requirements<br />Build/<br /> Environment<br />Test Run<br />Improve Test<br />Coverage<br />
    32. 32. Test Plans, Suites and Cases<br />
    33. 33. Test Plans and Test Settings<br />
    34. 34. Test Plans with Configurations<br />
    35. 35. Test Suites<br />
    36. 36. Test Cases/Shared Steps are Work Items!<br />
    37. 37. Test Execution<br />
    38. 38. The Problem<br />Development and test have built a wall:<br />Development work happens on one side of the wall.<br />Testing happens on the other. <br />Builds and test results are passed back and forth, but not in a collaborative fashion.<br />
    39. 39. Development Perspective<br />Works on my machine!<br />What build is being tested?<br />How do I repro this?<br />Insufficient bug details<br />Unknown machine configuration<br />Unknown runtime details<br />No screenshot<br />I already fixed this bug!<br />This bug has been here for 2 months<br />Why does testing take so long?<br />The testers are clueless twits that don’t even know what good software is!<br />
    40. 40. Test Perspective<br />This is still broken? They said they fixed it!<br />Dev teams go over schedule, testing time is reduced<br />We can’t improve test coverage<br />You want me to come to your desk to show you how to repro this bug?<br />What is supposedly fixed in this new build?<br />Is the new build deployed to our QA environment?<br />The developers are clueless twits that don’t even know what good software is!<br />
    41. 41. Rich Bugs<br />NEW!<br />Repro Steps<br />Screenshot<br />Video Capture<br />System Info<br />Debug Log<br />Test Environment<br />Event Log<br />Action Recording<br />
    42. 42. Demo<br />Test Case Management/Filing Bugs<br />
    43. 43. Anna Bots<br />
    44. 44. Automated Coded UI Test<br />NEW!<br />Recorded<br />Actions<br />from Manual Tester<br />Use Visual Studio Recorder<br />Automated<br />Coded UI Test<br />+<br />=<br />Validation<br />Code<br />
    45. 45. Coded UI Testing<br />Enables verification of UI functionality.<br />Record test actions and VS will generate the resulting code.<br />Assertions can be added to verify functionality.<br />Like all VS tests, results can be stored in TFS.<br />
    46. 46. Best Practices (From MSDN)<br />Create each test case as a sequence of Recorded Methods. <br />Use meaningful method names. <br />Try to limit the length of each recorded method to less than 10 actions.<br />Do not modify the RecordedMethods.cs file.<br />Do not edit the UIMap.Designer.cs file. <br />
    47. 47. Playback.PlaybackSettings…<br />Continue on Error<br />DelayBetweenActions<br />MatchExactHierarchy<br />SearchTimeout<br />SmartMatchOptions<br />TopLevelWindow<br />Control<br />None<br />ThinkTimeMultiplier<br />WaitForReadyTimeout<br />
    48. 48. UITestControl.WaitForControl…<br /><ul><li>WaitForControlReady() – This waits for the control to be ready to accept mouse/keyboard input. 
    49. 49. WaitForControlEnabled() – This waits for the control to be enabled. 
    50. 50. WaitForControlExist() – This waits for the control to exist on the UI. 
    51. 51. WaitForControlNotExist() – This waits till the control cease to exist on the UI.  For example, you can use this for progress dialog to go away.
    52. 52. WaitForControlPropertyEqual(string propertyName, object propertyValue) – This waits for the specified property of the control to have the given value.  
    53. 53. WaitForControlCondition(Predicate<UITestControl> conditionEvaluator) –wait till the status text is “Succeeded” or “Failed”. </li></li></ul><li>Demo<br />Automated Coded UI Testing <br />
    54. 54. Step 5: Developer Quality Tools<br />How can developers contribute to the quality?<br />
    55. 55. Create code, Don’t debug it<br />Dependency Diagrams<br />Understand code dependencies visually and understand where to make changes<br />Gated Check-In<br />Stop build breaks before they happen<br />Code Analysis, Code Profiling, Code Metrics<br />Help you find and fix potential problems before you make them<br />
    56. 56. Spend Less time Debugging<br />IntelliTrace™<br />Make “No-Repro” History with Actionable Bugs<br />Test Impact Analysis and Code Coverage<br />Run the Right Tests and only the Right Tests<br />And know you have really tested you code<br />Automated Coded UI Tests<br />Automated regression tests let you find bugs earlier<br />
    57. 57. IntelliTrace<br />
    58. 58. Automated Coded UI Test<br />NEW!<br />Recorded<br />Actions<br />from Manual Tester<br />Use Visual Studio Recorder<br />Automated<br />Coded UI Test<br />+<br />=<br />Validation<br />Code<br />
    59. 59. Automation Platform Support<br />
    60. 60. Step 6 : Test Lab Managment<br />How do we integrate VM’s for manual or automated testing?<br />
    61. 61. Testing Done Right<br />Test Manager<br />Manual Testing for the 21st century<br />Plan, Manage and Execute tests from one place<br />File rich & actionable bug during manual testing<br />Perform Exploratory testing<br />Virtual Test Environments<br />Reduce the overhead of maintaining physical test environments<br />Share Virtual environments between team members<br />
    62. 62.
    63. 63. Microsoft Confidential<br />55<br />Environment (collection of VMs) created<br />
    64. 64. Microsoft Confidential<br />56<br />Manage snapshots for environment<br />Access environment using Lab Environment Viewer<br />
    65. 65. Other Benefits<br />VM Labs can be used for:<br />Demos for customers<br />Maintaining snapshots of old versions<br />Production hot-fixes <br />Tech writer access for screenshots<br />Testing CI builds using GUI automation<br />Load testing<br />
    66. 66. Step 7: Working Smart<br />How can we improve and be more efficient?<br />
    67. 67. Highly integrated Productive Extensible Low administration<br />Agile Customizable Lightweight Patterns and practices Flexible<br />Layering Best Practices<br />Process and tools support individuals, teams and organizations frictionlessly and transparently<br />Overcome Complexity<br />Quality Mindset<br />Culture of Innovation<br />Collaboration<br />Transparency<br />Integration<br />Clarity<br />Alignment<br />Efficiency<br />
    68. 68. Going from Good to Great<br />
    69. 69. Microsoft Test Manager<br />TFS<br />UML Modeling<br />TFS<br />Manual Testing<br />Layer Diagram<br />Load Testing<br />Web Testing<br />Test Case Management<br />IntelliTrace™<br />Architecture Explorer<br />Logical Class Designer<br />Cloud Development<br />Office Development<br />Windows Development<br />New WPF Editor<br />Customizable IDE<br />Multi-core Development<br />Silverlight Tools<br />Web Development<br />SharePoint Development<br />Generate from Usage<br />Static Code Analysis<br />Database Deployment<br />Code Metrics<br />Database Unit Testing<br />Test Data Generation<br />Test Impact Analysis<br />UI Test Automation<br />Code Coverage<br />Performance Profiling<br />Database Change Mgmt<br />TFS<br />Test Record & Playback<br />
    70. 70. TFS<br />Test and Lab Manager<br />Test Case Management<br />Test Record & Playback<br />Manual Testing<br />Lab MgmtConfig.<br />Checkpoint Environment<br />Environment from Template<br />Virtual Env. Setup/Tear Down<br />Reporting<br />Team Portal<br />Test Case Management<br />Branch Visualization<br />Version Control<br />Build Automation<br />Gated Check-in<br />Agile Planning Tools<br />Team Explorer<br />Team Agents<br />TFS<br />
    71. 71. www.imaginet.com<br />
    72. 72. VS 2010 SKU’s<br /><ul><li>VS 2010 Professional
    73. 73. VS 2010 Premium
    74. 74. VS 2010 Ultimate
    75. 75. VS 2010 Test Professional
    76. 76. (all with or without MSDN)
    77. 77. Team Foundation Server
    78. 78. Virtual User Packs
    79. 79. Other Tools</li>

    ×