全球化测试的目的是检测应用程序设计中可能阻碍全球化的潜在问题。通过测试确保代码可以处理所有国际支持而不会破坏其功能,导致数据丢失或显示问题。全球化测试使用每种可能的国际输入类型,针对任何区域性或
区域设置检查产品的功能是否正常。
正常的产品功能假定该组件性能稳定,能按照设计规范运行(不考虑国际环境设置或区域性/
区域设置),并且数据的表示方式正确。
决定每个组件的优先级 若要使全球化测试更有效,请为所有测试的组件分配测试优先级。应具有高优先级的组件为: 支持 ANSI(美国国家标准学会)格式的文本数据 大量处理字符串的组件(例如,具有许多编辑控件 (Edit Control) 的组件) 使用文件进行数据存储或数据交换的组件(例如,Windows
图元文件、安全配置工具和基于 Web 的工具) 过去存在许多全球化问题的组件 选择测试平台 那么,应为国际测试平台使用哪一种操作系统 (OS) 呢?第一个选择应是安装了语言组的 Windows 2000 的本地版本。例如,如果使用 Windows 2000 的美国版本,请安装东亚语言组。这种组合对选择的语言提供了完整的国际支持,而没有对测试者的语言技能提出要求。
即使是面向更广泛的操作系统,Windows 2000 也应是主要的测试平台。早期的操作系统在本地设置和本机支持方面,没有为最广泛的语言和区域性或
区域设置提供同样的灵活性。
还可以使用不同于 Windows 2000 的本地版本的其他平台: MUI(多语言用户界面)Windows 2000 — 当代码实现多语言 UI 而且必须调整到 OS 的 UI 设置时特别有用。这种方法是安装 OS 的多个本地化版本的更容易实现的替代方法。为了进一步增强多语言支持,Microsoft 提供了一个单独的 Windows 2000 多语言版,它提供 Windows 用户界面的多达 24 种本地化语言版本。有关更多信息,请参见多语言用户界面 (MUI)。 目标 OS 的本地化版本 — 德语或日语是好的选择。记住,如果不熟悉操作系统的 UI 语言,使用它们可能比较困难。此方法并不比前面的解决方案有明显的优势。 通过测试发现的大多数全球化问题都发生在这两种情况下:即东亚语言支持处于活动状态时,或者 OEM
代码页不同于给定区域性或
区域设置的 ANSI 代码页时。例如,可以在 Windows 2000 的美国版本中选择下列区域性/
区域设置来测试潜在的全球化问题: 日语 德语 尽可能采用两者(一种为系统区域设置选择,另一种为用户区域设置选择)的组合以包括多语言支持 如果安装所有语言组,轮换使用区域性或区域设置,并按如下所述运行“全球化”测试,则可以获得最全面的覆盖范围。
创建
测试环境 为执行全球化测试,必须安装多个语言组并确保区域性或
区域设置不是您的本地区域性或区域设置。如上所述,在日语环境、德语环境以及两者的组合环境中执行测试案例可以覆盖大多数全球化问题。
基本上,使用日语和德语环境创建世界通用的
测试环境的步骤为: 在 Windows 2000 本地版本上,如果没有安装日语(或任何其他东亚地区语言)和德语支持(默认情况下,Windows 2000 的美国版本安装德语支持),请安装它们。 将测试机器上的区域性或
区域设置设置为与本地区域性或区域设置不同的区域性或区域设置(日语或德语)。 用 Windows 2000 系统的本地版本的混合环境建立一个
分布式网络,将某些系统设置为日语区域性或
区域设置,将其他系统设置为德语区域性或区域设置。 将日语作为系统默认区域性或
区域设置进行测试,可验证 ANSI(非 Unicode)组件中的双
字节字符集 (DBCS) 处理。将德语作为系统默认区域性或
区域设置进行测试,可确保再需要进行文本转换时能够正确处理 ANSI 和 OEM
代码页。建立分布式混合网络环境可以验证数据是否可以在不同的区域性或
区域设置之间成功传递。
执行测试 在为全球化测试设置好环境后,当运行常规测试案例时,必须特别注意潜在的全球化问题: 将重点更多地放在直接或间接处理字符串输入/输出的测试案例上。 测试数据必须包含来自东亚语言、德语、复杂脚本字符和英语(可选)的混合字符;其中复杂脚本字符指阿拉伯语、希伯来语、泰语。某些情况下有限制,比如接受只匹配区域性或
区域设置的字符时。如果不熟悉准备测试数据所用的语言,则手动输入所有这些测试数据可能很困难。一个简单的 Unicode 文本生成器在此步骤中可能非常有用。 识别问题 最严重的全球化问题是丢失功能,包括立即丢失功能(区域性/
区域设置更改时)和以后访问输入数据(非美国字符输入)时丢失功能。
某些功能问题和显示问题一样是可以检测到的: 出现问号 (?) 而不是显示文本表示问题出在 Unicode 到 ANSI 的转换中。 如果出现随机高位 ANSI
字符(如 ¼、†、‰、‡ 和 ¶)而不是可读的文本,则表示问题出在使用
错误代码页的 ANSI 代码中。 如果出现方框、竖条或鼻音化符号(默认的标志符号)[□、|、~],则表示所选字体无法显示某些
字符。 在要求变形、布局或脚本知识的显示或打印结果中找出问题可能很困难。这种测试是语言特定的,在没有语言专门知识的情况下通常无法执行。另一方面,测试可能仅限于代码检查。如果使用标准
文本处理机制形成并显示输出文本,则可以认为这方面是安全的。
潜在问题的另一个方面是未能遵循由当前区域性或
区域设置定义的本地约定的代码。确保应用程序根据计算机的当前
区域设置显示区分区域性或区域设置的数据(例如,数字、日期、时间、货币和日历)。
“
控制面板”中的“区域选项”并未包括所有区域性或
区域设置特定的功能。例如,在那里看不到当前的排序顺序。因此,在开始测试前制定一个包括与区域性或
区域设置有关的所有功能方面的
测试计划很重要。