测试用例生成方法、设备、存储介质及程序产品与流程

文档序号:38072439发布日期:2024-05-21 20:07阅读:51来源:国知局
测试用例生成方法、设备、存储介质及程序产品与流程

本公开实施例涉及计算机与网络通信,尤其涉及一种测试用例生成方法、设备、存储介质及程序产品。


背景技术:

1、在应用程序开发过程中通常会对应用程序进行测试,其中单元测试(unittesting)又称为模块测试,是针对应用程序的程序模块(软件设计的最小单元)来进行正确性检验的测试工作。而模块测试通常采用测试用例来实现。

2、现有技术中,在程序模块代码较为简单时,测试用例一般由研发人员来编写;随着工程的发展,程序模块代码逐步复杂,可采用一些测试用例生成算法,其中关心源代码逻辑的白盒测试可分为基于符号执行的测试用例生成算法和基于搜索的测试用例生成算法,目标均是构造测试用例来尽可能覆盖全部代码。

3、人工编写测试用例仅能应对代码简单的情况,且人力成本较高、效率低下;而现有的测试用例生成算法在生成测试用例时算法复杂,耗时较长,效率同样也比较低下。


技术实现思路

1、本公开实施例提供一种测试用例生成方法、设备、存储介质及程序产品,以提高测试用例的生成效率。

2、第一方面,本公开实施例提供一种测试用例生成方法,应用于测试用例生成设备,所述方法包括:

3、获取测试用例生成任务的待执行代码文件,所述待执行代码文件是根据待测试程序代码中待测程序模块生成;

4、执行所述待执行代码文件,通过执行所述待执行代码文件以随机构建所述待测程序模块的入参,并将所述待测程序模块的入参输入所述待测程序模块中获取所述待测程序模块的结果,将所述待测程序模块的入参和结果输入预设测试代码模板中,生成初始测试用例,按照预设条件对初始测试用例进行过滤,得到最终测试用例。

5、第二方面,本公开实施例提供一种测试用例生成方法,应用于代码生成设备,所述方法包括:

6、从待测试程序代码中提取待测程序模块;

7、根据待测程序模块生成测试用例生成任务的待执行代码文件,所述待执行代码文件中包括随机构建所述待测程序模块的入参、将所述待测程序模块的入参输入所述待测程序模块中获取所述待测程序模块的结果、将所述待测程序模块的入参和结果输入预设测试代码模板中生成初始测试用例、以及按照预设条件对初始测试用例进行过滤得到最终测试用例的相关代码;

8、将所述待执行代码文件发送给测试用例生成设备,以由所述测试用例生成设备执行所述待执行代码文件生成测试用例。

9、第三方面,本公开实施例提供一种测试用例生成设备,包括:

10、获取单元,用于获取测试用例生成任务的待执行代码文件,所述待执行代码文件是根据待测试程序代码中待测程序模块生成;

11、执行单元,用于执行所述待执行代码文件,通过执行所述待执行代码文件以随机构建所述待测程序模块的入参,并将所述待测程序模块的入参输入所述待测程序模块中获取所述待测程序模块的结果,将所述待测程序模块的入参和结果输入预设测试代码模板中,生成初始测试用例,按照预设条件对初始测试用例进行过滤,得到最终测试用例。

12、第四方面,本公开实施例提供一种代码生成设备,包括:

13、提取单元,用于从待测试程序代码中提取待测程序模块;

14、代码生成单元,用于根据待测程序模块生成测试用例生成任务的待执行代码文件,所述待执行代码文件中包括随机构建所述待测程序模块的入参、将所述待测程序模块的入参输入所述待测程序模块中获取所述待测程序模块的结果、将所述待测程序模块的入参和结果输入预设测试代码模板中生成初始测试用例、以及按照预设条件对初始测试用例进行过滤得到最终测试用例的相关代码;

15、发送单元,用于将所述待执行代码文件发送给测试用例生成设备,以由所述测试用例生成设备执行所述待执行代码文件生成测试用例。

