国际化软件测试包括软件国际化测试和软件本地化能力测试。软件的国际化测试是重要的测试阶段,必须在本地化测试之前进行测试。国际化软件的测试目的是判断软件的国际化设计程度,确定软件是否支持可能的区域,是否可以容易的本地化。
一、国际化软件测试的重要性
软件项目团队的所有成员都应该认识并且高度重视国际化测试的重要性。
首先,任何不良的国际化设计的软件错误,将存在于所有本地化的语言版本,都需要修改源语言程序的代码才能修复该类错误,这将增加软件的本地化成本。
其次,良好国际化设计的软件将需要最小程度的本地化测试。因为良好的区域语言支持已经集成在软件的国际化设计中,需要翻译的资源已经从程序代码中分离出来,可以很容易的翻译资源文件中需要本地化的内容,而且不会破坏程序的功能。
二、国际化软件测试的原则
为了提高国际化测试的质量,需要遵循下面的原则:
● 一旦程序的代码足够稳定,尽早进行测试。
● 按照组件和功能特征的优先级从高到低的顺序进行测试
● 重点放在处理多语言字符串的直接或间接的输入/输出(I/O)
● 国际化功能测试与本地化能力测试并行进行。
● 使用伪本地化和伪镜像技术进行本地化能力测试。
三、软件国际化测试的方法
软件的国际化测试主要测试软件的国际化功能特征,需要测试国际化软件的通用功能、文本处理功能和区域支持功能。
采用下面的方法进行国际化测试:
1、测试通用功能
● 在各种语言环境下安装应用程序。
● 各种系统和用户区域设置的通用功能。
● 通过各种区域设置卸载应用程序。
2、测试文本处理功能
● 使用不同区域的输入法编辑器交互式文本输入。
● 多语言文本的剪贴板操作。
● 用户界面的文本处理。
● 双字节字符集的输入和输出。
● 多字节字符集文本的缓冲区大小的处理。
3、测试区域特征功能
● 遵循区域标准,正确输入、存储并检索区域特定数据。
● 验证带有数据分割符的输入时间、日期和数值。
● 纸张和信封的大小和打印的正确性。
● 区域有关的度量衡的处理功能。
四、软件本地化能力测试的方法
本地化能力测试的目的是验证被测软件的用户界面不用修改代码,就能够容易地被翻译成任何目标语言。
为了快速有效的测试软件的本地化能力,常用以下的测试方法:
1、测试伪本地化版本
伪本地化版本测试可以不用实际本地化,就能够发现在本地化过程中的用户界面的翻译错误。镜像技术也是伪本地化版本测试的常用技术,发现一些本地化过程中的控件布局方面的错误。
2、检查程序的代码
在检查程序的代码时,确保代码满足下列要求:
● 所有资源都独立于代码,并且以标准的资源格式编写。
● 不用指针算法来计算字符串长度、访问字符串元素。
● 不是通过剥离或串联,在运行时构建字符串。
● 没有假设字符串缓冲区的固定长度。
● 不在图标和位图内包含需要本地化的文本。
● 不存在对驱动器和文件名或者注册键的假设。
3、检查用户界面和文档
确保用户界面和文档中所用的术语清晰、一致、明确。当用户界面和文档提到相同的特性,是用的术语不一致,或者当文档使用了太多的技术行话时,会使本地化过程增减很大难度。如果本地化能力依赖于伪本地化,更应该注重检查文档的内容。
4、选择实际的本地化版本进行测试
虽然针对伪本地化版本的测试能够发现很多本地化能力方面的问题,但是仍然不能代替对实际的本地化版本进行本地化能力的测试。在选择合适的本地化版本时,通常考虑以下方面:
● 选择熟悉的可以迅速创建和测试的本地化语言版本。
● 选择特别容易暴露本地化问题的语言版本。
● 选择非常重要的目标市场的语言版本。