[发明专利]单元测试方法、装置、电子设备和存储介质在审
申请号: | 202111509601.1 | 申请日: | 2021-12-10 |
公开(公告)号: | CN114153742A | 公开(公告)日: | 2022-03-08 |
发明(设计)人: | 张成志;朱恒成;魏莉力;盛勤;宋丽红;张兵 | 申请(专利权)人: | 深圳前海微众银行股份有限公司;香港科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/12 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 李昂;张颖玲 |
地址: | 518052 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 单元测试 方法 装置 电子设备 存储 介质 | ||
1.一种单元测试方法,其特征在于,包括:
获取第i种群的多个语句集合,每个所述语句集合包括至少一个语句;所述语句用于定义模拟对象的行为;
根据每个所述语句对应的变异操作符,对每个所述语句进行变异操作,得到变异操作结果;对所述变异操作结果中的两个语句集合进行交叉互换,得到第i+1种群;
若确定所述第i+1种群中存在符合测试用例的测试断言的语句集合,则采用所述符合测试断言的语句集合定义所述模拟对象;基于所述模拟对象对所述测试用例进行单元测试。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在i为大于1的整数的情况下,若确定第i-1种群中不存在符合测试用例的测试断言的语句集合,则获取所述第i-1种群中每个语句集合的适应度,
根据所述每个语句集合的适应度,将所述第i-1种群中适应度大于预设阈值的语句集合作为第i种群的语句集合;
或者,根据所述每个语句集合的适应度,确定所述第i-1种群中每个语句集合被抽中的概率;根据所述每个语句集合被抽中的概率,在所述第i-1种群的多个语句集合中抽样得到所述第i种群的语句集合。
3.根据权利要求2所述的方法,其特征在于,所述第i-1种群中包括M个语句集合;所述获取所述第i-1种群中每个语句集合的适应度,包括:
确定至少一个适应度函数和每个所述适应度函数的权重系数;获取所述第i-1种群中第j语句集合在每个所述适应度函数下的计算结果;
根据所述第j语句集合在每个所述适应度函数下的计算结果和每个所述适应度函数的权重系数,获取所述第j语句集合的适应度;
在j依次取1至M的情况下,获取所述第i-1种群中每个语句集合的适应度。
4.根据权利要求1所述的方法,其特征在于,所述第i种群中包括N个语句集合;所述对所述变异操作结果中的两个语句集合进行交叉互换,得到第i+1种群,包括:
确定所述N个语句集合中的两个语句集合,对所述两个语句集合中语句类型相同的语句进行交叉互换,产生所述两个语句集合的两个子代;
将所述两个语句集合中的至少一个和所述两个子代中的至少一个,加入所述第i+1种群中,得到所述第i+1种群中的N个语句集合。
5.根据权利要求3所述的方法,其特征在于,所述确定至少一个适应度函数,包括以下任一项:
根据语句集合中生成的语句条数和成功执行的语句条数,创建适应度函数;
根据测试用例能否执行到测试断言前的状态分布,创建适应度函数;
根据测试断言中断言语句的语句数以及每个断言语句的期望值和实际值的编辑距离,创建适应度函数;
根据在模拟对象中所有方法调用的集合和在模拟对象中已经指定了行为的方法调用的集合,创建适应度函数;
根据测试断言中已被满足的断言语句的语句数和测试断言中所有断言语句的语句数,创建适应度函数。
6.根据权利要求5所述的方法,其特征在于,所述根据所述测试断言中断言语句的语句数以及每个断言语句的期望值和实际值的编辑距离,创建适应度函数,包括:
确定所述测试断言的至少一条断言语句;获取每个断言语句的期望值和实际值的编辑距离;
根据每个断言语句的期望值和实际值的编辑距离,获取每个断言语句的编辑距离的归一化结果;
根据所述测试断言中断言语句的语句数计算所述每个断言语句的编辑距离的归一化结果的加权平均值,根据所述加权平均值创建适应度函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳前海微众银行股份有限公司;香港科技大学,未经深圳前海微众银行股份有限公司;香港科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111509601.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:不烧滑板及其制备方法
- 下一篇:一种集装箱船的支柱