最近在做Android APP多语言测试,遇到以下测试场景:
场景一:当Mobile系统语言设定为英语时,APP界面应显示为英语。输入支持英语、法语、阿拉伯语等多种语言,输入内容应正确存储到数据库;
场景二:当Mobile系统语言设定为法语、阿拉伯语、中文等,APP界面应显示为英语。输入支持英语、法语、阿拉伯语等多种语言,输入内容应正确存储到数据库。
目前,很多APP都会在多个国家或地区发布,因此要支持多语言和多地区设置,也就是是所谓的国际化。譬如WeChat,APP语言会随着系统语言的设定而适配,输入内容则不受系统语言的限制。
开篇提到的测试场景只是应业务需求,实现伪国际化,保证APP在多个国家均可以英文模式使用,不提供适配的语言包。那么,真正的国际化,要考虑多语言多地区的设置,今天就来梳理一下APP支持多语言和多地区的测试方法。
所谓多语言,是指APP在多个使用不同语言的国家发布,则必须支持多种语言,如APP同时在中国、日本、美国发布,则必须支持中文、英文和日文。
而所谓多地区,则是只同一语言不同地区之间的差异。比如中文分为简体中文和繁体中文,而英语则要考虑美国、英国、澳大利亚、加拿大等英语国家的差异。
Case 1:APP只支持本地化,不支持多语言和地区设置,要考虑哪些方面的影响?
(1). 输入法:当APP为英语时,设备语言设定为非英语,输入法随系统设定而改变,输入法会不会影响用户在输入框中的输入?
(2). APP界面:当APP为英语时,设备语言设定为非英语,APP界面显示会不会出错?
比如,英文是“从左往右”写,而阿拉伯文是“从右往左”写。那么只支持英文的APP就需要注意,当系统切换为阿拉伯文时,APP界面是否会左右颠倒或出错?
(3). 时间和日期格式:不同国家和地区对于日期的显示习惯是不一样的。因此用户在选择不同语言和地区时,操作系统会自动为其设定相应的日期和时间格式。如何用户在设备上选择的日期格式和APP在涉及编码时的格式不一致,就会导致APP无法显示日期和时间,甚至使APP崩溃。
(4). 文字显示格式:不同语言对于文字的显示有不同的处理方法,比如换行处理,对于中文来说,每个字都是独立的,随时可以换行。而如果把英文单词按照汉字一样处理,则认为每个字母是独立的,这样会导致单词换行显示且没有连字符。因此在测试APP的多语言显示时,要查看不同语言的显示格式是否正确。
(5). 设备多语言切换:当设备进行多种语言切换时,APP新老数据是否依然能够正常显示。
Case 2:APP支持全球化,支持多语言和地区设置,要考虑哪些方面的影响?
一般来讲,如果APP支持全球化,则对不同的语言和地区会有对应的APP版本和语言包。测试人员只需要关注基本功能性和显示格式方面的测试:
(1). 功能性测试:任何语言版本下,APP功能会否都能正常使用。
(2). 界面显示格式:任何语言版本下,界面文字是否显示正确?文字格式是否适配对应语言规则?时间与日期是否对应该语言时间与日期格式?
(3). 键盘输入:是否支持多语言键盘输入?
(4). 复制粘贴:是否支持多语言的复制粘贴?
(5). 多语言切换:进行多语言切换,新老数据是否都能正常显示?