百度智能小程序自动化测试技术实践和应用.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《百度智能小程序自动化测试技术实践和应用.pptx》由用户(无敌的果实)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 百度 智能 程序 自动化 测试 技术 实践 应用
- 资源描述:
-
1、百度小程序自动化测试技术的应用和实践 业务背景介绍 整体架构设计 小程序测试引擎 真机录制回放 云真机测试服务 生态质量管控体系 展望&总结目录百度小程序自动化测试技术 - 背景2018 年业界各类开放生态测试技术状况2018 年开源开放的百度小程序生态体系带来的业务挑战:开发生态Android测试引擎n 百度小程序需支持运行在 30+ 联盟伙伴的 APP 上n 核心框架需进行每周多次的迅速迭代,以追齐竞品体验n 2019 年底入驻小程序数量预计破 30w,线上生态压力巨大Uiautomator2、Appium、 MTC、Wetest、InstrumentationCTSAirtestAirt
2、est、TestinUIAutomation/UITest、 MTC、Wetest、iOSWebUI AccessibilityWebDriver-Appium、AirtestSeleniumAirtest、TestinAirtest、Testinminiprogram-automator微信小程序云测试微信小程序FAutoTest对生态质量保障带来的挑战:如何在有限的资源预算条件下,支付宝小程序云测试支付宝小程序百度小程序-SoloPi无-有效保障开源开放的小程序生态的整体质量?无无无迫在眉睫打造高效稳定的百度小程序自动化测试技术体系,来支撑各项业务挑战,保障生态健康发展百度小程序自动化测试
3、技术 整体架构设计业务挑战联盟 APP 准入开发者质效赋能支撑业务线上小程序质量保障支撑业务支撑业务CTS支撑业务真机巡检真机录制回放(LazyUITest)定制方案云化服务云测试机器审核云真机集群测试服务百度小程序自动化测试引擎(betterAutoTest)奠基能力小程序自动化测试技术体系架构图架构设计的基本思路n 奠基:首先,研发自动化测试引擎,让百度小程序拥有能被自动化操控的能力n 云化:接着,建设专用型云端真机集群测试服务,开放统一 API 提供能力n 定制:最后,基于统一服务,针对 4 项业务挑战,制定对应性解决方案百度小程序自动化测试引擎 调研&难点分析百度小程序内部机理【可用&
4、有效性分析】测试引擎需支持 30+ 联盟 APP 运行n 行业:Testin 或者腾讯的 FAutoTest 都采用了 基于 ChromeDebugging Protocol 封装 作为解决方案n 百度小程序基于 Android/iOS 的 WebView 而建n 由 APP 集成的 swan-sdk 及分版本动态下发的 swanjs 组成 nn 采用一主多从的多进程架构问题:我们无法要求联盟伙伴在 APP 中开启 chrome debuggingprotocol,因此无法采用类似方案及 Appium、Macaca 等工具【兼容&稳定性分析】测试引擎需多真机、多 APP 兼容性测试业界相关测试
5、工具调研n 行业:在原生操控能力限制的情况下,会采用 Airtest、SoloPi 等 基于图像识别 的解决方案n 问题:图像类解决方案存在多机兼容性差,执行效率低等问题测试工具来源Appium社区Airtest网易Macaca阿里FAutoTest腾讯微信小程序&WebView(仅支持微信)iOS/Android/We iOS/Android/H5/ iOS/Android/We支持的端bView/H5小程序/WebViewbView/H5【易维护&可持续性分析】小程序应作为被测试的最小主体支持webview的前提n 行业:以 页面维度组织和编写用例n 问题:页面维度的用例组织和编写,不易支
6、撑跨小程序等测试场景,相对百度小程序一主多从的架构模式,恍如噩梦APP 需开启 cdp无APP 需开启 cdpAPP 为微信用例编写部署容易用例兼容脚本一般兼容脚本+录制容易脚本/录制一般脚本一般兼容不兼容兼容百度小程序自动化测试引擎 方案&架构图WebSocketn 提供标准化 API 支持基于Bat DriverClientNode.js 的用例脚本编写双向通信解决方案Bat Agentn 集成 ADB、WDA 等端控能力,统一通信,以小程序维度组织指令运行WebSocketServern 采用 selenium 1.0 扩展加载思路透出自动化能力ADB小程序管理batprotocolWD
7、A设备管理双向通信n 采用三层双向通信架构,支持双端能力、录制回放等复杂场景Bat Enginen 经由扩展加载,将渲染页WebSocketClientEngineMaster.jsEngineSlave.js各页面操作面操作能力经主控进程以双向通信方式透出唯一代理小程序扩展加载小程序运行时百度小程序自动化测试引擎betterAutoTestn 通过 debug 小程序提供调试模式开启开关n 开关开启,弹框要求授权,并以 extension 方式加载 bat-enginemaster控制所有页面逻辑slavslavslave对应每一个渲染页面联盟宿主 APP百度小程序自动化测试引擎 效果&问题
8、问题效果以脚本方式编写 UI 类测试用例的一个通病是:编写耗时太长 支持 4 端 12 个联盟宿主 APP,用例一处编写到处运行 自动化测试能力覆盖度达 70%,单指令耗时 100ms 经 200w 次云端任务执行统计,稳定性 99.9%(单步骤编写平均需 40s 上下)问题 4 步即可完成环境准备工作,支持多真机多小程序同步操控产品迭代,UI 随之频繁变更,Tips以脚本方式做 UI 自动化测试,一直以来都是一个噩梦n UI 类自动化测试的核心有三点:稳定性、兼容性、易用性n 测试引擎解决了稳定性、兼容性问题,但没有解决易用性问题解法基于真机操作的测试用例自动录制&多机回放真机录制回放 调研
9、&选型录制回放实现的常用手段录制回放的产品形式【基于原生系统工具】n 纯 IDE 录制回放:基于模拟器或高速截屏以支持在 PC 端 IDE进行用例的录制回放。案例:Airtestn 比如 Android 端可基于 AccessbilityService 获取控件树及用户操作事件等,经转换可获取对应控件信息n 而 H5 在 APP 支持 cdp 情况下,可通过代码注入辅助录制优势:稳定,准确劣势:原生系统若无有效工具可用,便无法采用此手段【基于图像识别】n 纯真机录制回放:通过在真机安装特制的 APP,监听用户事n 通过模式或者特征匹配算法,进行用例录制回放件,捕获控件信息,以支持纯真机的录制回
10、放。案例:SoloPi优势:非侵入式,适应性强劣势:受限图像识别技术在多分辨率屏下的准确度,Feed/图片等内容多变,稳定/兼容性不大好真机录制回放 方案【产品形式】采用 PC 端 IDE + 真机录制形式n 采用 IDE 方式,用例更便于维护&调试n 采用真机录制方式,录制过程更加流畅迅速(问题:需在 PC、真机间切换操作,体验略显不佳)录制回放 IDE用例编辑器用例管理设备管理调试&回放 数据 Mock云端交互设备感知多机群控用例解析单步调试/回放数据拦截用例云传云端回放事件捕获用例录制JSON 格式统一转储存储&MockBat DriverBat Agent【录制手段】原生工具 + 图像
展开阅读全文