16

测试国际软件

我有一些测试国际软件的朋友,他们都是软件测试工程师( STEs ),他们反对把本章放在最后,想知道我为什么把测试员送到"车尾,"。这里有两个很好的理由:


因此,本章将作为一个供测试员但从未处理过i18N问题在不想跳读之前的人的集中的地方,。如果你是一位开发人员,应该看一看,免得你的测试员决定买本书而你却只想缩减错误数!

首先是决定测试什么。

计划测试什么?

我以上强调的第一条理由有点随便,因为测试不必非得等到产品完成后;它可以在测试员检查主要参数,对正在描述的产品进行时间测试估算时开始。这是决定未来版本应删减或接受什么特征的一个关键因素。本节讨论的是要记住的问题。

有许多不同的配置可以进行操作,我在表16.1中尽量做了概述。

Table 16.1 要考虑的测试环境

分类

操作系统

设置

硬件

1

NT/Win2K

区域设置设置到其它地区

U.S./任意

2

NT/Win2K

分类1加上已安装的地区键盘

U.S./任意

3

Win2K

分类2加上更改默认系统语言系统语言

U.S./任意

4

全部

全本地化 OS(通过MUI的交换语言)

U.S./任意

5

全部

全本地化 OS

地区 指专用


显然,用表16.1中的分类5测试会发现许多与i18N有关的错误,但必须安装多语言的操作系统版本来进行这个工作,通常这是不实际的。有三点你要记住:


对于这几点,我将对每个分类逐一地考虑。对于决定包含多少常常不是由一个测试员直接负责的,但测试员对需要多少工作满足这个产品的投入,却是很重要的,所以,必须小心地考虑和平衡其他因素(如市场需要)有关的信息。

分类1:区域设置

这里发现的最重要的错误涉及到书里第I部分的i18N的基本问题:可以正确地输入数据?是不是处理后输入和正确输出的数据吗?这个适用于各种有日期/时间值,数值和货币的问题吗?更改日历设置时会发生什么?

该测试应集中于控制面板。通常,测试应用程序的最好方法是选择独特古怪的语言来进行区域设置,有时甚至要自定义格式。你报告错误时,要确保准确地描述你使用的设置,因为它们可能是很难记住你更改的时间。对于测试员来说,没有什么比找到一个错误后,重新找却找不到这种情况更让人感到灰心沮丧的了!

除总体测试不同的设置之外,选择把你的一部分时间集中在你知道用户使用的实际配置中也是很值得的。但是,不要认为总体测试是浪费时间;查找这样的错误的最好地方是在开发人员和测试员都没有考虑到的区域。它也会给你更大地把握考虑新市场的时间。

分类2:输入地区和数据存储

毫无疑问,所有分类1中的错误都可以发现;此外,你还要寻找与输入本地字符及其持久存储有关的错误,一般地说,进行分类2的工作量已经花费在分类1上了,因此,要较全地考虑计划方面的相同费用。

当然,一旦你同意包含更多的话,方案就会倍增,所以,你要确信你的测试机构有人准备并能够常常更改他们的设置,以比分类1可能更多的中断方式进行测试。

分类3:默认系统语言

所有分类1和2中的错误都可以找到,你寻找关于其它代码页上的本地字符和进行测试( AUT )的应用程序如何在这些区域上行为的错误时,有整个新的错误数组也是可能的,对测试特殊的语言种类进行计划是有意义的,比如以下。(该列表中的每个项目都包括在其种类中发现的错误种类。)


显然,你未必需要选择所有这些种类。例如,除非你计划投入很多的时间在本书的第II部分,和对多国应用程序的支持,否则,你得花同样多的时间在仅供Unicode语言上。(你可以假定它们不是简单地工作!)

分类4:Faux-本地化操作系统

当然,本分类可以查找分类1,2和3中的所有错误(不管分类3包含多少将取决于你选择的语言)。通常,你可以找到与组件有关的另外的错误种类(包括普通的对话和本地化组件,如,由操作系统提供的Internet Explorer或Microsoft Office,它可以改变各种语言。 )

Windows 2000 Multilangauge User Interface(多语言用户界面 MUI )和Office 2000语言包装是理想的(实际上是唯一的)测试本分类的方法,但值得考虑,对AUT中的这些组件,你是否有强烈的依赖。

分类5:真正地本地化操作系统

本分类是测试的最终级别,它可以在其他所有的分类(分类2包含的错误取决于你选择的语言)中查找错误。需要测试本方案的资源通常太大,以至于不能进行实际地考虑,虽然你有足够大的产品并计划自动操作测试。

这里,你需要订阅MSDN Universal或Professional,因为它可以让你得到所有操作系统的本地化版本。花些时间了解自动安装是如何工作的,对于你不了解的语言是个好办法,因为在安装时(我个人的经验之谈!)你不用花同样多的时间担心你不理解的错误信息。

选择表16.1的分类来支持

对于选择哪个类别进行支持,这也许有些复杂。通常,进行分类2中的大多数测试(分类3抽样)都会提供最好的平衡。当你成为机构中具有更多经验的开发人员和测试员时,你不仅对测试产品更熟悉,而且你的开发人员对问题理解得更透彻,他们产生的i18N错误会更少。

测试阶段应用程序( AUT )的安装

这一步虽然好象有些老套,但是,我可以保证它不是。本地化操作系统的安装和处理状态是很重要的,比如,普通目录(如,程序文件)已被本地化的名字。这可以强调两个不同的问题种类:


这些都是你随每个安装进行测试的问题。

对于你的测试环境,在安装使用SQL Server应用程序的时候,测试服务器应是区分大小写的,因为这通常可以发现问题,比如那些我在第4章中讨论的有土耳其语I的问题,"用户界面问题,"和第12章," Jet,SQL Server,及其他数据库。"选择不同的服务器种类也可以发现问题。正确的安装测试SQL Server可以防止许多你的客户可能发现的问题。定期地用不同的种类重新安装SQL Server也是查找可能遗漏错误的一个好方法。

执行你的国际测试实例

列出所有重要的方案进行测试(亦称测试中断,包含测试测试实例)这个中断主题显然超出了本书范围。但是,我会列出许多在创建AUT测试实例时要记住的问题。

关于i18N,你要记住的事情

对于全球化应用程序,这是你要考虑问题种类的样本:


关于L10N,你要记住的事情

在本地化应用程序中,有一整套测试实例也要考虑,比如下列:


关于复杂的一般脚本,你要记住的事情


我们在哪儿...

本章讨论的是测试国际应用程序中出现的许多问题,如果你正扩展全球市场,你必须仔细地考虑这些问题。对于测试人员来说,最重要的是要记住他或她(在许多方面)是正在扩展市场的公司里的最重要的人。测试员是唯一可以帮助实际评估市场的人,而且,全球市场的成功或失败将主要地取决于测试员在确信开发人员工作干得好的时候,所进行工作的好坏。

这是很好的注解—用测试员和开发人员引以为豪,并且被全世界客户接受的产品来结束这本书!虽然有些可能缺乏真实性,但是,通过对全球的展望,你可以保证,你将能够制造更接近于你目标的产品。这是很好的注解—用测试员和开发人员引以为豪,并且被全世界客户接受的产品来结束这本书!虽然有些可能缺乏真实性,但是,通过对全球的展望,你可以保证,你将能够制造更接近于你目标的产品。