全球化应用程序是指在其中所有的字符串,例如消息、标签和文本都是本地化的,也就是说,翻译成这个应用程序启动或登录所在地的语言。举个例子,如果一个应用程序从日文语言或者操作系统中启动,那么所有的信息都是用日文来显示的。类似地,如果一个应用程序从法文语言或者操作系统中启动,那么所有的信息都是用法文来显示的,依次类推。“全球化”是指允许非英文字符集输入输出的应用程序。
结果是,即使在这些全球化应用程序成功自动化之后,您也可能会遇到如下这些问题:
自动化脚本 ,其记录在一个特定语言环境中,会在您尝试于不同语言环境中确认它们时发生失败。这种情况会发生是因为用于回放自动化脚本(例如自动化脚本必须操控的按钮上的标签)的对象定义从英文环境到日文环境可能是不一样的。(参见图 1。)
验证点 ,其存在于一个特定语言环境中,会在您尝试于不同语言环境中确认它们时发生失败。这种情况会发生是因为期待的或者初始的验证点的记录值与测试下的全球化应用程序展示的实际值是不相符的,因为这个应用程序是在一个不同语言环境启动的。
数据驱动的测试脚本 不能选择和扩展数据集,而依赖于测试的应用程序是从哪个语言环境中启动的。这种情况会发生是因为自动化脚本没有隐含的智能来帮助确定语言。
例如,图表 1 描述了一个在英国一个地点初始启动用来记录测试脚本的全球化应用程序。之后,当应用程序在日文环境启动时相同的脚本会被回放,但是脚本会失败,因为此测试下的应用程序的消息是用英文记录的。但是在日文环境启动相同的应用程序,消息会被翻译成等价的日本文本,并致使底层的对象属性发生变化。
图表1. 在某地记录的脚本在另外一个地方回放会失败
问题: 记录/回放模型失败
原因:测试下的应用程序是全球化的
在地点1记录(比如,英语)
在地点2回放(比如,日语)
结果: 脚本失败
原因:用于回放自动化脚本的对象定义因不同的地点而有差异。
验证点和数据驱动的测试脚本也会出现类似的问题。
全球化应用程序的自动测试是如何工作的
文章来源于领测软件测试网 https://www.ltesting.net/