sapphire01 发表于 2007-11-13 15:02:56

[转帖]多字节本地化软件的质量保证

1999年7月,SimulTrans 本地化系列研讨会特地召集几位发言人就软件 QA 问题展开讨论。由于跨越多种语种、多个国际市场,本地化过程中通常会遇到很多问题,而且由于诸多原因,亚洲市场的本地化尤其困难。

最大的挑战即来自于语言本身。多字节字符集和不同层级的语言规范让这些项目更为复杂。通常需要花费更多时间、放慢翻译速度以及进行更彻底的审查和质量保证。7 月份的研讨会上,发言者们讨论了数个关于客户和供应商侧本地化软件质量保证的问题。


概述

Adam Jones 讨论了 SimulTrans 是如何在本地化过程中实施质量保证的。Adam 谈到的一些问题包括:可能进行的不同测试类型、用于每种类型的工具、成功测试技巧、测试开始前应提出的问题以及在每个 SimulTrans 站点进行的测试。Doug Jacobs 谈到了在 Cobalt Networks 的软件测试流程,侧重于日语本地化项目。Doug 还谈到了 Cobalt 产品,列举了一般测试步骤并讨论了测试日语产品时遇到的问题。Gentry Watson 列出了他在测试一个大型医疗制图系统时所犯的十个重大错误:对测试进度的误读、缺乏国际化意识、测试装置配置错误等等等等。

SimulTrans 的本地化质量保证

发言人简介

Adam Jones

Adam 是 SimulTrans 客户项目的副总裁,拥有超过 5 年的客户项目外展经验。Adam 经常为 Society for Technical Communications、American Translators Association、Software Publishing Association 等组织进行培训演示。他还为许多 SimulTrans 的客户提供定制培训与咨询,课题包括“全球化写作”、“创建本地化项目”、“网站设计”、“实施翻译工具项目”、“国内审核人管理”等等。

本地化过程中的质量检查

在 SimulTrans,整个本地化过程中都会采取常规措施,预防问题发生。这意味着,进展到测试阶段,只会有极少的测试问题未被发现。会采取以下质量保证步骤,并且随着项目进展会逐一记录每个步骤。

语言抽测

在这一过程中,会对已翻译文字进行定期抽测,对语言质量进行评估。

全文检查

在这一过程中,会评估所有已翻译文字,确保翻译正确。

最终语言检查

这一过程检查翻译最后阶段的软件和文档,确保不会为工程或格式编排阶段造成任何问题。

最终格式检查

这一过程确保文档没有 DTP 问题,可以正确打印或显示(视具体项目而定)。

测试类型

会对本地化软件进行各种测试。这些测试独立于上述作为本地化过程一部分而执行的质量保证步骤。

国际化测试

此类测试通常在本地化开始前进行,以识别潜在问题。理想的情况是,国际化测试在英文版本完成时就已结束了。在国际化测试中需要检查的问题包括:字符集问题(尤其针对多字节字符)、日历、时间、日期及当前格式、分类问题、字体问题、与其它库文件的交互、内嵌字符串编码和字符串扩展。在英文版本的产品上进行国际化测试,方法是在不同的操作系统上进行测试、查看编码、文字伪翻译以及使用下列国际化测试工具。

工具

