[发明专利]生成智能合约测试案例的方法和装置有效
申请号: | 202011054152.1 | 申请日: | 2020-09-30 |
公开(公告)号: | CN111897742B | 公开(公告)日: | 2021-01-15 |
发明(设计)人: | 邬萌;王海军 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06Q40/04 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 李世喆 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 生成 智能 合约 测试 案例 方法 装置 | ||
1.一种生成智能合约测试案例的方法,包括:
将上一次输入待测试智能合约的测试案例确定为第一测试案例;
判断所述待测试智能合约执行所述第一测试案例时是否覆盖到了新的程序路径;
如果是,则将所述第一测试案例确定为当前的测试案例;
如果否,则将第二测试案例确定为所述当前的测试案例,其中,所述第二测试案例满足:已被输入所述待测试智能合约,且所述第一测试案例是通过对所述第二测试案例中的结构化参数进行变异而获得的;
针对所述当前的测试案例,从该测试案例包括的各结构化参数中选取至少一个待变异结构化参数,其中,所述待变异结构化参数能够被待测试智能合约中的至少一个接口识别;
针对每一个所述待变异结构化参数,得到该待变异结构化参数对应的参数结构,其中,所述参数结构通过对预先构建的样本结构化参数进行分析而确定,且所述样本结构化参数能够被所述待测试智能合约中的至少一个接口识别;
针对每一个所述待变异结构化参数,根据该待变异结构化参数对应的参数结构,对该待变异结构化参数进行变异,获得变异后结构化参数,所述变异后结构化参数能够被待测试智能合约中的至少一个接口识别;
生成包括各所述变异后结构化参数的测试案例,并将该测试案例作为输入所述待测试智能合约的测试案例。
2.根据权利要求1所述的方法,其中每个结构化参数包括至少一个原始类型数据,且所述参数结构包括原始类型数据的数据类型;
所述根据该待变异结构化参数对应的参数结构,对该待变异结构化参数进行变异,包括:
从该待变异结构化参数包括的各原始类型数据中选取至少一个待变异原始类型数据;
根据该待变异结构化参数对应的参数结构确定每个所述待变异原始类型数据的数据类型;
根据每个所述待变异原始类型数据的数据类型,对该待变异原始类型数据进行参数值变异,以改变该待变异结构化参数的参数值。
3.根据权利要求2所述的方法,其中,所述根据每个所述待变异原始类型数据的数据类型,对该待变异原始类型数据进行参数值变异,包括:
如果一个所述待变异原始类型数据的数据类型为未限制长度的数据类型,则对该待变异原始类型数据执行修改字节值、删除字节、插入字节和对字节进行移位中的至少一项;
如果一个所述待变异原始类型数据的数据类型为限制长度的数据类型,则对该待变异原始类型数据执行修改字节值和对字节进行位移中的至少一项。
4.根据权利要求3所述的方法,其中,
所述未限制长度的数据类型包括:字符串类型;
所述限制长度的数据类型包括:64位整数类型或者256位Hash类型。
5.根据权利要求1至4中任一所述的方法,其中每个结构化参数包括至少一个原始类型数据,且所述参数结构包括原始类型数据的起始位置或结束位置;
所述根据该待变异结构化参数对应的参数结构,对该待变异结构化参数进行变异,包括:
根据所述参数结构包括的原始类型数据的起始位置或结束位置,确定该待变异结构化参数中每个原始类型数据的起始位置或结束位置;
在该待变异结构化参数包括的至少一个原始类型数据的起始位置之前或结束位置之后,新增至少一个原始类型数据,以改变该待变异结构化参数的参数结构。
6.根据权利要求1至4中任一所述的方法,其中每个结构化参数包括至少两个原始类型数据,且所述参数结构包括原始类型数据的起始位置或结束位置;
所述根据该待变异结构化参数对应的参数结构,对该待变异结构化参数进行变异,包括:
根据所述参数结构包括的原始类型数据的起始位置或结束位置,确定该待变异结构化参数中每个原始类型数据的起始位置或结束位置;
根据待变异结构化参数中每个原始类型数据的起始位置或结束位置,删除其中的至少一个原始类型数据,以改变该待变异结构化参数的参数结构。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司,未经支付宝(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011054152.1/1.html,转载请声明来源钻瓜专利网。