• 0
  • 0
分享
  • mPaaS平台下的移动端自动化测试——软件测试圈
  • 曼倩诙谐 2021-06-21 10:27:25 字数 2213 阅读 859 收藏 0

  移动开发平台(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)。

  脚本名称:发布社交圈

1-1.png

  脚本名称:删除社交圈

1-2.png

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

1-3.png

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

1-4.png

  在录制这些脚本的过程中,TestinPro会经常出现录制时无法识别控件的问题,经过分析,初步判断是因为新页面出现后,旧页面并没有被dismiss掉,导致两个页面控件被叠加,上面的新页面成为了下面页面的蒙版,所以在识别控件时,可能识别了旧页面上的控件,导致录制失败。而TestinAI可以极大程度降低这一问题发生的概率,因为文字时常具有唯一性。

  同时,一些操作可以通过AI模式脚本语言简化步骤,例如界面需要滑动时,可以自行写“向左滑动,最多滑动3次”,而控件模式需要自己手动一次次划动屏幕,由于模拟器对滑动操作并不如真机敏感,导致经常出现划动失败,需要重新录制。

  综上对比可得出结论,无论在脚本编写用时和回放脚本用时上,TestinAI均全面领先,成功率和兼容性也均呈现显著优势。

  苹果端录制了一个脚本,具体结果如下:

  脚本名称:发布社交圈

1-5.png

  从表中可以看出,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软件测试网原创

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   我叫缺陷,从被创建至关闭,到最后做缺陷分析,这是我的完整生命周期。我的整个生命周期贯穿着整个项目的项目周期,因此,掌握我的生命周期,不止是测试人员必修的课程,也是测试人员的灵魂。  缺陷的定义  对于软件的缺陷来说,一般人都把我说是Bug,但正确的来说,应该是Defect,这两者的区别是:  Bug是编程错误的结果;  Defact 是与需求的偏离。  Defect不一定表示代码中存在Bug,它可能是尚未实现但在软件要求中定义的功能。实际上,无论是测试人员还是开发人员,还是习惯把我叫为Bug。  缺陷的属性组成  我一般由标识(ID)、标题、类型、优先等级、严重程度、状态、指派人组成,这些...
            0 0 1273
            分享
          •   免费的性能测试框架搭建课程快来领啊,成功提交问卷后还有精选好课任你挑选,数量有限,先填先得~链接:http://vote.51testing.com/  早些时候,京东家电出了一个事故。  部分用户在领取京东的无门槛优惠券之后,可以用极低的价格(几十块几块甚至0元)购买数百元的小家电,主要是烤箱及微波炉类产品。  吸引了不少羊毛党,前来薅羊毛。  传闻在极短的时间里,出现了24万笔低价订单,涉及商品金额数千万。  关于此次事故,引发了圈子的热烈探讨。  影响面无疑是巨大的,甚至有传闻说,小家电组全部开除!但其实传言难辨真假,我们作为吃瓜群众,并非内部人士,也不清楚后续的处理情况。  假如抛...
            2 4 6711
            分享
          •   两个熟悉的场景:  ·生产环境出现问题,解决问题,原因复盘、责任分配到人;  · 无休止的测试-回归-再测试-再回归测试,已经投入了很大精力,但仍对项目质量不信心;  如果自己所负责或参与的项目经常遇到上面的两种情况,不妨从项目测试流程角度,去思考原因以及破开瓶颈的方法。  测试流程拆解  需求评审  通过参与技术设计评审,可以为测试方案提供依据。例如:核心业务是否需要接口测试、新老数据兼容问题、测试场景的数据构造以及测试所需的工具等,都可以在这个阶段进行思考和产出。  另外,可以有效的评估需求影响范围和风险点,避免遗漏。  此阶段是质量的基石,通过测试左移,尽早发现需求设计缺陷...
            0 0 1114
            分享
          • WebSocket 的重要性Websocket 是一种新型的协议,它允许客户端和服务器之间建立实时的双向通信通道。相比于 HTTP 协议来说,它具有以下优点:实时性: Websocket支持服务器主动向客户端推送消息,使得客户端能够实时接收到服务器的事件和数据变化。双向性: Websocket支持全双工通信,即客户端和服务器可以同时发送和接收数据。节约资源: 相比于轮询机制,Websocket只需要建立一次连接即可实现实时通信,这样可以减少服务器的压力和网络流量。兼容性: Websocket 协议能够支持所有主流的浏览器和移动设备。Websoc...
            0 0 1851
            分享
          • 移动智能设备已成为我们日常生活的一部分,我们比以往任何时候都更加依赖它们。随着 5G 在不久的将来的出现,用户利用智能手机和移动数据提供的潜力的方式将是惊人的。越来越多的需求都会转移到移动设备上实现。拥有一个响应式网页设计,可以更快、更高效地在众多设备上运行,这是组织面临的挑战。这里重要的是通过严格的测试确保您的网站提供统一的体验。在本文中,我们将详细了解移动 Web 测试的方法、不同的测试策略以及可以减轻测试过程复杂性的工具。响应式网页设计对于许多人来说,响应式这个词并不新鲜!然而,随着我们多年来移动用户的惊人增长,响应式设计已成为任何企业的关键。它使响应式测试成为绝对必要的。响应式网页设计...
            0 0 839
            分享
      • 51testing软件测试圈微信