Welocalize Technical Services Director, Tom Gannon, talks about software localization testing and offers some tips on how to implement a successful testing solution.
When a software product is adapted to the linguistic, cultural and technical requirements of a target market, it typically requires extensive testing. There are two types of software testing: Functional Testing and Linguistic Testing.
Linguistic Testing confirms that translated text in the user interface (UI) appears correctly and meets cultural requirements. For Functional Testing, trained testers create and run test scripts throughout the product to ensure that the localization process has not impaired functionality in any way and that the localized product works consistently with the various operating systems and designated third party products and applications. Testing has to take place for all platforms that the software may operate on, including mobile devices.
Increasingly the software localization process, including the test phases, must be built to fit around an overall agile development process and this can cause some challenges of its own.
The testing process begins with the creation of a test plan, outlining the project scope, type of testing required including functional, linguistic, UAE and others, and the test methodology including waterfall and agile. Roles, tasks and time frames are clarified.
To run a successful testing solution, there are four key areas to pay particular attention to:
- Test Process and Workflow: A defined test process must be in place before testing begins and the workflow communicated to all members of the test team. Once the testing team has been informed of the overall scope of the project by the assigned test lead, a test platform must be created for each target language. Before the test cycle begins, it is good practice to run a validation test to ensure all entry criteria have been met – for example, all OS versions and tools are successfully installed and functioning, all required hardware is validated and all test data is available. In terms of exit criteria, testing is deemed to be complete when all defects have been addressed by the software engineering teams and no new defects are found.
- Test Innovation: A key objective of any testing program is to reduce the overall effort and increase efficiency of the test process without compromising quality. This is where the use of analytical or smart testing can be a very effective tool. Providing metrics on the volume of defects found, by feature or by area, in each test cycle and the cost in effort generated to find a defect can be used to inform decisions around test coverage for next cycle. Ongoing analysis of completed test cycles enables tests to be prioritized and testing efforts to be redirected where necessary.
- Performance and Quality Measurement: In addition to the metrics used to inform the direction and coverage of test effort via Smart Testing, it is essential to capture a more general set of metrics on all aspects of the testing work. This facilitates an overall understanding of true progress against a set of defined criteria. Two key areas to report on are include: test efficiency, the average number of tests executed in an hour of tester time and test effectiveness, the rate at which a test model reveals defects.
These and other metrics that should be used to drive improvement into the software testing model in terms of increased test efficiency, increased test effectiveness and shorter time to market.
Software development is a highly dynamic and constantly changing environment. Successful localization requires an optimized and agile linguistic and technical resource supply chain. It is so important that the user experience for all language versions is consistent, meets expectations and functions correctly on all platforms.
Click here for more information on Welocalize’s testing solutions.
Tom Gannon, Technical Services Director at Welocalize