Business Case of Automating Testing for Localized SW
3. 4. We have heard the following:
I need those new product features now
We need the software application to go to market sooner than that
Testing and maintenance still accountsfor 75% of software products costs.
We are asked to turn around products with
Ever shrinking schedules
Getting a product to market as early as possible may mean the difference between product survival and product death
6. 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.
7. Test Automation
Regression Testing (repetitive; can become tedious when manually executed build after build).
Integration Testing for subsequent incremental builds.
How about Localization Testing?
8. Test Automation
Automating testing for localized software willgrow the benefitsproportionally since it supports multiple languages and platforms
9. Test Automation
It acts as a user would, interacting with an application to input data and respond to expected responses.
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
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 dont 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
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?
13. 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
14. Step 2
The ideal test tool will have two components:
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 toolneeds to provide a library. *** Library does not mean that the user needs to learn how to script.
15. Test Automation Tool
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. (automating testing for localized SW) 18. 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
19. Methodology 20.
If you want a high Quality Software, you must ensure each of its partsisof 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 assumeone 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