testing 发表于 2004-9-14 23:07:00

软件本地化测试--崔启亮博士

来源:本地化测试网   作者:崔启亮(本版版主cuiqiliang大作)

概述

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

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

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

软件本地化的错误类型

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

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

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

揭密软件本地化错误

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

翻译错误:

(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) 注意检查对话框下拉列表中需要拖动滚动条才能显示的内容。

总结

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

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

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

jackei 发表于 2004-9-16 21:33:03

一个没有涉足过的领域,顶下先。

Fuli 发表于 2004-9-17 13:55:37

很好

macrovan 发表于 2004-9-23 12:10:39

我感觉软件本地化的测试更多的是对GUI的测试, 属于软件测试中比较简单的类型.

ayong401 发表于 2004-9-29 08:53:09

不错.

jackei 发表于 2004-9-30 09:54:34

这方面应该是以后外包测试的一个比较好的发展方向,广州就有一家专门为苹果公司作本地化测试的公司。

engine 发表于 2004-10-10 11:04:41

收藏~!Thanks~!

chen803 发表于 2006-4-26 14:42:19

在学习!!

cuiqiliang 发表于 2006-12-27 09:27:31

请大家今后在转贴时,一定要注明帖子的原始来源,否则就是不尊重别人的劳动成果,甚至侵犯知识产权。

AlexanderIII 发表于 2006-12-27 11:14:21

严重同意Dr. Cui的意见

rudi 发表于 2007-3-6 22:35:03

好帖啊,不愧为博士,本地化测试叙述的太详细了,受益匪浅

janeainer 发表于 2007-4-13 16:03:06

牛人

alicepan123 发表于 2007-4-23 15:32:04

学习中...

lihao@163.com 发表于 2007-5-2 11:11:32

en hao

huangfeng 发表于 2007-5-30 14:56:52

8错,8错。

不过貌似你的文章针对性太强了,感觉是完全为中文写的。本地化的最著名的百带问题都没说。希望能有所改动。

barcelona 发表于 2007-6-8 10:50:06

定下 好好学习

shuaiyi1981 发表于 2007-6-12 10:49:32

相当不错。。。

tester_ran250 发表于 2007-6-27 18:23:05

非常好的指导文章,做本地化也不只是GUI方面变化的测试,象我现在做的一个测试项目,在各个地方就有不同的标准,除了GUI的变化,软件还需要做一些其他的细化

jimmy2006.hi 发表于 2007-7-24 13:08:39

学习了,顶一个sdlkfj3

chendong933 发表于 2007-8-5 02:21:49

刚进入本地化测试领域不久,看了文章,的确很不错。
页: [1] 2 3
查看完整版本: 软件本地化测试--崔启亮博士