《A2--肖志新--大规模复杂软件下基于研发大数据的精准测试实践.pdf》由会员分享,可在线阅读,更多相关《A2--肖志新--大规模复杂软件下基于研发大数据的精准测试实践.pdf(41页珍藏版)》请在三个皮匠报告上搜索。
1、大规模复杂软件下基于研发大数据的精准测试实践肖志新华为 自动化测试专家肖志新华为技术有限公司主任工程师15年自动化测试&测试工程工具开发经验,主导过UI/接口/性能等自动化框架以及部门服务化测试平台的设计和开发,现负责部门精准测试及LLM辅助测试脚本生成等技术的落地目录C O N T E N T S1.精准测试的起源和常见技术方案2.大规模复杂软件实施精准测试的难点3.精准测试新的解决思路4.关键技术方案5.精准测试落地效果与收益6.思考与未来展望精准测试的起源和常见技术方案01精准测试的历史发展 Retest All:在软件规模比较小的年代,软件版本修改后把测试用例都执行一遍,称为“rete
2、st-all”策略问题:当软件规模越来越大后,测试用例规模也越来越大,“retest-all”策略显然无法执行,于是精准回归测试(RTS)技术应运而生。Test Selection:1997年,在论文A Safe,Efficient Regression Test Selection Technique的标准定义:Test Case Prioritization(TCP):对T进行优先级排序 Test Suite Minimization(TSM):对T进行去冗余精准测试的关键技术点:依据修改后的程序P挑选出用例子集T,那P如何与T关联?PTPT关联挑选软件程序P-需求S-测试用例集T软件程序
3、P子测试用例集T需求S中继承的功能需求S修改挑选恰好验 证精准回归测试技术常用的用例代码动态关联技术测试用例带桩的被测系统(SUT)覆盖代码执行agent依赖自动化用例,需高自动化率被测系统插桩,用例动态执行获取覆盖代码解决插桩对被测系统性能/功能影响的问题单一测试环境上用例需串行执行,用例需并行执行时多测试环境可获得问题方案低成本落地前提条件常用的用例代码静态关联技术接口自动化用例接口自动化知识库(含接口名称)解析生成接口函数调用链+接口自动化用例依赖接口自动化用例,需高接口自动化率依赖函数调用链,需解决断链问题方案低成本落地前提条件常用的用例推荐算法用例推荐算法Fun_1Fun_2Fun_
4、3TC_1TC_2TC_3TC_4TC_5用例与变更函数关联关系全量用例集:TC_1、TC_2、TC_3、TC_4最小用例集(最少用例、最大覆盖):TC_1用例数量太大场景覆盖不全用户反馈大规模复杂软件实施精准测试的难点02常用的精准测试技术在大规模复杂软件中落地困难产品本身的特点导致传统精准测试方案在落地时成本高、难度大,且当前的用例推荐算法不满足后端测试要求语言多、微服务架构、测试环境依赖大量服务器/设备组网、用例规模大(10W+)等前台(JS)后台(JAVA、C+等)VUEReactangularJSJAVAC+PythonGo产品特点动态代码插桩:用例执行与代码关联静态代码分析:函数调
5、用链与用例关联用例代码关联方案最小集用例推荐全量关联用例推荐用例推荐算法精准测试技术资源问题:用例需串行执行,执行周期长,需长期大量占用服务器、设备资源技术问题:多语言、微服务等特点导致静态函数调用链断层数据完备性问题:依赖自动化用例,代码覆盖率30%40%数据及时性问题:自动化用例建设滞后12个迭代,甚至更长准确性问题:用例少,路径或场景覆盖不全用例规模大:少量问题单合入即可推荐上千用例高高成成本本高高难难度度低低可可用用精准测试方案落地困难精准测试新的解决思路03解决新思路:基于研发大数据快速建立用例代码关联关系总体方案1、利用研发大数据平台中的数据自动构建用例/问题单与代码的关联关系2、
6、利用版本构建平台中的B版本构建数据自动获取版本变更函数3、运用新的用例推荐算法和问题单推荐算法进行用例/问题单精准推荐MR(合并请求)产品代码仓/版本代码提交记录代码测试用例问题单用例/问题单推荐算法版本变更代码推荐用例和问题单版本构建平台版本变更函数快速获取用例/问题单与代码关联关系低成本建立用例/问题单精准推荐测试大数据开发大数据研发数据湖用例约简效果度量与双向追溯用例优先级排序数据改进关键技术方案04技术方案一:基于大数据建立用例/问题单与代码的关联用例/问题单代码关联库产品代码Git仓库MR(合入请求)函数需求编号/问题单号测试用例/无关联用例问题单MR同步MR解析关联用更获取用例代码