一种软件测试用测试实例生成方法及系统转让专利

申请号 : CN202210866747.X

文献号 : CN115080446B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐刚汪立翼

申请人 : 苏州市软件评测中心有限公司

摘要 :

本申请涉及一种软件测试用测试实例生成方法及系统,其方法包括以下步骤:确定被测软件的功能模块,基于软件运行逻辑生成被测软件的功能模块树状图,且每个功能模块均包括若干个测试节点;基于功能模块树状图和各个功能模块的测试节点,生成测试节点树状图;确定待测试功能模块,基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的节点路线数量和节点路线信息;依据待测试功能模块各个测试节点的节点路线数量和节点路线信息配置节点路线上各个测试节点参数生成测试用例。本申请能够高效全面的生成对应该待测试功能模块各个节点路线的测试用例,达到有效提高软件测试质量与效率的效果。

权利要求 :

1.一种软件测试用测试实例生成方法,其特征在于,包括以下步骤:确定被测软件的功能模块,基于软件运行逻辑生成被测软件的功能模块树状图,且每个功能模块均包括若干个测试节点;

基于功能模块树状图和各个功能模块的测试节点,生成测试节点树状图;

确定待测试功能模块,基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的节点路线数量和节点路线信息;

依据待测试功能模块各个测试节点的节点路线数量和节点路线信息配置节点路线上各个测试节点参数生成测试用例;

所述基于功能模块树状图和各个功能模块的测试节点,生成测试节点树状图具体包括以下步骤:基于软件运行逻辑对功能模块树状图上的功能模块进行分层,获得若干个功能模块图层;

确定各个功能模块内各个测试节点与下一功能模块图层中各个功能模块的逻辑连线;

整合各个功能模块内测试节点的逻辑连线生成测试节点树状图;

所述确定待测试功能模块,基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的节点路线数量和节点路线信息具体包括以下步骤:根据用户测试需求确定待测试功能模块,所述待测试功能模块单次仅可选取一个;

基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的与下一功能模块图层中各个功能模块的逻辑连线;

基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的节点路线数量和节点路线信息;

基于待测试功能模块的测试节点与下一功能模块图层中各个功能模块的逻辑连线对各个测试节点的节点路线进行分类,将各个测试节点的节点路线分为正逻辑节点路线和逆逻辑节点路线;

所述依据待测试功能模块各个测试节点的节点路线数量和节点路线信息配置节点路线上各个测试节点参数生成测试用例具体包括以下步骤:依据待测试功能模块各个测试节点的节点路线数量生成测试用例数量推荐值,发送至管理人员处确定生成测试用例数量A,且生成测试用例数量A必定大于待测试功能模块路线总数B;

确定待测试功能模块的节点路线总数B、正逻辑节点路线数量C和逆逻辑节点路线数量D;

根据预设的计算公式计算正逻辑测试用例总数和逆逻辑测试用例总数,所述正逻辑测试用例总数计算公式为 ,所述逆逻辑测试用例总数计算公式为;

根据正逻辑测试用例总数和逆逻辑测试用例总数对各个节点路线上各个测试节点配置参数生成测试用例,且每个节点路线生成的测试用例数量不小于1;

所述依据待测试功能模块各个测试节点的节点路线数量和节点路线信息配置节点路线上各个测试节点参数生成测试用例还包括:在每个节点路线尾部增加用于重置测试软件测试环境的测试节点,依据待测试功能模块节点路线信息配置节点路线上各个测试节点参数生成测试用例。

2.一种软件测试用测试实例生成系统,其特征在于,包括:功能树状图生成模块(1),用于确定被测软件的功能模块,基于软件运行逻辑生成被测软件的功能模块树状图,且每个功能模块均包括若干个测试节点;

节点树状图生成模块(2),用于基于功能模块树状图和各个功能模块的测试节点,生成测试节点树状图;

节点路线获取模块(3),用于确定待测试功能模块,基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的节点路线数量和节点路线信息;

用例生成模块(4),用于依据待测试功能模块各个测试节点的节点路线数量和节点路线信息配置节点路线上各个测试节点参数生成测试用例;

所述节点树状图生成模块(2)包括:

模块分层单元(21),用于基于软件运行逻辑对功能模块树状图上的功能模块进行分层,获得若干个功能模块图层;

逻辑连线单元(22),用于确定各个功能模块内各个测试节点与下一功能模块图层中各个功能模块的逻辑连线;

节点整合单元(23),用于整合各个功能模块内测试节点的逻辑连线生成测试节点树状图;

所述节点路线获取模块(3)包括:

