用于生成测试用例的方法、装置、服务器及介质制造方法及图纸

技术编号:32858213 阅读:10 留言:0更新日期:2022-03-30 19:33
本申请适用于区块链技术领域,提供了用于生成测试用例的方法、装置、服务器及介质,其中,方法包括:获取目标测试场景对应的目标场景标识,选取与目标场景标识对应的电路模板,作为目标电路模板;选取关键词生成规则,作为目标关键词生成规则,以及生成场景关键词;生成针对目标测试场景的逻辑电路,以及确定逻辑电路的电路属性;生成相应输入参数的参数取值,以及将相应输入参数与参数取值对应写入针对逻辑电路的输入文件;根据逻辑电路、逻辑电路的电路属性和输入文件,生成用于对目标测试场景进行测试的测试用例。本申请可以实现生成用于对目标测试场景进行测试的测试用例。用于对目标测试场景进行测试的测试用例。用于对目标测试场景进行测试的测试用例。

【技术实现步骤摘要】
用于生成测试用例的方法、装置、服务器及介质


[0001]本申请属于区块链
,尤其涉及一种用于生成测试用例的方法、装置、服务器及介质。

技术介绍

[0002]零知识证明(Zero Knowledge Proof),是由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代初提出的。它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。大量事实证明,零知识证明在密码学中非常有用。如果能够将零知识证明用于验证,将可以有效解决许多问题。
[0003]实际应用中,零知识证明的前提通常为证明者和验证者拥有相同的某一个函数或一系列的数值。零知识证明的一般过程如下:首先,证明者向验证者发送满足一定条件的随机值;然后,验证者向证明者发送满足一定条件的随机值;之后,证明者执行一个秘密的计算,并将结果发送给验证者,这个结果称为“响应”;最后,验证者对响应进行验证,如果验证成功,则验证者相信证明者拥有某种知识,若验证不成功,则验证者认为证明者不具有相关知识。此过程中,验证者没有得到关于这个知识的任何一点信息。
[0004]相关技术中,零知识证明领域中,通常是需要先将所需解决的问题转化成多项式,再进一步转化成逻辑电路,从而基于逻辑电路执行验证。在对零知识证明软件进行测试之前,通常需要构造测试相关的测试用例。相关技术中,通常是测试人员手动对测试用例进行构建,导致测试效率较低。

技术实现思路