16、第五方面,本公开实施例提供一种电子设备,包括:至少一个处理器和存储器;

17、所述存储器存储计算机执行指令;

18、所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的测试用例生成方法或第二方面以及第二方面各种可能的设计所述的测试用例生成方法。

19、第六方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的测试用例生成方法或第二方面以及第二方面各种可能的设计所述的测试用例生成方法。

20、第七方面,本公开实施例提供一种计算机程序产品,包括计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的测试用例生成方法或第二方面以及第二方面各种可能的设计所述的测试用例生成方法。

21、本公开实施例提供的测试用例生成方法、设备、存储介质及程序产品,通过获取测试用例生成任务的待执行代码文件,待执行代码文件是根据待测试程序代码中待测程序模块生成;执行待执行代码文件,通过执行待执行代码文件以随机构建待测程序模块的入参,并将待测程序模块的入参输入待测程序模块中获取待测程序模块的结果,将所述待测程序模块的入参和结果输入预设测试代码模板中,生成初始测试用例,按照预设条件对初始测试用例进行过滤,得到最终测试用例。在本公开实施例中可对任一待测程序模块自动生成待执行代码文件,通过执行待执行代码文件可实现自动化生成测试用例和自动化过滤,提高了测试用例构造效率,可适用于任意简单或者复杂的待测试程序代码,且生成测试用例过程中无需人工参与,节约了人力成本。



技术特征:

1.一种测试用例生成方法,其特征在于,应用于测试用例生成设备,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述随机构建所述待测程序模块的入参,包括:

3.根据权利要求2所述的方法,其特征在于,还包括:

4.根据权利要求1所述的方法,其特征在于,所述对初始测试用例进行过滤,包括:

5.根据权利要求1所述的方法,其特征在于,所述将所述待测程序模块的入参输入所述待测程序模块中获取所述待测程序模块的结果,包括:

6.根据权利要求1-5任一项所述的方法,其特征在于,所述待执行代码文件是由代码生成设备根据待测试程序代码中待测程序模块生成,并上传消息队列;

7.一种测试用例生成方法,其特征在于,应用于代码生成设备,所述方法包括:

8.根据权利要求7所述的方法,其特征在于,所述随机构建所述待测程序模块的入参的相关代码包括调用fuzzer根据所述待测程序模块的入参类型随机生成所述待测程序模块的入参的相关代码;和/或

9.根据权利要求7所述的方法,其特征在于,所述将所述待执行代码文件发送给测试用例生成设备,包括:

10.根据权利要求7-9任一项所述的方法,其特征在于,所述将所述待执行代码文件发送给测试用例生成设备,包括:

11.一种测试用例生成设备,其特征在于,包括:

12.一种代码生成设备,其特征在于,包括:

13.一种电子设备,其特征在于,包括:至少一个处理器和存储器;

14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-6或7-10任一项所述的方法。

15.一种计算机可读存储介质,其特征在于,包括计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-6或7-10任一项所述的方法。


技术总结
本公开实施例提供一种测试用例生成方法、设备、存储介质及程序产品,通过获取测试用例生成任务的待执行代码文件,待执行代码文件是根据待测试程序代码中待测程序模块生成;执行待执行代码文件,通过执行所述待执行代码文件以随机构建待测程序模块的入参,并将待测程序模块的入参输入待测程序模块中获取待测程序模块的结果,将待测程序模块的入参和结果输入预设测试代码模板中生成初始测试用例,按照预设条件对初始测试用例过滤得到最终测试用例。在本公开实施例中可对任一待测程序模块自动生成待执行代码文件,通过执行待执行代码文件实现自动化生成测试用例和自动化过滤,提高测试用例构造效率,且生成测试用例过程无需人工参与,节约人力成本。

技术研发人员:曹紫光,刘冠成,毛雪,高玉军
受保护的技术使用者:抖音视界有限公司
技术研发日:
技术公布日:2024/5/20
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1