需求获取单元(31),用于根据用户测试需求确定待测试功能模块,所述待测试功能模块单次仅可选取一个;

节点确定单元(32),用于基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的与下一功能模块图层中各个功能模块的逻辑连线;

路线确定单元(33),用于基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的节点路线数量和节点路线信息;

路线分类单元(34),基于待测试功能模块的测试节点与下一功能模块图层中各个功能模块的逻辑连线对各个测试节点的节点路线进行分类,将各个测试节点的节点路线分为正逻辑节点路线和逆逻辑节点路线;

所述用例生成模块(4)包括:

用例数量决策单元(41),用于依据待测试功能模块各个测试节点的节点路线数量生成测试用例数量推荐值,发送至管理人员处确定生成测试用例数量A,且生成测试用例数量A必定大于待测试功能模块路线总数B;

路线数量确定单元(42),用于确定待测试功能模块的节点路线总数B、正逻辑节点路线数量C和逆逻辑节点路线数量D;

用例数量计算单元(43),用于根据预设的计算公式计算正逻辑测试用例总数和逆逻辑测试用例总数,所述正逻辑测试用例总数计算公式为 ,所述逆逻辑用例总数计算公式为 ;

测试用例生成单元(44),用于根据正逻辑测试用例总数和逆逻辑测试用例总数对各个节点路线上各个测试节点配置参数生成测试用例,且每个节点路线生成的测试用例数量不小于1。

3.一种计算机可读存储介质,其特征在于:存储有能够被处理器加载并执行如权利要求1中所述软件测试用测试实例生成方法的计算机程序。

说明书 :

一种软件测试用测试实例生成方法及系统

技术领域

[0001] 本申请涉及软件测试的领域,尤其是涉及一种软件测试用测试实例生成方法及系统。

背景技术

[0002] 随着社会进步、科技发展及软件应用范围的增广,软件规模愈来愈大。软件不仅仅是在规模上快速地发展扩大,而且其复杂性也急剧地增加,规模达到千万行的大型软件系统层出不穷。规模及复杂性的与日俱增使其错误产生几率大大增加,其中潜在的缺陷与故障所造成损失不断发生。大型软件系统中的关键构件的质量问题可能造成严重损失或灾难,因此质量问题已为开发软件和应用软件的关注焦点。软件缺陷具有“难以看到”和“难以抓到”的特征,很有必要引入软件测试来提高软件质量。而且软件测试并非一次就能完成,通常需要多次执行,其工作量和时间耗费巨大。对可靠性要求更高的大型软件系统,其测试工作已占到整个软件项目工作量的50%~60%。
[0003] 传统的手工测试虽然仍为基本方式,但自动化测试得到了越来越广泛的运用。作为软件测试重要策略与技术手段,自动化测试可实现人工测试无法实现或难以实现的测试及更高的测试质量与效率。目前越来越多的软件测试必须引入自动化测试技术才能保障顺利完成。在许多情况下特别是在规模较大及复杂性较高的大型软件系统自动化测试能发挥较大作用。作为自动化测试中的重要组成部分之一的自动化测试用例是指自动化测试执行中引用的具体测试用例。如何高效地实现大型软件系统的自动化测试一直是困扰软件测试行业的一个课题,其中的核心问题在于如何快速并准确地创建自动化测试脚本。
[0004] 针对上述中的相关技术,发明人认为现有软件测试过程中,软件测试用例大多依靠人工编译,较为费时费力且往往很难满足软测测试中测试用例的数量需求,容易影响软件测试质量与效率。

发明内容

