Web端 - 多语言的测试经验分享

概述

 多语言系统顾名思义就是一个系统同时支持多种语言,可供各国用户正常使用的系统。

比如说哪天B站要去征服国际市场,提供给全球用户下载,那么就得需要支持中文、英语、日语、德语等不同国家的语言,这就是所谓支持多种语言。

但是现实中的多语言可能要更细致一点,不仅是文本显示需要支持多语言,而且还需要软件各个功能都可以在其他语言环境下正常使用,并且还需要符合不同国家的使用习惯,让全球用户都觉得觉得Bilibili不愧是有矿的产业, 好用的一比。哔哩哔哩 (゜-゜)つロ 干杯~

由于近期项目接触到比较多的多语言测试,于是将自己的经验梳理了一下,以供大家参考,不足之处恳请指正。

测试思路

  • 怎么进行多语言测试
  • 多语言主要对哪几个方面进行测试
  • 多语言测试中有哪些容易出错的地方
  • 怎么提高多语言测试效率

多语言怎么测

  1. 如果你非常熟悉你测的那种语言,将系统语言设置好之后,直接找到相应的功能,进行测试即可。
  2. 如果不熟悉或者看不懂要测的语言,由于我们测的是Web端,所以往往会开两个浏览器(chrome和firefox), 一个设置为要测的语言,一个设置为常用语言,两组对照着测,会比较容易定位到功能。

多语言主要对哪几个方面进行测试

     我目前接触的主要是 UI/ 翻译/功能 这三个部分进行测试。

  1. UI: 要保证界面上的文本都翻译成相应的语言,UI整体的布局和效果图保持一致(这里的槽点在于我要确定页面的文本都翻译成了我不认识的字)
  2. 翻译: 翻译据说是交给专业的团队在做,做完之后会出一张翻译的对照表,对着检查就行。有两个地方需要注意的是:首先,翻译一定要符合当地用户的使用习惯,最好是找本土的团队做。其次,不同语言翻译出来的字符长度是不一致,这种不一致非常容易导致UI出问题。
  3. 功能:在多语言切换时,需要保证在不同语言下,系统的功能都可以正常使用

多语言测试中有哪些容易出错的地方

     1.不同国家的语言代号有区别。

         每个国家使用的语言代号有差别。比如香港和我们内地,都是用中文,但是有中文简体Chinese(Simplified)和中文繁体Chinese(Hong Kong)的差别。英语里也有 English (United States)和English (United Kingdom)的区别,具体看系统怎么要求的。

     2.不同国家时区和日期显示习惯不一致。

         比如美国是PST的时区,中国用的是北京时区。时区有差值,所以应该保证同一时间的不同时区显示的数据都应该是正常的。并且每个国家显示时间的习惯也不同,比如中国以24小时制为主,美国则以12小时制度为主。(我踩过有个坑是同为英语,美国时间显示习惯是12小时制,但是英国时间显示习惯是24小时制)还有一个测试过程中需要慎重考虑的点是,本地时间和系统设置的时间之间的关联,这里以后我会在时间测试的bolg里仔细分析。

     3.不同国家货币显示习惯不一样。

         比如通用货币显示格式 1,000.00表示的1000块 ‘,’表示的千分位‘.’表示的是小数位,但是在欧洲某国‘.’表示的千分位‘,’表示的小数位(实在想不清哪个国家了,只记得遇到过记忆尤深)然后还有的国家以空格为主比如 100 000,可见不同国家货币显示的习惯不一致。

     4.过滤条件的显示问题。

         这里需要考虑一下过滤的逻辑,我们遇到过 过滤条件翻译成预期文本,但是用这个预期文本无法过滤的问题,还是按照未翻译之前的文本条件进行过滤。

怎么提高多语言测试效率(待更新)

我认为主要从两个大的方向着手,首先可以通过自动化来缩减测试时间,其次可以通过优化测试数据辅以测试策略来提升效率

1. UI自动化
(这里是计划通,毕竟我也没有机会接触到多语言自动化的机会)
如果在原有语言的基础上系统已经实现了自动化,那么再做多语言的自动化是比较快速并且时间成本的开销也是相对比较小的,因为在多语言的时候页面上元素定位是没有发生改变的,改动的是从后端接口传到前端的数据(我不太确定这个翻译是在接口之前拿到了还是接口之后再处理的,但是我觉得影响应该都不大),那么做UI自动化的时候只需要把断言依据的数据做出相应的改动

