Software Localization Quality Assurance (QA): What Is It And Why Does It Matter?
Quality Assurance (QA) is sometimes perceived as something of an afterthought to software localization, but it plays a major role in ensuring a bug-free, smooth-running product with effective multilingual content.
So, what does this process look like exactly? What are the steps involved and why is QA such an integral part of the localization process? Find out!
Software Localization In A Nutshell
Software Localization gives your product the look and feel of the culture you want to target. This includes, of course, translating the content of your software (be it a website, an app, a device, or a platform) into one or more languages.
But localization goes beyond that. It concerns a more technical aspect to adapt the structure as well as the visual and functional elements of the software, which includes using the appropriate formats, the correct system of numbers, currency, dates and time. But it also includes the actual application design. Think about right-to-left (RTL) Languages such as Arabic. These need to have a mirrored User Interface (UI) without underlying errors compromising the User Experience.
While QA is the final step of the process, quality is inherent in every step of the software localization process, which includes the following.
Internationalization
This involves preparing the software for a multilingual application and removing the elements that relate to one language only. More specifically, this entails:
- Review your Application framework: before you can implement the internationalization process, you need to be sure that internationalization is supported in the coding itself and review your application framework for any limitations it may pose.
- UI issues due to text expansion or language direction: Some languages take up more space than others, and it is best to allow for text expansion in your UI. And remember what we said about RTL languages? Not all languages read in the same direction, and not all languages use the same values.That is why you should leverage dynamic UI expansion features such as Auto Layout in iOS, and Fragments in Android. On the LSP side, localization engineers will do their part to avoid text expansion errors. This involves setting up limitations for text expansion using the customized Translation (CAT) Tool. For example, you can use CAT Tools to specify the maximum number of characters or to set a specific percentage per segment that the characters cannot exceed. Learn more about this in our blog Managing Text Expansion For Software And Game Localization!
- Prepare the strings for localization: for the localization process, the strings need to be extracted, then localized, and reinserted into the code. Unicode is especially helpful here, since it encodes scripts for a wide range of languages.
- Prepare your resource files: the resource files hold resources for any languages you will be localizing your software into. These ensure that the correct values for each language and locale are applied to the strings.
Software Localization
After internationalization, your software should be set up for localization. Software localization involves the following steps:
- The resource files are extracted into a format supported by the localization platform you have selected. If you are working together with an LSP, they can provide interactions between your platform and their Translation Management System to make the process run smoothly.
- Translating the content into the target language(s). The translation follows a rigorous TEP-Process (Translation, Editing, and Proofreading) designed to weed out any inaccuracies and apply the ideal cultural context to the product. Make sure you select an LSP that boasts both linguistic and technical authority and works with in-country, native specialists exclusively.
- If you are committed to agile development, Continuous Translation should be included in your service package. New strings will get imported into the Translation Platform to be translated, and then imported back into the system.
- Before the string is inserted back into the software, make sure that your LSP performs a QA review so the quality of the translation can be confirmed.
- Then, the strings can be inserted back into the code.
Localization Testing
The Software Localization testing stage is a highly detailed process where verification testing is built, different levels of testing are applied, and feedback is provided to the client. But don’t worry, we will dive deeply into this below!
Software Localization QA From A To Z
Software Localization QA is a process that involves both technical and linguistic expertise. During the process, localization engineers focus on UI, compatibility and functionality of the software, while the linguistic reviewers evaluate the linguistic and visual qualities of the software. More specifically, this entails:
- Linguistic testing: here, the translation is verified; grammar, spelling, and style, etc are checked, as well as the compatibility with specific countries and regions. For example, Spanish for Spanish users have different language use and cultural reference than Spanish for the Latin American market.
- Visual testing: the visual elements that affect the user experience (UX) such as formatting, numeric values, special characters, graphics, and so on, are tested and confirmed for compatibility for each region you intend to target.
- Functional testing: this involves elements such as the performance of the software, text expansion and contraction, code compatibility, and also how different languages with different directions, such as Right-to-Left (RTL) languages, function in the user interface.
- Compliance testing: depending on the software type, local legal requirements have to be met. Within the EU, for example, you will need to comply with the General Data Protection Regulation (GDPR).1
One of the most highly effective ways in determining quality is by testing the software product in a runtime environment. This way, the process remains cost-effective and industry-specific challenges can be overcome, such as estimating the lens of the translation (e.g. character limitations, adaptation of the user interface, etc).
What Are The Specific Steps Involved in Software Localization QA?
While the QA plan needs to be set up with specific parameters and goals unique to every project, software localization QA typically includes the following steps.
Build Verification Testing
Build Verification Testing (BVT) is the first step in the software localization testing stage. Here, a more basic test of the software fundamentals is performed to confirm that the software is stable enough for more rigorous tests to commence.
Testing
The actual testing stage involves the 4 types of testing mentioned above (linguistic, visual, functional, and compliance QA) and more specifically involves:
- Conducting a full project analysis where the guidelines and timelines are specified.
- Creating a tailored test plan that structures and outlines the projects parameters.
- Defining all the test cases. This can help confirm how users will interact with the localized software. The more realistically the test cases can represent the predicted behaviors and interactions performed by real users, the better.
- Identifying and briefing the QA Team. Considering the high level of expertise required to effectively implement a QA plan, it should be handled by in-country natives who possess experience in their field, but also in software specifically. To ensure that the errors wont be overseen by any specialist who knows the project too well, third-party QA is highly encouraged.
- Setting up the testing environments that serve as a real-life reference for the QA testers.
- Setting up the bug workflow.
- Conducting the actual QA and testing. In the case of a bug or defect that needs fixing, a regression testing stage is implemented to check if the bug has been resolved effectively.
Regression Testing
If the functional testing stage has identified an issue, developers commit to fixing this bug. Once all bugs have been identified and fixed, regression testing is implemented. Regression testing ensures that none of the implemented changes affect the functionality of the software.
Users Testing
User Testing is a more advanced option but can be well worth it if you can spare the time. Invite users in the locales you intend to target to actually try out and test your software. They can provide valuable feedback on the UX and UI of your product.
Final Check And Feedback
Finally, the LSP performs a final check and sign-off. A report is shared with the client, outlining the results of the tests.
Conclusion
Software Localization QA is a combination of technical and linguistic expertise where native, in-country professionals test the product in a runtime environment to determine its quality and compatibility. Depending on the project scope, complexity, and bugs, there may be several rounds of tests involved before the results are communicated to the client for feedback.
At Laoret we only use native, in-country experts with years of specialized experience in the software industry. With our internally developed tools and technologies, we can easily customize the QA process to each projects unique parameters.