[0005] 为了解决现有软件测试过程中,软件测试用例大多依靠人工编译,较为费时费力且往往很难满足软测测试中测试用例的数量需求,容易影响软件测试质量与效率,本申请提供一种软件测试用测试实例生成方法及系统。
[0006] 第一方面,本申请提供一种软件测试用测试实例生成方法及系统,采用如下的技术方案:
[0007] 一种软件测试用测试实例生成方法及系统,包括以下步骤:
[0008] 确定被测软件的功能模块,基于软件运行逻辑生成被测软件的功能模块树状图,且每个功能模块均包括若干个测试节点;
[0009] 基于功能模块树状图和各个功能模块的测试节点,生成测试节点树状图;
[0010] 确定待测试功能模块,基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的节点路线数量和节点路线信息;
[0011] 依据待测试功能模块各个测试节点的节点路线数量和节点路线信息配置节点路线上各个测试节点参数生成测试用例。
[0012] 通过采用上述技术方案,根据被测软件的功能模块和软件运行逻辑建立生成功能模块树状图以及测试节点树状图,能够直观体现被测软件运行逻辑以及运行路线,基于用户测试需求单次仅选取一个功能模块确定节点路线,并对应各个节点路线配置节点参数生成测试用例,易于操作理解,对需要测试的功能模块实现自动全方面各路线的测试用例生成,能够全面覆盖待测试功能模块的各个节点路线,将测试人员从繁琐重复的机械式测试过程解脱出来,有助于提高测试用例生成效率以及测试用例质量,达到有效提高软件测试质量与效率的效果。另外单次仅选取一个功能模块进行用例生成,能够确保单一测试用例仅用来测试该功能模块的一个功能点,有助于提高测试用例测试精度和测试效率,且有助于降低测试脚本在高强度重复测试下出现故障的概率,有助于提高软件测试质量与效率。
[0013] 优选的,所述基于功能模块树状图和各个功能模块的测试节点,生成测试节点树状图具体包括以下步骤:
[0014] 基于软件运行逻辑对功能模块树状图上的功能模块进行分层,获得若干个功能模块图层;
[0015] 确定各个功能模块内各个测试节点与下一功能模块图层中各个功能模块的逻辑连线;
[0016] 整合各个功能模块内测试节点的逻辑连线生成测试节点树状图。
[0017] 通过采用上述技术方案,对功能模块树状图进行分层,使得整个功能模块树状图更加清晰明了,基于各个功能模块图层确定逻辑连线,单条节点路线在每个功能模块图层仅与一个功能模块连接,有助于清晰高效构建生成测试节点树状图,进而便于待测试模块的节点路线和数量的确定;以单一功能模块为基点,能够有效简化节点路径,使得节点树状图更加简洁明了;在根据用户测试需求确定待测试功能模块后,能够高效全面的生成对应该功能模块各个节点路线的测试用例,达到有效提高软件测试质量与效率的效果。
[0018] 优选的,所述确定待测试功能模块,基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的节点路线数量和节点路线信息具体包括以下步骤:
[0019] 根据用户测试需求确定待测试功能模块,所述待测试功能模块单次仅可选取一个;
[0020] 基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的与下一功能模块图层中各个功能模块的逻辑连线;
[0021] 基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的节点路线数量和节点路线信息;
[0022] 基于待测试功能模块的测试节点与下一功能模块图层中各个功能模块的逻辑连线对各个测试节点的节点路线进行分类,将各个测试节点的节点路线分为正逻辑节点路线和逆逻辑节点路线。
[0023] 通过采用上述技术方案,基于用户测试需求单次选取单一功能模块进行测试用例自动生成,确保单一测试用例仅用来测试该功能模块的一个功能点,有助于提高测试用例的测试精度和测试效率;将待测试功能的节点路径基于软件运行逻辑分类,有助于后续控制正逻辑测试用例和逆逻辑测试用例的生成数量比,有助于保护测试脚本,降低测试脚本故障率,提高测试精度。
[0024] 优选的,所述依据待测试功能模块各个测试节点的节点路线数量和节点路线信息配置节点路线上各个测试节点参数生成测试用例具体包括以下步骤:
[0025] 依据待测试功能模块各个测试节点的节点路线数量生成测试用例数量推荐值,发送至管理人员处确定生成测试用例数量A,且生成测试用例数量A必定大于待测试功能模块路线总数B;
[0026] 确定待测试功能模块的节点路线总数B、正逻辑节点路线数量C和逆逻辑节点路线数量D;
[0027] 根据预设的计算公式计算正逻辑测试用例总数和逆逻辑测试用例总数,所述正逻辑测试用例总数计算公式为 ,所述逆逻辑测试用例总数计算公式为;
[0028] 根据正逻辑测试用例总数和逆逻辑测试用例总数对各个节点路线上各个测试节点配置参数生成测试用例,且每个节点路线生成的测试用例数量不小于1。
[0029] 通过采用上述技术方案,基于用户需求确定需要生成的测试用例数量A,并基于正逻辑节点路线数量C和逆逻辑节点路线数量D数量占比,对应消减逆逻辑节点路线生成的测试用例数量占比,使得正逻辑节点路线生成的测试用例数量多于逆逻辑节点路线生成的测试用例,降低逆逻辑测试用例的占比,在保证测试全面性的基础下,降低测试脚本故障概率,达到有效提高软件测试质量和测试效率的效果。
[0030] 优选的,所述依据待测试功能模块各个测试节点的节点路线数量和节点路线信息配置节点路线上各个测试节点参数生成测试用例还包括:在每个节点路线尾部增加用于重置测试软件测试环境的测试节点,依据待测试功能模块节点路线信息配置节点路线上各个测试节点参数生成测试用例。
[0031] 通过采用上述技术方案,在生成测试用例时对每个节点路线尾部添加用于重置测试软件测试环境的测试节点,能够使得每个测试用例完成测试后重置软件运行测试环境,确保每个测试用例能够稳定执行,有助于提高测试质量和和测试精度。
[0032] 第二方面,本申请提供一种软件测试用测试实例生成系统,采用如下的技术方案:
[0033] 一种软件测试用测试实例生成系统,包括:
[0034] 功能树状图生成模块,用于确定被测软件的功能模块,基于软件运行逻辑生成被测软件的功能模块树状图,且每个功能模块均包括若干个测试节点;
[0035] 节点树状图生成模块,用于基于功能模块树状图和各个功能模块的测试节点,生成测试节点树状图;
[0036] 节点路线获取模块,用于确定待测试功能模块,基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的节点路线数量和节点路线信息;
[0037] 用例生成模块,用于依据待测试功能模块各个测试节点的节点路线数量和节点路线信息配置节点路线上各个测试节点参数生成测试用例。
[0038] 通过采用上述技术方案,根据被测软件的功能模块和软件运行逻辑建立生成功能模块树状图以及测试节点树状图,能够直观体现被测软件运行逻辑以及运行路线,基于用户测试需求单次仅选取一个功能模块确定节点路线,并对应各个节点路线配置节点参数生成测试用例,易于操作理解,对需要测试的功能模块实现自动全方面各路线的测试用例生成,能够全面覆盖待测试功能模块的各个节点路线,将测试人员从繁琐重复的机械式测试过程解脱出来,有助于提高测试用例生成效率以及测试用例质量,达到有效提高软件测试质量与效率的效果。另外单次仅选取一个功能模块进行用例生成,能够确保单一测试用例仅用来测试该功能模块的一个功能点,有助于提高测试用例测试精度和测试效率,且有助于降低测试脚本在高强度重复测试下出现故障的概率,有助于提高软件测试质量与效率。
[0039] 优选的,所述节点树状图生成模块包括:
[0040] 模块分层单元,用于基于软件运行逻辑对功能模块树状图上的功能模块进行分层,获得若干个功能模块图层;
[0041] 逻辑连线单元,用于确定各个功能模块内各个测试节点与下一功能模块图层中各个功能模块的逻辑连线;
[0042] 节点整合单元,用于整合各个功能模块内测试节点的逻辑连线生成测试节点树状图。
[0043] 通过采用上述技术方案,对功能模块树状图进行分层,使得整个功能模块树状图更加清晰明了,基于各个功能模块图层确定逻辑连线,单条节点路线在每个功能模块图层仅与一个功能模块连接,有助于清晰高效构建生成测试节点树状图,进而便于待测试模块的节点路线和数量的确定;以单一功能模块为基点,能够有效简化节点路径,使得节点树状图更加简洁明了;在根据用户测试需求确定待测试功能模块后,能够高效全面的生成对应该功能模块各个节点路线的测试用例,达到有效提高软件测试质量与效率的效果。
[0044] 优选的,所述节点路线获取模块包括:
[0045] 需求获取单元,用于根据用户测试需求确定待测试功能模块,所述待测试功能模块单次仅可选取一个;
[0046] 节点确定单元,用于基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的与下一功能模块图层中各个功能模块的逻辑连线;
[0047] 路线确定单元,用于基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的节点路线数量和节点路线信息;
[0048] 路线分类单元,基于待测试功能模块的测试节点与下一功能模块图层中各个功能模块的逻辑连线对各个测试节点的节点路线进行分类,将各个测试节点的节点路线分为正逻辑节点路线和逆逻辑节点路线。
[0049] 通过采用上述技术方案,基于用户测试需求单次选取单一功能模块进行测试用例自动生成,确保单一测试用例仅用来测试该功能模块的一个功能点,有助于提高测试用例的测试精度和测试效率;将待测试功能的节点路径基于软件运行逻辑分类,有助于后续控制正逻辑测试用例和逆逻辑测试用例的生成数量比,有助于保护测试脚本,降低测试脚本故障率,提高测试精度。
[0050] 优选的,所述用例生成模块包括:
[0051] 用例数量决策单元,用于依据待测试功能模块各个测试节点的节点路线数量生成测试用例数量推荐值,发送至管理人员处确定生成测试用例数量A,且生成测试用例数量A必定大于待测试功能模块路线总数B;
[0052] 路线数量确定单元,用于确定待测试功能模块的节点路线总数B、正逻辑节点路线数量C和逆逻辑节点路线数量D;
[0053] 用例数量计算单元,用于根据预设的计算公式计算正逻辑测试用例总数和逆逻辑测试用例总数,所述正逻辑测试用例总数计算公式为 ,所述逆逻辑测试用例总数计算公式为 ;
[0054] 测试用例生成单元,用于根据正逻辑测试用例总数和逆逻辑测试用例总数对各个节点路线上各个测试节点配置参数生成测试用例,且每个节点路线生成的测试用例数量不小于1。
[0055] 通过采用上述技术方案,基于用户需求确定需要生成的测试用例数量A,并基于正逻辑节点路线数量C和逆逻辑节点路线数量D数量占比,对应消减逆逻辑节点路线生成的测试用例数量占比,使得正逻辑节点路线生成的测试用例数量多于逆逻辑节点路线生成的测试用例,降低逆逻辑测试用例的占比,在保证测试全面性的基础下,降低测试脚本故障概率,达到有效提高软件测试质量和测试效率的效果。
[0056] 第三方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
[0057] 一种计算机可读存储介质,应用于上述方案,存储有能够被处理器加载并执行如上述方法任一种方法的计算机程序。
[0058] 通过采用上述技术方案,根据被测软件的功能模块和软件运行逻辑建立生成功能模块树状图以及测试节点树状图,能够直观体现被测软件运行逻辑以及运行路线,基于用户测试需求单次仅选取一个功能模块确定节点路线,并对应各个节点路线配置节点参数生成测试用例,易于操作理解,对需要测试的功能模块实现自动全方面各路线的测试用例生成,能够全面覆盖待测试功能模块的各个节点路线,将测试人员从繁琐重复的机械式测试过程解脱出来,有助于提高测试用例生成效率以及测试用例质量,达到有效提高软件测试质量与效率的效果。
[0059] 综上所述,本申请包括以下至少一种有益技术效果:
[0060] 1.根据被测软件的功能模块和软件运行逻辑建立生成功能模块树状图以及测试节点树状图,能够直观体现被测软件运行逻辑以及运行路线,基于用户测试需求单次仅选取一个功能模块确定节点路线,并对应各个节点路线配置节点参数生成测试用例,易于操作理解,对需要测试的功能模块实现自动全方面各路线的测试用例生成,能够全面覆盖待测试功能模块的各个节点路线,将测试人员从繁琐重复的机械式测试过程解脱出来,有助于提高测试用例生成效率以及测试用例质量,达到有效提高软件测试质量与效率的效果;
[0061] 2.基于用户测试需求单次选取单一功能模块进行测试用例自动生成,确保单一测试用例仅用来测试该功能模块的一个功能点,有助于提高测试用例的测试精度和测试效率;将待测试功能的节点路径基于软件运行逻辑分类,有助于后续控制正逻辑测试用例和逆逻辑测试用例的生成数量比,有助于保护测试脚本,降低测试脚本故障率,提高测试精度;
[0062] 3.基于用户需求确定需要生成的测试用例数量A,并基于正逻辑节点路线数量C和逆逻辑节点路线数量D数量占比,对应消减逆逻辑节点路线生成的测试用例数量占比,使得正逻辑节点路线生成的测试用例数量多于逆逻辑节点路线生成的测试用例,降低逆逻辑测试用例的占比,在保证测试全面性的基础下,降低测试脚本故障概率,达到有效提高软件测试质量和测试效率的效果;
[0063] 4.在生成测试用例时对每个节点路线尾部添加用于重置测试软件测试环境的测试节点,能够使得每个测试用例完成测试后重置软件运行测试环境,确保每个测试用例能够稳定执行,有助于提高测试质量和和测试精度。