但是这种方法也存在缺陷。缺陷是总不能一种语言对应一套自动化框架吧,我觉得最好的改动就是在原有自动化框架的基础上去新增多语言的断言,而不是单独拿出来做成一套多语言的框架。
还有一个我很顾虑的地方,如果后续再增加新的语言,那是不是每次新增的时候,自动化的框架就要大改? 如果是的话那这种可预见的开销也很大。

所以我觉得比较合适的方法:转换常规语言和多语言的思路,把常规的语言看成多语言中的一种,在多语言里把常规语言的权重排在第一,其他语言根据客户的使用情况来排权重。
旧有的功能已经自动化的后续慢慢改进,融合成适应多语言的框架。
新功能稳定后自动化,不再以主要语言为目的做自动化,而以多语言做自动化目的,以主语言为基准进行融合,支持主要语言的自动化。


最后揣测一下,这个项目甲方的意图,一开始我们这个项目是日语项目,中期才改成多语言的,其实我感觉他们也是把日语当做一个进程来做的。既然日语能做进程,那主语言英语也能做进程中的一种,所以我才有如此感想。


2.优化测试数据辅以测试策略
单语言的测试数据一般是指针对一种语言,但是既然系统支持多语言的话,语言里对应的字符看做符号,那按照理论来说系统应该是支持所有符号的。
基于这个理论,其实每次保证测试数据里涵盖了多种语言,在一种语言中测试,测试后发现这些数据不会对功能产生影响的话,那就能证明功能是支持这些特殊字符的,既然功能都支持了这些字符,那么就算切换成其他语言,也不会出现数据导致的功能问题。所以手动测试我认为没有必要每种语言都单独测一次功能,单测会造成大量冗余。
所以我觉得测试策略可以由都检查调整为:
主语言全测,其他权重较次的语言只需要走主流程,但是所有语言的UI和界面跳转需要检查一遍,过滤这种比较敏感的功能需要全部覆盖。

 参考Blog: https://www.cnblogs.com/mymelon/p/9025287.html

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
WebmengWeb企业管理系统也简称“WebmengWeb”,是由创梦公司历时3年开发一款以电脑版+微信站+APP+手机版+PAD网站的多语言网站全方组合的营销型企业网站管理系统。WebmengWeb以PHP5+MYSQL做为技术基础进行开发,采用OOP(面向对象)方式进行基础运行框架搭建。模块化开发方式做为功能开发形式,框架易于功能扩展,代码维护,优秀的二次开发能力,可满足所有网站的应用需求。9年开发经验的优秀团队,在掌握了丰富的(网站)Web开发经验和网站类产品运营经验的同时,勇于创新追求完美的设计理念,为全球多达10万网站提供助力,并被更多的政府机构、教育机构、事业单位、商业企业、个人站长所认可。 全面支持环境:window iis 10 / linux apache 2.4 WebmengWeb在保留以前版的特点的同时,对新版本作出重大的创新,全新的WebmengWeb系统携带优秀亮点功能创梦科技研发的“响应式模块”与“多语言模块”,可搭配多套不同风格模板,使网站改版更加轻松,WebmengWeb将在后期不断的技术创新与提高服务品质,我们期待服务更多的世界各地的用户。 2017年Webmeng经过4次重构底层,最终我们确定启用 WebmengX PHP开发框架为底层核心构架。 新核心定位大型全球站群系统设计,新核心采用创梦科技旗下Webmeng团队开发的 WebmengX 框架,对原代码进行重构,在继承了原核心的强大功能基础上更增加了较多的新功能,多子系统插件式建站,如企业网站系统、门户系统、汽车门户系统、网店系统等均共享同一核心源码,不同的子系统采用独立数据库,实现子系统之间既可相互关联,又能相互独立!统一后台,通过后台Webmeng模块将不同权限会员后台展示不同管理项目。 对于网站运营者来说,最关心的就是能有什么功能了!我们就来先睹为快吧!!! 系统要求: - 主流WEB服务器(如Apache、Nginx、IIS等) - PHP 5.5+ - MySQL 5.0+ 1.运行环境:Apache+PHP+MySql+PhpMyadmin,本机测试建议安装集成环境; 2.前架构:HTML+CSS+DIV+JQUERY; 3.程序架构:PHP+Mysql; 4.默认后台地址:http://您的网址/webmengcp/login 注意事项: 1、WebmengWeb扶持型软件只适合试用、本地测试及学习交流使用,不得用于商业用途,如需建立商业站点进行外网投放,请必须使用购买授权。 Webmeng Web常见问题: 1、为什么apache不能启动? 答:请检查您当前服务器有无软件占用80口,如有请停止相关软件,如IIS、讯雷、PPS视频软件等.... 2、为什么不能启动mysql数据库? 答:请检查当前服务器是否已经安装mysql数据库,如有,请停止相关服务。 责任与权益声明: 任何系统都有不完美之处,我们会努力把这套系统做到最好,所以希望大家多多提意见,我们会虚心接受,努力改善。如果您觉得这个系统不适合您,请删除全部代码即可,我们对于占用了您宝贵的时间万分抱歉,请您多多包含,不必在互联网上发布攻击性或贬低性的语言,我们期待与您携手共创互联网时代新的的辉煌! 中文企业网站管理系统(WebmengWeb) v10.2.8更新日志 1、增加微站模块,可以绑定微信公众号 2、增加知名社交平台一键分享功能。 3、增加系统在线备份功能,随时备份数据和程序
Python是一种高级、通用、解释型的编程语言,由Guido van Rossum于1989年发起,1991年正式发布。Python以简洁而清晰的语法著称,强调代码的可读性和易于维护。以下是Python的一些主要特点和优势: 易学易用: Python的语法设计简单直观,更接近自然语言,使初学者更容易上手。这种易学易用的特性促使了Python在教育领域和初学者中的广泛应用。 高级语言: Python是一种高级编程语言,提供了自动内存管理(垃圾回收)等功能,减轻了程序员的负担,同时具有动态类型和面向对象的特性。 跨平台性: Python具有很好的跨平台性,可以在多个操作系统上运行,包括Windows、Linux、macOS等,使得开发的代码可以轻松迁移。 丰富的标准库: Python内置了大量的模块和库,涵盖了文件操作、网络编程、数据库访问等各个方面。这些标准库使得开发者能够快速构建功能丰富的应用程序。 开源: Python是开源的,任何人都可以免费使用并查看源代码。这种开放性促进了Python社区的发展,使得有大量的第三方库和框架可供使用。 强大的社区支持: Python拥有庞大而活跃的开发社区,这使得开发者可以轻松获取帮助、分享经验,并参与到Python的发展中。 适用于多个领域: Python在各种领域都有广泛的应用,包括Web开发、数据科学、人工智能、自动化测试、网络编程等。特别是在数据科学和人工智能领域,Python成为了主流的编程语言之一。 支持面向对象编程: Python支持面向对象编程,允许开发者使用类和对象的概念,提高了代码的重用性和可维护性。
Web开发资源是指用于帮助开发人员学习和实践网页开发的各种资源和工具。以下是一些常用的Web开发资源: 1. 在线课程和教程:有许多网站提供免费或付费的Web开发课程和教程,如w3schools、Codecademy和Udemy。这些资源提供了从入门到高级水平的各种主题和编程语言的学习材料。 2. 开发者社区:参与到开发者社区中可以与其他开发人员交流、分享经验和获得帮助。例如,在Stack Overflow、GitHub和Reddit等网站上,你可以提出问题并得到答案。 3. 开发工具:一些流行的开发工具可帮助开发人员更高效地编写和测试代码。例如,文本编辑器如Sublime Text、Atom和Visual Studio Code等,集成开发环境如IntelliJ IDEA和PyCharm等,以及调试工具如Chrome开发者工具等。 4. 模板和框架:使用现有的模板和框架可以加速网页开发过程。一些常用的前框架包括Bootstrap、React和Angular,而后框架如Django和Ruby on Rails也能提高开发效率。 5. 开发文档和API 参考手册:开发文档和API参考手册提供了有关所用编程语言和框架的详细信息。通过查阅这些文档,开发人员可以了解特定函数、类和方法的使用方式。 6. 博客和文章:有很多个人博客和技术专栏提供有关Web开发的最新趋势、最佳实践和教程。阅读这些博客和文章可以帮助开发人员保持学习态度和了解最新的开发技术。 总之,Web开发资源是帮助开发人员学习和实践网页开发的各种资源和工具。通过充分利用这些资源,开发人员可以提高自己的技能和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值