In the current day world, where product releases are no longer confined to limited geographies, the localization process has become a very important part of product development, in ensuring successful global launches. Working on several locales, in the limited amount of time and budget on hand, in release cycles that are Agile, has its own challenges which must be addressed at the initial stages to avoid chaos and ambiguity. In this blog post, I will be touching upon these areas of challenges and solutions, to mitigate the challenges in building a product that is ready to face global competition.
Given the nature of work, often times, localization testing starts only later in the product development lifecycle, regardless of whether the team uses Agile or Waterfall methodologies. Such involvement later in the lifecycle, can lead to the localization test team being out of sync with the core product team. There are several areas where the localization team needs to collaborate with the core product team, such as product understanding, known issues, existing artifacts (specifications, test cases, defects, test results etc.), which might be challenging to achieve, given their delayed involvement. This can also lead to limited time on hand to test, before release, forcing the team to compromise on test coverage and overall quality. While it is important for the product to be stable before localization testing can commence, these are practically challenges on the ground that need to be addressed, to make the localization process efficient in the given amount of time at hand.
The testing matrix is often huge with a large number of variables at play. Multiple locales, operating systems, browsers, devices, other supporting application software, test cases with varying degrees of priority, often result in combinatorial explosion. While this is true even in case of a standard web application lately, the intensity increases in case of localization testing, given the number of locales that need to be tested. Such complexity in the testing matrix, also poses challenges around regression testing and defect management to ensure defects have been reported, fixed and verified across all places they exist in.
Another interesting testing challenge lies in the cross group collaboration area. The localization functional testing team often times interacts with the core product test team on the one hand and the translation / linguistic team on the other hand, requiring them to coordinate the overall test effort and sign off on the overall localization testing including the translation portion. What this means is that besides their core testing responsibilities, these testers may also be taking on some project management responsibilities, which might make the process more challenging.
If you revisit the challenges mentioned above, they cover a range of areas including technical, project management, process and people related categories. In the next few paragraphs I will present mitigating strategies/solutions that can be mapped to these challenges that we looked at.
Firstly, the localization functional testing team must have some overlap with the core functional testing team in terms of schedule and resources. Some testers from the core functional team should be part of the localization testing team, and the schedule overlap will help in kicking off the localization engineering efforts, while main stream product development is still ongoing. Even prior to the start of localization testing, the testers will have to look for ways and means to engage with the core testing team be it through periodic group discussions, signing up for product updates and notifications. It is important to keep tab on the product team’s test cases, as most test cases are typically re-usable, with minimal customizations. Being in sync with them on such tests, attending test case reviews, checking on test results and defects they file, will give the localization team a very good understanding of both the product architecture and the quality/health of various product components.
Test matrix prioritization and optimization are very important in localization functional testing. Involve key product stakeholders in deciding the overall prioritization and coverage subject to the given time and budget constraints at hand. While determining priorities, consider locale specific nuances, the character set of the locale under test (single byte, double byte, and multi-byte), bi-directional languages etc. to group tests together and achieve an ideal optimization solution. Such grouping of locales will also help in grouping defects which will make the overall regression and defect management process more efficient. Besides the test and technical aspects, keep in mind the locale release dates, the usage patterns expected in each locale, to arrive at the right focus areas to test. Typically focusing more on overall product functionality, UI and usability provide maximum returns on investment, as these are the areas that are often touched and affected by the localization engineering efforts. Areas such as performance and security are not usually impacted, and thus can be prioritized lower compared to the main areas to focus on.
Although, I had called out that some overlap between the core product test team and the localization functional testing team is desired, there could be cases where they are completely independent, given the organizational factors at play. In such cases, the localization team should work with the product and build teams to get a pseudo-localization build to test as soon as possible, even as the core functional testing is in progress. This will not only save time but also help the two teams collaborate on issues that they see along the way, helping promote team bonding, product understanding and improved test coverage.
On the process side of things, use collaborative tools, such as wikis, application life cycle management suites, document sharing solutions as much as possible to keep everyone in sync, especially given the number of people that are involved. Try to use translator tools and any in-house/open source productivity tools such as instant memory, translator memory tools which will help make contextual translation checks feasible and fast. Given the limited amount of time to test, such small moves, are often huge time and effort savers. We at QA InfoTech have been in the testing business since 2003 and since the beginning localization testing has been one of our areas of specialization. We have helped several clients ship software on time across several locales and other compatibility variables at play. We recently posted a white paper on our website that discusses more, on this topic of translation technology and some specific solutions to address the associated challenges. The complete paper is available at here.
If you see other challenges as a practitioner of localization testing or have other solutions to share, feel free to comment on this post or write to me at firstname.lastname@example.org ; I would be very happy to hear from you.