QA Labs Inc.
Issue #5 - November 2001
QA Labs Testing Treats
services@qalabs.com  -  http://www.qalabs.com
 Reduce costs - Take advantage of lower labour costs and today's exchange rate. Make the choice to hire QA Labs Inc.

Archives... Archives of this newsletter along with other on-line resources are available on our website.


Test Earlier... It is a well-established fact that the sooner a defect is found the less expensive it is to fix. Early involvement also allows evaluation of important planning, design, and development decisions with respect to how these decisions aid or impair the testability of the application.



Outsource Testing... We have the facilities and the people - you have the software. We can assist your in-house test team by performing system / compatibility testing, functionality testing, usability testing, performance testing, and localization testing to help you make sure you're ready to go to market.



Regression Testing... Outsource your regression testing and keep your software reliable. Working in parallel with your in-house team, we can help ensure that after the latest additions and changes your software continues to work across your supported configurations: operating systems, processors, browsers, networks, etc. with effective test plans, leveraged automation and custom facilities.



TX Packages... Do you need short-term test resources? Do you want to try outsourced test execution? QA Labs' Test Execution Packages give you a zero ramp-up, zero overhead, full reporting solution right at your fingertips.



Roadmaps... Improve product quality and reduce support costs with a Roadmap to Quality. QA Labs can investigate your current project workflows and tools to produce a report of recommendations and Quick Wins tailored to you - all in parallel to your current ship cycle and at a low fixed cost.



Tool Choices... Specific selection criteria in advance of a significant software purchase are crucial. QA Labs has the expertise required to provide you with an objective evaluation of the commercial tools that may best fit your requirements. Before you commit valuable time and money, let us do the evaluation that will let you make the best decision.

QA Labs brings you practical tips and tools on testing, quality assurance (QA), and related topics through this monthly e-newsletter.

Upcoming Course Announcement: Last chance to register for Software Quality Assurance presented through the University of British Columbia Continuing Studies on Nov. 9th and 16th, 2001.

Visit UBC at http://www.tech.ubc.ca/softeng/curric.html for a listing of the courses in the Software Engineering Certificate.


FEATURE ARTICLE

Localization Series

Testing

This second part of the localization paper is about testing. We will cover what can be done during the code phase as well as what areas you should focus your localization test effort on in order to be the most effective in finding problems.

Translating the application's resources and testing the code in parallel with development is often a good idea. This helps to uncover code and feature design problems early in the process, when it is easier to make changes.
 
This also helps in deciding when to "freeze" the user interface and feature design. The sooner you do it, the better. Imagine that every time the user interface changes, it has to be retranslated. Changes to the UI also involve other types of documentation that have to be updated - online help and tutorials.

Keep in mind that late changes cause significant, expensive costs and delays in the release of localized products.

With the following in mind during the localization process, a lot of time can be saved in later phases:

  • Bitmaps - should be free of letters and punctuation, such as quotation marks since they change from place to place.
  • Localizing dialog box - several languages require more space for messages and command names than English. A simple message with 30 characters in English may "grow" 40 to 60% during translation to another language. Text can overflow menus and dialog boxes. Abbreviations to make text fit might be unacceptable.
  • Text strings might overflow internal storage, overwriting code or other data. Expanding menus may grow so wide that they can't all fit all on the screen.
  • Features not supported in determined language should be omitted and not turned gray permanently because this confuses the user, as they might not understand why certain commands are never available.

Where to look for problems

It is very common to find source code that isn't properly designed for localization. The most extreme cases are hard-coded strings, constants, and characters present in the code. Files containing hard-coded elements that need to be localized are often very difficult to deal with. Translators cannot effectively translate the source code files being worked on by the developers, especially if the code is continually evolving. Most translators are not programmers and might delete important details, such as closing quotes or semicolons, or translate programming keywords as well as strings that leads to developers spending extra time to fix these sorts of problems.

One typical way to solve this issue it to separate all localizable items into one or more files which makes localization much easier to manage. For a Windows-based application, for example, the simplest way to do that is using what are termed "resource" files. They are easy to edit and you don't need to recompile the source code.

Also, all localizable files, whether they contain code or user interface elements, can be placed in a single directory, so translators need access only to the directory containing the native language files and the localized files for which they are responsible.

The elements that normally require localization and should be part of the localizable files are listed below.

  • Messages
  • Constants
  • Prompts
  • Dialogs
  • Sounds
  • Macro languages
  • Status bars
  • Menus
  • Toolbars

Testing

It may look simple on the surface, but testing localized products requires attention to certain details for which not all the testing groups are prepared.

Localized products have a better chance of success if testing is started early in the product cycle. A common mistake is to concentrate all testing efforts on the domestic product in order to get it shipped quickly and then move on to the localized versions. Early testing of all editions can often uncover serious defects in the core code that impact localized editions.  This planning for early testing ensures that development is paying attention to international and localization issues throughout the project rather than treating those concerns as an afterthought.

When testing localized software, consider different levels of testing.

Initially, focus on testing that the program installs and un-installs on the local operating system; that text strings fit in dialog boxes; that correct currency, time, etc., formats are followed; and that all text strings are in the appropriate language. A key component of this test process is to ensure that the "final" localized product functions as required.

More advanced functionality testing would focus on correctness of spelling, grammar, sort order, etc.  Note that this type of testing often requires a native language speaker to perform the testing, as a certain level of linguistics is required.

A combination of the two levels would be the best option.

Another issue related to testing is being aware of the impact of deciding to fix or not fix a defect that only occurs on a localized version of the product. If the English version is close to shipping, it is tempting to postpone these types of defects until after the domestic product ships. The risk here is the accumulation of too many international defects, leaving unresolved a significant number of changes that will have to be merged with the next product release.

Localization Testing Checklist

Listed below are some of the areas that require a great deal of attention when localizing software.

Cosmetic

  • Text translation
  • Accented characters
  • Dialog boxes
  • Menus
  • Different screen resolutions
  • Different font sizes

Internationalization

  • Dates and number formats
  • Wizards and templates
  • Sort
  • Grammar and spell checkers
  • Measurement units
  • Accented characters impact on functionality (such as saving filenames)
  • Printing

Hardware/Software scenarios

  • Application works correctly on different types of hardware, particularly on hardware that is sold in the target market
  • Application works correctly on localized editions of Windows, especially on the language edition of Windows that corresponds to the language edition of the application. English language applications work properly on all localized editions of Windows
  • Documents created in this language edition can be opened successfully in other language editions, and vice versa

Online Help

  • Keywords and topic titles are translated
  • Translation of topic titles and page titles is consistent
  • All links to web pages are working correctly

Printed Documentation

  • Stylistic accuracy and consistency
  • Correct use of, and consistency of, verbal form (direct/indirect)
  • Correct use of grammar and spelling

About QA Labs Inc...

QA Labs is a powerful player on your team supplying the critical competitive advantage you need today. Our mission is to help you make your software products succeed in the marketplace, whatever the climate. We work with you to make wise choices that reflect project constraints, industry trends, and business considerations. We are the largest independent software quality assurance and testing service provider in Canada. For more information, please visit www.qalabs.com.

Contact Us...

QA Labs Inc.
#470 - 1122 Mainland St.
Vancouver, BC, Canada, V6B 5L1

Tel: 604.605.0111 x111
Fax: 604.484.2680
Email: services@qalabs.com
Web: http://www.qalabs.com


Subscribe to this newsletter at our website.

Unsubscribe from this newsletter at our website.

Copyright © 1999-2005 QA Labs Inc. All rights Reserved.