Arta Doci:  [email_address] (for localized software products)
Agenda Need for Automation Business Case of Automating Testing for Localized SW  Case Study Plans/Timeline
 
We have heard the following: I need those new product features now… We need the software application to go to market sooner than that…
Facts Testing and maintenance still accounts for 75% of software products’ costs.  We are asked to turn around products with  Ever shrinking schedules Minimal resources However: “ Getting a product to market as early as possible may mean the difference between product survival and product death”
Goal: Do more with less… Goal - Do more with less: Test the software adequately within a minimum schedule. One solution: Test Automation. 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.
Test Automation Particularly useful: Regression Testing (repetitive; can become tedious when manually executed build after build). Integration Testing for subsequent incremental builds. Q? How about Localization Testing? Multiple OS Multiple languages
Test Automation Automating testing for localized software will  grow the benefits  proportionally since it supports multiple languages and platforms
Test Automation It acts as a user would, interacting with an application to input data and respond to expected responses. Example
Manually How do we currently test? Take the test plan  Depending on the current need given at hand we can: (a) Run the entire test plan for all the languages (b) Select a subset of test cases from the test plan (c) Select a subset of languages to be tested
Assumptions 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. 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.
Test Automation The fear of user to change, thus a smooth transition is helpful. EXAMPLE (smooth transition): Step one: Map the manual process to automation. Step two: What will the ideal test automation tool be for the Globalization team?
Step one… 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: Run the test plan at its entirety Run Specific Test Cases Run Specific Languages
Step 2… The ideal test tool will have two components: Component One: Have an automated test plan that maps the test cases to automated scripts.  Provide the user with the flexibility to choose what test cases to run from the test plan. 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.
Test Automation Tool EXAMPLE
Test Automation Benefits (in combination with manual testing) Production of Reliable system Improvement of quality of test effort Reduction of the test effort and minimization of the schedule
(automating testing for localized SW)
Setting the right expectations… …  on what Automation will do for us. It does what we tell it to do - Sunny Days.  NO magic. There is no 100% Test coverage! Manual effort and expertise is still needed. Introduction of automated test tool will not immediately: Reduce the test effort Minimize the test schedule
Methodology
“ If you want a high Quality Software, you must ensure each of its parts  is  of high quality” $$$ --- Cost.  ROI – Return on Investment Reduced Maintenance costs Meet project timeline Go to market as soon as possible
Companies have a wide range of applications thus: We can not assume  one tool fits all . Goal:  Require a test tool that would recognize GUI controls and manipulate them effectively; allow scripting language; have built-in error logging and recovery.
“ A tool is as good as the process used to implement the tool ” Testing Goals and objectives. Test Process Measure testing process Audit the testing process
Planning Test Plan contains a wealth of information. Documentation is very important. Design  Coverage? White vs. Black Box Development Implementation/coding
Evaluation Defect Tracking Metrics collection and analysis Test Success Index # test cases passed/#test cases
Auditing Process evaluation Process Improvement
 
 
Plans What Product to Automate next? Team needs/resources Logically:  Product that yields the largest ROI.
 

Automation testing

  • 1.
    Arta Doci: [email_address] (for localized software products)
  • 2.
    Agenda Need forAutomation Business Case of Automating Testing for Localized SW Case Study Plans/Timeline
  • 3.
  • 4.
    We have heardthe following: I need those new product features now… We need the software application to go to market sooner than that…
  • 5.
    Facts Testing andmaintenance still accounts for 75% of software products’ costs. We are asked to turn around products with Ever shrinking schedules Minimal resources However: “ Getting a product to market as early as possible may mean the difference between product survival and product death”
  • 6.
    Goal: Do morewith less… Goal - Do more with less: Test the software adequately within a minimum schedule. One solution: Test Automation. 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.
  • 7.
    Test Automation Particularlyuseful: Regression Testing (repetitive; can become tedious when manually executed build after build). Integration Testing for subsequent incremental builds. Q? How about Localization Testing? Multiple OS Multiple languages
  • 8.
    Test Automation Automatingtesting for localized software will grow the benefits proportionally since it supports multiple languages and platforms
  • 9.
    Test Automation Itacts as a user would, interacting with an application to input data and respond to expected responses. Example
  • 10.
    Manually How dowe currently test? Take the test plan Depending on the current need given at hand we can: (a) Run the entire test plan for all the languages (b) Select a subset of test cases from the test plan (c) Select a subset of languages to be tested
  • 11.
    Assumptions Internationalization testinghas 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. 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.
  • 12.
    Test Automation Thefear of user to change, thus a smooth transition is helpful. EXAMPLE (smooth transition): Step one: Map the manual process to automation. Step two: What will the ideal test automation tool be for the Globalization team?
  • 13.
    Step one… Createan 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: Run the test plan at its entirety Run Specific Test Cases Run Specific Languages
  • 14.
    Step 2… Theideal test tool will have two components: Component One: Have an automated test plan that maps the test cases to automated scripts. Provide the user with the flexibility to choose what test cases to run from the test plan. 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.
  • 15.
  • 16.
    Test Automation Benefits(in combination with manual testing) Production of Reliable system Improvement of quality of test effort Reduction of the test effort and minimization of the schedule
  • 17.
  • 18.
    Setting the rightexpectations… … on what Automation will do for us. It does what we tell it to do - Sunny Days. NO magic. There is no 100% Test coverage! Manual effort and expertise is still needed. Introduction of automated test tool will not immediately: Reduce the test effort Minimize the test schedule
  • 19.
  • 20.
    “ If youwant a high Quality Software, you must ensure each of its parts is of high quality” $$$ --- Cost. ROI – Return on Investment Reduced Maintenance costs Meet project timeline Go to market as soon as possible
  • 21.
    Companies have awide range of applications thus: We can not assume one tool fits all . Goal: Require a test tool that would recognize GUI controls and manipulate them effectively; allow scripting language; have built-in error logging and recovery.
  • 22.
    “ A toolis as good as the process used to implement the tool ” Testing Goals and objectives. Test Process Measure testing process Audit the testing process
  • 23.
    Planning Test Plancontains a wealth of information. Documentation is very important. Design Coverage? White vs. Black Box Development Implementation/coding
  • 24.
    Evaluation Defect TrackingMetrics collection and analysis Test Success Index # test cases passed/#test cases
  • 25.
    Auditing Process evaluationProcess Improvement
  • 26.
  • 27.
  • 28.
    Plans What Productto Automate next? Team needs/resources Logically: Product that yields the largest ROI.
  • 29.