Automation Testing in Software Localization
Localization testing helps global software brands quickly and accurately release local versions and updates of software programs and applications. A successful testing plan is driven by smart testing methodology, using the latest tools and world class testing talents.
A growth area in software localization for certain testing projects is automation testing. In this blog, Ericsson Wang, Welocalize Software Quality Assurance Team Lead in Jinan, China, provides a brief introduction to automation testing and why it is an important tool for certain software testing projects.
What is Automation Testing?
The main differences between manual testing and automated testing are easy to see. Manual testing needs physical time and effort to ensure software programs and applications in all target languages work normally and all functionality is as effective as the original software design. In addition, manual testers also have to make detailed recordings of the testing processes carried out. This can involve activities like logging defects, summarizing checklists, creating reports and more. Manual testing is extremely effective but involves processes that can be time-consuming that must be factored into very agile projects.
As the name suggests, automation testing is utilizing testing techniques that automate some of the process. This type of testing is based on the use of automation tools, using a developed language to script testing steps. Less time is needed for test case execution. If testing scripts are well designed, then testing will perform efficiently. This process can save time and reduce the number of people required for certain testing projects.
Why Do We Need Automation Testing?
All software organizations must thoroughly test their products, and often defects are found and fixed. When launching a software product in multiple languages, there is no room for error and this can result in a lot of testing hours required to get the products ready for market. If a bug or defect is discovered post-release, then user forums and blogs will be quick to highlight mistakes, which can be detrimental to the brand.
Specialized testing engineers are trained to catch as many bugs as possible before the product is delivered; however, if part of the program is automated the time and resource saved can ensure even higher levels of efficiency. Testing cycles can be executed more times, ensuring defects are found and fixed.
Manual testing is performed by hand. The process involves highly skilled testers working through all aspects and functionality of the software program, manually reproducing all possible user scenarios and case steps, then checking whether the actual results and behavior is the same as the expected and desired behaviors.
Automation testing uses a tool and script to execute a test case, rather than a manual tester, and compares the actual results with the expected behavior automatically. Some automated testing can also help mark defects and create reports. When you want to go back and test a fixed defect, the case will be reproduced automatically.
Which Kind of Case is Suitable for Automation Testing?
- When the testing request does not change frequently: Automation testing mainly depends on the maintenance of scripts. If software requirements are always changing, testers have to update the test case scripts according to the requirements. The maintenance of the script itself is a whole process of code development, updating and debugging. One of the key benefits of using testing automation is to reduce cost. If automated testing scripts have to be continually updated, then it is better to use manual testing.
- When a project’s lifecycle is long enough: This allows time for kit preparation and testing script development including debugging and tool update.
- When automation testing scripts have good portability and can be reused on different platform: For example, if we create testing scripts on Windows 7, we also need to check them on other operating systems to make sure it’s compatible with multiple platforms. If the scripts you have created are only suitable for one language and one particular platform, the testing script will not have great value for a global launch program.
Welocalize engineering and testing teams across all our global offices use various types of test automation as part of regular operations, working closely with clients to develop testing strategies, combining manual and automated testing methods. The right testing strategy and methodology varies, depending on time scale, product and target market.
Based in Jinan, China, Ericsson Wang is team lead for software quality assurance.