ue for the C
and US locales. If the product is developed in the United
States, then the odds that there will be problems with data in a
THIS ARTICLE WAS FIRST PUBLISHED IN MULTILINGUAL COMPUTING & TECHNOLOGY #65 VOLUME 15 ISSUE 5 JULY/AUGUST 2004 81
INTERNATIONALIZING
SOFTWARE TESTING
Andrea Vine
US format are very low. Because the risk of problems is far
higher for other locale formats, it makes more sense to test in
another locale from the beginning.
Another reason for internationalizing testing relates directly
to the bottom line. For example, say a product has a group of
10 testers who can’t cover all the areas of a given product when
simply testing English, ASCII and C locale. That group outsources
to one or two people all internationalization testing,
which encompasses the entire test suite in several languages,
charsets and locales, not to mention machine configurations.
However, the market for the non-English, non-ASCII, non-Clocale
functionality is over 60% of the total market. This means
that the test coverage is grossly inadequate for the size of the
market. Test coverage should take into account the entire market
and the higher risk areas in relation to the market.
REPRESENTATIVE SAMPLING
One way to look for internationalization bugs efficiently is
to test on a variety of locales using several different charsets
and formats. To try and touch different aspects of internationalization,
I recommend using at least one candidate from each
of several categories. The categories in programmatic terms
are Western European; non-Latin single-byte
languages/locales; Asian; and bidirectional. This covers the
locales that make up the major business markets.
In addition to English, the Western European category
encompasses French, German, Spanish, Italian, Dutch,
Portuguese and in many cases Swedish, Norwegian and
Danish. It covers the countries of Western Europe, as the title
suggests. Which languages and locales from this group that
you choose depends on how much time you have, how much
business comes from each market and how many bugs have
been found in each locale in prior versions of the product.
By calling the second category non-Latin single-byte, I have
focused on the charset used. The charset is the data; if it isn’t
processed correctly, then nothing else can be. But in this case
I am also referring to the locales which use these charsets.
Some of the possibilities are Russia and Greece.
Major countries in the Asian category are Japan, China and
Korea. These require the written languages Japanese,
Simplified Chinese, Traditional Chinese and Korean.
Examples of bidirectional languages are Arabic and
Hebrew. While Arabic and Hebrew alone are right-to-left languages,
the entire text becomes bidirectional when mixed
with left-to-right text or numbers.
WHO IS RESPONSIBLE?
In broad terms, everyone in the company is responsible for
internationalization. This includes people not involved in engineering,
such as product marketing, finance and operations.
Everybody who tests the product needs to think about internationalizing
the tests. Developers who unit test their modules
must use international data in their testing, just as they internationalized
their code. QA engineers may assist developers in
their unit test design; they can provide information on internat
本论文由英语论文网提供整理,提供论文代写,英语论文代写,代写论文,代写英语论文,代写留学生论文,代写英文论文,留学生论文代写相关核心关键词搜索。