[发明专利]测试用例获取方法、装置、系统、及介质在审
申请号: | 202110020764.7 | 申请日: | 2021-01-07 |
公开(公告)号: | CN112732573A | 公开(公告)日: | 2021-04-30 |
发明(设计)人: | 旷亚和;吕博良;叶红;姜城 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 赵婷 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 测试 获取 方法 装置 系统 介质 | ||
1.一种测试用例获取方法,包括:
获取N个第一测试用例,其中,N为大于等于1的整数;
从N个所述第一测试用例拆解出M个基础元素,其中,M为大于等于N的整数;
基于M个所述基础元素,应用遗传算法得到至少一组第二测试用例,其中一个组内的所述第二测试用例具有相同的根元素;以及
针对一组所述第二测试用例,在该组内的根案例测试有效的情况下,对该组内的其他所述第二测试用例进行测试,以筛选出有效的测试用例;其中,所述根案例是由该组所述第二测试用例的根元素组成的测试用例。
2.根据权利要求1所述的方法,其中,所述方法还包括:
针对一组所述第二测试用例,在该组内的所述根案例测试失败的情况下,过滤掉该组所述第二测试用例。
3.根据权利要求1所述的方法,其中,所述基于M个所述基础元素,应用遗传算法得到至少一组第二测试用例包括:
对M个所述基础元素进行编码,其中,将作为一组所述第二测试用例的根元素的基础元素编码为特定符号;
基于对根元素以及其他M-1个所述基础元素的编码,应用遗传算法进行演化得到一组第三测试用例;以及
基于对一个组内的所述第三测试用例的适应度评价,筛选出一组所述第二测试用例。
4.根据权利要求3所述的方法,其中,所述对M个所述基础元素进行编码包括:
采用符号编码法对M个所述基础元素进行编码。
5.根据权利要求3所述的方法,其中,所述基于对一个组内的所述第三测试用例的适应度评价,筛选出一组所述第二测试用例包括:
基于适应度函数F(S[A])=T(S[A])/MAX(similar(S[A],S[x])),得到每个所述第三测试用例的评价值;以及
从一组所述第三测试用例中筛选出评价值大于或等于预定阈值的测试用例,以得到一组所述第二测试用例;
其中:
S[A]表示一个所述第三测试用例;
S[x])表示S[A]以外的一个所述第三测试用例;
T(S[A])表示S[A]在靶机测试中的成功和失败的综合评分;
MAX(similar(S[A],S[x]))表示S[A]与同组内其他所述第三测试用例的相似度的最大值。
6.根据权利要求1所述的方法,其中,所述方法还包括:
设置至少一个所述根案例,其中,至少一个所述根案例与至少一组所述第二测试用例一一对应。
7.根据权利要求6所述的方法,其中,所述设置每组所述第二测试用例的根案例包括:
在所述方法用于生成结构化查询语言SQL注入的测试用例时,至少设置第一字符组合作为一个所述根案例,其中,所述第一字符组合用于闭合其之前的正常查询语句,以使其后的非查询语句得以执行,所述第一字符组合包括一个或多个字符。
8.根据权利要求6所述的方法,其中,所述设置至少一个所述根案例包括:
在所述方法用于生成跨站脚本攻击的测试用例时,至少设置第二字符组合作为一个所述根案例,其中,所述第二字符组合用于标识恶意指令代码的起始位置,所述第二字符组合包括一个或多个字符。
9.一种测试用例获取装置,包括:
获取模块,用于获取N个第一测试用例,其中,N为大于等于1的整数;
拆解模块,用于从N个所述第一测试用例拆解出M个基础元素,其中,M为大于等于N的整数;
案例生成模块,用于基于M个所述基础元素,应用遗传算法得到至少一组第二测试用例,其中一个组内的所述第二测试用例具有相同的根元素;以及
案例优选模块,用于针对一组所述第二测试用例,在该组内的根案例测试有效的情况下,对该组内的其他所述第二测试用例进行测试,以筛选出有效的测试用例;其中,所述根案例是由该组所述第二测试用例的根元素组成的测试用例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110020764.7/1.html,转载请声明来源钻瓜专利网。