[发明专利]一种基于进化算法的电能表驱动程序测试方法及系统有效
申请号: | 202110706245.6 | 申请日: | 2021-06-24 |
公开(公告)号: | CN113268432B | 公开(公告)日: | 2023-09-01 |
发明(设计)人: | 黄友朋;党三磊;钱斌;张捷;肖勇;祁舒喆;罗鸿轩;李金莉;纪伊琳 | 申请(专利权)人: | 广东电网有限责任公司计量中心;南方电网科学研究院有限责任公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/006 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 杨小红 |
地址: | 510060 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 进化 算法 电能表 驱动程序 测试 方法 系统 | ||
1.一种基于进化算法的电能表驱动程序测试方法,其特征在于,包括:
基于驱动程序调用接口随机生成测试用例;其中,所述测试用例包括文件描述符、命令指示符以及接口参数集合;
利用随机生成的测试用例调用与其匹配的驱动程序调用接口进行模糊测试;若测试出现异常,则终止程序,输出电能表的日志文件进行驱动程序调用接口测试结果分析;若测试结果正常,则利用进化算法对本次测试用例进行进化,利用进化算法的每次迭代过程中的局部最优解再次进行模糊测试,直至满足迭代结束条件;
输出日志并对从日志挖掘出当前电能表的驱动程序中存在的漏洞;
其中,所述进化算法包括:
初始化种群,随机生成若干个体,并与当前测试用例共同组成原始的种群;
计算种群中每个个体的适应度,其中,适应度采用调用接口代码覆盖率进行表示,所述调用接口代码覆盖率利用所述调用接口执行结果提示信息的数量进行计算;
对测试用例对应的驱动程序调用接口执行结果进行变异操作;
基于交叉算子对种群进行交叉操作;
对于种群中的每个个体,选择适应度值大于当前个体适应度值的新生个体作为下一代个体;
循环迭代直至满足终止条件,获得最优的测试个体。
2.根据权利要求1所述的基于进化算法的电能表驱动程序测试方法,其特征在于,模糊测试包括:预先在电能表中安装测试子程序,所述测试子程序用于接收外部主程序发送的测试用例及对应的调用接口函数名,并调用接口函数进行测试,同时,将接口函数的输出结果反馈给外部主程序。
3.根据权利要求2所述的基于进化算法的电能表驱动程序测试方法,其特征在于,测试出现异常包括:电能表异常以及满足测试预设条件,其中,电能表异常包括死机或重启,测试预设条件包括测试达到预定时间或者测试达到预定次数。
4.根据权利要求3所述的基于进化算法的电能表驱动程序测试方法,其特征在于,计算种群中每个个体的适应度包括:将每个个体输入其对应的驱动程序接口函数中进行测试,获取测试结果的提示信息,通过其提示信息的数量占比得到代码覆盖率,利用代码覆盖率表示每个个体的适应度值,基于提示信息的数量占比来表示适应度值选择出代码覆盖率高的测试用例个体。
5.根据权利要求1-4任一所述的基于进化算法的电能表驱动程序测试方法,其特征在于,对测试用例对应的驱动程序调用接口执行结果进行变异操作包括:当调用接口函数执行结果为0时,表明所述测试用例的数据有效,则仅对调用接口参数集合进行变异操作,当调用接口函数执行结果为-1时,对命令指示符以及调用接口参数集合均执行变异操作。
6.根据权利要求5所述的基于进化算法的电能表驱动程序测试方法,其特征在于,基于交叉算子对种群进行交叉操作包括:对种群中的每个个体通过交叉算子进行变异操作获得变异后的个体。
7.一种基于进化算法的电能表驱动程序测试系统,应用于如权利要求1至6任一项所述的一种基于进化算法的电能表驱动程序测试方法,其特征在于,包括:
测试用例生成模块,其配置为基于电能表驱动程序调用接口随机生成测试用例;
模糊测试模块,其配置为利用随机生成的测试用例调用与其匹配的驱动程序接口进行模糊测试;
进化测试模块,其配置为若测试出现异常,则终止程序,输出日志进行分析;若测试结果正常,则利用进化算法对测试用例进行进化,利用进化算法的每次迭代过程中的局部最优解再次进行模糊测试,直至满足迭代结束条件;
结果输出模块,输出日志并对从日志挖掘出当前电能表驱动程序中存在的漏洞。
8.一种电能表,其特征在于,所述电能表配合实现权利要求1-6任一所述基于进化算法的电能表驱动程序测试方法。
9.一种电子设备,其特征在于,所述电子设备用于基于权利要求1-6任一所述基于进化算法的电能表驱动程序测试方法对电能表进行电能表驱动程序测试。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时实现如权利要求1-6任一项所述的一种基于进化算法的电能表驱动程序测试方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东电网有限责任公司计量中心;南方电网科学研究院有限责任公司,未经广东电网有限责任公司计量中心;南方电网科学研究院有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110706245.6/1.html,转载请声明来源钻瓜专利网。