3 百度 AI在小程序生态质量保障方向的落地实践 许喆俊

  • 32 浏览

阿木的花园

2020/11/30 发布于 编程 分类

测试 

文字内容
2. AI技术在小程序生态质量保障方向的 落地实践 许喆俊
3. 自我介绍 百度资深测试开发工程师 小程序生态质量保障体系的项目落地 部分核心算法的研究与开发
4. 百度小程序生态质量保障体系建设背景 小程序业务特点 数量多 宿主多 分发场景多 QA扮演角色 对内 n 在快速迭代的节奏下,保障小程序开源框架的质量 n 内部业务线的自研小程序进行智能交付能力建设 对外 n 保障线上小程序整体质量,降低线上红线问题 n 参与小程序权益等级建设,为小程序分发助力 百度小程序生态质量保障体系全景图 整体目标 目标拆解 支撑业务 保障百度小程序整体生态质量 开源联盟宿主准入 开发者质效赋能 支撑 支撑 CTS 编译打包 录制回放 性能测试 调起测试 指标监控 线上小程序质量保障 支撑 机器审核 真机巡检 质量分级 百度小程序测试中台 能力建设 小程序自动操控能力 小程序遍历能力 小程序异常检测能力 云真机集群
5. 百度小程序线上质量保障体系 n 目的 挖掘线上全量小程序的红线问题,保障线上生态质量和用户体验 n 对象 线上全量小程序 n 涉及流程 开发 分发 上线 提审 n 人工方案 开发者提审/人工抽检 手动操作 进行处理 人工判断 随着数量增长和迭代周期加快 n 自动化方案 自动调起运行 全量小程序 具 体 落 地 提审 实时信息采集 全量小程序 智能检测 真机调起 模型遍历 按权重分流 巡检流量发起 进行处理 人工复核 页面异常检测 红线 功能 人工复验 处理干预 自动化处理 体验 web化采集 n 需要能力 百度小程序自动化遍历能力 页面异常检测能力 真机集群
6. 百度小程序线上质量保障体系——技术能力建设目录 百度小程序自动化遍历能力 页面异常检测能力 真机集群
7. 百度小程序线上质量保障体系——技术能力建设目录 百度小程序自动化遍历能力 页面异常检测能力 真机集群
8. 自动化遍历能力的基础——百度小程序自动化测试引擎 n 建设目的 提供小程序自动控制能力,采集小程序运行时信息 n 百度小程序内部机理 l 百度小程序基于 Android/iOS 的 WebView 而建 l 由 APP 集成的 swan-sdk 及分版本动态下发的 swanjs 组成 l 采用一主多从的多进程架构 百度小程序自动化测试引擎 betterAutoTest
9. 百度小程序智能遍历能力 n 建设背景 70%问题非首页 首页单屏 首页多屏 定向页多屏 业务深入 多页多屏 易想到 APP自动化测试技术 n 常见方案 monkey类随机遍历 基于历史数据的用户行为预测 基于目标识别的控件识别遍历 n 问题表现 第一阶段 快捷落地:monkey类随机遍历 n 简介 随机点击页面可点击页面元素,进行深度或者广度优先遍历 n 优势 简单高效易实现;业界应用广泛; n 具体方案 通过测试引擎,获取小程序运行时dom 解析dom,获取含有点击属性的控件 需要设备增多 发现问题增加不多 巡检周期增长 发现问题准确率下降 n 初步问题分析 遇到 问题 页面跳转率低,无效点击多 线上环境复杂,外部开发者不可控: • 控件包含点击属性,属性对应的点击事件为空 • 控件存在互相覆盖问题,视觉中心和控件中心 不一致,控件中心可能被不可点击元素覆盖 模拟点击控件,进行深层遍历 • h5嵌套页面无法获取dom树
10. 百度小程序遍历能力 第二阶段 规避dom带来的问题: 基于历史数据的用户行为预测 n 优势 基于页面截图,避免不规范开发带来的干扰 n 具体方案 历史行为数据采集 搭建神经网络,进行模型训练 n 上线效果 页面跳转率&有效点击率提升 未解决 预测可点击区域 进行遍历 需要设备增多 发现问题增加不多 巡检周期增长 发现问题准确率下降 ? n 进一步分析 小程序 巡检 传统app 自动化测试 区别 传统app自动化测试 小程序巡检 数量 app数量有限,一次执行1个或者几个 线上小程序数量较大,需要全量不间断轮询调起 执行时间 单个APP可以较长时间执行,1h+都可以接受 因为数量和时效性问题,每个小程序遍历时长有限 检测对象 内部开发,UI风格相对统一,相对可控 线上场景相对复杂,不同开发者风格差异较大 遍历目标 覆盖尽可能多的场景和页面 审核人力有限,重点关注重点控件、主要场景
11. 百度小程序遍历能力的建设历程 n 解决思路 深入分析业务 审核运营同学, 究竟关注什么? 全量小程序 重点功能/控件识别监控 重点/内部小程序 录制case,巡检回放 第三阶段 从实际业务出发: 基于目标识别的控件识别遍历 n 实践步骤 step 1 – 重点控件/功能选择 线上红线问题标准 step 2 - 基于图像的页面结构树逆向生成 人是如何判断 一个区域是可 以点击的? 位置、 文案、 页面结构、 区域特征、 历史经验、 …… 页面结构树 + 审核运营人工驳回原因数据 需要检测/操作的高优控件
12. 百度小程序遍历能力的建设历程 step 2 - 基于图像的页面结构树逆向生成 step 2.1 - 图像分割 step 2.2.1 - OCR识别 step 2.2.2 – 通用图标识别 step 2.2.3 – 图片区域识别
13. 百度小程序遍历能力的建设历程 step 2 - 基于图像的页面结构树逆向生成 step 2.3 – 元素聚合 step 2.4 –页面区块划分 step 2.5 –页面结构树生成
14. 百度小程序遍历能力的建设历程 step3 - 基于页面结构树的重点控件识别 利用区域内元素种类分布和元素间相对位置关系 利用元素分布特征 利用位置信息 利用OCR+元素特征
15. 百度小程序遍历能力的建设历程 step 4 – 在基于页面结构树控件识别之后的深度学习 n 原因 n 常用目标检测算法比对 1. 页面结构树能力在 优势 非纯色背景图片下的 R-CNN 准确率比传统检测提高 局限性 SSD 检测速度很快 2. 自动识别标注样本 对于较大的对象准确率比RCNN和yolo高 +人工标注样本,对 YOLO V3 检测物体非常快; 原有方案进行补充召 避免背景错误; 回 V3解决小目标问题 step 5 – 扩展 n 技术实现 n 实践效果 劣势 训练空间和时间消耗大; 目标检测速度较慢 对于相对较小的对象准确率 相对要低 对小目标和密集型目标检测 的效果差 例: 单控件检测 场景检测 • 是否包含某类功能场景 • 该场景是否能够顺利进行 是否包含登录功能 是否调起登录组件 登录功能是否正常
16. 百度小程序遍历能力的建设历程 step 6 – 落地 step N - 未来展望与规划 一条常规遍历路径 + UI控件识别能力 + 语义理解 + 聚类/分类 = 场景化模型 点击坐标A 点击坐标B 点击坐标C 金刚位控件 列表类控件 按钮类控件 【资讯】金刚位 文章标题类 点赞类控件 文章阅读类场景case模型 • 已有测试用例自动归类 • 深/广度遍历剪枝 • 场景化case自动生成 ……
17. 百度小程序线上质量保障体系——技术能力建设目录 百度小程序自动化遍历能力 页面异常检测能力 真机集群
18. 百度小程序页面异常检测能力建设 n 建设背景 辅助或者代替人工,自动化的识别和检测遍历采集到的页面中的红线问题、异常问题以及体验问题 n 检测对象 页面截图 页面文本 运行时dom 自然语言处理 源码检测 n 检测技术 计算机视觉 n 建设方式 独立自建 技术共建 直接使用内部第三方 小程序源码
19. 百度小程序页面异常检测典型能力介绍——截图比对 n 场景 录制回放结果校验;历史采集结果效果比对 n 问题 l 多设备相似性度量是自动化测试最常见的使用诉求之一。 l 多机UI校验,传统相似度算法误报多,实际ROI很低。 误报case1 不同机型分辨率不同带来的误判 误报case2 页面元素少导致有效特征较少 误报case3 弹窗干扰
20. 百度小程序页面异常检测典型能力介绍——截图比对 n 解决方案 使用深度卷积神经网络提取特征向量对内容进行相似性度量 l 技术 深度特征提取 (MobileNet) l 劣势 l 优势 受内容动态变化影 速度快 响,准确性略低 内容维度相似度比较 使用页面结构树进行结构相似性度量 l 优势 受内容动态变化影响小 页面结构树 结构维度相似度比较 l 技术 l 劣势 速度较慢,内容 比对不够精确 n 落地方案 页面截图 MobileNet相似度度量 第一轮预检 相似度矩阵 页面结构相似度度量 第二轮复检 问题页面
21. 百度小程序页面异常检测典型能力介绍——泛白屏问题检测 n 建设背景 分析人审驳回/下线小程序原因 小程序存在XXX页面白屏/存在白屏/出现白屏/顶部区域空白/…… n 详细分类 全白屏 区域白屏 骨架屏 页面长时间加载 部分图片加载失败
22. 百度小程序页面异常检测典型能力介绍——泛白屏问题检测 n 解决方案 全白屏/区域白屏/骨架屏 页面长时间加载 页面白屏率 特定目标识别 + OCR特定文本识别 原图 区域切分 色彩/图形复杂度分析 部分图片加载失败 判断图片资 源是否正常 解析dom获取图片列表 生成页面结构树 加载异常图片识别
23. 百度小程序页面异常检测能力建设——泛白屏问题检测 n 新的问题 非首页泛白屏问题准确率较低 页面白屏率80%是否一定是问题页面? n 解决思路 纯技术 手段 异常检测 场景化 技术手段 + 业务优化 小程序巡检 小程序信息采集 异常检测项采集 是否存在历史 趋势记录 阈值校验 人工复验 页面特征获取 上下文信息 历史档案比对 问题处理 指标信息 截图信息 趋势判断 档案截图比对 是否存在异常 更新小程序档案 小程序质量档案系统
24. 百度小程序线上质量保障体系——技术能力建设目录 百度小程序自动化遍历能力 页面异常检测能力 真机集群
25. 百度小程序真机集群建设 n 业务现实 统一入口&资源平台 任务发起 任务调度 …… 结果封装 小程序数量多 时效性 更多设备 预算有限 运维成本 减量?新的方案? 集群管控服务 资源控制 任务执行 任务分发 真机运维 n 机房能力迭代 1.0 机房 结果回传 设备注册 2.0 机房 集群控制主机 smartapp-automator 业务遍历脚本 3.0 机房 额外能力 不可访问的独立外网 设 备 成 本 大量多机型真机 纯人工运维 开发板集群 半自动运维 云手机集群 全自动运维 web化能力引入 内容类检测 运 维 成 本
26. 感谢聆听 Q&A