《9-腾讯Wetest-UI自动化测试效率提升之法-方李志.pdf》由会员分享,可在线阅读,更多相关《9-腾讯Wetest-UI自动化测试效率提升之法-方李志.pdf(45页珍藏版)》请在三个皮匠报告上搜索。
1、MTSC2020中国互联网测试开发大会深圳站TESTING SUMMITCONFERENCE CHINA 20202020.11.20-21一中国深圳宝立方国际酒店主办方:TesterHame#page#中国互联网测试开发大会。深圳站MTSCUI自动化测试效率提升之法腾讯方李志主办方:TesterHome#page#讲师简介中国互联网测试开发大会MTSC腾讯学院中级讲师腾讯游戏高级测试工程师曾任WeTest自动化测试团队负责人主导开发了智能探索测试框架主办方:TesterHeme#page#MTSC中国互联网测试开发大会一张全景图分布式调度执行调度测试用例业务逻辑层用户脚本面板层对象库执行框架
2、框架接口层测试框架UI对象识别UI对象操作主办方:TesterHame#page#MTSC中国互联网测试开发大会提升UI对象识别效率主办方TesterHeme#page#MTSC中国互联网测试开发大会控件识别:辅助识别祖先对象兄弟对象参考对象区口实时更新国内疫情海联系人室间、消息联系人空间海外疫情的好友2/4地区新增确诊讯大省24101o专亚西班牙2730三2路三A6利用辅助对象缩小查找范围主办方:TesterHame#page#MTSC中国互联网测试开发大会控件识别:缓存机制窗口11前提假设:第区同一个UI对象会被多次操作窗口未关闭Win32API:缓存句柄测试桩:缓存实例引用窗口关闭缓存祖
3、先对象属性缓存可以提高UI对象再次查找的速度主办方:TesterHame#page#MTSC中国互联网测试开发大会图像识别:传统算法优化分辨率压缩到800*全彩降低色阶匹配方式特征匹配优先降低分辨率和色阶减少运算量,特征匹配优先提高匹配速度主办方:TesterHeme#page#MTSC中国互联网网试开发大会图像识别:炫酷特效基础识别模块模板匹配特征匹配特征点快速过滤对象直接定位法多尺度变化固定位置快速处理特殊识别模块检查模块特殊对象特殊场景尺度比例透明文字相似度过场动画动画高亮合理校准指定图片属性,分配专用识别算法,提升识别效率主办方:TesterHame#page#MTSC中国互联网测试开
4、发大会图像识别:缓存机制热门应用前提假设:口同一个UI对象会被多次操作热门游戏页面布局:缓存位置识别策略:国庆抢票攻略总走就进缓存识别算法铁路12306缓存识别结果88安S1缓存可以提高UI对象再次查找的速度主办方:TesterHeme#page#中国互联网测试开发大会MTSC图像识别:AI识别(相似度判断)取消X开始仓特征匹配目标比较小特征点过少确定确定选择英雄QG好友相似度判断okjpgBdfodndodselectheroJpgplaybyqq.jpg9相似度算法结束传统:直方图AI: Siamese Networks相似度算法提高了特征匹配算法应用范围并降低了复杂度主办方:Tester
5、Heme#page#中国互联网测试开发大会MTSC图像识别:AI识别(精准位移)30自动开火07:28目标检测enennemyperson敌我识别向量计算准确腊准腊准回调YOLOv3-tiny: 30FPS利用AI识别大大提升识别速度,满足实时性需求主办方:TesterHame#page#MTSC中国互联网测试开发大会图像识别:AI识别(精准位移)主办方:TesterHame#page#中国互联网测试开发大会MTSC图像识别:服务化智能探索模式下一个场景识别:50*4*10=2000次识别取项目信任务队列特征或模板医分布式任务调度管旺任务任务拆分反回匹配结养黄大点安安resultbackend
6、4500核的CPU计算资源,20万次/秒的图像识别能力主办方:TesterrHame#page#MTSC中国互联网测试开发大会图像识别:多重缓存本地缓存缓存服务器策略缓存分辨率1:识别策略屏幕1:识别结果屏幕1:识别结果分辨率2:识别策略屏幕截图分辩率3:识别策略屏幕2:识别结果屏幕2:识别结果分辩率4:识别策略屏幕3:识别结果屏幕3:识别结果分辩率5:识别策略屏幕4:识别结果屏幕4:识别结果屏幕5:识别结果屏幕5:识别结果屏幕6:识别结果屏幕6:识别结果图片1:识别策略屏幕7:识别结果屏幕7:识别结果识别结果图片2:识别策略屏幕8:识别结果屏幕8:识别结果图片3:识别策略屏幕9:识别结果屏幕
7、9:识别结果图像图片4:识别策略识别图片5:识别策略多重缓存大大提高场景识别速度,降低服务器压力主办方:TesterHame#page#MTSC中国互联网测试开发大会对象属性变化timgout=B)文本发生变化QACTIVITY手门类型发生变化层级发生变化图片资源发生变化识别类型发生变化对象属性变动后,所有关于该对象的用例脚本都需要修改主办方:TesterrHame#page#对象库统一管理每个页面集中管理统一命名“清除出码”1LFauwpI2正则匹配对象库封装对象属性的变化主办方:TesterHame#page#中国互联网测试开发大会页面布局变化MTSC面向对象编程29登录面板每个页面/面板
8、独立封装Controls供业务逻辑层调用der-init_(selr):.oOder setaccount(self,_account)02786656812def clearpassword(self):鱼安口运住车码口日动效安全登录def login(self,account,面板层封装页面布局以及页面级业务逻辑的变化主办方:TesterHeme#page#中国互联网测试开发大会MTSC业务逻辑变化Qdef login Caccount,password):#登录面板登录1oginPanel= LoginPanel()面向过程编程defsendMsg2Eriend(account,msg)
9、:按业务逻辑封装#好友列表打开好友对话框friendListPanel = FriendlistPanel()为用例脚本提供关键字friendListPanel.openFriendallInone Caccount)#好友对话框发送消息allInonePanel = AllInonepanel (2allInonePanel.sendMessage(msg)关键字封装业务逻辑的变化主办方:TesterHeme#page#MTSC中国互联网测试开发大会用例脚本设计UI变化影响关键字编程用例相互依赖每个用例独立运行执行时间不一控制执行时长对象库、面板层、业务逻辑层确保了大规模用例的稳定主办方:T
10、esterrHame#page#MTSC中国互联网测试开发大会分布式执行主办方TesterHeme#page#MTSC中国互联网测试开发大会分布式调度服务器执行机执行机执行机执行机以空间换时间,通过增加执行机可以提高执行效率主办方:TesterHame#page#MTSC中国互联网测试开发大会分布式策略平均分布动态分布调度服务器调度服务器执行机执行机执行机执行机执行机执行机执行机执行机宁宁行测试用例根据执行机数据平均分布执行机每次分配一个测试用例平均分配的测试用例一次性下发执行机执行完毕后向服务器请求测试用例好的分布式策略可以进一步提高执行效率主办方:TesterHame#page#MTSC中
11、国互联网测试开发大会WeTest适配自动化测试揭秘主办方TesterHeme#page#成果MTSC中国互联网测试开发大会8个小时款游戏Top300自动化测试:一个没有代码能力的外包人工测试:30人日主办方:TesterHeme#page#MTSC中国互联网测试开发大会工作流程线上运行人工干预脚本录制本地调试在线调试结果判定选择一款中分辨录制好脚本后进第一轮选择调试完毕后正式线上运行过程中对于自动化手段率、中性能手机行本地运行、调Top100设备运无法识别的图片开始线上运行如果出现异常,试、优化脚本,作为录制设备,行,收集线上调通过在线人工干采用人工判定。在IDE中选择脚确保本地调试通预将AP
12、P或游戏试信息,优化脚工具提供按场景过本模式或者探索本。根据第一轮运行状态拉回主步骤进行聚类分流程,下发修改模式录制脚本调试结果选择是析,大幅提高人工检查时间否进行第二轮全后的脚本继续运行量设备调试2小时1小时2.5小时0.5分钟主办方:TesterHeme#page#MTSC中国互联网测试开发大会脚本驱动模式startApp(“com.tencentmgp.sgame”,“com.tencent.tmgp.sgame.SGameActivity”)与QQ好友玩3wait(,165)自动录制与QQ好友玩loginByQ9(线性脚本sleep(2)简单编辑接受click(脚本逻辑尽可能简单,通用
13、操作封装成功API主办方:TesterHame#page#MTSC中国互联网测试开发大会自动探索模式场景:X关键场景标识对象心O操作对象口操作类型未知场景预期场景探索:深度遍历门动对局AI场景编推录制关键场景,基本不需要脚本,自动探索主办方:TesterHame#page#MTSC中国互联网测试开发大会优势和应用场景代码能力:只需简单标注、绑定,基本不用写脚本,简单高效优势稳定性:动态识别场景提供了强大的容错能力,提高了执行稳定性探索能力:深度遍历算法提供了强大的未知场景探索能力,提供覆盖率功能测试:通过预期场景、断言、预置脚本可以完全支持功能测试应用场景适配测试:操作简单、运行稳定,目前已经
14、广泛应用在WeTest的适配测试探索测试:强大的未知场景探索能力可以实现新功能的自动化测试健壮性测试:自动探索加上稳定运行非常适合客户端的健壮性测试强大的探索能力,拓展多种应用场景主办方:TesterHeme#page#MTSC中国互联网测试开发大会智能探索算法基本思路根据特征判断是什么场景判断当前场景根据经验决定要做什么想好要做什么执行操作执行操作录制场景:标识对象、操作对象技术实现绑定操作:默认动作、API、预置脚本场景属性:必经、随机、复用操作对象属性:复用、顺序、延时、预期场景避免死循环:操作链路、循环检测、循环处理未知场景处理:多种UI对象识别算法,自动标识已经历的未知场景模仿人的操
15、作,有向图深度遍历主办方:TesterHeme#page#MTSC中国互联网测试开发大会未知场景探索识别可操作利用多种识别算法识别可操作的UI对象基本思路的UI对象利用识别出的UI对象标识该未知场景根据优先级遍历可操作的UI对象动态计算每个操作对象的操作权重和操作次数简化版流程图操作U对象遍历完全部可操作UI对象均无效或超时则重启店操作是否轮廊识别:矩形框、叉有效对象识别原生控件识别是OCR识别是否进入已知场量已录制对象识别是高亮指引识别退出未知场景处理通用对象AI识别多种算法识别对象,利用对象自动标识场景主办方:TesterHeme#page#MTSC中国互联网网试开发大会在线调试常见问题标
16、识对象设置不合理场景层级配置错误预期场景未出现分辨率影响UI风格影响弹窗影响收集无法识别的场景、无法识别或无法操作的UI对象主办方:TesterHeme#page#设备I当前异看日志信息上报时间操作前场及操作前据作对象预围场报关D操们202-0-2243153乳别情息X操作图片列表11003识别453014132未识制45301419245301447咨慕本识别456467864查慕别信息0455467864#page#MTSC中国互联网测试开发大会人工干预:上报状态脚本模式:运行状态异常状态停止状态探索模式:运行状态预警状态停止状态当前屏幕可以监控所有设备实时画面及运行状态主办方:Teste
17、rHamme#page#中国互联网测试开发大会人工干预:异常设备聚类MTSC鞋立前控家家兴特家81家列表务名称,68206.0U白量分中院常信息日志信惠配共墙条编号热创新李信用1批量设备列衣200042910175脚本模式:异常行号聚合口探索模式:屏幕画面聚合20280423102848批量干预原则:同一类别下相同画面主办方:TesterHeme#page#中国互联网测试开发大会人工干预:脚本模式MTSC异家情息日动执息云自上工单银作序制主要流程通ATOCO100)自动注释已执行脚本操作被测APP11ALTOCOMsleep(6)指令操作提示ADB远程调试13sletp(5)拉回脚本主流程0.
18、281.修改脚本15 sleep(5)38R16clickF(0.873,0.216,0.893,0.253)下发脚本组AO口17 slesp(5)用路上18ist(51c4继续执行接clickc主办方:TesterHeme#page#中国互联网测试开发大会MTSC人工干预:探索模式起工备前解18275确认主要流程自动标注已遍历场景操作被测APP政动科技手机验证业录指令操作拉回已知场景ADB远程调试继续执行A0口主办方:TesterHeme#page#异常信息设备售息设备编号:异常日志信息云真机上探工单提作序列任务名称:eesi设设备当前屏等旧版脚本模式视图模式指令校式口数量指令刷新屏幕录制航
19、进提交日累为故律承加监控点击园片发送购本发送指令指令皮者执行结果:列出文件执行成功指令类型:选择远程文件指会类数:拉取目去文易送指令上传图片和文件要保存的文件名称:进洋远程文件本地文件:选择文件未选择任何文件上传皖AO口ADB远程保试按起范用终止窗用切晚U驱站执行结果:列出文件热行成#page#异异常信息日志信息云真机上汉工单设备信息设备编号:1762237-1551欢乐斗地主_u自动化测试_158台Ws备提作序列任务名称:65185请选择文件X当前屏等回版刷新屏幕系有航进脚本执式视图核式令校式口批量指令发送即本udume发送指令指令皮器dscem143133执行结果:列出文件执行成功删除图片
20、或文件选择远程文件数:上传图片和文件143907的文件名称:选择远程文件14332143未选择任何文件局除图片或文件、上传图片08皖DA0口ADD程调试价起用鉴止成用切换返#page#MTSC中国互联网测试开发大会结果判定:多级聚类前提假设:大部分设备是兼容的出问题的画面是少数多级聚类:K均值聚类CK-means Clustering )层次聚类(Hierarchical Clustering )主办方:TesterHame#page#MTSC中国互联网测试开发大会简单回顾提升UI对象识别效率分布式执行控件识别:辅助识别分布式执行:空间换时间,增加执行机图像识别:算法优化、专用算法分布式策略:
21、动态分布进一步提升效率缓存机制:缓存句柄实例,缓存位置、识别算法服务化:增加计算资源、多重缓存WeTest适配自动化测试运行模式:脚本模式、探索模式高可维护性的用户脚本本地录制:中档设备、调试通过对象库:封装对象属性的变化在线调试:根据效果进行一到两轮面板层:封装页面布局及业务逻辑变化线上运行:全量设备正式运行关键字:封装业务逻辑变化人工干预:拉回主流程或者已知场景用例脚本:相互独立、控制执行时长结果判定:多级聚类提升判定效率多重机制提升效率,人工干预减少脚本复杂度主办方:TesterHame#page#MTSC中国互联网测试开发大会幼口方李志WeTest兼容自动化测试商主办方:TesterHame#page#谢谢THANKS