一种软件功能测试方法、装置、电子设备及存储介质与流程

文档序号:37262893发布日期:2024-03-12 20:43阅读:16来源:国知局
一种软件功能测试方法、装置、电子设备及存储介质与流程

本发明涉及软件,具体而言,涉及一种软件功能测试方法、装置、电子设备及存储介质。


背景技术:

1、为了提高用户的软件使用体验,在软件发布前,测试人员都会对软件进行大量的漏洞和缺陷测试,并对出现的漏洞和缺陷进行修复,以提高软件的健壮性和安全性。

2、现有的软件测试方式,一般是由技术人员分析出软件的功能模块和对应的入口功能点,再针对各个功能模块编写对应的启动程序,以分别对各个功能模块进行测试。这样的测试方式不仅十分考验技术人员的编程能力,还非常耗费时间成本。


技术实现思路

1、本发明的目的包括,例如,提供了一种,其能够至少部分解决上述技术问题。

2、本发明的实施例可以这样实现:

3、第一方面,本发明实施例提供了一种软件功能测试方法,所述方法包括:

4、启动待测试软件;所述待测试软件包括多个待测试功能模块,每个所述待测试功能模块对应一个入口点函数;

5、基于预设测试序列,从各所述待测试功能模块中确定目标待测试功能模块;

6、调用与所述目标待测试功能模块对应的目标触发数据,触发所述目标待测试功能模块对应的入口点函数,并保存触发所述入口点函数时所述待测试软件的进程快照;

7、基于预设策略,对所述进程快照进行功能测试。

8、可选地,每个所述待测试功能模块标记有测试优先级,所述基于预设测试序列,从各所述待测试功能模块中确定目标待测试功能模块,包括:

9、获取各所述待测试功能模块的测试优先级;

10、按照所述测试优先级从高到低的顺序对各所述待测试功能模块排序,得到所述预设测试序列;

11、将所述预设测试序列中第一个待测试功能模块确定为所述目标待测试功能模块。

12、可选地,所述保存触发所述入口点函数时所述待测试软件的进程快照,包括:

13、暂停所述待测试软件的进程,对所述待测试软件当前的进程进行快照,得到所述进程快照;

14、调用调试器,并基于所述调试器保存所述进程快照至测试内存空间;

15、或,基于所述进程快照创建转储文件,将所述转储文件保存至所述测试内存空间。

16、可选地,所述基于预设策略,对所述进程快照进行功能测试,包括:

17、加载保存于所述测试内存空间的进程快照;

18、填充变异数据包中多条基于所述目标触发数据变异得到的变异数据至所述进程快照;

19、运行所述进程快照,并依次基于各所述变异数据对所述进程快照进行功能测试。

20、可选地,所述方法还包括得到所述变异数据包的步骤,所述步骤包括:

21、读取所述目标触发数据;

22、基于变异算法,对所述目标触发数据分别进行删减变异、增加变异、重复变异以及随机变异,分别得到预设数量个删减变异数据、增加变异数据、重复变异数据以及随机变异数据;

23、将各所述删减变异数据、所述增加变异数据、所述重复变异数据以及所述随机变异数据作为所述变异数据,并对各所述变异数据打包,得到所述变异数据包。

24、可选地,所述方法还包括获取所述目标触发数据的步骤,所述步骤包括:

25、分别基于各所述待测试功能模块的功能,生成多个触发数据;

26、针对每个所述待测试功能模块,采用对应的触发数据对所述待测试功能模块的入口点函数进行触发;

27、分别将成功触发各所述入口点函数的触发数据作为各所述待测试功能模块对应的目标触发数据,保存各所述目标触发数据至数据库。

28、可选地,所述方法还包括:

29、监测所述功能测试中是否出现异常;

30、若是,则标记出现异常时输入的变异数据为异常数据,并输入下一个变异数据重新进行所述功能测试,直至所述功能测试结束;

31、记录所有所述异常数据,并生成异常报告。

32、第二方面,本发明实施例提供了一种软件功能测试装置,包括:

33、待测试软件启动单元,用于启动待测试软件;所述待测试软件包括多个待测试功能模块,每个所述待测试功能模块对应一个入口点函数;

34、目标待测试功能模块确定单元,用于基于预设测试序列,从各所述待测试功能模块中确定目标待测试功能模块;

35、进程快照获取单元,用于调用与所述目标待测试功能模块对应的目标触发数据,触发所述目标待测试功能模块对应的入口点函数,并保存触发所述入口点函数时所述待测试软件的进程快照;

36、功能测试单元,用于基于预设策略,对所述进程快照进行功能测试。

37、第三方面,本发明实施例提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述方法的步骤。

38、第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在服务器实现上述任一项所述方法的步骤。

39、本发明实施例的有益效果包括,例如:

40、通过保存触发目标待测试功能模块入口点函数时的软件进程快照,进而基于预设策略对进程快照进行功能测试。因此不需要技术人员对待测试功能编写启动程序,节约了人力资源以及时间,提高了软件测试的效率。



技术特征:

1.一种软件功能测试方法,其特征在于,所述方法包括:

2.如权利要求1所述的软件功能测试方法,其特征在于,每个所述待测试功能模块标记有测试优先级,所述基于预设测试序列,从各所述待测试功能模块中确定目标待测试功能模块,包括:

3.如权利要求1所述的软件功能测试方法,其特征在于,所述保存触发所述入口点函数时所述待测试软件的进程快照,包括:

4.如权利要求3所述的软件功能测试方法,其特征在于,所述基于预设策略,对所述进程快照进行功能测试,包括:

5.如权利要求4所述的软件功能测试方法,其特征在于,所述方法还包括得到所述变异数据包的步骤,所述步骤包括:

6.如权利要求1所述的软件功能测试方法,其特征在于,所述方法还包括获取所述目标触发数据的步骤,所述步骤包括:

7.如权利要求4所述的软件功能测试方法,其特征在于,所述方法还包括:

8.一种软件功能测试装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1~7任一项所述方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在服务器实现权利要求1~7任一项所述方法的步骤。


技术总结
本发明的实施例提供了一种软件功能测试方法、装置、电子设备及存储介质,设计软件技术领域。该方法包括:启动待测试软件。所述待测试软件包括多个待测试功能模块,每个所述待测试功能模块对应一个入口点函数。基于预设测试序列,从各所述待测试功能模块中确定目标待测试功能模块。调用与所述目标待测试功能模块对应的目标触发数据,触发所述目标待测试功能模块对应的入口点函数,并保存触发所述入口点函数时所述待测试软件的进程快照。基于预设策略,对所述进程快照进行功能测试。本发明可以有效提高软件测试的效率,节省测试时间以及人力成本。

技术研发人员:刘兴文
受保护的技术使用者:北京知道创宇信息技术股份有限公司
技术研发日:
技术公布日:2024/3/11
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1