CN115576828A - 一种测试用例生成方法、装置、设备及存储介质 - Google Patents

一种测试用例生成方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115576828A
CN115576828A CN202211318488.3A CN202211318488A CN115576828A CN 115576828 A CN115576828 A CN 115576828A CN 202211318488 A CN202211318488 A CN 202211318488A CN 115576828 A CN115576828 A CN 115576828A
Authority
CN
China
Prior art keywords
judgment
document
test
code analysis
determining
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
Application number
CN202211318488.3A
Other languages
English (en)
Inventor
梁珺凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202211318488.3A priority Critical patent/CN115576828A/zh
Publication of CN115576828A publication Critical patent/CN115576828A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis

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是根据本发明实施例二提供的一种逻辑分支图的展示示例图;
图5是根据本发明实施例三提供的一种测试用例生成装置的结构示意图;
图6是实现本发明实施例的测试用例生成方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供了一种测试用例生成方法的流程图,本实施例可适用于快速生成测试用例的情况,该方法可以由测试用例生成装置来执行,该测试用例生成装置可以采用硬件和/或软件的形式实现,该测试用例生成装置可配置于计算机等电子设备中。如图1所示,该方法包括:
S101、获取测试需求文档。
在本实施例中,测试需求文档具体可以理解为测试过程中描述所需要测试的内容、测试的结果等信息的文档。测试需求文档可以在项目开发周期中根据实际项目需求形成并存储。在测试过程中,可直接从相应的存储空间获取测试需求文档。
S102、根据测试需求文档结合预确定的初始代码分析文档确定目标代码分析文档,目标代码分析文档至少包括至少一个判断条件、每个判断条件对应的先决条件、判断依据、判断结果以及节点。
在本实施例中,初始代码分析文档具体可以理解为用于分析代码的固定格式的文档,初始代码分析文档中没有具体的数据,需要根据实际的测试需求填入数据。目标代码分析文档具体可以理解为包含了测试过程中实现需求的判断、选择条件等信息的文档。先决条件具体可以理解为触发某一个判断条件的条件,先决条件通常为节点,此节点也可以称作先决节点。示例性的,判断条件可以是年龄判断,先决条件为节点3,判断依据1为:年龄大于65,对应的判断结果1为:已退休,节点为1,判断依据2为年龄小于或等于65,对应的判断结果2为:未退休,节点为2。
对测试需求文档进行解析,确定判断条件、每个判断条件对应的先决条件、判断依据、判断结果以及节点等数据,根据初始代码分析文档中定义的格式,将上述确定的数据自动填入至相应位置,得到目标代码分析文档。或者,由测试人员阅读测试需求文档,根据初始代码分析文档中定义的格式,将判断条件、每个判断条件对应的先决条件、判断依据、判断结果以及节点等数据手动填入至相应位置,得到目标代码分析文档。
S103、根据目标代码分析文档生成测试用例。
在本实施例中,测试用例是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。测试用例的内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。
根据目标代码文档分析文档中每个判断条件的判断依据确定判断的分支,并根据判断结果和节点确定分支的终点,根据先决条件价将各分支连接起来,得到不同的判断依据对应的不同判断分支,以及判断分支的最终判断结果以及节点,根据每个判断分支所需要进行的判断以及不同的判断依据、判断结果和节点生成执行判断的代码,即测试用例。
本发明实施例的技术方案,通过获取测试需求文档;根据所述测试需求文档结合预确定的初始代码分析文档确定目标代码分析文档,所述目标代码分析文档至少包括至少一个判断条件、每个判断条件对应的先决条件、判断依据、判断结果以及节点;根据所述目标代码分析文档生成测试用例,解决了测试用例无法完全覆盖代码逻辑的问题,通过生成包含判断条件、每个判断条件对应的先决条件、判断依据、判断结果以及节点的目标代码分析文档,对代码逻辑进行全覆盖分析,贴近代码逻辑,并且通过目标代码分析文档可以自动生成测试用例,节省测试人员编写测试用例的时间,可快速生成测试用例,避免测试点遗漏。
实施例二
图2为本发明实施例二提供的一种测试用例生成方法的流程图,本实施例在上述实施例得基础上细化。如图2所示,该方法包括:
S201、获取测试需求文档。
S202、解析测试需求文档,确定至少一个判断条件。
测试需求文档可以按照一定的规则编写,在解析测试需求文档时,根据测试需求文档的编写规则进行解析,得到判断条件。在确定判断条件时,可以按照代码顺序依次得到所有的判断条件。
S203、确定每个判断条件对应的判断依据、判断结果以及节点。
每个判断条件均对应一个或者多个判断依据,不同的判断依据为不同的分支。在确定判断条件后,从判断条件所对应的语句中解析出判断依据,确定每个判断条件对应的判断依据,进而根据判断依据确定对应的判断结果,并对判断结果的节点进行标识。每个判断结果均对应一个节点,在确定判断结果后,对节点进行唯一标识,各节点可以按照顺序标识,方便查看,也可以不按照顺序标识,只要保证节点的标识唯一即可。可以通过数字,例如1、2…等进行标识,也可以通过字母,例如,A、B…等进行标识,也可以通过数字、字母、文字等组合进行标识,本申请对此不进行限定。
S204、确定各判断条件对应的先决条件,先决条件为节点。
在测试过程中,并非所有判断都需要执行,某些判断条件在前置判断达到一定条件时,才会触发后续判断。为了表现这一逻辑,本申请设置判断条件的先决条件,用于确定判断条件是否执行。因此,在判断条件确定后,确定其对应先决条件,本申请通过节点表示先决条件,将节点作为先决条件。节点号在文档中是唯一的,用于表示代码执行到了此位置。在判断条件前加入触发此判断的先决条件。例如,判断条件3的先决条件为节点2,此时判断分支只有流转到节点2后才会触发判断条件3。可通过分析各判断条件之间的关系确定判断条件的先决条件,先决条件还可以由测试人员根据测试需求文档手动输入。
S205、根据判断条件的顺序以及先决条件确定判断条件的目标顺序。
在本实施例中,目标顺序具体可以理解为判断条件在目标代码分析文档中的排列顺序,可以通过数字以及与上级的判断条件的顺序标识组合进行表示。例如,目标顺序可以通过1、2、1-1、1-2、1-1-1,等方式进行分级表示。
本申请在确定判断条件时是按照顺序依次排序,因此根据判断条件的顺序对判断条件进行第一次排序,通常判断条件按照通用性进行排序,越通用的判断条件排序越靠前。为方便生成测试用例,以及增强目标代码分析文档的可读性,根据先决条件对判断条件进行再次排序。确定每个判断条件是否存在先决条件,先决条件不存在时,可通过无、0等表示。确定判断条件是否存在先决条件,统计不存在先决条件的判断条件,此部分判断条件可按照第一次排序的顺序排列,也可以随机排序。确定每个判断条件的不同判断依据所对应的节点,判断此节点是否为任意一个或者多个判断条件的先决条件,若是,则将先决条件为此节点的判断条件作为本判断条件的下一个判断条件,按照上述方式确定每个判断条件并列的判断条件,以及每个判断条件下一层次的判断条件,进而得到每个判断条件的目标顺序。目标顺序在表示判断条件的同时,可以同时确定此判断条件的上一判断条件。或者,在已知所有判断条件后,可以确定判断条件的数量,在通过上述方式确定判断条件的最终排列顺序后,可以按照顺序为各判断条件进行编号,得到目标顺序,例如,1、2、3…n。
S206、根据各判断条件的目标顺序,将各判断条件,及其对应的先决条件、判断依据、判断结果以及节点添加至初始代码分析文档中对应的位置,得到目标代码分析文档。
初始代码分析文档中各字段所代表的含义预先定义,按照各判断条件的目标顺序,依次将判断条件填入到初始代码分析文档中对应的字段位置,每添加一个判断条件后,将其对应的先决条件添加至对应的位置,然后将判断依据添加至对应的位置,将判断依据对应的判断结果添加至对应位置,价格判断结果对应的节点添加至对应位置,由此完成对一个判断条件的添加,继续添加下一个判断条件。
示例性的,表1提供了一种目标代码分析文档的表格,对目标代码分析文档中各类型的数据进行展示。
表1
Figure BDA0003909410820000081
Figure BDA0003909410820000091
其中,判断点可以是字段名,用于表示判断依据所属的字段,不同判断点可以是不同的字段名,也可以是不同字段名的组合。
S207、确定目标代码分析文档中的首个判断条件。
在本实施例中,首个判断条件具体可以理解为判断分支中的第一个判断条件,首个判断条件可以有一个或者多个,此时每个首个判断条件均为一个分支。由于批量测试往往是对单一业务的处理,业务集中,但分支众多,因此对于一个单一业务,其对应的首个判断条件通常为一个。根据判断条件在目标代码分析文档中的顺序,以及是否存在先决条件,将不存在先决条件的判断条件分别作为首个判断条件。
S208、将首个判断条件作为起点。
S209、根据对应的每个判断依据、判断结果确定测试逻辑。
在本实施例中,测试逻辑具体可以理解为测试过程中需要执行的步骤所形成的逻辑关系,可以通过文字表示,也可以直接通过代码表示。将首个判断条件作为测试用例的起点,确定首个判断条件对应的各个判断依据,以及每个判断依据对应的判断结果,根据每个判断依据和对应的判断结果生成一个测试逻辑,在生成测试逻辑时,可以预先定义好测试逻辑的格式,将判断结果和判断依据填入至对应的位置,即可形成一条测试逻辑。对于不同类型的判断依据,还可以设置不同的测试逻辑的格式,根据判断依据选择相应的格式,进而生成测试逻辑。
S210、针对每个判断依据,判断判断依据对应的节点是否为先决条件,若是,执行S211;否则,执行S212。
对于每个判断依据,确定判断依据对应的节点,判断此节点是否为某一个判断条件的先决条件,若是,执行S211;否则,执行S212。
S211、将以节点为先决条件的判断条件作为新的起点,返回执行S209。
确定将此节点作为先决条件的判断条件,将此判断条件作为新的起点,重复执行根据根据对应的每个判断依据、判断结果确定测试逻辑的步骤。以表1为例,判断条件1作为首个判断条件,起对应的判断依据包括判断依据1、判断依据2和判断依据3,判断依据1对应的节点为节点1,判断依据2对应的节点为节点2,判断依据3对应的节点为节点3,判断节点1-节点3是否为先决条件,节点1为判断条件2的先决条件,因此,将判断条件2作为新的起点,确定测试逻辑。
S212、将节点作为终点,根据起点和终点之间的测试逻辑生成测试用例。
若此节点不是某一个判断条件的先决条件,此时说明此流程执行到节点后即可停止,不存在后续步骤,因此,将此节点作为终点,确定起点和终点之间的所有的测试逻辑,将测试逻辑串联起来生成测试用例。不同的判断依据、判断结果以及节点均可以生成相应的测试用例,即一个起点可以执行不同的判断,得到对应的多个终点。
以表1为例,测试用例5所包含的测试步骤:判断条件1选择依据1,判断条件2选择2;测试预期:节点5。
测试用例10所包含的测试步骤:判断条件1选择依据1,判断条件2选择1,判断条件3选择2,判断条件4选择1;测试预期:节点10。
作为本申请的可选实施例,本申请进一步优化包括:在根据目标代码分析文档生成测试用例之前,根据目标代码分析文档生成逻辑分支图;对逻辑分支图进行验证,根据验证结果确定目标代码分析文档是否合理。
在本实施例中,逻辑分支图具体可以理解为通过图形的形式对测试逻辑进行展示的流程图。通过对目标代码分析文档进行逻辑分析,生成可直观表示执行逻辑的逻辑分支图,并对逻辑分支图进行评审验证,可以通过逻辑验证工具进行自动验证,也可以展示逻辑分支图,由人工进行评审,判断是否遗漏测试要点。确定逻辑分支图的验证结果,验证结果可以是自动验证得到的验证结果,也可以是人工评审后输入的验证结果。验证结果可以是正常/异常、合理/不合理、0/1、ture/false等,当通过0/1、ture/false等字符表示时,可预先设置不同字符所代表的含义。通过分析验证结果所代表的含义,确定目标代码分析文档是否合理。在目标代码分析文档合理时,根据目标代码分析文档生成测试用例。
作为本申请的可选实施例,本申请进一步将根据目标代码分析文档生成逻辑分支图优化为:
A1、对目标代码分析文档进行分析,确定每个判断条件对应的判断依据和节点,并生成拆解图。
在本实施例中,拆解图具体可以理解为对判断条件进行拆解分析后得到图,用于表示判断条件与判断依据以及节点之间的关系。
分析目标代码分析文档,确定目标代码分析文档中存在的判断条件,并针对每个判断条件,确定其对应的判断依据和各判断依据对应的节点,根据判断条件、判断依据以及节点生成拆解图。
示例性的,图3提供了一种拆解图的展示示例图,以表1中的图判断条件1为例,判断条件1对应三个判断依据(判断依据1、判断依据2以及判断依据3),图中判断依据1-1表示判断条件1的判断依据1,判断依据1-2以及判断依据1-3含义与判断依据1-1含义类似,在此不再赘述,每个判断依据对应一个节点,即节点1-3。
A2、根据各判断条件的先决条件对各拆解图进行拼接,得到逻辑分支图。
确定每个判断条件的先决条件,并确定判断条件的先决条件对应的节点,在此节点后拼接此判断条件的拆解图,按照上述方式拼接所有拆解图,得到逻辑分支图。
示例性的,图4提供了一种逻辑分支图的展示示例图,以表1中的各判断条件、判断依据以及节点为例,对测试过程中的逻辑通过逻辑分支图进行展示,更加直观,结合目标代码分析文档的高人工可读性,可以快速进行测试要点评审,在人工评审时,参评人可以在没有编写人员讲解的情况下,快速阅读测试用例,并提出充分、准确的评审建议。节点n在没有后续的判断条件后,此节点即为终点,此种情况下的判断结束,例如,图4中的节点2、节点3、节点5、节点10等。
本申请提供了一种测试用例生成方法,解决了测试用例无法完全覆盖代码逻辑的问题,通过生成包含判断条件、每个判断条件对应的先决条件、判断依据、判断结果以及节点的目标代码分析文档,对代码逻辑进行全覆盖分析,贴近代码逻辑,并且通过目标代码分析文档可以自动生成测试用例,节省测试人员编写测试用例的时间,可快速生成测试用例。逻辑分支图可以快速用于测试要点评审,目标代码分析文档同时具备机器可读性,可以直接生成测试用例;自动生成用例可以保证评文档的完全转化,避免测试点遗漏。
实施例三
图5为本发明实施例三提供的一种测试用例生成装置的结构示意图。如图5所示,该装置包括:需求文档获取模块31、分析文档生成模块32和测试用例生成模块33。
其中,需求文档获取模块31,用于获取测试需求文档;
分析文档生成模块32,用于根据所述测试需求文档结合预确定的初始代码分析文档确定目标代码分析文档,所述目标代码分析文档至少包括至少一个判断条件、每个判断条件对应的先决条件、判断依据、判断结果以及节点;
测试用例生成模块33,用于根据所述目标代码分析文档生成测试用例。
本申请提供了一种测试用例生成方法,解决了测试用例无法完全覆盖代码逻辑的问题,通过生成包含判断条件、每个判断条件对应的先决条件、判断依据、判断结果以及节点的目标代码分析文档,对代码逻辑进行全覆盖分析,贴近代码逻辑,并且通过目标代码分析文档可以自动生成测试用例,节省测试人员编写测试用例的时间,可快速生成测试用例,避免测试点遗漏。
可选的,所述分析文档生成模块32,包括:
文档解析单元,用于解析所述测试需求文档,确定至少一个判断条件;
依据确定单元,用于确定每个判断条件对应的判断依据、判断结果以及节点;
先决条件确定单元,用于确定各所述判断条件对应的先决条件,所述先决条件为节点;
顺序确定单元,用于根据所述判断条件的顺序以及先决条件确定判断条件的目标顺序;
文档形成单元,用于根据各所述判断条件的目标顺序,将各所述判断条件,及其对应的先决条件、判断依据、判断结果以及节点添加至初始代码分析文档中对应的位置,得到目标代码分析文档。
可选的,所述测试用例生成模块33,包括:
首个判断条件确定单元,用于确定所述目标代码分析文档中的首个判断条件;
测逻辑确定单元,用于将首个判断条件作为起点,根据对应的每个判断依据、判断结果确定测试逻辑;
节点判断单元,用于针对每个所述判断依据,判断所述判断依据对应的节点是否为先决条件,若是,将以所述节点为先决条件的判断条件作为新的起点,执行根据对应的每个判断依据、判断结果确定测试逻辑的步骤;否则,将所述节点作为终点,根据所述起点和终点之间的测试逻辑生成测试用例。
可选的,该装置还包括:
分支图生成模块,用于根据所述目标代码分析文档生成逻辑分支图;
分支图验证模块,用于对所述逻辑分支图进行验证,根据验证结果确定所述目标代码分析文档是否合理。
可选的,分支图生成模块,包括:
拆解图生成单元,用于对所述目标代码分析文档进行分析,确定每个判断条件对应的判断依据和节点,并生成拆解图;
分支图生成单元,用于根据各所述判断条件的先决条件对各所述拆解图进行拼接,得到逻辑分支图。
本发明实施例所提供的测试用例生成装置可执行本发明任意实施例所提供的测试用例生成方法,具备执行方法相应的功能模块和有益效果。
实施例四
图6示出了可以用来实施本发明的实施例的电子设备40的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图6所示,电子设备40包括至少一个处理器41,以及与至少一个处理器41通信连接的存储器,如只读存储器(ROM)42、随机访问存储器(RAM)43等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器41可以根据存储在只读存储器(ROM)42中的计算机程序或者从存储单元48加载到随机访问存储器(RAM)43中的计算机程序,来执行各种适当的动作和处理。在RAM 43中,还可存储电子设备40操作所需的各种程序和数据。处理器41、ROM 42以及RAM 43通过总线44彼此相连。输入/输出(I/O)接口45也连接至总线44。
电子设备40中的多个部件连接至I/O接口45,包括:输入单元46,例如键盘、鼠标等;输出单元47,例如各种类型的显示器、扬声器等;存储单元48,例如磁盘、光盘等;以及通信单元49,例如网卡、调制解调器、无线通信收发机等。通信单元49允许电子设备40通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器41可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器41的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器41执行上文所描述的各个方法和处理,例如测试用例生成方法。
在一些实施例中,测试用例生成方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元48。在一些实施例中,计算机程序的部分或者全部可以经由ROM 42和/或通信单元49而被载入和/或安装到电子设备40上。当计算机程序加载到RAM 43并由处理器41执行时,可以执行上文描述的测试用例生成方法的一个或多个步骤。备选地,在其他实施例中,处理器41可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行测试用例生成方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种测试用例生成方法,其特征在于,包括:
获取测试需求文档;
根据所述测试需求文档结合预确定的初始代码分析文档确定目标代码分析文档,所述目标代码分析文档至少包括至少一个判断条件、每个判断条件对应的先决条件、判断依据、判断结果以及节点;
根据所述目标代码分析文档生成测试用例。
2.根据权利要求1所述的方法,其特征在于,所述根据所述测试需求文档结合预确定的初始代码分析文档确定目标代码分析文档,包括:
解析所述测试需求文档,确定至少一个判断条件;
确定每个判断条件对应的判断依据、判断结果以及节点;
确定各所述判断条件对应的先决条件,所述先决条件为节点;
根据所述判断条件的顺序以及先决条件确定判断条件的目标顺序;
根据各所述判断条件的目标顺序,将各所述判断条件,及其对应的先决条件、判断依据、判断结果以及节点添加至初始代码分析文档中对应的位置,得到目标代码分析文档。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标代码分析文档生成测试用例,包括:
确定所述目标代码分析文档中的首个判断条件;
将首个判断条件作为起点,根据对应的每个判断依据、判断结果确定测试逻辑;
针对每个所述判断依据,判断所述判断依据对应的节点是否为先决条件,若是,将以所述节点为先决条件的判断条件作为新的起点,执行根据对应的每个判断依据、判断结果确定测试逻辑的步骤;
否则,将所述节点作为终点,根据所述起点和终点之间的测试逻辑生成测试用例。
4.根据权利要求1-3任一项所述的方法,其特征在于,在所述根据所述目标代码分析文档生成测试用例之前,还包括:
根据所述目标代码分析文档生成逻辑分支图;
对所述逻辑分支图进行验证,根据验证结果确定所述目标代码分析文档是否合理。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标代码分析文档生成逻辑分支图,包括:
对所述目标代码分析文档进行分析,确定每个判断条件对应的判断依据和节点,并生成拆解图;
根据各所述判断条件的先决条件对各所述拆解图进行拼接,得到逻辑分支图。
6.一种测试用例生成装置,其特征在于,包括:
需求文档获取模块,用于获取测试需求文档;
分析文档生成模块,用于根据所述测试需求文档结合预确定的初始代码分析文档确定目标代码分析文档,所述目标代码分析文档至少包括至少一个判断条件、每个判断条件对应的先决条件、判断依据、判断结果以及节点;
测试用例生成模块,用于根据所述目标代码分析文档生成测试用例。
7.根据权利要求6所述的装置,其特征在于,所述分析文档生成模块,包括:
文档解析单元,用于解析所述测试需求文档,确定至少一个判断条件;
依据确定单元,用于确定每个判断条件对应的判断依据、判断结果以及节点;
先决条件确定单元,用于确定各所述判断条件对应的先决条件,所述先决条件为节点;
顺序确定单元,用于根据所述判断条件的顺序以及先决条件确定判断条件的目标顺序;
文档形成单元,用于根据各所述判断条件的目标顺序,将各所述判断条件,及其对应的先决条件、判断依据、判断结果以及节点添加至初始代码分析文档中对应的位置,得到目标代码分析文档。
8.根据权利要求6所述的装置,其特征在于,所述测试用例生成模块,包括:
首个判断条件确定单元,用于确定所述目标代码分析文档中的首个判断条件;
测逻辑确定单元,用于将首个判断条件作为起点,根据对应的每个判断依据、判断结果确定测试逻辑;
节点判断单元,用于针对每个所述判断依据,判断所述判断依据对应的节点是否为先决条件,若是,将以所述节点为先决条件的判断条件作为新的起点,执行根据对应的每个判断依据、判断结果确定测试逻辑的步骤;否则,将所述节点作为终点,根据所述起点和终点之间的测试逻辑生成测试用例。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的测试用例生成方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-5中任一项所述的测试用例生成方法。
CN202211318488.3A 2022-10-26 2022-10-26 一种测试用例生成方法、装置、设备及存储介质 Pending CN115576828A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211318488.3A CN115576828A (zh) 2022-10-26 2022-10-26 一种测试用例生成方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211318488.3A CN115576828A (zh) 2022-10-26 2022-10-26 一种测试用例生成方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN115576828A true CN115576828A (zh) 2023-01-06

