引言
99大促有淘宝、天猫、聚划算等全员参与,上千个页面形式的展现。其中,测试是保障活动页面的正常发布的一个必不可少的关键环节。传统的测试方法,需要测试人员去分析这个页面是否正常生成,以及是否实现正常地跳转等。这样通常会占用大量的测试资源。那么能否利用机器学习等相关技术为测试赋能呢?
带着这个问题,我们分析了页面的特性。经过分析后发现页面具有高度的相似性,很多模块是复用的。因此,可以利用机器学习去学习模块特征,进而达到识别这些模块的目的。最终,我们实现了对淘宝99大促几十个活动页模块的自动识别。
样本生成:样本生成过程中使用的三种方法
模型选择:fpn + Cascade R-CNN
模块识别:识别页面中模块类别和位置
元素识别:基于模块的识别区域,识别内部元素
位置修正:通过传统图像的方式修正内部元素位置
模型预测
样本制造
模型选择
模型识别
模块识别
元素识别
效果
本篇我们基于FPN+Cascade网络去预测淘宝99大促模块,在验证集近千张的样本量的情况下,采用了coco的验证标准,达到了如下的准确率:Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.982Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.989Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.984Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.989Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.423Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.986Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.993Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.993Average Recall (AR) @[ IoU=0.50 | area= large | maxDets=100 ] = 1.000
由上面的数据我们可以知道,页面和相应元素识别的召回率和准确率达到了98%左右,满足了识别精度的要求。此外,该流程符合Coarse-to-Fine的架构(由粗粒度到细粒度),对于相类似的问题也可以采用该方法处理。
后续计划
闲鱼团队是Flutter+Dart FaaS前后端一体化新技术的行业领军者,就是现在!客户端/服务端java/架构/前端/质量工程师通通期待你的加入,base杭州阿里巴巴西溪园区,一起做有创想空间的社区产品、做深度顶级的开源项目,一起拓展技术边界成就极致!
*投喂简历给小闲鱼→guicai.gxy@alibaba-inc.com
更多系列文章、开源项目、关键洞察、深度解读
请认准闲鱼技术
转载:https://blog.csdn.net/weixin_38912070/article/details/100789739