UML软件工程组织

细说软件测试错误
文章出处:本地化测试网    作者:崔启亮  

概述

软件本地化测试的测试对象是本地化的软件,需要在本地化的操作系统上进行。虽然本地化的软件是基于源程序软件创建的,但二者的测试内容和重点具有很大的不同。

一般地,二者的不同在于:第一,测试顺序不同。首先要现对源程序软件进行测试,然后再创建本地化软件,测试本地化软件。第二,测试内容和重点不同。源程序软件主要测试功能和性能,结合软件界面的测试。本地化软件的测试,更注重因本地化引起的错误,例如,翻译是否正确,本地化的界面是否美观,本地化后的功能是否与源语言软件保持一致。第三,测试环境不同。源程序软件测试通常在源语言的操作系统上进行。本地化软件在本地化的操作系统上进行。

本地化测试过程中,需要同时运行源程序软件和本地化软件,依照源程序软件结果作为本地化软件的主要参考。

软件本地化的错误类型

软件本地化的错误主要分为两大类:第一、由于源程序软件编码错误引起的;第二,由于软件本地化引起的。其中由于软件本地化产生的错误类型包括语句没有翻译、翻译错误、控件布局错误。对于东亚语系软件,可能存在双字节字符显示错误等。

综合分析本地化软件的错误类别,可以归结为四种类型:翻译错误,功能错误,界面错误,双字节错误。

每种类型的错误的数量不同,这与源程序软件和本地化软件的质量有密切关系。如果源程序软件没有经过完整的测试,包括功能测试和本地化性能测试,那么本地化软件中就将存在很多功能错误、界面错误、双字节错误。如果本地化软件没有经过良好的本地化处理,将会产生很多翻译错误和界面错误。

揭密软件本地化错误

下面对本地化软件的错误的四种典型类型进行分类讨论,探讨错误的表现特征,产生的原因,测试要求,发现错误的方法。

翻译错误:

(1) 产生原因:

1) 翻译人员不熟悉翻译要求。

2) 翻译人员工作疏漏。

3) 用户界面的翻译与标准词汇表不一致。

(2) 表现特征:

1) 应该翻译而没有翻译的英文字符。

2) 不应该翻译而翻译的中文字词。

3) 错误翻译的字词。

4) 只在本地化版本中存在该类型错误。

5) 较多隐含在对话框各控件以及帮助文档中。

(3) 测试要求:

1) 明确需要翻译和不需要翻译的内容。

2) 明确正确的翻译方式。

3) 根据术语表,确认术语翻译的正确性与一致性。

(4) 测试方法:

1) 主要同时打开中英文版本,执行相同的操作。

2) 结合标准界面词汇翻译表,参照对比。

(5) 说明:

1) 对于对话框,如果含有下拉列表框,要打开列表框查看全部项。

2) 特别要注意选项中开关类翻译错误。

功能错误:

(1) 产生原因:

1) 软件编码错误。

2) 错误本地化,如将程序中的变量进行了翻译等。

(2) 表现特征:

1) 不能实现设计要求的功能。

2) 产生与设计要求不符合的结果。

3) 英文和中文都存在同样的错误。

4) 可能隐含在软件的任何位置或任何操作步骤中。

(3) 测试要求:

1) 保证输入数据正确,或者打开了正确的测试用例。

2) 明确正确的输出结果和中间数据数值及格式。

(4) 测试方法:

1) 对于菜单项或工具栏按钮,通过全面测试各个选项,认真观察每一步是否正确执行,输出结果(包括格式和数值)是否正确。

2) 对于一个命令中的多个并列选项,采用路径跟踪法,按分支顺序测试嵌套的全部子项。

3) 对于对话框,可以逐个执行各按钮,各个列表选项等观察执行结果。

(5) 说明:

1) 特别注意不同选项、不同按钮相互操作的影响。

2) 注意检查快捷键是否遗漏,是否多余,是否不同,是否起作用。

布局错误:

(1) 产生原因:

1) 软件本地化后,由于源语言和本地化语言的表达方式不同,本地化后的字符数与源语言不同,每个字符所占空间尺寸不同,使得在英文版本正确显示的控件字符,可能在本地化版本显示不正确。

2) 本地化人员调整程序资源不当引起,例如,对话框及其控件高度或宽度的不正确调整。

(2) 表现特征:

1) 控件相互重叠或排列不均匀。

2) 控件中字符显示不完整。

3) 主要出现在本地化版本的对话框中。

(3) 测试要求:

1) 对话框中控件布局均匀,字符显示完整正确。

2) 对话框中控件数量相等,没有多余或丢失的控件

(4) 测试方法:

1) 执行将要打开对话框的菜单或工具栏按钮,观察打开对话框中的控件布局。

2) 对比检查源语言软件和本地化软件对应的对话框中控件的数量

(5) 说明:

1) 可能在执行不同的操作后,如选择了不同单选或复选按钮后,编辑框显示重叠等。

2) 执行后带省略号的菜单或命令按钮,将会显示对话框。

双字节错误:

(1) 产生原因:

1) 源程序在设计时没有考虑双字节语言的支持。

2) 软件本地化后,单字节字符向双字节字符转化过程中,由于单字节和双字节之间的差别,可能使得某些本地化后的双字节字符的显示乱码。

3) 软件本地化后,对程序中控制符号如换行键“\n”的处理错误而引起乱码。

(2) 表现特征:

1) 控件或对话框中显示不可辩识的字符。

2) 控件或对话框中显示无意义的明显错误的字符。

3) 不支持双字节字符的输入,包括双字节的文件名和路径名。

4) 仅出现在本地化后的版本中。

(3) 测试要求:

1) 本地化后的软件字符显示正确完整,无乱码或明显错别字。

(4) 测试方法:

1) 执行菜单或按钮,检查对话框中的字符。

2) 打开帮助文档,检查所有需要翻译的字符。

(5) 说明:

1) 注意检查对话框下拉列表中需要拖动滚动条才能显示的内容。

总结

以上仅列出了本地化软件测试经常遇到的四种错误类型,在实际测试中可能某些错误的现象(如列表框中有多余项或缺少项),既可以认为是布局错误,也可以属于功能错误,应该认真思考该错误表现的实质,将其划分为正确的错误类型。

实际测试是一个动态的过程,不能孤立静态地对待发现的错误,因为一个错误可能包含着其他的不同类型的错误。比如在对话框中,选择某个按钮,产生一个错误提示对话框,这可能是一个按钮功能错误,如果对话框中存在需要翻译而没有翻译的英文,则又是一个翻译错误,如果对话框中存在无法辨识的字符,则又是一个双字节错误,如果对话框中按钮排列重叠,则还是一个布局错误。

总之,本地化软件的错误的产生是多方面的,不能仅仅归结为软件本地化过程带来的错误,实际上,良好的国际化设计的源程序是减少软件本地化错误的根本保证。当然,提高软件本地化过程能力,提高翻译和检查,优化本地化软件编译流程,能够减少很多因本地化产生的错误。


版权所有:UML软件工程组织