找回密码
 会员注册
查看: 21|回复: 0

贝壳智能化测试探索实践-前端问题智能化识别

[复制链接]

2万

主题

0

回帖

6万

积分

超级版主

积分
64454
发表于 2024-10-10 22:32:22 | 显示全部楼层 |阅读模式
贝壳智能化测试探索实践 - 前端问题智能化识别 贝壳智能化测试探索实践 - 前端问题智能化识别 贝壳质量 贝壳产品技术 贝壳产品技术 “贝壳产品技术公众号”作为贝壳官方产品技术号,致力打造贝壳产品、技术干货分享平台,面向互联网/O2O开发/产品从业者,每周推送优质产品技术文章、技术沙龙活动及招聘信息等。欢迎大家关注我们。 242篇内容 2021年08月13日 12:16 背景在质量保障建设过程中,我们发现有众多的业务问题会通过前端UI直观呈现,但却很难被发现。1线上问题常被用户发现2021年上半年有41%的故障是通过人工上报发现的,人工上报问题中约78%可以在用户侧通过肉眼可见的方式被发现。用户涵盖B/C两端的经纪人和普通用户,也包括使用某管理项目的公司管理者们。2后端问题时常通过前端表现除UI问题外,后端问题也往往会通过前端得以表现,如后端服务异常导致的错误前端会有“undefined”或“服务错误”等提示。而由于业务复杂性,后端的监控很难覆盖所有的线上问题,如二手房显示0元/平米,通过对前端呈现的内容主动检查,往往可以弥补此类不足。3传统测试手段瓶颈凸显现有的测试手段,需要通过用例覆盖大量的业务场景,严重耗费人力。如C端约有上百个activity,上百个城市,平均每个城市过万个房源信息,内容形成组合爆炸,人工几乎无法完成如此体量的用例设计。传统的测试工具通常针对特定场景,需维护多套脚本,场景覆盖有限、维护成本巨大。智能化测试优势通过探索,我们发现利用传统图像处理和机器学习等智能化技术,可以帮助我们从前端UI等层面,发现贝壳业务的质量问题。01图像识别技术应用我们的产品通常是通过页面来触达用户的,可以利用CV识别技术和目标识别等算法提取产品页面图像信息,从图像分析判断业务是否存在质量问题,实现了类人工肉眼检测的方式识别业务问题,解决了之前自动化测试只能从文本内容判断质量问题的弊端;02全面覆盖质量问题通过对前端UI呈现的内容智能识别分析,检查UI本身的问题之外,也可以识别出后端服务或运营配置导致的质量问题,让测试人员可以更全面的覆盖业务质量问题;03突破传统技术瓶颈基于历史bug数据和用例步骤,利用机器学习产生的模型,通过推理服务提供决策能力,再结合传统自动化技术的复用,可实现大量的业务场景用例覆盖,做精准的决策。过去测试人员、运营反馈等提出的问题截图、bug数据都可以被我们的机器学习训练成质量问题模型、用例数据模型,应用于我们的测试过程中。下面给大家带来前端AI智测的探索实践过程,目前我们初步形成了端的智能化的测试用例生成和基于推理服务的智能问题分析的建设。我们是如何去一步步克服困难进行探索的呢,下文会有详细的介绍。智能化测试探索思路°贝壳业务问题分析针对长期贝壳业务存在的各类问题,我们检索分析以下两个数据来源,对贝壳B/C端UI本身的问题(eg.白屏,乱码叠字,图片缺失等),以及从UI可以直接读取的问题(eg.系统报错,内容问题等)进行总结分类:KeOnes自从建立以来,所有的 bug列表问题截图故障组两年内的故障报告共提取了48899张原始bug截图,分析出有价值的500张截图,分析聚合出29类前端问题。各类问题占比如下,这也决定了,我们解决这些问题的优先级。°智能化测试思路形成通过对业务问题的分析,以及对智能化的技术调研,我们初步形成了如下智能化测试思路。具体如下:智能化测试解决方案°整体解决方案°智能遍历能力建设智能遍历,通过采用传统自动化与机器学习相结合的方式,实现了App的全局遍历。与monkey等工具相比的好处在于它可以提升页面覆盖率、增强问题的复现能力。以关闭弹窗的处理举例。首先是识别是否存在弹窗,主要通过opencv对图像进行二值化处理,然后做垂直/水平投影,最终截取出是否存在弹窗,具体操作步骤如下列图所示:图一为原图,图二为灰度图,图三和图四是两种二值化(BINARY 和 TOZERO) 对应的效果图,我们采用后者,图五为最终识别的效果图。这个处理之后,我们便可以对弹窗进行识别。但这样还远远不够,还需要对这个弹窗进行关闭,我们通过深度学习训练关闭按钮,来完成弹窗的关闭。°AI 引擎赋能AI引擎通过机器学习帮助我们解决传统自动化测试解决不了的问题。我们主要采用了深度学习中的目标检测和图像分类两类算法,为遍历和检测模块赋能。主要流程分为三步:(1)数据集准备:在建立一个目标检测模型的过程中,数据集的收集标准是耗时较长的部分,我们要根据要建立的模型进行图片收集(构造)和有效标注,并转化成你使用的深度学习框架支持的数据集格式。自动化标注:我们开发了一个简单的App来进行一部分的自动标注,可以自动生成VOC标注文件。人工标注:我们选择了现在业界应用较多的labelImg工具进行人工标注。(2)算法与模型训练目前通用的目标检测算法主要包括one-stage和two-stage两类one-stage目标检测算法:Yolo算法,SSD算法two-stage目标检测算法:Faster-RCNN算法通常情况下,我们会对多种算法进行组合应用,以解决不同问题。如下是模型训练中,测试召回率、mAP的过程,体现了对目标检测算法的应用情况:(3) 推理服务部署推理服务会根据机器学习得到的参数对数据进行预估和决策,体现了模型对外呈现的能力。应用层服务可以通过API的方式调用推理服务提供的能力。主要通过3个方面进行建设:服务搭建模型存储服务部署推理服务与模型训练的完整关系如下图:°智能检测能力建设智能检测通过利用AI引擎提供的机器学习和CV图像识别等能力,结合贝壳业务特性,实现替代人眼和大脑的决策行为,指导自动化测试自主完成。1.图像布局分割在处理布局问题时,我们先通过对app截图整体的图片进行分割的方式来细化图像布局问题,既可以对小范围内的图片/模块缺失进行检测,又可以起到深度学习建模前图像预处理的作用。2.OCR对弹窗及文字问题检测在我们进行纯UI检测的同时,我们也可以把这些因后端接口问题、运维故障、权限出错等其他原因导致的页面读取问题检测并上报出来,并根据OCR的语义直接对问题进行分类。这里主要采用了PaddleOCR的能力实现。3.基于海量数据的机器学习问题检测通过对贝壳历史业务问题的截图数据提取及训练,形成了基于机器学习的问题检测手段。贝壳AI智测平台简介贝壳AI智测平台目前提供了一站式的前端智能化测试解决方案。平台提供了自动化遍历端业务场景的能力,通过AI引擎完成自主识别前端界面可见内容的问题检测能力。真正实现了QA人员无需编写脚本既能完成端的自动化测试,极大的降低了QA人员自动化测试的门槛,有效的降低了自动化测试工作的成本。°贝壳AI智测平台架构平台主要由3部分构成:平台层:由端自动化、智能遍历、智能识别、基础4大模块构成,对外呈现了平台化的服务能力;AI引擎层:由特征工程、模型训练、推理服务3大模块构成,AI引擎酷似QA人员的大脑,提供了针对测试场景的机器学习服务能力;依赖层:区分软件和硬件依赖,软件依赖使用了业内通用的开源软件和开源库;硬件方面充分复用了公司的测试手机和GPU资源,为整个智能化能力建设提供了稳定、高效的基础保障。工作流程如下:°核心能力介绍平台目前提供了3大核心能力:遍历能力:智能遍历模块通过自动获取前端的页面元素信息自动遍历,实现不需编写业务脚本即可触达全页面的遍历能力。在传统广度遍历功能实现后,通过AI引擎赋能,我们实现了弹窗阻碍自动关闭,账号密码自动识别登录,组件激活状态识别,按键文字OCR识别等功能,实现遍历智能化。检测能力:智能检测能力是以AI引擎的TensorFlow、PyTorch等深度学习模型和第三方开源库为基础,根据贝壳业务常见UI问题(白屏,系统异常,数据丢失等),房源内容错误问题,以及新房图片治理而开发的Bug检查模块。AI引擎能力:AI测试引擎是致力于“高通用、低门槛、低维护成本”的智测底层核心支撑,目前阶段主要应用RCNN, YOLO等深度学习算法钻研App业务组件识别、业务线分类、线上UI问题识别、智能化业务解决方案等AI相关的能力建设,对外提供推理服务为自动化测试赋能。°如何使用新建任务使用时,需要新建一个任务完成一次自动化测试。可以设置定时任务,也可以结合贝壳的CI/CD平台配置流水线任务。任务执行点击立即执行后,会跳转到执行记录界面。任务查看在任务执行页面,可以查看正在执行的任务。在执行记录页面中,选择一个任务,点击“查看数据报告”可查看一次任务执行的结果。落地情况已接入Android端贝壳APP、链家APP,B端APP接入进行中;新房项目落地:智能检测支持新房不同城市不同楼盘一图多传问题;支持友商房源图片误用合规问题;Coo驾驶舱项目落地:智能检测支持coo驾驶舱白屏、内容展示类问题检测。经过业务团队落地实践,智测平台已经发现多例产品质量问题。例如,1)发现贝壳找房App首页“为你推荐”出现多条推荐房源模块问题(目前业务团队已修复)2)发现贝壳找房->地图找房房源图片缺失问题(目前业务团队已修复)3)发现贝壳找房->租写字楼房源卡片丢失问题(目前业务团队已修复)后续规划智测平台1.0通过对App问题为切入点,打开了智能化测试应用的大门。后续我们会将智能化应用于更多的质量保障的场景中。支持H5、小程序的智能遍历;为移动端兼容性测试提供解决方案;赋能服务端智能化测试;提供贝壳质量保障的智能化方案。 预览时标签不可点 QA8QA · 目录#QA上一篇Flutter UI自动化原理与实践下一篇Android增量代码覆盖率测试在被窝家装App中的探索与实践关闭更多小程序广告搜索「undefined」网络结果
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-28 07:02 , Processed in 0.815746 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表