Automation testing


Published on

Do more with less: Test the software adequately within a minimum schedule.
One solution: Test Automation.

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

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

No notes for slide

Automation testing

  1. 1. Arta Doci: [email_address] (for localized software products)
  2. 2. Agenda <ul><ul><li>Need for Automation </li></ul></ul><ul><ul><li>Business Case of Automating Testing for Localized SW </li></ul></ul><ul><ul><li>Case Study </li></ul></ul><ul><ul><li>Plans/Timeline </li></ul></ul>
  3. 4. We have heard the following: <ul><li>I need those new product features now… </li></ul><ul><li>We need the software application to go to market sooner than that… </li></ul>
  4. 5. Facts <ul><li>Testing and maintenance still accounts for 75% of software products’ costs. </li></ul><ul><li>We are asked to turn around products with </li></ul><ul><ul><li>Ever shrinking schedules </li></ul></ul><ul><ul><li>Minimal resources </li></ul></ul><ul><li>However: </li></ul><ul><li>“ Getting a product to market as early as possible may mean the difference between product survival and product death” </li></ul>
  5. 6. Goal: Do more with less… <ul><li>Goal - Do more with less: Test the software adequately within a minimum schedule. </li></ul><ul><ul><li>One solution: Test Automation. </li></ul></ul><ul><ul><li>Definition: Management and performance of test activities, to include the development and execution of test scripts as to verify test requirements, using an automated test tool. </li></ul></ul>
  6. 7. Test Automation <ul><li>Particularly useful: </li></ul><ul><li>Regression Testing (repetitive; can become tedious when manually executed build after build). </li></ul><ul><li>Integration Testing for subsequent incremental builds. </li></ul><ul><li>Q? </li></ul><ul><li>How about Localization Testing? </li></ul><ul><ul><li>Multiple OS </li></ul></ul><ul><ul><li>Multiple languages </li></ul></ul>
  7. 8. Test Automation <ul><li>Automating testing for localized software will grow the benefits proportionally since it supports multiple languages and platforms </li></ul>
  8. 9. Test Automation <ul><li>It acts as a user would, interacting with an application to input data and respond to expected responses. </li></ul><ul><li>Example </li></ul>
  9. 10. Manually <ul><li>How do we currently test? </li></ul><ul><ul><li>Take the test plan </li></ul></ul><ul><ul><li>Depending on the current need given at hand we can: </li></ul></ul><ul><ul><li>(a) Run the entire test plan for all the languages </li></ul></ul><ul><ul><li>(b) Select a subset of test cases from the test plan </li></ul></ul><ul><ul><li>(c) Select a subset of languages to be tested </li></ul></ul>
  10. 11. Assumptions <ul><li>Internationalization testing has been executed and any issues uncovered by this testing have been fixed. This means that the application (product) runs the same way on a locale OS as it does on the English OS, the data flow supports non ASCII character sets and text expansion has been considered during the design and implementation. </li></ul><ul><li>I would also argue that any l10n testing has an element of i18n/functionality testing since some screens don’t come up unless you test functionality. So the fact that a string displays correctly, i.e. without truncation or corruption, is i18n testing. Validating that it is the correct translation for the given context is l10n testing. </li></ul>
  11. 12. Test Automation <ul><li>The fear of user to change, thus a smooth transition is helpful. </li></ul><ul><li>EXAMPLE (smooth transition): </li></ul><ul><li>Step one: Map the manual process to automation. </li></ul><ul><li>Step two: What will the ideal test automation tool be for the Globalization team? </li></ul>
  12. 13. Step one… <ul><li>Create an automated test plan that embeds the manual test plan (test cases). Automate based on the test cases. Having such an automated test plan will provide the user the flexibility with the following choices: </li></ul><ul><li>Run the test plan at its entirety </li></ul><ul><li>Run Specific Test Cases </li></ul><ul><li>Run Specific Languages </li></ul>
  13. 14. Step 2… <ul><li>The ideal test tool will have two components: </li></ul><ul><li>Component One: </li></ul><ul><ul><li>Have an automated test plan that maps the test cases to automated scripts. </li></ul></ul><ul><ul><li>Provide the user with the flexibility to choose what test cases to run from the test plan. </li></ul></ul><ul><li>Component two: Allow the user to create test cases DYNAMICALLY. In order to achieve that the test automation tool needs to provide a library. *** Library does not mean that the user needs to learn how to script. </li></ul>
  14. 15. Test Automation Tool <ul><li>EXAMPLE </li></ul>
  15. 16. Test Automation Benefits (in combination with manual testing) <ul><li>Production of Reliable system </li></ul><ul><li>Improvement of quality of test effort </li></ul><ul><li>Reduction of the test effort and minimization of the schedule </li></ul>
  16. 17. (automating testing for localized SW)
  17. 18. Setting the right expectations… <ul><li>… on what Automation will do for us. </li></ul><ul><ul><li>It does what we tell it to do - Sunny Days. NO magic. </li></ul></ul><ul><ul><li>There is no 100% Test coverage! </li></ul></ul><ul><ul><ul><li>Manual effort and expertise is still needed. </li></ul></ul></ul><ul><li>Introduction of automated test tool will not immediately: </li></ul><ul><ul><li>Reduce the test effort </li></ul></ul><ul><ul><li>Minimize the test schedule </li></ul></ul>
  18. 19. Methodology
  19. 20. <ul><li>“ If you want a high Quality Software, you must ensure each of its parts is of high quality” </li></ul><ul><li>$$$ --- Cost. </li></ul><ul><ul><li>ROI – Return on Investment </li></ul></ul><ul><ul><ul><li>Reduced Maintenance costs </li></ul></ul></ul><ul><li>Meet project timeline </li></ul><ul><li>Go to market as soon as possible </li></ul>
  20. 21. <ul><li>Companies have a wide range of applications thus: </li></ul><ul><ul><li>We can not assume one tool fits all . </li></ul></ul><ul><li>Goal: Require a test tool that would recognize GUI controls and manipulate them effectively; allow scripting language; have built-in error logging and recovery. </li></ul>
  21. 22. <ul><li>“ A tool is as good as the process used to implement the tool ” </li></ul><ul><li>Testing Goals and objectives. </li></ul><ul><li>Test Process </li></ul><ul><li>Measure testing process </li></ul><ul><li>Audit the testing process </li></ul>
  22. 23. <ul><li>Planning </li></ul><ul><ul><li>Test Plan contains a wealth of information. </li></ul></ul><ul><ul><li>Documentation is very important. </li></ul></ul><ul><li>Design </li></ul><ul><ul><li>Coverage? </li></ul></ul><ul><ul><li>White vs. Black Box </li></ul></ul><ul><li>Development </li></ul><ul><ul><li>Implementation/coding </li></ul></ul>
  23. 24. <ul><li>Evaluation </li></ul><ul><li>Defect Tracking </li></ul><ul><li>Metrics collection and analysis </li></ul><ul><ul><li>Test Success Index </li></ul></ul><ul><ul><li># test cases passed/#test cases </li></ul></ul>
  24. 25. <ul><li>Auditing </li></ul><ul><li>Process evaluation </li></ul><ul><li>Process Improvement </li></ul>
  25. 28. Plans <ul><li>What Product to Automate next? </li></ul><ul><li>Team needs/resources </li></ul><ul><li>Logically: Product that yields the largest ROI. </li></ul>