Foreign Language Testing
Foreign Language Testing
FOREIGN LANGUAGE
TESTING
CONTENTS
I. Making the Words and Pictures make Sense
II. Translation Issues:
1. Text Expansion
2. ASCII, DBCS and Unicode
3. Hot Keys and Shortcuts
4. Extended Characters
5. Computation on Characters
6. Reading Left to Right and Right to Left
7. Text on Graphics
8. Keeping the Text Out of the Code
III. Localization Issues:
1. Content Formats
2. Data Formats
IV. Configuration and Compatibility Issues:
1. Foreign Platform Configuration
2. Data Compatibility
V. How much Should You Test?
Anuradha Bhatia
Software Testing
1. Text Expansion
1. The most straightforward example of a translation problem that can occur is
due to text expansion.
2. Although English may appear at times to be wordy, it turns out that when
English is translated into other languages, more characters are usually
necessary to say the same thing. Figure 1 shows how the size of a button needs
to expand to hold the translated.
Figure 1
2. ASCII, DBCS and Unicode
1. ASCII can represent only 256 different characters—not nearly enough to
represent all the possible characters in all languages.
2. When software started being developed for different languages, solutions
needed to be found to overcome this limitation.
Anuradha Bhatia
Software Testing
3. A code page is a replacement ASCII table, with a different code page for each
language.
4. If your software runs in Quebec on a French PC, it could load and use a code
page that supports French characters.
5. Russian uses a different code page for its Cyrillic characters.
Figure 2
4. Extended Characters
1. A common problem with localized software, and even non-localized software, is
in its handling of extended characters.
2. Referring back to that ancient ASCII table, extended characters are the ones that
are outside the normal English alphabet of A–Z and a–z. Examples of these
would be the accented characters such as the éinJoséor the ñinEl Niño.
3. If software is properly written to use Unicode or even if it correctly manages
code pages or DBCS, this shouldn’t be an issue, but a tester should never assume
anything, so it’s worthwhile to check.
5. Computation on Characters
1. Related to extended characters are problems with how they’re interpreted by
software that performs calculations on them.
2. Two examples of this are word sorting and upper- and lowercase conversion.
Anuradha Bhatia
Software Testing
3. The other area where calculation on extended characters breaks down is with
upper- and lowercase conversion.
4. It’s a problem because the “trick” solution that many programmers learn in
school is to simply add or subtract 32 to the ASCII value of the letter to convert
it between cases.
5. Add 32 to the ASCII value of A and you get the ASCII value of a.
6. Unfortunately, that doesn’t work for extended characters. If you tried this
technique using the Apple Mac extended character set, you’d convert Ñ(ASCII
132) to § (ASCII 164) instead of ñ(ASCII 150)—not exactly what you’d expect.
7. Text on Graphics
1. The English letters B, I, U, and A, they mean nothing to someone from Japan who
doesn’t read English. They might pick up on the meaning based on their look—
the Bis a bit dark, the Iis leaning, and the Uhas a line under it—but software isn’t
supposed to be a puzzle.
2. The impact of this is that when the software is localized, each icon will have to
be changed to reflect the new languages.
3. If there were many of these icons, it could get prohibitively expensive to localize
the program.
4. Look for text-in-graphic bugs early in the development cycle so they don’t make
it through to the end.
Anuradha Bhatia
Software Testing
1. Content Formats
Figure 3
1. In the United States, a soccer ball isn’t the same thing as a football! You don’t
drive on the left!
2. These may not seem right to you, but in other countries they would be perfectly
accurate.
3. If you’re testing a product that will be localized, need to carefully examine the
content to make sure it’s appropriate to the area where it will be used.
4. Content is all the other “stuff” besides the code that goes into the product.
5. Think about what other items in your software might be problematic if it was
sent to another country.
2. Data Formats
1. Different locales use different formats for data units such as currency, time, and
measurement.
2. Just as with content, these are localization, not translation, issues. A U.S. English
publishing program that works with inches couldn’t simply undergo a text
translation to use centimeters.
3. It would require code changes to alter the underlying formulas, gridlines, and so
on.
Anuradha Bhatia
Software Testing
Figure 4
1. The problems that can crop up when software interacts with different hardware
and software are amplified by all the new and different combinations.
2. Performing this testing isn’t necessarily more difficult, just a bit larger of a task.
3. It can also tax your logistical skills to locate and acquire the foreign version of
hardware and software to test with.
Anuradha Bhatia
Software Testing
2. Data Compatibility
1. Just as with platform configuration testing, compatibility testing of data takes on
a whole new meaning when you add localization to the equation. Figure 10.8
shows how complex it can get moving data from one application to another.
2. In this example, a German application that uses metric units and extended
characters can move data to a different French program by saving and loading
to disk or using cut and paste.
3. That French application can then export the data for import to yet another
English application.
Anuradha Bhatia
Software Testing
4. That English program, which uses English units and non-extended characters,
can then move it all back to original German program.
Figure 8
Anuradha Bhatia