【IT168 技术文章】
软件本地化测试是在本地化的操作系统上对本地化的软件版本进行的测试。根据软件本地化项目的规模、测试阶段以及测试方法,本地化测试分为多种类型,每种类型都对软件本地化的质量进行检测和保证。为了提高测试的质量,保证测试的效率,不同类型的本地化测试需要使用不同的方法,掌握必要的测试技巧。本文主要选取本地化测试中具有代表性的测试类型进行分析,结合软件本地化项目的测试经验对其测试要领进行剖析。
导航测试
导航测试(Pilot Testing)是为了降低软件本地化的风险而进行的一种本地化测试。大型的全球化软件在完成国际化设计后,通常选择少量的典型语言进行软件的本地化,以此测试软件的可本地化能力,降低多种语言同时本地化的风险。
导航测试尤其是用于数十种语言本地化的新开发的软件,导航测试版本的语言主要由语言市场的重要性和规模确定,也要考虑语言编码等的代表性。例如,德语市场是欧洲的重要市场,通常作为导航测试的首要单字节字符集语言。日语是亚洲重要的市场,可以作为双字节字符集语言代表。随着中国国内软件市场规模的增加,国际软件开发商逐渐对简体中文本地化提高重视程度,简体中文有望更多成为导航测试的首选语言。
导航测试是软件本地化项目早期进行的探索性测试,需要在本地化操作系统上进行,测试的重点是软件的国际化能力和可本地化能力,包括与区域相关的特性的处理能力,也包括测试是否可以容易地进行本地化,减少硬编码等缺陷。由于导航测试在整个软件本地化过程中意义重大,而且导航测试的持续时间通常较短,另外由于是新开发的软件的本地化测试,测试人员对软件的功能和使用操作了解不多,因此,本地化公司通常需要在正是测试之前进行搜集和学习软件的相关资料,做好测试环境和人员的配备,配置具有丰富测试经验的工程师执行测试。
可接受性测试
本地化软件的可接受性测试(Build Acceptable Testing)也称作冒烟测试(Smoke Testing),是指对编译的软件本地化版本的主要特征进行基本测试,从而确定版本是否满足详细测试的条件。理论上,每个编译的本地化新版本在进行详细测试之前,都需要进行可接受性测试,以便早期发现软件版本的可测试性,避免不必要的时间浪费。
注意,软件本地化版本的可接受性测试与软件公司为特定客户定制开发的原始语言软件在交付客户前的验收测试完全不同,验收测试主要确定软件的功能和性能是否达到了客户的需求,如果一切顺利,只进行一次验收测试就可以结束。
本地化软件在编译后,编译工程师通常需要执行版本健全性检查(Build Sanity Check),确定本地化版本的内容和主要功能可以用于测试。而编译的本地化版本是否真的满足测试条件则还要通过独立的测试人员进行可接受性测试,它要求测试人员在较短的时间内完成,确定本地化的软件版本是否满足全面测试的要求,是否正确包含了应该本地化的部分。如果版本通过了可接受性测试,则可以进入软件全面详细测试阶段,反之,则需要重新编译本地化软件版本,直到通过可接受性测试。
在进行本地化软件版本的可接受性测试时,需要配置正确的测试环境(软件和硬件),在本地化的操作系统上安装软件,确定是否可以正确安装。软件运行软件,确定软件包含了应该本地化的全部内容,并且主要功能正确。然后,卸载软件,保证软件可以彻底卸载。软件的完整性是需要注意的一个方面,通过使用文件和文件夹的比较工具软件,对比安装后的本地化软件和英文软件内容的异同,确定本地化的完整性。
语言质量测试
语言质量测试是软件本地化测试的重要组成部分,贯穿于本地化项目的各个阶段。语言质量测试的主要内容是软件界面和联机帮助等文档的翻译质量,包括正确性、完整性、专业性和一致性。
为了保证语言测试的质量,应该安排本地化语言作为母语的软件测试工程师进行测试,同时请本地化翻译工程师提供必要的帮助。在测试之前,必须阅读和熟悉软件开发商提供的软件术语表(Glossary),了解软件翻译风格(Translation Style)的语言表达要求。
由于软件的用户界面总是首先进行本地化,因此,本地化测试的初期的软件版本的语言质量测试主要以用户界面的语言质量为主,重点测试是否存在未翻译的内容,翻译的内容是否正确,是否符合软件术语表和翻译风格要求,是否符合母语表达方式,是否符合专业和行业的习惯用法。
本地化项目后期要对联机帮助和相关文档(各种用户使用手册等)进行本地化,这个阶段的语言质量测试,除了对翻译的表达正确性和专业性进行测试之外,还有注意联机帮助文件和软件用户界面的一致性。如果对于某些软件专业术语的翻译存在疑问,需要报告一个翻译问题,请软件开发商审阅,如果确认是翻译错误,需要修改术语表和软件的翻译。
关于本地化软件的语言质量测试,一个值得注意的问题是“过翻译”,就是软件中不应该翻译的内容(例如软件的名称等)如果进行了翻译,应该报告软件“过翻译”错误。
用户界面测试
本地化软件的用户界面测试(UI Testing),也称作外观测试(Cosmetic Testing)主要对软件的界面文字和控件布局(大小和位置)进行测试。用户界面至少包括软件的安装和卸载界面、软件的运行界面和软件的联机帮助界面。软件界面的主要组成元素包括窗口、对话框、菜单、工具栏、状态栏、屏幕提示文字等内容。
用户界面的布局测试是本地化界面测试的重要内容,由于本地化的文字通常比原始开发语言长度增长,所以一类常见的本地化错误是软件界面上的文字显示不完整,例如,按钮文字只显示一部分。另一类常见的界面错误是对话框中的控件位置排列不整齐,大小不一致。
相对于其他类型的本地化测试,用户界面测试可能是最简单的测试类型,软件测试工程师不需要过多的语言翻译知识和测试工具,但是由于软件的界面众多,而且某些对话框可能隐藏的比较深入,因此,软件测试工程师必须尽可能地熟悉被测试软件的使用方法,这样才能找出那些较为隐蔽的界面错误。另外,某个界面错误可能是一类错误,需要报告一个综合的错误,例如,软件安装界面的“上一步”或“下一步”按钮显示不完整,则可能所有安装对话框的同类按钮都存在相同的错误。
功能测试
原始语言开发的软件的功能测试主要测试软件的各项功能是否实现以及是否正确,而本地化软件的功能测试主要测试软件经过本地化后,软件的功能是否与源软件一致,是否存在因软件本地化而产生的功能错误,例如,某些功能失效或功能错误。
本地化软件的功能测试相对于其他测试类型具有较大难度,由于大型软件的功能众多,而且有些功能不经常使用,可能需要多步组合操作才能完成,因此本地化软件的功能测试需要测试工程师熟悉软件的使用操作,对于容易产生本地化错误之处能够预测,以便减少软件测试的工作量,这就要求测试工程师具有丰富的本地化测试经验。
除了某些菜单和按钮的本地化功能失效错误外,本地化软件的功能错误还包括软件的热键和快捷键错误,例如,菜单和按钮的热键与源软件不一致或者丢失热键。另外一类是排序错误,例如,排序的结果不符合本地化语言的习惯。
发现本地化功能错误后,需要在源软件上进行相同的测试,如果源软件也存在相同的错误,则不属于本地化功能错误,而属于源软件的设计错误,需要报告源软件的功能错误。另外,如果同时进行多种本地化语言(例如,简体中文、繁体中文、日文和韩文)的测试,在一种语言上的功能错误也需要在其他语言版本上进行相同的测试,以确定该错误是单一语言特有的,还是许多本地化版本共有的错误。
软件的测试类型数量众多,可谓五花八门,而软件本地化测试又具有其自身的特点,除以上常见的本地化测试类型外,还包括联机帮助测试、本地化能力测试等测试。不论何种类型的本地化测试,其最终测试目标都是尽早找出软件本地化错误,保证本地化软件与原始开发语言软件具有相同的功能。通过正确配置本地化测试环境,合理组织本地化测试人员,采用正确的本地化流程和测试工具,完善软件缺陷的报告和跟踪处理,有助于保证软件本地化测试的有效实现。