随着移动互联网的发展,手机银行凭借低成本、操做简单、不受时间空间约束等优点,正逐步替代传统的网银交易方式。愈来愈多的银行开始了“业务移动化”转型之路,“手机APP”已经成为企业价值传递和关系维护的关键纽带,客户争夺的主战场已转向移动端,事实上手机银行的用户比例早已超越了网银用户。html
可是伴随着银行APP承载的业务需求日益增多、版本迭代速度不断加快,以“手工测试”为基础的测试体系,已很难知足业务对测试效率和质量的要求。APP 测试急需完成从“纯人工”到“人机协同”的范式转换。安全
银行类APP所承载的业务,都是围绕“钱”展开,好比转帐、理财、支付等核心功能,都不开“钱”。而在实际研发过程当中,在肯定的发版时间约束下,版本实际开发完成后,每每留给测试团队的时间很短,加上使用人工测试,功能覆盖面难以保障,且人工测试效率低下,致使版本发布后问题频出。Top 10 金融APP测试经过率仅52%,无响应、白屏、显示异常现象频出,致使用户体验差。服务器
总结来讲,银行在APP测试中,主要面临两大挑战:架构
(1)功能测试场景:脚本自动化难、脚本维护复用难、参数管理难框架
(2)兼容性测试场景:没有足够多的机型覆盖学习
银行业务转型到手机APP后,APP 成为企业“连接”用户的主要载体,原有PC承载的业务,都须要在短期内迁移到APP,对研发和测试资源带来很大的压力。同时,市场快速变化,存量业务调整和新业务创新探索,也须要保障好质量。为了快速知足业务诉求,将需求拆分为多个版本,快速发版,已经成为企业的刚需。一个月发一次版本,甚至几个月才发一次版本,已经没法跟上市场的节奏。测试
传统模式下,APP上线前主要依托于测试工程师规划、设计测试用例,而后手动完成测试。可是,银行业务,一般都是跟“钱”相关,对质量要求很高,业务须要更全面的覆盖。阿里云
银行类APP,每次须要投入几十个测试人员来进行测试验证。一些银行,在引入阿里云 EMAS 自动化测试平台之前,用例自动化覆盖率只有10%左右,甚至彻底没有自动化,主要依靠人工的方式进行测试,用例多,测试周期长,发版周期也直接受到影响。spa
银行业务链路一般都很长,不是一两步就能完成,并且实际业务流程中,涉及到的测试参数多达几百个。另外,传统接口测试没法模拟真实场景,致使测试结果和实际状况有较大误差,上线后出问题也是情理之中的事。设计
实际研发过程当中,测试工程师所测试的版本并非固定不变的,尤为是进入到发版阶段后,几小时就有一个新版本。面对这种状况,测试工程师测试重点保障核心业务功能,没法保障总体用例覆盖率,这就给版本发布埋下了隐患,致使版本上线后出现问题。
传统手工测试方式,主要依靠我的的主观能动性和过往的经验积累,实际测试过程当中,一些成功的测试用例场景、测试方法缺少沉淀,难以完成从“我的能力”到“组织能力”的升华,进而没法完成组织效能的跃升。
国内手机厂商,通常每一年都有两次新品发布会,即春季和秋季发布会,每一年累计有上百款机型发布,几年下来,累计的主要机型有上千款。以一个百万月活的APP为例,iOS 和 Android 两个平台一块儿,一般须要覆盖Top 150 款以上的机型,才能覆盖自身80%以上的用户,而若是想要确保覆盖95%以上的用户,则一般至少须要覆盖Top 500 款以上的机型。
并且,不一样的机型、不一样的分辨率、不一样的系统版本,也会引起更多的兼容性风险。这也是致使金融类Top 10 APP 总体机型经过率不足50%的重要缘由。
做为银行,不可能购买全量机型,并常常更新,一般是购买主流旗舰机型,大概在50款之内。这样的机型覆盖度,能够规避50%左右的用户兼容性风险,但相对高质量的 APP 还存在很大的差距。
阿里云 EMAS 移动测试平台,针对银行的「功能」和「兼容」两种场景,都有成熟的解决方案。
阿里云 EMAS 移动测试平台提供私有部署输出服务,主要解决银行功能测试场景的诉求。私有部署不只知足银行安全、政策合规的要求,并且,独享的自动化测试平台,还能够基于OpenAPI 联动 DevOps等其它系统平台。
【图1】EMAS 移动测试系统架构图
【图2】EMAS 移动测试平台,用例库立体结构
功能测试的重点在于用例库,而用例库的核心在于以下4点:
【用例设计】
作事以前,先规划。用例设计就是进行测试以前的总体规划,会涉及到不一样的项目组,不一样的业务线。EMAS 测试平台提供了“项目组”的概念,能够有效解决多项目组协同的问题。同时,用例设计落到具体的业务功能上,就要求测试人员在进行总体“用例脚本化”以前,从更高的层面设计总体用例结构,明确规范。阿里云 EMAS 平台能够输出对应方法论,指导具体实践。
【用例脚本化】
脚本化即程序化。EMAS 移动测试平台,提供了在线录制脚本的能力,能够不用学习 Appium 框架、Python 或 Java语言,就能够完成基本用例的程序化,极大下降上手成本。同时,因为是基于开源的测试自动化框架 Appium 做为基础升级改造而成,可用于原生,混合和移动Web应用程序测试,兼容性好。
【图3】在线录制脚本-左侧是APP页面,右侧是录制的步骤
【图4】录制完成后,能够录制回放步骤,左侧手机能够看到实时效果
自身业务经常使用能力,也能够本身封装为固定步骤,变成一个菜单,须要的时候,直接点击生成脚本。
【图5】经常使用步骤菜单
【参数管理】
银行业务,因为参数有几百个之多。EMAS 移动测试平台在数据管理上,主要由两个大的突破:
(1)在参数传递上,支持按变量传递,也支持直接传固定参数值;
(2)为了解决多数据管理复用问题,提供了三层数据管理能力,即:
【脚本的组合复用】
为了不一样的功能,重复录制成多份脚本致使的资源和人力的浪费,平台提供了用例的高可复用能力。
例如,登陆功能,录制完成一份脚本后,能够做为单步骤,插入到其它业务脚本流程里,极大提高复用率。同时,因为能够控制传递的参数,能够在正常和非正常的测试用例中复用,进一步扩大脚本的复用场景。
【图6】“登陆”脚本,能够被复用两次。若是业务功能不变,能够一直复用,跟其余脚本组合,覆盖更多场景。
银行业务里面,还有不少特殊场景,好比随机密码键盘、验证码处理、还有一些文字的识别、上传身份证处理等
【图7】随机密码键盘
针对这些特殊场景,阿里云也提供对应的解决方案,保障脚本自动化的时候,不被打断。
为了确保平台能发挥出最大的效能,基于阿里多年的经验积累,输出EMAS 测试平台最佳实践方法论。
【图8】“平台能力”+“人工”的最佳实践,提高效能
私有部署的 EMAS 移动测试平台,侧重在功能场景的覆盖,可是因为机型有限,也不太可能同时购买几百款机型。为了解决机型覆盖兼容的问题,阿里云 EMAS 提供了一站式48小时的专家测试服务,能够覆盖安卓Top 600款机型,iOS top 70款项机型。
【图9】48小时一站式专家测试服务
银行类APP,在版本快速迭代中,面临功能和兼容两个维度的挑战,阿里云 EMAS 提供了两个场景的解决方案
(1)功能覆盖场景:阿里云 EMAS 平台能够提供在线录制、用例管理、参数管理等能力,下降用例脚本化和维护成本;
(2)兼容覆盖场景:阿里云 EMAS 提供一站式专家测试服务,覆盖650款以上主流机型,解决APP的兼容问题。
(1)EMAS 移动测试官网:https://www.aliyun.com/product/mqc
(2)EMAS 移动测试业务说明地址:https://help.aliyun.com/document_detail/93530.html
(3)EMAS 移动测试,联系咱们:https://help.aliyun.com/knowledge_detail/101478.html
(4)EMAS 专家测试服务:https://www.aliyun.com/service/mobiletesting
(5)EMAS 专有云服务介绍:https://help.aliyun.com/document_detail/67127.html
(6)EMAS 专家测试服务价格说明:https://help.aliyun.com/document_detail/93617.html
钉钉搜索35248489,加入阿里云云原生应用研发平台EMAS技术交流群,探讨最新最热门的应用研发技术和实践。(或钉钉扫码加入)