注册 / 登录

基于机器学习的模糊测试在大型系统产品中的应用

分会场:  测试实践/测试工具链建设/大前端&移动端

 

案例来源 :

案例讲师

李春才 王楚

中兴通讯 敏捷教练&测试开发工程师

李春才
中兴通讯敏捷教练,10年软件测试经验,目前在中兴从事软件测试和管理工作,致力于敏捷测试改进,测试新技术的探索、实践和落地。对需求分析、敏捷测试流程、测试设计方法、探索性测试、测试人员能力提升有丰富的指导和实战经验。多次担任外部大会分享嘉宾:Tid2014,AHA 2015,杭州RSG2016,南京MPD2016等。
王楚
中兴通讯测试开发工程师,主要从事核心网产品的测试开发工作。

扫描二维码分享案例

 

案例简述

 

模糊测试是测试系统健壮性最有效的方法之一,可以用来挖掘大量的系统漏洞。然而模糊测试规则衍生慢,用例指数级增长执行效率低,随机变异使得我们很难实现达到测试程序特定的代码路径,这就使得测试的代码覆盖率很低。本案例利用机器学习的技术,从模糊迭代中不断学习,一方面平衡模糊测试中广度和深度的矛盾问题,提升模糊测试的效率;另一方面,进行引导性变异,自动衍生规则,解决规则衍生 慢的问题。

 

案例目标

 

现有的模糊测试中存在如下三大痛点:

规则衍生慢,防护网无法度量:模糊测试规则是人工增加,规则衍生慢,规则的 防护网范围、疏密程度无法衡量

用例爆炸:规则交叉、用例指数级增长,过亿的用例,执行时间长

无法度量模糊测试的深度和广度,绝少有效的依据支撑测试决策

为此本案例引入了机器学习的算法和插桩技术,解决上述三个痛点。


 

成功(或教训)要点

 

案例从下面几个方面介绍
1)模糊测试的三大痛点预研解决方案;
2)方案的整体架构:

1.png

3)方案的实现原理

2.png

4)方案的关键技术

  关键技术之一机器学习算法:

 3.png

 关键技术之二插桩:

4.png

5)案例的应用效果

5.png


 

案例ROI分析

 

在模糊测试中新路径的发现效率提升了30%以上,在代码覆盖率、代码路径及发现崩溃等方面的效率上均有大幅度的提升。人力投入由3人天缩减到0.5人天,几乎不再需要测试人员的投入。


 

案例启示

 

技术改变一切,人工智能在企业中的探索和应用正在不断改变企业的生产模式和不同职位的工作方式。结合公司的产品特点,将机器学习技术应用模糊测试,在产品的系统测试中去引导模糊测试的方向和增强模糊测试的效率,逐步解放测试人员在测试用例设计、测试策略制定中的时间,节省人力资源提升工作效率。


 

案例在团队中的意义

 

应用机器学习的算法,大幅提升模糊测试的效率,更有效的发现大型系统产品中的安全漏洞。

 

领取大会PPT

我要参会

大会全套演讲PPT

立即领取

大会即将开幕,点击抢票!

我要参会