CN113360405A - 测试案例的生成方法及装置 - Google Patents
测试案例的生成方法及装置 Download PDFInfo
- Publication number
- CN113360405A CN113360405A CN202110742720.5A CN202110742720A CN113360405A CN 113360405 A CN113360405 A CN 113360405A CN 202110742720 A CN202110742720 A CN 202110742720A CN 113360405 A CN113360405 A CN 113360405A
- Authority
- CN
- China
- Prior art keywords
- test case
- test
- function
- business
- list table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供的测试案例的生成方法及装置,其中方法包括:通过读取待测试软件的需求说明文档和项目规模估算文档,根据需求说明文档对项目规模估算文档中的每一项业务功能设置输入条件、输出内容以及业务变更规则,形成业务规则清单表,再根据业务规则清单表,生成所述软件的测试案例清单表,并将组成该测试案例清单表的测试案例条目以条目化的形式存储于测试案例数据库中。本申请提供的测试案例的生成方法解决了现有测试案例不精准,无法进行软件产品的完整测试的问题,极大提高了测试案例的精准性,条目化存储的测试案例为后续软件产品测试案例的生成提供了可复用的测试案例,极大地提高了软件产品的测试案例生成效率。
Description
技术领域
本申请涉及软件测试技术,尤其涉及一种测试案例的生成方法及装置。
背景技术
一款特定的软件产品在上线之前,都要进行功能测试,以保障软件产品的功能实现和运行稳定。测试案例就是针对该软件产品进行测试所使用的测试任务描述,是对软件产品进行测试的依据文件。
在现有技术中,测试案例的生成由测试人员基于软件需求方提供的需求说明书,对业务场景及业务规则进行分析而形成。在具体测试时,测试人员可以根据其形成的测试案例对开发人员开发的软件产品进行测试。如果测试结果符合需求说明书的要求,则该软件产品测试合格,软件产品即可交付;如果测试结果不合格,则测试人员需将测试结果反馈给开发人员进行软件开发修正。
现有技术中的测试案例往往存在不精准的问题,进而导致根据测试案例进行的软件产品的测试与软件产品并不匹配。因此,亟需提出一种能解决上述问题的测试案例的生成方法。
发明内容
本申请提供一种测试案例的生成方法及装置,用以解决现有测试案例不精准,无法进行软件产品的完整测试的问题。
第一方面,本申请提供一种测试案例的生成方法,包括:
读取待测试软件的需求说明文档和项目规模估算文档,其中,所述需求说明文档用于描述所述软件的业务需求,所述项目规模估算文档用于描述实现所述业务需求所需的至少一项业务功能;
根据所述需求说明文档对所述项目规模估算文档中的每一项业务功能设置输入条件、输出内容以及业务变更规则,形成业务规则清单表,所述业务规则清单表中包含与每一项业务功能分别对应的业务规则;
根据所述业务规则清单表,生成所述软件的测试案例清单表。
第二方面,本申请提供一种测试案例的生成装置,包括:
处理器和存储器;
所述存储器存储所述处理器可执行指令;
其中,所述处理器执行所述存储器存储的可执行指令,使得所述处理器执行如上所述的测试案例的生成方法。
第三方面,本申请提供一种存储介质,所述存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上所述的测试案例的生成方法。
第四方面,本申请提供一种程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上所述的方法。
本申请提供的测试案例的生成方法及装置,通过读取待测试软件的需求说明文档的业务功能信息生成项目规模估算文档;然后根据需求说明文档的业务功能信息对项目规模估算文档中的每一项业务功能设置包括输入条件、输出内容、变更规则的业务规则,形成功能级别的业务规则清单表;接着根据业务规则清单表中的业务规则,经映射填充生成每一项测试案例条目,由每一项测试案例条目组合生成测试案例清单表,即软件产品的测试案例。该测试案例是结合需求说明文档并基于项目规模估算文档而生成,避免了测试人员与开发人员对需求说明书理解存在的偏差对案例测试的不利影响,提高了测试案例的精准性,确保测试案例与基于项目规模估算书开发的软件产品之间的匹配性,解决了现有测试案例不精准,无法进行软件产品的完整测试的问题。同时,将组成测试案例清单表的测试案例条目以条目化的形式存储于测试案例数据库中,为后续软件产品测试案例的生成提供了可复用的测试案例,极大地提高了软件产品的测试案例生成效率和精准性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的测试案例自动化生成系统示意图;
图2为本申请实施例提供的测试案例的生成方法流程示意图;
图3为本申请实施例提供的测试案例的生成方法架构示意图;
图4为本申请实施例提供的测试案例的生成方法中的测试案例存储架构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的测试案例生成系统示意图,如图1所示,本实施例提供的测试案例生成系统包括:需求提供设备11、产品开发设备12、测试案例生成设备13和测试设备14。需求提供设备11输出软件的需求说明文档到软件开发设备12和测试案例生成设备13。
其中,需求说明文档是软件需求方提供的其与软件开发方之间的技术协议文档,其包含了软件产品的每一项业务需求所需要开发的功能。软件开发设备12对接收并读取的需求说明文档进行功能信息即功能点的提取处理,生成项目规模估算文档。其中,项目规模估算文档是对软件系统模块进行功能点估算统计的规范性文档。接着测试案例生成设备13根据功能点从需求说明文档提取功能信息作为参考样本。同时,测试案例生成设备13根据功能点从软件开发设备12中读取项目规模估算文档中的业务需求对应的功能信息。测试案例生成设备13结合参考样本对其读取的项目规模估算文档中的功能信息进行映射处理,形成软件测试所需的测试案例。最后测试设备14即可采用该测试案例对软件的功能是否合格进行测试。其中测试案例生成设备13包括从软件开发设备12中读取项目规模估算文档并处理生成测试案例的处理器132,和存储处理器132识别、生成的信息的存储器131,其中存储器131包括存储处理器132处理生成的测试案例的功能级测试案例数据库。
可选的,测试设备14可以是自动化测试平台ATP,也可以是其他测试所需的测试设备,本实施例不作具体限定。
现有技术中,测试案例是由测试人员基于对需求说明文档的理解直接形成的。测试人员对需求说明文档的理解程度和测试人员的自身经验直接影响了测试案例的精准性。同时,测试人员忽视了对开发人员开发软件产品所依据的项目规模估算文档的理解,即忽视了对开发的软件产品的理解。当测试人员与开发人员对需求说明文档的理解存在偏差或理解断层,将导致测试案例指导下的软件产品测试不精准,甚至软件产品的测试与软件产品本身需求并不匹配。因此,现有技术亟需提供一种能消除或填补这种理解不全面或理解断层问题,生成精准的测试案例的方法。
本实施例的主要改进点在于将现有测试案例由测试人员根据需求说明文档直接生成,改进为将测试案例结合需求说明文档并根据项目规模估算文档直接生成,由案例生成设备生成了精准且与软件产品匹配的测试案例,从而消除了测试人员对需求说明文档和开发的软件理解不全面,测试人员与开发人员之间存在的针对需求说明文档理解断层的问题。
图2为本申请实施例提供的测试案例的生成方法流程示意图,本实施例是在图1的基础上对测试案例的生成方法流程进行详细说明。本实施例的执行主体可以为图1所示实施例中的测试案例生成设备13,该方法包括:
S201、读取待测试软件的需求说明文档和项目规模估算文档,其中,需求说明文档用于描述软件的业务需求,项目规模估算文档用于描述实现业务需求所需的至少一项业务功能。
具体来说,软件需求方将需求说明文档发送到需求提供设备11,该需求说明文档用于描述需求软件产品的业务需求。该需求说明文档包含了软件产品的基本信息和业务需求对应需开发的功能信息即业务功能信息。其中业务功能信息包括功能需求、性能需求、属性、数据需求等。需求提供设备11将接收的需求说明文档输出到软件开发设备12和测试案例生成设备13。软件开发设备12读取该需求说明文档中的业务功能信息。开发人员对需求说明文档中的全部业务需求信息进行理解,并根据软件开发设备12读取的业务功能信息在软件开发设备12中生成软件开发所需的项目规模估算文档。该项目规模估算文档包含了软件产品的每一项业务功能的具体内容信息。测试案例生成设备13根据功能点从软件开发设备12中读取项目规模估算文档中的每一项业务功能的内容信息和需求说明文档中的业务功能信息。具体地,由测试案例生成设备13的读取执行主体为测试案例生成设备13中的处理器132。处理器132读取上述信息并存储在存储器131中,其中需求说明文档中的业务功能信息作为信息参考样本。然后处理器132参考此样本对读取的项目规模估算文档中的每一项业务功能的内容信息进行识别、自我核查。接着,处理器132将这些业务功能按照功能级别进行条目排布并储存在存储器131中。
S202、根据需求说明文档对项目规模估算文档中的每一项业务功能设置输入条件、输出内容以及变更规则,形成业务规则清单表,业务规则清单表中包含与每一项业务功能分别对应的业务规则。
具体来说,处理器132结合S201储存的参考样本,对S201中功能级别排布的每一项业务功能分别设置输入条件、输出内容以及变更规则,以及其他业务规则。每一项业务功能分别对应的业务规则采用表格形式罗列。输入条件、输出内容以及变更规则直接设置。其他业务规则诸如系统、系统英文名称、功能模块、功能分类、风险等级、交易类型等则从S201储存的每一项业务功能的内容信息中读取填充到对应的每一项业务功能表格中。其中,输入条件包括输入参数和输入参数取值,输出内容包括输出参数和输出参数取值。然后,采用参考样本对设置的输入条件、输出内容以及变更规则等业务规则参数进行核查,确保每一项业务功能分别对应有相应的业务规则。对于每一项业务功能而言,输入条件、输出内容以及变更规则是必备的业务规则。最后,完成业务规则设置和填充的每一项业务功能为一项业务功能条目。每一项业务功能条目就组合形成了功能级的业务规则清单并被储存在存储器131中。
S203、根据业务规则清单表,生成软件的测试案例清单表。
具体来说,处理器132对S202中形成的业务规则清单表中的每一项业务功能对应的业务规则进行读取识别。接着,处理器132将业务规则中的输入条件、输出内容、变更规则以及其他业务规则如系统英文名称、风险等级、交易类型等,通过基于项目规模估算书自动化生成测试案例算法(英文:Method of Auto-generated Test Case Based onEstimation of Project Size,简称:MATCBEPS),映射生成与输入条件、输出内容以及变更规则的每一项参数对应的测试案例条目。具体地,测试案例条目包含了用例描述、测试案例条目编号、用例优先级等信息,其中测试案例条目中的用例描述与业务规则清单表中的输入条件、输出内容以及变更规则的每一项参数对应,测试案例条目中测试案例条目编号与业务规则清单表中的系统英文名称相关,测试案例条目中的用例优先级与业务规则清单表中的风险等级对应,其他对应关系本实施例不再一一列举。最后,由每一项测试案例条目组成测试案例清单表,该测试案例清单表即为软件测试所需的测试案例。在上述过程中,存储器131对处理器132读取、生成的信息进行存储。
本实施例通过软件开发设备12对需求说明文档中的业务功能信息读取识别生成项目规模估算文档。通过测试案例生成设备13读取项目规模估算文档中的每一项业务功能的内容信息并结合需求说明文档中的业务功能信息,将业务功能按照功能级别进行条目排布。接着测试案例生成设备13对条目排布的每一项业务功能进行业务规则设置和填充,进而组合形成功能级的业务规则清单表。测试案例生成设备13将业务规则清单表中的每一项业务功能对应的业务规则通过MATCBEPS算法映射生成测试案例条目。测试案例条目组合生成软件产品的测试案例清单表,该测试案例清单表即软件产品的测试案例。本实施例提供的测试案例的生成方法,消除了人为因素对案例测试的精准性和完整性的不利影响,同时提高了测试案例和基于项目规模估算文档开发的软件产品的匹配性。
图3为本申请实施例提供的测试案例的生成方法架构示意图,图3是在图2的基础上对本实施例的具体实现过程进行了详细说明。如图3所示该方法包括:
软件开发设备12读取待测试软件的需求说明文档业务功能信息,生成项目规模估算文档。接着测试案例生成设备13读取项目规模估算文档中的每一项业务功能的内容信息。同时测试案例生成设备13读取需求说明文档业务功能信息作为信息参考样本。然后测试案例生成设备13结合参考样本对项目规模估算文档中的每一项业务功能的内容信息进行识别、自我核查,并将业务功能按照功能级别进行条目排布并储存。此具体过程与图2中S201的方法类似,本实施例中不再重复赘述。
进一步地,测试案例生成设备13对项目规模估算文档中条目排布的功能级别的每一项业务功能,按照外部输入EI类型、外部输出EO类型以及外部查询EQ类型进行分类。
如图3所示,测试案例生成设备13对项目规模估算文档中的每一项业务功能按照外部输入EI类型、外部输出EO类型以及外部查询EQ类型进行分类。分类后形成了外部输入EI类业务功能、外部输出EO类业务功能、外部查询EQ类业务功能。便于当需要对测试案例与规模估算文档的检查时,进行功能点的对应核查。
进一步地,采用需求说明文档中的业务需求描述,对分类后的每一项业务功能分别设置输入条件、输出内容以及变更规则,形成业务规则清单表。
具体来说,分类后的外部输入EI类业务功能、外部输出EO类业务功能、外部查询EQ类业务功能均包含了至少一项业务功能。如图3所示,需对外部输入EI类业务功能、外部输出EO类业务功能、外部查询EQ类业务功能包含的每一项业务功能分别设置输入条件、输出内容、变更规则以及其他规则。其中,输入条件包括输入参数和输入参数取值,输出内容包括输出参数和输出参数取值。每一项业务功能分别对应的业务规则采用表格形式罗列,该表格形式参考表1,表1为本实施例提供的业务规则清单表。
表1业务规则清单表
如表1表头所示,每一项业务功能分别对应的业务规则必须包括输入参数、输入参数取值、输出参数、输出参数取值和业务规则。业务规则还包括但不限于系统、系统英文名称、功能模块、功能分类、风险等级、交易类型等其他业务规则。在对每一项业务功能进行业务规则设置的过程中,输入条件、输出内容以及变更规则需要直接设置,其他业务规则可以从项目规模估算文档中的每一项业务功能的内容信息中读取填充到对应的每一项业务功能表格中。然后,测试案例生成设备13采用信息参考样本对设置的输入条件、输出内容以及变更规则等业务规则参数进行核查,确保每一项业务功能分别对应有相应的业务规则。对于每一项业务功能而言,输入条件、输出内容以及变更规则是必备的业务规则。上述完成业务规则设置和填充的每一项业务功能就组合形成了表1所示的功能级的业务规则清单表。
进一步地,测试案例生成设备13针对形成的功能级的业务规则清单表中所包含的与每一项业务功能分别对应的业务规则,生成软件的一个测试案例条目。再由测试案例条目组合形成测试案例清单表。
具体来说,测试案例生成设备13对形成的业务规则清单表中的每一项业务功能对应的业务规则进行读取识别。然后测试案例生成设备13将业务规则中的输入条件、输出内容、变更规则以及其他业务规则如系统英文名称、风险等级、交易类型等,通过基于项目规模估算书自动化生成测试案例算法(英文:Method of Auto-generated Test Case Basedon Estimation of Project Size,简称:MATCBEPS),映射生成测试案例条目。每一条测试案例条目与输入条件、输出内容以及变更规则的每一项参数对应。由每一条测试案例条目组合形成测试案例清单表。测试案例清单表参考表2,表2为本实施例提供的测试案例清单表,其中测试案例条目表现形式参考表2所示中每一行的测试案例条目形式。
表2测试案例清单表
具体地,测试案例生成设备13将业务规则通过MATCBEPS算法,映射生成与输入条件、输出内容以及变更规则的每一项参数对应的测试案例条目。其中业务规则包括必备的业务规则如输入条件、输出内容、变更规则和其他可选的业务规则如系统英文名称、风险等级、交易类型等。该算法过程包括:
根据业务功能设置业务功能测试所需的组成测试案例清单表的表头,表头包括测试案例条目编号、用例描述、测试步骤描述、预期结果;
将每一项业务功能对应的功能名称以及输入条件通过映射算法填充测试案例清单表表头中的用例描述,获取对应的测试步骤描述和预期结果,生成对应的测试案例;
将每一项业务功能对应的功能名称以及输出内容通过映射算法填充测试案例清单表表头中的用例描述,获取对应的测试步骤描述和预期结果,生成对应的测试案例;
将每一项业务功能对应的功能名称以及变更规则通过映射算法填充测试案例清单表表头中的用例描述,获取对应的测试步骤描述和预期结果,生成对应的测试案例。
结合表1和表2,对MATCBEPS算法进行说明,该算法过程如下:
通过上述算法,实现通过业务规则清单表中的每一项业务功能,映射拆分形成了与业务规则清单表中的输入条件、输出内容以及变更规则的每一项参数对应的每一条测试案例条目。再由生成的每一条测试案例条目组合形成测试案例清单表,该测试案例清单表即为软件产品测试所需的测试案例。以表1中功能编号为“XMTS011”的功能名称为“G功能”的业务功能条目为例,对上述MATCBEPS算法过程进行详细说明,MATCBEPS算法的执行主体是测试案例生成设备13,算法如下:
具体地,将表1所示功能编号为“XMTS011”的业务功能条目中对应的业务规则通过MATCBEPS算法分别映射填充表2所示表头中的类型、测试案例条目编号、用例描述、用例优先级、交易类型、测试类型等表项。其中具体的业务规则包括功能名称“G功能”和输入条件(其中输入条件包括输入参数“AAA”、“BBB”、“CCC”、“DDD”和输入参数取值“a1”“a2”“a3”“b1”“b2”“CCC”“DDD”),以及系统英文名称、风险等级、交易类型等。从而生成与输入条件最小组成即输入参数取值“a1”“a2”“a3”“b1”“b2”“CCC”“DDD”分别对应的测试案例条目。共计7条测试案例条目。其对应为表2中测试案例条目编号分别为“XMTS-001”、“XMTS-002”、“XMTS-003”、“XMTS-004”、“XMTS-005”、“XMTS-006”、“XMTS-007”的测试案例条目。具体地,表1中的业务规则映射填充表2表头对应的表项信息,具体例如输入条件“AAA”“a1”通过MATCBEPS算法映射填充了“XMTS-001”测试案例条目中的用例描述,输入条件“AAA”“a2”通过MATCBEPS算法映射填充了测试案例条目“XMTS-002”的用例描述,输入条件“AAA”“a3”通过MATCBEPS算法映射填充了测试案例条目“XMTS-003”的用例描述对应,输入条件“BBB”“b1”通过MATCBEPS算法映射填充了测试案例条目“XMTS-004”的用例描述对应,...;风险等级通过MATCBEPS算法映射填充了测试案例条目中的用例优先级,...,类似的映射填充关系本实施例不一一列举。当表1中业务规则信息有限时,例如本实施例表1所示,通过表1映射填充表2的测试案例条目是部分填充的测试案例条目,表2中部分表项如设计者、自动化测试设备ATP编号、ATP执行方式等存在未被填充的情形。可选地,当输入测试案例生成设备13的业务规则清单表中业务规则信息很完善时,通过业务规则清单表中的业务规则映射填充的测试案例清单表中的测试案例条目则可以是填充完整的测试案例条目。
同理,将表1所示功能编号为“XMTS011”的业务功能条目中对应的功能名称“G功能”和输出内容(在此实施例举例说明的表1中,“XMTS011”的业务功能条目输出内容的最小组成为输出参数“LLL”、“MMM”、“NNN”),通过上述MATCBEPS算法,分别映射填充生成表2中测试案例条目编号分别为“XMTS-008”、“XMTS-009”、“XMTS-010”的测试案例条目。同理,生成了仅填充了类型、测试案例条目编号、用例描述、用例优先级、交易类型、测试类型的未填充完整的测试案例条目。
同理,将如表1所示功能编号为“XMTS011”的业务功能条目中对应的功能名称“G功能”和变更规则(在此实施例举例说明的表1中,“XMTS011”的业务功能条目变更规则的最小组成为“OOO”、“PPP”、“QQQ”),通过上述MATCBEPS算法,分别映射填充生成如表2中测试案例条目编号分别为“XMTS-011”、“XMTS-012”、“XMTS-013”的用例描述。同理,生成了仅填充了类型、测试案例条目编号、用例描述、用例优先级、交易类型、测试类型的未填充完整的测试案例条目。
如此,通过如表1所示功能编号为“XMTS011”的功能名称为“G功能”的业务功能条目对应的业务规则,生成了对应的如表2所示的测试案例条目编号为XMTS-001~013的测试案例条目;
同理地,继续将表1所示的功能编号为XMTS012、XMTS013、XMTS014...的对应功能名称为H功能、I功能、J功能...的业务功能条目对应的业务规则,映射生成对应的表2所示的测试案例条目。直至将功能级业务规则清单表中的所有业务功能条目对应的业务规则生成了对应的测试案例条目。由生成的测试案例条目组合成测试案例清单表。
对于每一个测试案例而言,用例描述、测试步骤描述、预期结果是构成测试案例的必备元素。对于无法通过业务规则清单表中的业务规则映射填充的测试案例清单表中的表项,如测试步骤描述、预期结果等,则从测试案例数据库中获取对应的测试步骤描述和预期结果进行填充;和/或,接收测试人员输入的信息如测试步骤描述和预期结果进行填充。
具体来说,如表2所示,生成的测试案例清单表中表头“用例描述”对应表项由表1所示的功能级业务规则清单中的输入条件、输出内容和变更规则通过MATCBEPS算法映射填充。如表2所示,测试案例清单表中表头“测试步骤描述”和“预期结果”对应的表项,由从测试案例数据库中获取对应的测试步骤描述和预期结果,和/或,接收测试人员输入的测试步骤描述和预期结果进行填充。
具体地,结合图3、表1和表2,分别对生成的每一条测试案例条目中未被填充的表项从测试案例数据库中获取对应的测试案例的测试步骤描述和预期结果,和/或,接收测试人员输入的测试步骤描述和预期结果进行填充。其中未被填充的表项包括测试步骤描述、预期结果,以及还包括但不限于的例如关联需求编号、ATP编号、ATP执行方式、设计者等。具体地,如图3所示,根据对应已填充的用例描述,从自动化测试平台ATP自建的ATP数据库和/或本实施例存储器中存储的功能级测试案例数据库中查找是否存在匹配的测试案例。若存在匹配的测试案例,则从匹配的测试案例中获取对应的测试步骤描述、预期结果以及其他对应信息。采用获取的匹配的测试案例的信息,如表2中的“(获取填充)”,填充测试案例条目中未被填充的表项,从而生成了完整的测试案例条目。进一步地,对于无法从ATP数据库和/或功能级测试案例数据库中获取填充的信息,则接收测试人员输入的测试步骤描述、预期结果以及其他对应信息,如表2中的“(输入填充)”,用以填充生成的测试案例条目中未被填充的表项。如表2中所示,未被填充的表项如测试步骤描述、预期结果、关联需求编号、ATP编号、ATP执行方式、设计者等被填充完整后,从而生成了完整的测试案例条目。每一个完整的测试案例条目组合生成测试案例清单表,该测试案例清单表即软件产品的测试案例。
进一步地,对于软件产品存在的某些极端业务场景和业务流程,开发人员基于需求说明文档,形成软件产品在极端业务场景下所需功能的特殊需求说明文档,读取待测试软件产品在极端业务场景下所需功能的特殊需求说明文档,该特殊需求说明文档包含了软件产品在极端业务场景和业务流程情景下的特殊业务功能信息,具体包括特殊功能需求、性能需求、属性、数据需求等。
具体地,结合图1、图2、表2进行详细说明,测试案例生成设备13采用特殊需求说明文档,同上述S201、S202和S203的方法形成同表2所示结构相同的特殊功能级业务规则清单表。同理地,再针对生成的特殊功能级业务规则清单表中所包含的与每一项业务功能分别对应的业务规则,生成对应的完整的特殊测试案例条目。该生成过程包括MATCBEPS算法映射填充、获取ATP数据库和/或功能级测试案例数据库的匹配信息,和/或获取输入信息的表项补充性填充。生成的特殊测试案例条目对已生成的测试案例清单表进行进一步的测试案例的补充,进一步生成全面的测试案例清单表。最后使用该测试案例清单表在测试设备14上进行软件产品的测试。
本实施例提供一种测试案例的生成方法。通过对需求说明文档和项目规模估算文档中的业务功能信息进行识别。以需求说明文档的业务功能信息为参考,将基于需求说明文档生成的项目规模估算文档中的每一项业务功能设置业务规则形成业务功能条目。每一项业务功能条目形成业务规则清单表。再将业务规则清单表中每一项业务功能条目对应的业务规则通过MATCBEPS算法映射生成了对应的部分表项填充的测试案例条目。通过获取自动化测试平台ATP数据库和/或功能级测试案例数据库中匹配的测试案例信息,或接收测试人员输入信息,对部分表项填充的测试案例条目中未被填充的表项进行填充。表项填充后形成了完整的测试案例条目。这些完整的测试案例条目形成软件的测试案例清单表即软件的测试案例。进一步地,对于软件存在的某些极端业务场景和业务流程的情形,读取待测试软件在极端业务场景下所需功能的特殊需求说明文档。然后采用同理的方法,生成对应的特殊测试案例条目。特殊测试案例条目对已生成的测试案例清单表进一步进行测试案例的补充。
通过本申请实施例提供的测试案例的生成方法。将现有技术中测试案例直接基于需求说明文档生成,改进为基于系统开发的项目规模估算文档并结合需求说明文档而生成。消除了测试人员和开发人员对原始输入的需求说明文档的理解偏差、理解断层对案例测试的精准性和完整性的不利影响。提高了测试案例的精准性,以及测试案例与开发的软件产品的匹配性。
图4为本申请实施例提供的测试案例的生成方法中的测试案例存储架构示意图,图4是对本申请提供的测试案例的生成方法进行进一步详细说明。
如图4所示,该方法包括:
在测试案例清单表中的测试案例完成测试后,将测试案例清单表中未存储在自动化测试平台ATP数据库和/或功能级测试案例数据库中的测试案例存储到自动化测试平台ATP数据库和/或功能级测试案例数据库中。
具体来说,当测试案例清单表中的测试案例条目在自动化测试平台ATP上进行ATP测试时,该测试案例条目被自动化测试平台ATP记录并存储在如图3和图4所示的自动化测试平台ATP数据库中。测试案例清单表中的测试案例条目则在生成时或测试更新后,以一个一个条目的形式被实时存储在如图1所示存储器131中的功能级测试案例数据库中。当某一新的软件产品需要生成测试案例清单表时,可以从ATP数据库和/或功能级测试案例数据库中直接调用匹配的测试案例条目进行复用生成新的测试案例清单表。其中某一新的软件产品包括但不限于是已有软件产品的更新、类似的软件产品。
本实施例提供的测试案例的生成方法,将测试案例清单表中的测试案例条目在自动化测试平台ATP测试完成后已存储在自动化测试平台自带的ATP数据库。测试案例清单表中的测试案例条目在生成时以及测试更新后被实时存储在功能级测试案例数据库中。测试案例在相应的数据库中的存储,丰富了ATP数据库和功能级测试案例数据库。测试案例以条目化的形式存储在相应的数据库中,便于进行测试案例条目化建设。为后续将测试案例进行标准条目化的复用提供极大便利。极大提高了软件的测试案例生成效率,同时利于形成全面的业务场景下的软件产品的功能资产库。
本申请实施例还提供一种测试案例的生成装置,该装置包括处理器和存储器,存储器存储有处理器可执行指令,使得该处理器可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
本申请实施例还提供一种存储介质,该存储介质中存储有计算机执行指令,这些计算机执行指令被处理器执行时,实现如上的测试案例的生成方法。其中存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本申请实施例还提供一种程序产品,如计算机程序,该计算机程序被处理器执行时实现本申请所涵盖的测试案例的生成方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施方式仅用以说明本发明的技术方案,而非对其进行限制;尽管参照前述实施方式对本发明已经进行了详细的说明,但本领域的普通技术人员应当理解:其依然可以对前述实施方式所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施方式技术方案的范围。
Claims (11)
1.一种测试案例的生成方法,其特征在于,包括:
读取待测试软件的需求说明文档和项目规模估算文档,其中,所述需求说明文档用于描述所述软件的业务需求,所述项目规模估算文档用于描述实现所述业务需求所需的至少一项业务功能;
根据所述需求说明文档对所述项目规模估算文档中的每一项业务功能设置输入条件、输出内容以及业务变更规则,形成业务规则清单表,所述业务规则清单表中包含与每一项业务功能分别对应的业务规则;
根据所述业务规则清单表,生成所述软件的测试案例清单表。
2.根据权利要求1所述的方法,其特征在于,所述根据所述需求说明文档对所述项目规模估算文档中的每一项业务功能设置输入条件、输出内容以及业务变更规则,形成业务规则清单表,包括:
对所述项目规模估算文档中的每一项业务功能按照外部输入EI类型、外部输出EO类型以及外部查询EQ类型进行分类;
采用所述需求说明文档中的业务需求描述,对分类后的每一项业务功能分别设置输入条件、输出内容以及变更规则,形成业务规则清单表。
3.根据权利要求1所述的方法,其特征在于,所述根据所述业务规则清单表,生成所述软件的测试案例清单表,包括:
针对所述业务规则清单表中所包含的与每一项业务功能分别对应的业务规则,生成所述软件的一个测试案例条目,形成测试案例清单表。
4.根据权利要求3所述的方法,其特征在于,所述业务规则,包括:功能名称、输入条件、输出内容、变更规则;
相应的,针对所述业务规则清单表中所包含的与每一项业务功能分别对应的业务规则,生成所述软件的一个测试案例条目,形成测试案例清单表,包括:
根据业务功能设置业务功能测试所需的组成测试案例清单表的表头,所述表头包括测试案例条目编号、用例描述、测试步骤描述、预期结果;
将所述每一项业务功能对应的功能名称以及输入条件通过映射算法填充测试案例清单表表头中的用例描述,获取对应的测试步骤描述和预期结果,生成对应的测试案例;
将所述每一项业务功能对应的功能名称以及输出内容通过映射算法填充测试案例清单表表头中的用例描述,获取对应的测试步骤描述和预期结果,生成对应的测试案例;
将所述每一项业务功能对应的功能名称以及变更规则通过映射算法填充测试案例清单表表头中的用例描述,获取对应的测试步骤描述和预期结果,生成对应的测试案例。
5.根据权利要求4所述的方法,其特征在于,所述获取对应的测试步骤描述和预期结果,包括:
从测试案例数据库中获取对应的测试步骤描述和预期结果;
和/或,
接收测试人员输入的测试步骤描述和预期结果。
6.根据权利要求5所述的方法,其特征在于,所述从测试案例数据库中获取对应的测试步骤描述和预期结果,包括:
根据所述用例描述,从自动化测试平台ATP数据库和/或功能级测试案例数据库中查找是否存在匹配的测试案例,若存在匹配的测试案例,则采用所述匹配的测试案例的信息填充所述测试步骤描述和预期结果。
7.根据权利要求5所述的方法,其特征在于,还包括:
在所述测试案例清单表中的测试案例完成测试后,将所述测试案例清单表中未存储在自动化测试平台ATP数据库和/或功能级测试案例数据库中的测试案例存储到自动化测试平台ATP数据库和/或功能级测试案例数据库中。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述根据所述业务规则清单表,生成所述软件的测试案例清单表之后,还包括:
读取待测试软件在极端业务场景下所需功能的特殊需求说明文档;
采用所述特殊需求说明文档,对所生成的测试案例清单表进行测试案例的补充。
9.一种测试案例的生成装置,其特征在于,包括:
处理器和存储器;
所述存储器存储所述处理器可执行指令;
其中,所述处理器执行所述存储器存储的可执行指令,使得所述处理器执行如权利要求1-8任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-8任一项所述的方法。
11.一种程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110742720.5A CN113360405A (zh) | 2021-06-30 | 2021-06-30 | 测试案例的生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110742720.5A CN113360405A (zh) | 2021-06-30 | 2021-06-30 | 测试案例的生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113360405A true CN113360405A (zh) | 2021-09-07 |
Family
ID=77537673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110742720.5A Pending CN113360405A (zh) | 2021-06-30 | 2021-06-30 | 测试案例的生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113360405A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778882A (zh) * | 2021-09-13 | 2021-12-10 | 中国农业银行股份有限公司 | 测试案例的生成方法、装置、电子设备及计算机存储介质 |
CN117290205A (zh) * | 2022-10-25 | 2023-12-26 | 国家电投集团科学技术研究院有限公司 | 一种通用核电热工水力软件测试方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110173591A1 (en) * | 2010-01-13 | 2011-07-14 | Target Brands, Inc. | Unit Test Generator |
CN104281523A (zh) * | 2014-10-27 | 2015-01-14 | 中国建设银行股份有限公司 | 一种需求可测性分析方法及系统 |
CN106648613A (zh) * | 2016-10-31 | 2017-05-10 | 中国银行股份有限公司 | 一种fpac功能点估算书自动生成方法及装置 |
CN111026670A (zh) * | 2019-12-11 | 2020-04-17 | 广州品唯软件有限公司 | 测试用例的生成方法、测试用例的生成装置及存储介质 |
CN112181490A (zh) * | 2020-09-22 | 2021-01-05 | 中国建设银行股份有限公司 | 功能点评估法中功能类别的识别方法、装置、设备及介质 |
-
2021
- 2021-06-30 CN CN202110742720.5A patent/CN113360405A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110173591A1 (en) * | 2010-01-13 | 2011-07-14 | Target Brands, Inc. | Unit Test Generator |
CN104281523A (zh) * | 2014-10-27 | 2015-01-14 | 中国建设银行股份有限公司 | 一种需求可测性分析方法及系统 |
CN106648613A (zh) * | 2016-10-31 | 2017-05-10 | 中国银行股份有限公司 | 一种fpac功能点估算书自动生成方法及装置 |
CN111026670A (zh) * | 2019-12-11 | 2020-04-17 | 广州品唯软件有限公司 | 测试用例的生成方法、测试用例的生成装置及存储介质 |
CN112181490A (zh) * | 2020-09-22 | 2021-01-05 | 中国建设银行股份有限公司 | 功能点评估法中功能类别的识别方法、装置、设备及介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778882A (zh) * | 2021-09-13 | 2021-12-10 | 中国农业银行股份有限公司 | 测试案例的生成方法、装置、电子设备及计算机存储介质 |
CN117290205A (zh) * | 2022-10-25 | 2023-12-26 | 国家电投集团科学技术研究院有限公司 | 一种通用核电热工水力软件测试方法及装置 |
CN117290205B (zh) * | 2022-10-25 | 2024-05-10 | 国家电投集团科学技术研究院有限公司 | 一种通用核电热工水力软件测试方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104360920B (zh) | 一种接口自动化测试方法及装置 | |
CN113360405A (zh) | 测试案例的生成方法及装置 | |
US20050204241A1 (en) | Method and device for analyzing software error | |
CN110096434A (zh) | 一种接口测试方法及装置 | |
CN110990276A (zh) | 接口字段自动化测试方法、装置和存储介质 | |
CN114116496A (zh) | 自动化测试方法、装置、设备及介质 | |
CN113672520A (zh) | 测试案例的生成方法、装置、电子设备及存储介质 | |
CN115599359A (zh) | 一种代码生成方法、装置、设备及介质 | |
US20210224223A1 (en) | Conversion method, conversion apparatus, and recording medium | |
CN111078529B (zh) | 客户端写入模块测试方法、装置、电子设备 | |
CN111222942B (zh) | 一种数据处理方法、装置、可读介质及电子设备 | |
CN112052157A (zh) | 测试报文的构造方法、装置及系统 | |
CN112631852B (zh) | 宏检查方法、装置、电子设备和计算机可读存储介质 | |
CN114896161A (zh) | 基于人工智能的文件构造方法、装置、计算机设备及介质 | |
US20220035791A1 (en) | Verification method, information processing apparatus, and non-transitory computer-readable storage medium for storing verification program | |
CN113254352A (zh) | 测试案例的测试方法、装置、设备及存储介质 | |
CN113704123A (zh) | 接口测试方法、装置、设备以及存储介质 | |
CN109840213B (zh) | 一种gui测试的测试数据创建方法、装置、终端及存储介质 | |
CN111625458A (zh) | 业务系统测试方法、装置及设备 | |
CN112560952A (zh) | 供应商考核方法、装置、电子设备和存储介质 | |
CN117194260A (zh) | 测试报文生成方法、电子设备和存储介质 | |
CN108629699A (zh) | 数据上传方法、数据上传设备、存储介质及装置 | |
CN110765020B (zh) | 基于领域知识的测试用例生成方法 | |
Ithipathachai et al. | Are tags' it?' analysis of the impact of tags on StackOverflow questions | |
CN116400903A (zh) | 基于引脚复用表的验证平台代码生成方法、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |