mPaaS平台下的移动端自动化测试

发表于:2021-5-27 09:30

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:何泊宁    来源:51Testing软件测试网原创

  移动开发平台(Mobile PaaS,简称mPaaS)是源于支付宝App的移动开发平台,为移动开发、测试、运营及运维提供云到端的一站式解决方案,能有效降低技术门槛、减少研发成本、提升开发效率,协助企业快速搭建稳定高质量的移动App。
  目前越来越多的应用基于MPaaS平台开发,对于测试人员而言,这带来了全新的挑战。本文将聚焦于mPaaS平台下的移动端自动化测试的体验。

  一、mPaaS应用的自动化测试体验
  本次测试的软件为某款移动办公型App,它的安卓端和苹果端均基于mPaaS平台开发, H5使用了Kylin框架。主要应用了Nebula H5容器、定位、社交分享、扫码及部分UI组件。App的开发和维护周期长,需要频繁进行回归测试,而自动化测试可以大幅提升回归测试的效率,非常适合敏捷开发过程。同时,对于移动端应用测试,同样的测试用例需要在多个不同的 Android 或者 iOS 版本上执行,或者是同样的测试需要在大量不同的移动终端上执行,采用自动化测试,能极大程度节省人力、时间或硬件资源。
  本次录制的模块有五个,包含会议室预定模块(创建会议室、查询会议室、删除会议室、预定-审批通过会议室、预定-审批驳回会议室、预定-撤销会议室、修改会议室等),投票问卷模块(创建投票、投票预览、编辑投票、开启投票、结束投票、参与投票、投票结果统计审阅),社交圈模块(发表社交圈、删除已发布社交圈、社交圈点赞、社交圈取消点赞、社交圈评论、社交圈评论删除等),会议模块(创建会议、编辑会议、预览会议、会议授权、取消参会等),时光机模块(查看日程详情、更改日程、删除日程、拒绝日程等)。总共涉及苹果和安卓两套系统,脚本40余条,总脚本操作数1200余步。测试的模块选用社交圈模块。
  测试工具选择了Testin公司的TestinPro和TestinAI,两款工具采用了不同的自动化脚本录制方法,TestinPro是基于控件识别的录制,TestinAI是基于AI试别的录制。安卓端具体录制情况如下:手机型号:华为M6(TestinAI)、三星S8(TestinPro)。

  脚本名称:发布社交圈

  脚本名称:删除社交圈

  脚本名称:点赞和取消点赞社交圈

  脚本名称:社交圈评论和删除评论

  在录制这些脚本的过程中,TestinPro会经常出现录制时无法识别控件的问题,经过分析,初步判断是因为新页面出现后,旧页面并没有被dismiss掉,导致两个页面控件被叠加,上面的新页面成为了下面页面的蒙版,所以在识别控件时,可能识别了旧页面上的控件,导致录制失败。而TestinAI可以极大程度降低这一问题发生的概率,因为文字时常具有唯一性。
  同时,一些操作可以通过AI模式脚本语言简化步骤,例如界面需要滑动时,可以自行写“向左滑动,最多滑动3次”,而控件模式需要自己手动一次次划动屏幕,由于模拟器对滑动操作并不如真机敏感,导致经常出现划动失败,需要重新录制。
  综上对比可得出结论,无论在脚本编写用时和回放脚本用时上,TestinAI均全面领先,成功率和兼容性也均呈现显著优势。
  苹果端录制了一个脚本,具体结果如下:

  脚本名称:发布社交圈

  从表中可以看出,iOS在脚本的编写难度、用时和执行失败率上均高于安卓脚本, 同时在启动手机和安装应用速度上,也慢于安卓。由此可得,现如今mPaaS下的iOS自动化测试仍存在很大的性能瓶颈,TestinAI并没有解决这一问题。

  二、mPaaS应用的自动化测试分析
  作为一款纯mPaaS框架开发的App,在自动化测试上遇到了诸多挑战,TestinPro在安卓和苹果系统上均表现不佳,而TesitnAI虽然在安卓系统下表现较好,但是苹果系统下依旧表现差强人意。我认为这主要是两方面原因导致的:
  1.mPaaS平台下的应用集成了很多UI组件,像App中的定位、社交分享、扫码等功能包含的组件库众多,这对控件模式录制来说是巨大挑战,控件模式下,TestinPro需要在很短的时间内理清App的整体架构,提炼出页面相关的控件,根据用户操作,识别到对应的控件,这对于复杂结构来说很难做到百分百识别准确。同时,在多个页面叠加情况下,尽管测试人员选中了想要的控件,但由于实际排版中,该控件被其他控件遮盖,导致TestinPro无法抓取到该控件,从而录制失败。很显然,基于图像识别算法的TestinAI在面对这种复杂框架的情况下,要表现更好,其根本原因是TestinAI脱离了底层控件的限制,录制仅仅涵盖界面级。对每一个页面当成一张图片去分析,有深度学习的框架的加持,以及大量学习数据拟合的模型,识别效率和准确率产生了大幅度提高。
  2.mPaaS的iOS应用本身会存在一些缺陷。首先是UITouch捕捉失真问题:mPaaS框架创建的工程开发的手写板功能会出现明显的抖动,与原生相比,UITouch响应事件捕捉点数明显不足,线条粗细明显不一致。其次是微应用体系与H5 API配合时存在缺陷:项目中存在多个微应用时,在二级微应用内使用MPaaS提供的H5 API pop window时会退出所有微应用,且push window到第五级界面时存在明显性能瓶颈,UI渲染异常缓慢。这一现象会导致页面直接的跳转不连贯,直接影响录制脚本过程中的验证操作。

      版权声明:本文出自51Testing会员投稿,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号