1、基于AI的MBT用例生成和花屏检测的落地实践OPPO2023 深圳站贾琳玉现就职于OPPO,担任测试架构师,多媒体领域TSE。曾任职于小米,担任核心器件测试技术主管,项目TSE等职务。多年软件测试技术研究和项目经验,主导多个大型测试能力0-1的建设和全面落地。嘉宾照片2023 深圳站目录CONTENTS测试智能化的行业应用01 MBT用例自动生成02 花屏检测的落地实践03 优化与展望04 2023 深圳站01测试智能化的行业应用2023 深圳站人工智能提到智能测试,大家优先想到的是什么提到智能测试,大家优先想到的是什么2023 深圳站01早期阶段02探索阶段03发展阶段04创新实践测试智能化
2、的行业发展从理解被测对象到选择测试策略、设计测试用例、执行测试用例并断言、直到测试覆盖评估等所有环节都有智能化技术发挥的空间根据对于现有测试的影响将研究方向分为辅助式和创造式应用较成熟的是计算机视觉/其他AI算法+脚本的形式,Step By Step 式的编程过程,只是抽象层次有些差异,测试程序本身不会进化,因其没有适应性和学习能力。(辅助式)移动端应用(FaceBook:自动化探索式测试的 Sapienz 以及自动修复 NPE 类型缺陷的 SapFix、通过对Crash 日志进行数据挖掘解决 Crash 定位难题),服务端(基于少量既有用例进行智能化测试用例推荐/膨胀)。工程师的维护工作主要
3、是更多在于规则、策略以及工作机制的迭代优化而不是作为中间产出物的测试用例。(创造式)2023 深圳站测试智能化的场景应用和方法测试智能化在以下几个方面得到广泛应用:测试智能化在以下几个方面得到广泛应用:测试自动化测试自动化 缺陷预测缺陷预测 智能化测试用例生成智能化测试用例生成 测试过程优化测试过程优化 自动化测试评估和管理自动化测试评估和管理测试智能化的方法主要包括以下几种:测试智能化的方法主要包括以下几种:基于规则的测试智能化方法基于规则的测试智能化方法 基于统计学的测试智能化方法基于统计学的测试智能化方法 基于机器学习的测试智能化方法基于机器学习的测试智能化方法 基于自然语言处理的测试智
4、能化方法基于自然语言处理的测试智能化方法 基于图像识别的测试智能化方法基于图像识别的测试智能化方法2023 深圳站辅助式(基于自然语言/图像识别)降低用例脚本编写和维护的难度和开销用图像识别的技术绕开UIobject技术(超50%互联网大厂)基于自然语言的自动化脚本(大型云服务平台)基于录制/视频的脚本生成(大型云服务平台)基于流程图的脚本生成2023 深圳站辅助式(基于机器学习、图像识别)使用AI对传统脚本的断言进行补充,通过主观的检测/评价替换为机器评价UI异常检测(超50%的互联网公司)音视频质量检测(超50%视频大厂)基于视频的交互曲线/指标生成(50%终端设备大厂)基于图像检测的指标
5、监控(终端设备巨头公司)2023 深圳站辅助式(基于机器学习、泛终端测试机器人)人工智能配合摄像头、机械臂等设备、可以按照人为设定规则执行测试任务的机器设备。解决不同系统之间的脚本兼容性问题的机器人 解决多终端互动测试的机器人2023 深圳站创造式(基于数据驱动智能测试生成、机器学习)包括常规的用例生成,也包含探索性测试中的测试方案生成 使用遗传算法等算法做基于代码层面的测试生成工作(代码自动生成)使用强化学习等算法做基于GUI层面的测试生成工作(强化学习)数据驱动的测试用例生成(智能异常单测用例生成、智能流量回放)2023 深圳站创造式(基于自然语言处理、机器学习、强化学习智能用例推荐)在海
6、量的用例中为用户推荐最适合当前场景的用例集合 基于调用链&覆盖率&代码diff等信息的回归测试用例推荐(bilibili漫画)基于自然语言&知识图谱的用例搜索(淘系Markov)基于种子特征或者种子用例的用例膨胀(淘系Markov)基于强化学习的用例执行优先级排序2023 深圳站创造式(基于机器学习、强化学习的智能任务/资源调度)这个方向是软硬件/线上线下结合的服务都在研究的方向,比如外卖/打车软件的派单系统、快递员的排班系统、云平台的资源调度系统、大数据计算的任务调度系统等等。基于启发式算法的智能调度 基于机器学习的任务耗时预测 基于强化学习的智能调度2023 深圳站创造式(基于机器学习、统