SimulTrans 使用来自 OneRealm 的工具套件来评估代码并识别国际化问题。如需详细信息和软件演示,请查看 OneRealm 网站。(http://www.onerealm.com)

用户界面测试

这是 SimulTrans 执行的最常见的测试类型。每个软件本地化项目都要经过这项测试。在对应用程序每个语言版本进行用户界面测试时,需要查看是否有截断的文字、是否丢失控件、加速键是否存在问题、输入和问题字段是否存在问题、字符集/字体显示是否正常以及输入处理问题等。(比如,当用户使用他们的语言输入文字并使用他们的字符集时,是否可以正确显示?)

工具

SimulTrans 的用户界面测试使用多种工具执行。Corel Catalyst (http://www.corel.ie) 可用于各种本地化测试。而内部开发的工具则用于确保资源外化、代码未被删除等。

有一个来自 Translation Craft (http://www.tcraft.com) 的新应用程序,叫做 Tool Proof。这一工具与 Catalyst 类似,可以显示用户界面元素和对话框,这样就可以查看控件尺寸是否正确以及是否存在其它界面问题。

功能性测试

测试类型可以反应出原始语言产品的 SQA 过程。一般需要测试所有功能,以确保均能正常运作。这意味着,你不仅要查看用户界面,还要保存文件、打印,执行诸如此类的所有功能来确保应用程序能够正常运行。进行功能性测试时,尤其要注意语言环境特定的组件,比如时间、日期格式以及文字处理。必须在与目标市场环境相符的测试环境中进行功能性测试。硬件、客户端/服务器应用程序、操作系统、网络设置等都要尽可能真实地反映实际的操作条件。

一般来说,功能性测试并不是本地化流程的组成部分。许多人认为进行用户界面测试就已足够,功能不会受到本地化的影响。如果应用程序的国际化做的够工夫,那么这个风险自然就被减至最小了。然而不幸的是,在 SimulTrans 测试的软件中,高达 90% 的比例都出现了功能性问题。如果未能在测试阶段察觉这些问题而等到被最终用户揪了出来,那可就糟糕了。

工具

用于功能性测试的工具归正在进行本地化的产品所属开发公司所有。一家公司可能会创建一些测试网格图 (test grids) 以及其它用于测试英文产品的工具。如果自动化测试脚本经过了良好的国际化,那么就可直接用于本地化的软件中。

兼容性测试

兼容性测试可确保软件可在目标语言操作系统中正常执行。如果将应用程序本地化为法语,那么你就需要在法语操作系统下测试该软件。应用程序会频繁地向操作系统请求资源,而不同操作系统处理资源的方式不尽一致。对于集成到操作系统、浏览器或其它系统范围组件中的应用程序,尤其要着重测试它们的相应本地化版本。

也可能会有语言特定的硬件问题,比如,在日本有一种 NEC9800 系列计算机的特定版本,这些系统与在美国使用的系统截然不同。那么你就需要在客户实际使用的设备上进行测试。

工具

重要的一点是,针对所支持的平台和版本使用本地化的操作系统。可能还需要本地化的浏览器、服务器应用程序以及任何在一般操作中可能用到的应用程序。

组件测试

组件测试指帮助文件测试或基于 HTML 的项目测试。帮助文件的测试比较简单,只需检查链接和跳转,并确保关键词和索引条目未被删除或没有重复出现。搜索工作,尤其是搜索网站可能会比较麻烦,一个英语词汇可能会翻译成诸多同义词,较难定位。或者可能在英语中,需要三个词一起来表达一个概念,而在其它语言中,只需一个词就够了。

工具

Translation Craft 开发的 HelpQA 和 HTML-QA 都是分析大型帮助系统时的得力工具,可以检查链接和跳转,识别其它问题,如果出现由于本地化引起的编译错误还会发出警告。RoboHelp 工具可以很好的与本地化软件集成,也有一些具有知识产权的工具可在本地化过程中帮助保护软件功能。

确保测试成功

要进行成功的测试需要注意许多问题。请与你的本地化服务供应商讨论这些问题,同时将其在内部付诸实施。

将 QA 作为单独职能

QA 职能应由没有参与产品开发的人员来完成。应该意识到,QA 是一个独特且重要的工程处理步骤,需要单独的资源。只想让工程师来编译、执行四个小时 ad hoc 测试然后大呼放弃是远远不够的。

专用测试试验环境

需要使用所有必要的设备、硬件和软件搭建测试环境。应具备所有必要的平台和操作系统。也可能需要带有 NT 服务器的客户端/服务器应用程序,以测试其目标语言版本。重要的一点是,将计算机设置为可让所有测试者同时看到产品的英语版本和本地化版本。

测试实验室应该是完整环境的浓缩版,这也许需要提供特定硬件。如果正在研发打印机驱动程序,那么仅仅查看 UI是不够的。你需要将文件发送到打印机以查看会发生的现象。如果由您的本地化供应商来做此类测试,那么您需要提供全部所需硬件以查看硬件界面信息。SimulTrans 曾接收过各种有待测试的打印机、电话交换机、鼠标、视频卡、音频卡等等。

一些公司会研发一些模拟程序,模拟研发环境下硬件和固件的功能。可与本地化供应商共享这些模拟器以展开测试。如果需要创建大量本地化版本并且环境较为复杂,那么就需要考虑在某种模拟器的研发上进行工程资源投资,这样您可以更为轻松的进行本地化版本的测试工作。自己公司内部有测试所需的硬件和软件,而本地化公司有他们的语言操作系统、硬件和软件,测试到底该由谁来做,这个抉择可不容易。

分段网络

SimulTrans 可为不同的测试项目设置完整的、与标准网络相独立的测试网络。这可让测试在其特定环境下进行,更精确地模拟实际的工作环境。

目标语言操作系统和支持

操作语言的不同语言版本较易获得。如果你是 Microsoft Developer Network 的成员之一,那么可以免费获取国际版本。在 CD 包中,你可以找到法文版的 Windows NT 或德文版的 Windows 98。你甚至可在本地化开始之前,在所有这些版本上对应用程序进行测试,查看是否有任何异常情况。成为该网络成员所需费用大概是持许可证每人 3000 美金,但物有所值。Apple Developer Connection 情况也类似。Sun 有大量的 Solaris 系统国际化和本地化的版本,Oracle 则有 Oracle Server 本地化版本的开发者网络。

管理各种语言版本工作较为繁重。一个较为轻松的方法是在开始每个测试周期前重新映像机器。SimulTrans 的做法是维护常见操作系统和经常处理的语言的原始映像。这样只需将映像安装到计算机上即可,不必花费数小时来安装和配置一个特定设置(比如,德文 NT)。使用映像方法可以节约大量时间。

系统进行问题追踪和版本控制

在测试本地化版本时,人们通常不如测试源语言版本时那样认真,这往往会产生问题。你需要不断地向原始开发人员寻求解决方案,这就需要你以组织有序的方式跟踪和报告问题。

版本控制也是个不可忽视的问题,因为带有补丁的不同文件版本可能会在你的公司和本地化服务供应商之间频繁往来。没有预定义的版本控制程序,这很可能引起混淆。

测试人员的母语必须是目标语言

让一个讲英语的人来测试中文应用程序并尝试解释显示的错误信息,这是赶鸭子上架的做法。测试人员首先应该熟悉一种语言,才能检测出应用程序是否存在截断或其它语言相关问题,也才能建议工程人员该怎样修复这些问题。

必问问题

在设置本地化软件的测试程序时,有以下几个必问问题:

测试应在何处执行?
需要何种类型的测试?
测试源和脚本工具是否齐备?
如何报告问题?
使用哪个问题追踪系统?
谁负责解决问题?(比如,是由本地化服务供应商来解决国际化问题或仅仅是报告即可?)
SimulTrans 测试

所有 SimulTrans 分公司皆可进行本地化测试。用户界面测试通常由母语为目标语言的人员和工程师协作完成。但不同分公司侧重于不同类型的测试。将测试项目发送到其它处进行非常有用,这样可将测试过程与工程研发过程完全隔离开来,从而确保测试的公平性。Mountain View 分公司专注于国际化测试,世界各地的国际化测试项目皆在此处进行。Dublin 分公司设有一个测试中心,在那里有大量工作人员在不同的环境下执行测试脚本和例行程序,进行功能性检查。如果不能提供或复制环境和设备,SimulTrans 有时也将测试人员派往客户处。

Cobalt 的本地化质量保证 (coming soon)

原始出处: http://tb.donews.net/TrackBack.aspx?PostId=701047
页: [1]
查看完整版本: [转帖]多字节本地化软件的质量保证