本地化测试寻找软件缺陷的方法
 

2009-04-30 来源:网络

 

概述

软件本地化测试工程师的基本任务包含两条:第一是发现软件缺陷;第二是报告软件缺陷。而发现软件缺陷是首要的任务,道理很简单:没有发现软件缺陷,则无法报告软件缺陷。因此,对于软件本地化测试工程师,提高发现软件缺陷的技能成为第一位的任务。

为了帮助初学者尽快掌握软件本地化发现缺陷的方法,本文结合本地化测试的项目实践进行较为深入的描述。

发现缺陷的前提条件

寻找和发现软件缺陷,首先需要理解软件本地化测试的目的和测试范围,在测试前,必须要阅读和理解测试说明书和测试用例;其次,要熟悉本地化软件缺陷的主要类型和表现特征。再次,熟悉被测软件的语言知识和软件功能特征。

再次强调阅度测试说明书和测试用例的重要性。测试说明书包含了测试范围、测试系统的要求、缺陷定义等于测试密切相关的内容。测试用例包含具体测试范围、测试方法和测试步骤的具体实现方式。在正式进行任何测试活动前,必须认真阅读测试说明书和测试用例,以便彻底了解测试的重点和可能出现软件缺陷的软件部分。

好的测试习惯是在测试准备阶段,通读测试说明书和测试用例,并且记录一些重点内容,对于不熟悉的内容及时交流解决。

不好的习惯是一边做测试,一边阅读测试说明书和测试用例。这种测试方法的最大危害是抓不住测试重点,没有测试的全局意识,往往被细小问题困扰,不利于提高测试效率。

发现缺陷的基本方法

本地化软件缺陷,具有比较鲜明的特征,发现本地化软件缺陷具有内在规律,以下对于发现本地化软件缺陷的基本方法进行论述。

1. 按照一定的顺序排查软件缺陷

本地化软件缺陷可以分为用户界面错误、语言质量错误和功能错误等。这些不同类型的错误有时同时出现在软件的某个部分,为了更全面的发现这些缺陷需要遵循一定的测试排查步骤。

以测试一个本地化对话框为例。

首先查看对话框控件的用户界面错误

  • 是否有被截断( Truncation )的错误
  • 是否控件布局不整齐或者重叠
  • 是否丢失热键
  • 与英文软件的热键不一致
  • 文本字体类型和大小错误
  • 字符显示乱码错误

其次,查看对话框语言质量错误

  • 是否有没有遗漏的需要本地化的英文文字
  • 本地化的文字是否内容正确、专业和流畅
  • 是否存在多余的翻译,例如,不该翻译的内容进行了翻译
  • 是否翻译的内容带有敏感的政治问题和与目标市场的风俗传统不一致
  • 标点符号是否符合本地化语言用户的使用习惯

再次,查看对话框功能错误

  • 各个要测试的按钮功能是否起作用
  • 各个要测试的按钮功能是否正确
  • Tab 键的跳转是否正确
  • 控件的热键是否起作用

按照以上的顺序测试,主要是为了按照从易到难的原则,全面地查找软件缺陷,而不是说功能错误是不重要的,相反功能错误是优先级比较高的错误,应该正确处理。

2. 对照源语言软件确认缺陷

绝大多数本地化软件缺陷都是由于本地化过程引起的,但是也有少量错误是由于源语言软件不正确的设计引起的。这类错误表现为同一个错误在源语言软件和本地化版本中都可以复现,例如某些功能不起作用,热键重复等。还有一种错误只在本地化软件中复现,但是本地化工程师无法解决,需要软件开发人员修改编码进行修正,例如不支持双字节的输入、显示、输出等,这些属于源语言软件的国际化设计错误。

因此,如果发现了功能错误和热键等软件缺陷,应该在相同测试环境的源语言软件上,进行同样步骤地测试,将测试结果进行比较,并且报告中应该指出该软件缺陷是否也存在于源语言软件上。

3. 利用软件缺陷的“扎堆”现象

软件缺陷的“扎堆”现象就是被测软件的某些部分往往出现不止一个错误。因此,如果在某一部分发现了很多错误,应该进一步仔细测试是否还包含了更多的软件缺陷。

软件缺陷的“扎堆”现象的常见形式:

对话框的某个控件功能不起作用,可能其他控件的功能也不起作用。

某个文本框不能正确显示双字节字符,则其他文本框也可能不支持双字节字符。

联机帮助某段文字的翻译包含了很多错误,与其相邻的上下段的文字可能也包含很多的语言质量问题。

安装文件某个对话框的“上一步”或“下一步”按钮被截断,则这两个按钮在其他对话框中也可能被截断。

软件测试中重视软件缺陷的“扎堆”现象,有助于发现更多的软件缺陷。

4. 关注测试容易产生软件缺陷的部分

软件缺陷几乎无处不在,可以出现在软件的任何地方。但是,软件缺陷的差生也有些规律,软件的某些部分更容易产生软件缺陷,这些部分是软件错误的“重灾区”,在测试期间应该引起重视和测试。

容易产生软件本地化缺陷的软件部分包括:

软件的“关于”对话框中容易产生版权( C )和商标( TM )等字符的显示错误。

软件中与语言设置相关的部分容易产生软件国际化错误,例如,排序方式、数字格式、日期格式、时间格式、货币符号、度量衡、电话号码格式、纸张类型等。

对话框和菜单中容易产生热键错误。对话框中容易产生用户界面错误。

终端用户许可协议( EULA )容易产生国家和地区名称翻译的政治敏感错误,例如,将地区翻译成国家等。

联机帮助文件中容易产生与软件界面不一致的术语翻译错误。

5. 参考其他语言版本测试发现的缺陷

如果测试项目组同时在测试不同语言的相通本地化版本,应该尽量参考其它本地化软件测试过程中发现的缺陷,例如,在报告的缺陷管理库中搜索报告的缺陷,与其他语言的测试工程师交流等,查看自己是否漏测、漏报了某些软件缺陷,并且努力补上。另外,有些本地化错误可能仅仅出现在某个本地化语言版本中,属于该语言版本的本地化过程引起的错误,在报告软件缺陷时,说明本缺陷不出现在其他本地化语言版本上,将有助于软件工程师正确隔离软件缺陷,分配给合适的人员处理缺陷。

6. 使用测试辅助工具

根据测试的不同内容,选择合适的测试辅助工具,可以有效的发现软件缺陷。例如,使用文件和文件夹比较工具(例如, Beyond Compare 或 WinDiff )可以方便地比较英文和本地化 build 的文件和文件夹内容。 Html QA 可以很方便、准确地定位编译的本地化联机帮助文件的链接是否完整、正确。

总结

本地化软件的缺陷的类型具有明显的特征,测试工程师只要熟悉这些特征,按照适当的测试顺序,仔细地观察比较可以发现绝大多数软件缺陷。另外,本地化测试也是不断实践、不断丰富测试经验的过程,测试人员之间加强交流,不断自我总结测试经验,可以不断提高寻找和发现软件缺陷的能力。


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织