[0005]本申请实施例提供了用于生成测试用例的方法、装置、服务器及介质,旨在解决相关技术中测试人员手动对测试用例进行构建,导致测试效率较低的问题。
[0006]第一方面,本申请实施例提供了一种用于生成测试用例的方法,该方法包括:
[0007]获取目标测试场景对应的目标场景标识,从电路模板组中选取与目标场景标识对应的电路模板,作为目标电路模板,其中,电路模板组中的电路模板与场景标识相对应;
[0008]从预先设定的、对应于目标测试场景的关键词生成规则集中选取关键词生成规则,作为目标关键词生成规则,以及根据目标关键词生成规则,生成场景关键词,其中,关键词生成规则集中的关键词生成规则对应有规则属性;
[0009]根据目标电路模板和场景关键词,生成针对目标测试场景的逻辑电路,以及根据目标关键词生成规则对应的规则属性,确定逻辑电路的电路属性;
[0010]根据逻辑电路中的各输入参数的取值规则,生成相应输入参数的参数取值,以及将相应输入参数与参数取值对应写入针对逻辑电路的输入文件;
[0011]根据逻辑电路、逻辑电路的电路属性和输入文件,生成用于对目标测试场景进行测试的测试用例。
[0012]进一步地,根据逻辑电路、逻辑电路的电路属性和输入文件,生成用于对目标测试场景进行测试的测试用例,包括:
[0013]根据电路属性,确定期望电路编译通过结果,以及根据逻辑电路、期望电路编译通过结果和输入文件,生成用于对目标测试场景进行测试的测试用例。
[0014]进一步地,根据逻辑电路、期望电路编译通过结果和输入文件,生成用于对目标测试场景进行测试的测试用例,包括:
[0015]对逻辑电路进行存储,得到电路存储路径,对输入文件进行存储,得到文件存储路径,以及对应存储场景关键词、电路存储路径和文件存储路径;
[0016]将场景关键词和期望电路编译通过结果,组合生成用于对目标测试场景进行测试的测试用例。
[0017]进一步地,方法还包括:
[0018]在目标测试用例被选取用于测试时,提取与目标测试用例中的目标场景关键词对应的目标电路存储路径和目标文件存储路径;
[0019]根据目标电路存储路径和目标文件存储路径,获取目标逻辑电路和目标输入文件;
[0020]根据待测软件对目标逻辑电路进行编译,得到实际电路编译通过结果,根据实际电路编译通过结果和目标测试用例中的期望电路编译通过结果,确定待测软件的测试通过状态,其中,测试通过状态包括测试已通过状态和测试未通过状态。
[0021]进一步地,若待测软件为零知识证明软件,待测软件在实际电路编译通过结果指示编译通过时,继续生成电路约束文件,根据电路约束文件和目标输入文件,生成实际证据信息和隐私合约,以及将隐私合约部署至目标区块链,则方法还包括:
[0022]调用目标区块链的验证接口对实际证据信息进行验证,得到验证结果信息,以及根据测试通过状态和验证结果信息,确定待测软件的测试结果。
[0023]进一步地,获取目标测试场景对应的目标场景标识,包括:
[0024]在接收到包括场景描述信息的用例生成请求时,根据用例生成请求中的场景描述信息,确定目标测试场景及目标测试场景对应的目标场景标识。
[0025]进一步地,将相应输入参数与参数取值对应写入针对逻辑电路的输入文件,包括:
[0026]将相应输入参数与参数取值以键值对形式写入输入文件,其中,键值对的键为相应输入参数,键值对的值为相应输入参数对应的参数取值。
[0027]第二方面,本申请实施例提供了一种用于生成测试用例的装置,该装置包括:
[0028]信息获取单元,用于获取目标测试场景对应的目标场景标识,从电路模板组中选取与目标场景标识对应的电路模板,作为目标电路模板,其中,电路模板组中的电路模板与场景标识相对应;
[0029]规则选取单元,用于从预先设定的、对应于目标测试场景的关键词生成规则集中选取关键词生成规则,作为目标关键词生成规则,以及根据目标关键词生成规则,生成场景关键词,其中,关键词生成规则集中的关键词生成规则对应有规则属性;
[0030]电路生成单元,用于根据目标电路模板和场景关键词,生成针对目标测试场景的
逻辑电路,以及根据目标关键词生成规则对应的规则属性,确定逻辑电路的电路属性;
[0031]文件生成单元,用于根据逻辑电路中的各输入参数的取值规则,生成相应输入参数的参数取值,以及将相应输入参数与参数取值对应写入针对逻辑电路的输入文件;
[0032]信息生成单元,用于根据逻辑电路、逻辑电路的电路属性和输入文件,生成用于对目标测试场景进行测试的测试用例。
[0033]第三方面,本申请实施例提供了一种服务器,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一项用于生成测试用例的方法的步骤。
[0034]第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现上述任一项用于生成测试用例的方法的步骤。
[0035]第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于生成测试用例的方法,其特征在于,所述方法包括:获取目标测试场景对应的目标场景标识,从电路模板组中选取与所述目标场景标识对应的电路模板,作为目标电路模板,其中,所述电路模板组中的电路模板与场景标识相对应;从预先设定的、对应于所述目标测试场景的关键词生成规则集中选取关键词生成规则,作为目标关键词生成规则,以及根据所述目标关键词生成规则,生成场景关键词,其中,所述关键词生成规则集中的关键词生成规则对应有规则属性;根据所述目标电路模板和所述场景关键词,生成针对所述目标测试场景的逻辑电路,以及根据所述目标关键词生成规则对应的规则属性,确定所述逻辑电路的电路属性;根据所述逻辑电路中的各输入参数的取值规则,生成相应输入参数的参数取值,以及将相应输入参数与参数取值对应写入针对所述逻辑电路的输入文件;根据所述逻辑电路、所述逻辑电路的电路属性和所述输入文件,生成用于对所述目标测试场景进行测试的测试用例。2.根据权利要求1所述的方法,其特征在于,所述根据所述逻辑电路、所述逻辑电路的电路属性和所述输入文件,生成用于对所述目标测试场景进行测试的测试用例,包括:根据所述电路属性,确定期望电路编译通过结果,以及根据所述逻辑电路、所述期望电路编译通过结果和所述输入文件,生成用于对所述目标测试场景进行测试的测试用例。3.根据权利要求2所述的方法,其特征在于,所述根据所述逻辑电路、所述期望电路编译通过结果和所述输入文件,生成用于对所述目标测试场景进行测试的测试用例,包括:对所述逻辑电路进行存储,得到电路存储路径,对所述输入文件进行存储,得到文件存储路径,以及对应存储所述场景关键词、所述电路存储路径和所述文件存储路径;将所述场景关键词和所述期望电路编译通过结果,组合生成用于对所述目标测试场景进行测试的测试用例。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在目标测试用例被选取用于测试时,提取与所述目标测试用例中的目标场景关键词对应的目标电路存储路径和目标文件存储路径;根据所述目标电路存储路径和所述目标文件存储路径,获取目标逻辑电路和目标输入文件;根据待测软件对所述目标逻辑电路进行编译,得到实际电路编译通过结果,根据所述实际电路编译通过结果和所述目标测试用例中的所述期望电路编译通过结果,确定所述待测软件的测试通过状态,其中,所述测试通过状态包括测试已通过状态和测试未通过状态。5.根据权利要求4所述的方法,其特征在于,若所述待测软件为零知识证明软件,所述待测软件在...

【专利技术属性】
技术研发人员:蔡亮李伟吕志成胡麦芳张珂杰
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1