附图说明

[0064] 图1是本申请实施例中软件测试用测试实例生成方法的方法框图;
[0065] 图2是本申请实施例中生成测试节点树状图的方法框图;
[0066] 图3是本申请实施例中确定各个测试节点的节点路线数量和节点路线信息的方法框图;
[0067] 图4是本申请实施例中生成测试用例的方法框图;
[0068] 图5是本申请实施例中软件测试用测试实例生成系统的系统框图。
[0069] 附图标记说明:1、功能树状图生成模块;2、节点树状图生成模块;21、模块分层单元;22、逻辑连线单元;23、节点整合单元;3、节点路线获取模块;31、需求获取单元;32、节点确定单元;33、路线确定单元;34、路线分类单元;4、用例生成模块;41、用例数量决策单元;42、路线数量确定单元;43、用例数量计算单元;44、测试用例生成单元。

具体实施方式

[0070] 以下结合附图1‑5对本申请作进一步详细说明。
[0071] 本申请实施例公开一种软件测试用测试实例生成方法。参照图1,一种软件测试用测试实例生成方法,包括以下步骤:
[0072] S1、生成被测软件的功能模块树状图:确定被测软件的功能模块,基于软件运行逻辑生成被测软件的功能模块树状图,且每个功能模块均包括若干个测试节点;
[0073] S2、生成测试节点树状图:基于功能模块树状图和各个功能模块的测试节点,生成测试节点树状图;
[0074] S3、确定各个测试节点的节点路线数量和节点路线信息:确定待测试功能模块,基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的节点路线数量和节点路线信息;
[0075] S4、生成测试用例:依据待测试功能模块各个测试节点的节点路线数量和节点路线信息配置节点路线上各个测试节点参数生成测试用例。根据被测软件的功能模块和软件运行逻辑建立生成功能模块树状图以及测试节点树状图,能够直观体现被测软件运行逻辑以及运行路线。基于用户测试需求单次仅选取一个功能模块确定节点路线,并对应各个节点路线配置节点参数生成测试用例,易于操作理解。对需要测试的功能模块实现自动全方面各路线的测试用例生成,能够全面覆盖待测试功能模块的各个节点路线,将测试人员从繁琐重复的机械式测试过程解脱出来,有助于提高测试用例生成效率以及测试用例质量,达到有效提高软件测试质量与效率的效果。另外单次仅选取一个功能模块进行用例生成,能够确保单一测试用例仅用来测试该功能模块的一个功能点,有助于提高测试用例测试精度和测试效率,且有助于降低测试脚本在高强度重复测试下出现故障的概率,有助于提高软件测试质量与效率。
[0076] 被测软件根据其设计需求往往具有多个功能模块,而单个功能模块内往往存在若干个功能点即测试节点,根据配置的参数触发测试节点进而跳转到下一功能模块图层的某个功能模块处。举例说明如一个软件具有登陆功能模块,其存在账号密码验证和账号密码注册两个功能点即测试节点,账号密码验证节点根据其配置参数在验证成功时跳转到主界面,验证失败则跳转到错误提示功能模块。同理主界面会存在不同的测试节点,根据节点路线及配置的参数跳转到对应功能模块。因此先基于功能模块生成功能模块树状图,再基于功能模块内的节点确定其与下一功能模块图层中功能模块的逻辑连线,相较于一个个单独测试节点进行逻辑连线生成逻辑树状图,能够极大的简化树状图的逻辑连线。同时对同一功能模块的测试节点进行分类和约束,便于基于用户需求确定待测试功能模块及待测试节点(功能点),进而高效全面的生成软件测试用例。
[0077] 参照图2,上述步骤S2中所述基于功能模块树状图和各个功能模块的测试节点,生成测试节点树状图具体包括以下步骤:
[0078] A1、对功能模块树状图上的功能模块进行分层:基于软件运行逻辑对功能模块树状图上的功能模块进行分层,获得若干个功能模块图层;
[0079] A2、确定逻辑连线:确定各个功能模块内各个测试节点与下一功能模块图层中各个功能模块的逻辑连线;
[0080] A3、生成测试节点树状图:整合各个功能模块内测试节点的逻辑连线生成测试节点树状图。对功能模块树状图进行分层,使得整个功能模块树状图更加清晰明了,基于各个功能模块图层确定逻辑连线,单条节点路线在每个功能模块图层仅与一个功能模块连接,有助于清晰高效构建生成测试节点树状图,进而便于待测试模块的节点路线和数量的确定。以单一功能模块为基点,能够有效简化节点路径,使得节点树状图更加简洁明了。在根据用户测试需求确定待测试功能模块后,能够高效全面的生成对应该功能模块各个节点路线的测试用例,达到有效提高软件测试质量与测试效率的效果。
[0081] 参照图3,上述步骤S3中所述确定待测试功能模块,基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的节点路线数量和节点路线信息具体包括以下步骤:
[0082] B1、确定待测试功能模块:根据用户测试需求确定待测试功能模块,所述待测试功能模块单次仅可选取一个;
[0083] B2、确定各个测试节点的逻辑连线:基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的与下一功能模块图层中各个功能模块的逻辑连线;
[0084] B3、确定节点路线数量和节点路线信息:基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的节点路线数量和节点路线信息;
[0085] B4、对各个测试节点的节点路线进行分类:基于待测试功能模块的测试节点与下一功能模块图层中各个功能模块的逻辑连线对各个测试节点的节点路线进行分类,将各个测试节点的节点路线分为正逻辑节点路线和逆逻辑节点路线。基于用户测试需求单次选取单一功能模块进行测试用例自动生成,确保单一测试用例仅用来测试该功能模块的一个功能点,有助于提高测试用例的测试精度和测试效率。将待测试功能的节点路径基于软件运行逻辑分类,有助于后续控制正逻辑测试用例和逆逻辑测试用例的生成数量比,有助于保护测试脚本,降低测试脚本故障率,提高测试精度。需要说明的是正逻辑节点路线为在每个测试节点设置正确的配置参数,目的是验证正确操作路线。而逆逻辑路线则是在某个测试节点设置错误配置参数,用以验证软件该功能点遇到错误操作时的反应。
[0086] 参照图4,上述步骤S4中所述依据待测试功能模块各个测试节点的节点路线数量和节点路线信息配置节点路线上各个测试节点参数生成测试用例具体包括以下步骤:
[0087] C1、确定生成测试用例数量A:依据待测试功能模块各个测试节点的节点路线数量生成测试用例数量推荐值,发送至管理人员处确定生成测试用例数量A,且生成测试用例数量A必定大于待测试功能模块路线总数B;
[0088] 管理人员预设置推荐系数,基于节点数量乘以预设置的推荐系数即为测试用例数量推荐值;
[0089] C2、确定待测试功能模块的各个节点路线数量:确定待测试功能模块的节点路线总数B、正逻辑节点路线数量C和逆逻辑节点路线数量D;
[0090] C3、计算正逻辑测试用例总数和逆逻辑测试用例总数:根据预设的计算公式计算正逻辑测试用例总数和逆逻辑测试用例总数,所述正逻辑测试用例总数计算公式为,所述逆逻辑测试用例总数计算公式为 ;
[0091] C4、配置参数生成测试用例:根据正逻辑测试用例总数和逆逻辑测试用例总数对各个节点路线上各个测试节点配置参数生成测试用例,且每个节点路线生成的测试用例数量不小于1。基于用户需求确定需要生成的测试用例数量A,并基于正逻辑节点路线数量C和逆逻辑节点路线数量D数量占比,对应消减逆逻辑节点路线生成的测试用例数量占比。使得正逻辑节点路线生成的测试用例数量多于逆逻辑节点路线生成的测试用例,降低逆逻辑测试用例的占比。在保证测试全面性的基础下,降低测试脚本故障概率,达到有效提高软件测试质量和测试效率的效果。
[0092] 另外,在上述步骤C4进行生成测试用例之前,在每个节点路线尾部增加用于重置测试软件测试环境的测试节点,依据待测试功能模块节点路线信息配置节点路线上各个测试节点参数生成测试用例。在生成测试用例时对每个节点路线尾部添加用于重置测试软件测试环境的测试节点,能够使得每个测试用例完成测试后重置软件的测试环境,确保每个测试用例能够被稳定执行,有助于提高测试质量和和测试精度。
[0093] 本申请实施例还公开一种软件测试用测试实例生成系统。参照图5,一种软件测试用测试实例生成系统,包括:
[0094] 功能树状图生成模块1,用于确定被测软件的功能模块,基于软件运行逻辑生成被测软件的功能模块树状图,且每个功能模块均包括若干个测试节点;
[0095] 节点树状图生成模块2,用于基于功能模块树状图和各个功能模块的测试节点,生成测试节点树状图;
[0096] 节点路线获取模块3,用于确定待测试功能模块,基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的节点路线数量和节点路线信息;
[0097] 用例生成模块4,用于依据待测试功能模块各个测试节点的节点路线数量和节点路线信息配置节点路线上各个测试节点参数生成测试用例;
[0098] 功能树状图生成模块1、节点树状图生成模块2、节点路线获取模块3和用例生成模块4相互通信连接。根据被测软件的功能模块和软件运行逻辑建立生成功能模块树状图以及测试节点树状图,能够直观体现被测软件运行逻辑以及运行路线。基于用户测试需求单次仅选取一个功能模块确定节点路线,并对应各个节点路线配置节点参数生成测试用例,易于操作理解。对需要测试的功能模块实现自动全方面各路线的测试用例生成,能够全面覆盖待测试功能模块的各个节点路线。将测试人员从繁琐重复的机械式测试过程解脱出来,有助于提高测试用例生成效率以及测试用例质量,达到有效提高软件测试质量与效率的效果。另外单次仅选取一个功能模块进行用例生成,能够确保单一测试用例仅用来测试该功能模块的一个功能点,有助于提高测试用例测试精度和测试效率,且有助于降低测试脚本在高强度重复测试下出现故障的概率,有助于提高软件测试质量与效率。
[0099] 参照图5,所述节点树状图生成模块2包括:
[0100] 模块分层单元21,用于基于软件运行逻辑对功能模块树状图上的功能模块进行分层,获得若干个功能模块图层;
[0101] 逻辑连线单元22,用于确定各个功能模块内各个测试节点与下一功能模块图层中各个功能模块的逻辑连线;
[0102] 节点整合单元23,用于整合各个功能模块内测试节点的逻辑连线生成测试节点树状图。对功能模块树状图进行分层,使得整个功能模块树状图更加清晰明了,基于各个功能模块图层确定逻辑连线,单条节点路线在每个功能模块图层仅与一个功能模块连接,有助于清晰高效构建生成测试节点树状图,进而便于待测试模块的节点路线和数量的确定。以单一功能模块为基点,能够有效简化节点路径,使得节点树状图更加简洁明了。在根据用户测试需求确定待测试功能模块后,能够高效全面的生成对应该功能模块各个节点路线的测试用例,达到有效提高软件测试质量与效率的效果。
[0103] 参照图5,所述节点路线获取模块3包括:
[0104] 需求获取单元31,用于根据用户测试需求确定待测试功能模块,所述待测试功能模块单次仅可选取一个;
[0105] 节点确定单元32,用于基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的与下一功能模块图层中各个功能模块的逻辑连线;
[0106] 路线确定单元33,用于基于待测试功能模块的测试节点遍历测试节点树状图确定各个测试节点的节点路线数量和节点路线信息;
[0107] 路线分类单元34,基于待测试功能模块的测试节点与下一功能模块图层中各个功能模块的逻辑连线对各个测试节点的节点路线进行分类,将各个测试节点的节点路线分为正逻辑节点路线和逆逻辑节点路线。基于用户测试需求单次选取单一功能模块进行测试用例自动生成,确保单一测试用例仅用来测试该功能模块的一个功能点,有助于提高测试用例的测试精度和测试效率。将待测试功能的节点路径基于软件运行逻辑分类,有助于后续控制正逻辑测试用例和逆逻辑测试用例的生成数量比,有助于保护测试脚本,降低测试脚本故障率,提高测试精度。
[0108] 参照图5,所述用例生成模块4包括:
[0109] 用例数量决策单元41,用于依据待测试功能模块各个测试节点的节点路线数量生成测试用例数量推荐值,发送至管理人员处确定生成测试用例数量A,且生成测试用例数量A必定大于待测试功能模块路线总数B;
[0110] 路线数量确定单元42,用于确定待测试功能模块的节点路线总数B、正逻辑节点路线数量C和逆逻辑节点路线数量D;
[0111] 用例数量计算单元43,用于根据预设的计算公式计算正逻辑测试用例总数和逆逻辑测试用例总数,所述正逻辑测试用例总数计算公式为 ,所述逆逻辑用例总数计算公式为 ;
[0112] 测试用例生成单元44,用于根据正逻辑测试用例总数和逆逻辑测试用例总数对各个节点路线上各个测试节点配置参数生成测试用例,且每个节点路线生成的测试用例数量不小于1。基于用户需求确定需要生成的测试用例数量A,并基于正逻辑节点路线数量C和逆逻辑节点路线数量D数量占比,对应消减逆逻辑节点路线生成的测试用例数量占比。使得正逻辑节点路线生成的测试用例数量多于逆逻辑节点路线生成的测试用例,降低逆逻辑测试用例的占比。在保证测试全面性的基础下,降低测试脚本故障概率,达到有效提高软件测试质量和测试效率的效果。
[0113] 本申请实施例还公开一种计算机可读存储介质,其存储有能够被处理器加载并执行如上述方法中的计算机程序,计算机可读存储介质例如包括:U盘、移动硬盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0114] 以上实施例仅用以说明本发明的技术方案,而非对发明的保护范围进行限制。显然,所描述的实施例仅仅是本发明部分实施例,而不是全部实施例。基于这些实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明所要保护的范围。尽管参照上述实施例对本发明进行了详细的说明,本领域普通技术人员依然可以在不冲突的情况下,不作出创造性劳动对本发明各实施例中的特征根据情况相互组合、增删或作其他调整,从而得到不同的、本质未脱离本发明的构思的其他技术方案,这些技术方案也同样属于本发明所要保护的范围。