Family

ID=84586817

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211318488.3A Pending CN115576828A (zh) 2022-10-26 2022-10-26 一种测试用例生成方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115576828A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116431135A (zh) * 2023-06-12 2023-07-14 江西五十铃汽车有限公司 汽车代码编写方法、系统、计算机及可读存储介质
CN117195790A (zh) * 2023-11-07 2023-12-08 成都市楠菲微电子有限公司 多级表项验证方法、系统及计算机设备及介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116431135A (zh) * 2023-06-12 2023-07-14 江西五十铃汽车有限公司 汽车代码编写方法、系统、计算机及可读存储介质
CN116431135B (zh) * 2023-06-12 2023-09-22 江西五十铃汽车有限公司 汽车代码编写方法、系统、计算机及可读存储介质
CN117195790A (zh) * 2023-11-07 2023-12-08 成都市楠菲微电子有限公司 多级表项验证方法、系统及计算机设备及介质
CN117195790B (zh) * 2023-11-07 2024-01-26 成都市楠菲微电子有限公司 多级表项验证方法、系统及计算机设备及介质

Similar Documents

Publication Publication Date Title
CN115576828A (zh) 一种测试用例生成方法、装置、设备及存储介质
CN112100359A (zh) 测试用例查找方法、装置、设备及存储介质
CN115598505A (zh) 一种芯片检测方法、装置、设备和存储介质
CN116303013A (zh) 源码分析方法、装置、电子设备及存储介质
CN115048352B (zh) 一种日志字段提取方法、装置、设备和存储介质
CN115576831A (zh) 一种测试案例推荐方法、装置、设备及存储介质
CN115269431A (zh) 一种接口测试方法、装置、电子设备及存储介质
CN114443493A (zh) 一种测试案例生成方法、装置、电子设备和存储介质
CN115328736A (zh) 一种探针部署方法、装置、设备和存储介质
CN114490408A (zh) 一种测试用例生成方法、装置、设备、存储介质及产品
CN114722401A (zh) 一种设备安全测试方法、装置、设备及存储介质
CN114693116A (zh) 代码评审有效性的检测方法及装置、电子设备
CN115098405B (zh) 软件产品的测评方法、装置、电子设备及存储介质
CN115374010A (zh) 功能测试方法、装置、设备及存储介质
CN110866492A (zh) 一种基线分支的识别方法、装置及计算机系统
CN116401113B (zh) 一种异构众核架构加速卡的环境验证方法、装置及介质
CN114443492A (zh) 一种软件测试方法、装置、电子设备和存储介质
CN113836291B (zh) 数据处理方法、装置、设备和存储介质
CN117724980A (zh) 软件框架性能的测试方法、装置、电子设备和存储介质
CN115858367A (zh) 一种测试用例筛选方法、装置、设备及介质
CN115659347A (zh) 一种安全测试方法、装置、电子设备和存储介质
CN116594827A (zh) 硬件设备的自动测试方法、装置、工作台、设备及介质
CN114996157A (zh) 变更代码的风险识别方法、装置、设备以及存储介质
CN116225390A (zh) 一种软件开发文件的入库方法、装置、设备及介质
CN115859300A (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