CN107590074A - 一种测试用例的生成方法及装置 - Google Patents

一种测试用例的生成方法及装置 Download PDF

Info

Publication number
CN107590074A
CN107590074A CN201710790969.7A CN201710790969A CN107590074A CN 107590074 A CN107590074 A CN 107590074A CN 201710790969 A CN201710790969 A CN 201710790969A CN 107590074 A CN107590074 A CN 107590074A
Authority
CN
China
Prior art keywords
node
digraph
sequence
test case
numbering
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
CN201710790969.7A
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710790969.7A priority Critical patent/CN107590074A/zh
Publication of CN107590074A publication Critical patent/CN107590074A/zh
Pending legal-status Critical Current

Links

Abstract

本发明公开了一种测试用例的生成方法及装置,所述方法包括:将软件系统的流程中的步骤作为有向图的节点,并确定节点的编号;根据所述步骤之间的执行顺序确定节点之间的顺序,并确定节点之间的有向边的标记;通过图深度遍历算法遍历有向图,并用编号和标记,记录沿有向图纵深方向的每条路径的节点序列以及与节点序列对应的边序列,生成测试用例。通过上述方法把软件系统中的流程,用节点序列和边序列完整的表示出来,对于功能繁多、转测点较多的软件,既保证了测试用例的广度、深度、覆盖度以及准确度,又能快速、方便的生成编写测试用例,节约了时间和成本。相应地,本发明公开的一种测试用例的生成装置,也同样具有上述技术效果。

Description

一种测试用例的生成方法及装置
技术领域
本发明涉及软件测试技术领域,更具体地说,涉及一种测试用例的生成方法及装置。
背景技术
随着计算机技术以及互联网技术等信息产业的发展,软件开发的项目工程越来越多,开发人员采取敏捷开发模型来加快开发迭代周期,但是,随着软件开发迭代周期的不断加快,给测试人员带来了巨大的工作量和挑战。
在执行软件测试之前,测试人员需要针对软件的需求功能编写生成测试用例,在测试用例的指导下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估。目前,正在使用的测试用例的编写生成方法主要包括:等价类划分、边界值、因果图、判定表等,但随着软件流程中转测功能点不断增多,测试用例的生成及编写工作量也不断增加,针对功能繁多、转测点较多的软件,在使用上述方法生成的测试用例时,为了提高测试用例的广度、深度、覆盖度以及准确度,生成过程就显得繁琐而复杂,不足以应对庞大的工作量。
因此,针对功能繁多、转测点较多的软件,如何在保证测试用例的广度、深度、覆盖度以及准确度的同时,又能快速、方便的生成测试用例,是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种测试用例的生成方法及装置,以实现在保证测试用例的广度、深度、覆盖度以及准确度的同时,快速、方便的生成测试用例。
为实现上述目的,本发明实施例提供了如下技术方案:
一种测试用例的生成方法,包括:
将软件系统的流程中的步骤作为有向图的节点,并确定所述节点的编号;
根据所述步骤之间的执行顺序确定所述节点之间的顺序,并确定所述节点之间的有向边的标记;
通过图深度遍历算法遍历所述有向图,并用所述编号和所述标记,记录沿所述有向图纵深方向的每条路径的节点序列以及与所述节点序列对应的边序列,生成测试用例。
其中,所述将软件系统的流程中的步骤作为有向图的节点,并确定所述节点的编号,包括:
将所述软件系统的流程按照不同的功能划分为不同的模块;
将每个模块的流程中的步骤作为有向图的节点,并确定所述每个模块对应的有向图的节点的编号。
其中,所述将软件系统的流程中的步骤作为有向图的节点,并确定所述节点的编号,包括:
根据所述软件系统的流程绘制相应的流程图;
将所述流程图中的步骤作为有向图的节点,并确定所述节点的编号。
其中,所述将所述流程图中的步骤作为有向图的节点,并确定所述节点的编号,包括:
将所述流程图中的步骤作为有向图的节点,并将所述节点用英文字母由A到Z进行编号,所述节点与所述英文字母一一对应。
其中,所述确定所述节点之间的有向边的标记,包括:
将所述有向图的有向边用0或1进行标记,其中,将判断节点通过的有向边标记为0,不通过的有向边标记为1,非判断节点之间的有向边标记为0。
其中,所述记录沿所述有向图纵深方向的每条路径的节点序列以及与所述节点序列对应的边序列之后,还包括:
根据预先生成的节点与编号一一对应的节点对应表修正所述节点序列;
根据预先生成的有向边与标记一一对应的边序列对应表修正所述边序列。
一种测试用例的生成装置,包括:
第一执行模块,用于将软件系统的流程中的步骤作为有向图的节点,并确定所述节点的编号;
第二执行模块,用于根据所述步骤之间的执行顺序确定所述节点之间的顺序,并确定所述节点之间的有向边的标记;
生成模块,用于通过图深度遍历算法遍历所述有向图,并用所述编号和所述标记,记录沿所述有向图纵深方向的每条路径的节点序列以及与所述节点序列对应的边序列,生成测试用例。
其中,所述第一执行模块包括:
划分单元,用于将所述软件系统的流程按照不同的功能划分为不同的模块;
第一编号单元,用于将每个模块的流程中的步骤作为有向图的节点,并确定所述每个模块的节点的编号,所述模块与所述有向图一一对应。
其中,所述第一执行模块包括:
绘制单元,用于根据所述软件系统的流程绘制相应的流程图;
第二编号单元,用于将所述流程图中的步骤作为有向图的节点,并确定所述节点的编号。
其中,所述生成模块还包括:
第一修正单元,用于根据预先生成的节点与编号一一对应的节点对应表修正所述节点序列;
第二修正单元,用于根据预先生成的有向边与标记一一对应的边序列对应表修正所述边序列。
通过以上方案可知,本发明实施例提供的一种测试用例的生成方法,所述方法包括:将软件系统的流程中的步骤作为有向图的节点,并确定所述节点的编号;根据所述步骤之间的执行顺序确定所述节点之间的顺序,并确定所述节点之间的有向边的标记;通过图深度遍历算法遍历所述有向图,并用所述编号和所述标记,记录沿所述有向图纵深方向的每条路径的节点序列以及与所述节点序列对应的边序列,生成测试用例。
可见,上述方法通过将软件系统的流程中的步骤作为有向图的节点,并确定所述节点的编号;进而根据所述步骤之间的执行顺序确定所述节点之间的顺序,并确定所述节点之间的有向边的标记;最后通过图深度遍历算法遍历所述有向图,并用所述编号和所述标记,记录沿所述有向图纵深方向的每条路径的节点序列以及与所述节点序列对应的边序列,生成测试用例。如此便把软件系统中的流程,通过有编号的节点序列和有标记的边序列完整的表示出来,这样对于功能繁多、转测点较多的软件,既保证了测试用例的广度、深度、覆盖度以及准确度,又能快速、方便的生成编写测试用例,节约了时间和成本;即使后期软件需要修改,依据此方法也能快速生成匹配的测试用例,从而节约了维护成本。
相应地,本发明实施例提供的一种测试用例的生成装置,也同样具有上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种测试用例的生成方法流程图;
图2为本发明实施例公开的第二种测试用例的生成方法流程图;
图3为本发明实施例公开的第二种测试用例的生成方法中提供的部分源代码生成的相应的流程图;
图4为本发明实施例公开的第二种测试用例的生成方法中提供的与图3对应的有向图;
图5为本发明实施例公开的第三种测试用例的生成方法流程图;
图6为本发明实施例公开的一种测试用例的生成装置示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种测试用例的生成方法及装置,以实现在保证测试用例的广度、深度、覆盖度以及准确度的同时,快速、方便的生成测试用例。
参见图1,本发明实施例提供的一种测试用例的生成方法,包括:
S101、将软件系统的流程中的步骤作为有向图的节点,并确定所述节点的编号;
在本实施例中,将软件系统中的源代码流程的执行步骤作为有向图的节点,并将所述节点用英文字母由A到Z进行编号,所述节点与所述英文字母一一对应。当然,有向图的节点也可以用数字或者其他形式进行编号,本领域内的技术人员可以根据自身习惯灵活选择编号方式,而在本发明实施例中,仅对用英文字母进行编号这一种编号方式具体描述,但本发明并不局限于此。
以下述累加源代码为例,将源代码的每一个步骤作为有向图的节点,并用英文字母由A到Z进行编号。
步骤1“int i,s”作为第一节点,编号为A;
步骤2“s=0”作为第二节点,编号为B;
步骤3“for(i=1;i++)”作为第三节点,编号为C;
步骤4“s=s+i”作为第四节点,编号为D;
步骤5“if(i>999999)break”作为第五节点,编号为E;
需要说明的是,步骤5为判断步骤,所以步骤5会分为判断通过和判断不通过的两个分支,即分为i大于999999和i不大于999999这两个分支;如果i大于999999,则执行步骤6,如果i不大于999999,则执行步骤3。
步骤6“printf(“s=%d,i=%d\n”,s,i)”作为第六节点,编号为F。
如此就完成了对源代码流程的执行步骤的编号。
S102、根据所述步骤之间的执行顺序确定所述节点之间的顺序,并确定所述节点之间的有向边的标记;
需要说明的是,根据上述步骤之间的执行顺序确定A节点到F节点之间的顺序,还需要将节点之间的有向边进行标记。
具体的,以上述累加源代码为例,根据上述步骤的执行顺序确定了节点A到节点F的顺序为A-B-C-D-E-F,其中,C、D、E是一个循环步骤,即在i不大于999999时,E与C会有连接。将不具有判断功能的节点之间的有向边用1标记;对于具有判断功能的节点,将判断通过的有向边用1标记,将判断未通过的有向边用0标记。即将A与B、B与C、C与D、D与E之间的有向边均用1标记,节点E为具有判断功能的节点,所以将判断通过的E与F之间的有向边用1标记,将判断未通过的E与C之间的有向边用0标记。所以,所述有向图的每条有向边均具有对应的0或1的标记。
S103、通过图深度遍历算法遍历所述有向图,并用所述编号和所述标记,记录沿所述有向图纵深方向的每条路径的节点序列以及与所述节点序列对应的边序列,生成测试用例。
需要说明的是,由于图深度遍历算法是尽可能的往有向图的纵深方向遍历,所以在遍历过程中会形成纵深方向的路径,而所述有向图的节点具有编号,有向边具有标记,因而遍历路径可以用编号和标记记录,而每条路径的编号记录的节点序列和标记记录的边序列一一对应。
具体的,以上述累加源代码为例,如果源代码运行过程中判断通过,则节点序列为ABCDEF,对应的边序列为11111;如果源代码运行过程中判断未通过,则节点序列为ABCDECDECDE…(CDE重复出现直至判断通过),对应的边序列为1111011011…(对应上述重复的节点序列,边序列也重复直至判断通过)如此便完成了本实施例中的累加的测试用例的编写。当然,本实施例提供的源代码比较简单,只编写出了两条路径的节点序列和各自对应的边序列,如若使用本实施例提供的方法针对某软件编写测试用例,便能快速的生成清晰明了的测试用例,节约时间和成本。
可见,本实施例提供的一种测试用例的生成方法,所述方法首先将软件系统的流程绘制成相应的流程图,并将所述流程图中的步骤作为有向图的节点,并用英文字母对节点一一编号;进而根据所述步骤之间的执行顺序确定所述节点之间的顺序,并用0或1对有向边进行标记;最后通过图深度遍历算法遍历所述有向图,并用所述编号和所述标记,记录沿所述有向图纵深方向的每条路径的节点序列以及与所述节点序列对应的边序列,生成测试用例。如此便把软件系统中的流程,通过有编号的节点序列和有标记的边序列完整的表示出来,这样对于功能繁多、转测点较多的软件,既保证了测试用例的广度、深度、覆盖度以及准确度,又能快速、方便的生成编写测试用例,节约了时间和成本;即使后期软件需要修改,依据此方法也能快速生成匹配的测试用例,从而节约了维护成本。
参见图2,本发明实施例提供的第二种测试用例的生成方法,包括:
S201、根据软件系统的流程绘制相应的流程图;
具体的,根据软件系统的源代码流程可以生成相应的流程图,用以表示软件系统的流程。参见图3,图3为软件系统中的部分源代码生成的相应的流程图。
S202、将所述流程图中的步骤作为有向图的节点,并确定所述节点的编号;
在本实施例中,所述将所述流程图中的步骤作为有向图的节点,并确定所述节点的编号,包括:
将所述流程图中的步骤作为有向图的节点,并将所述节点用英文字母由A到Z进行编号,所述节点与所述英文字母一一对应。
具体的,根据图3所示的流程图,将流程图中的步骤作为有向图的节点,并将这些节点用英文字母进行编号,具体的编号过程与上述实施例类似,故在此不再赘述。
S203、根据所述步骤之间的执行顺序确定所述节点之间的顺序,并确定所述节点之间的有向边的标记;
在本实施例中,在根据流程图中的步骤之间的执行顺序确定所述节点之间的顺序后,将所述有向图的有向边用0或1进行标记,其中,将判断节点通过的有向边标记为0,不通过的有向边标记为1,非判断节点之间的有向边标记为0。
具体的,根据图3所示的流程图以及用英文字母编号的节点,绘制出与图3对应的有向图,所述有向图参见图4。其中,将不具有判断功能的节点之间的有向边用0标记;对于具有判断功能的节点,将判断通过的有向边用0标记,将判断未通过的有向边用1标记,具体标记参见图4。
S204、通过图深度遍历算法遍历所述有向图,并用所述编号和所述标记,记录沿所述有向图纵深方向的每条路径的节点序列以及与所述节点序列对应的边序列,生成测试用例。
具体的,通过图深度遍历算法遍历图4,并用所述编号和所述标记,记录沿所述有向图纵深方向的每条路径的节点序列以及与所述节点序列对应的边序列,即可获得如下序列:
节点序列1:ABDF;对应的边序列:000;
节点序列2:ABCDF;对应的边序列:0100;
节点序列3:ABCEGHJ;对应的边序列:011000;
节点序列4:ABCEGI;对应的边序列:01101;
节点序列5:AEGHJ;对应的边序列:1000;
节点序列6:AEGI;对应的边序列:101;
节点序列7:AEI;对应的边序列:11。
如此便生成了这部分源代码的测试用例。当然,如果针对整个软件系统,也可以使用本实施例提供的方法,快速的生成测试用例。
可见,本实施例提供的一种测试用例的生成方法,所述方法首先将软件系统的流程绘制成相应的流程图,并将所述流程图中的步骤作为有向图的节点,并用英文字母对节点一一编号;进而根据所述步骤之间的执行顺序确定所述节点之间的顺序,并用0或1对有向边进行标记;最后通过图深度遍历算法遍历所述有向图,并用所述编号和所述标记,记录沿所述有向图纵深方向的每条路径的节点序列以及与所述节点序列对应的边序列,生成测试用例。如此便把软件系统中的流程,通过有编号的节点序列和有标记的边序列完整的表示出来,这样对于功能繁多、转测点较多的软件,既保证了测试用例的广度、深度、覆盖度以及准确度,又能快速、方便的生成编写测试用例,节约了时间和成本;即使后期软件需要修改,依据此方法也能快速生成匹配的测试用例,从而节约了维护成本。
参见图5,本发明实施例提供的第三种测试用例的生成方法,包括:
S501、将软件系统的流程按照不同的功能划分为不同的模块;
具体的,由于软件要实现的功能繁多复杂,所以需要将软件系统的流程按照不同的功能划分为不同的模块,针对每一个模块进行具体的处理分析。由于在本实施例中存在多个模块,每个模块对应一个有向图,即存在多个有向图,那么为了将这些模块和有向图区分,对这些模块和有向图从1开始顺序编号,1号模块对应的有向图也同样编号为1,其他以此类推。
S502、将每个模块的流程中的步骤作为有向图的节点,并确定所述每个模块对应的有向图的节点的编号;
在本实施例中,用英文字母加数字的形式对每个有向图的节点进行编号。例如:1号有向图的节点用A1、B1、C1、D1…这样的形式编号,2号有向图的节点用A2、B2、C2、D2…这样的形式编号,其他以此类推。如此便清晰的区分出了每个模块对应的有向图的节点编号,方便记录和查看。
S503、根据所述步骤之间的执行顺序确定所述节点之间的顺序,并确定所述节点之间的有向边的标记;
S504、通过图深度遍历算法遍历所述有向图,并用所述编号和所述标记,记录沿所述有向图纵深方向的每条路径的节点序列以及与所述节点序列对应的边序列,生成测试用例。
具体的,在本实施例中,首先将软件系统的流程按照不同的功能划分为不同的模块,生成针对每一个模块的有向图,并按照本发明实施例提供的生成测试用例的方法,生成每一个模块对应的有向图的节点序列和边序列,从而生成整个软件系统的测试用例。
可见,本实施例提供的一种测试用例的生成方法,所述方法首先将软件系统的流程按照不同的功能划分为不同的模块,并将每个模块的流程中的步骤作为有向图的节点,并确定所述每个模块对应的有向图的节点的编号;进而根据每个模块的步骤之间的执行顺序确定节点之间的顺序,并确定每个模块对应的有向图的节点之间的有向边的标记;最后通过图深度遍历算法遍历每个模块对应的有向图,并用所述编号和所述标记,记录沿所述有向图纵深方向的每条路径的节点序列以及与所述节点序列对应的边序列,生成测试用例。如此便把软件系统的流程分模块处理,并通过编号和标记记录每一个模块的节点序列和对应的边序列,如此将各个模块要实现的功能以及场景完整的表示出来,整个软件系统的功能和场景也就得到了完整的表示。这样对于功能繁多、转测点较多的软件,既保证了测试用例的广度、深度、覆盖度以及准确度,又能快速、方便的生成编写测试用例,节约了时间和成本;即使后期软件需要修改,依据此方法也能快速生成匹配的测试用例,从而节约了维护成本。
基于上述任意实施例,需要说明的是,所述记录沿所述有向图纵深方向的每条路径的节点序列以及与所述节点序列对应的边序列之后,还包括:
根据预先生成的节点与编号一一对应的节点对应表修正所述节点序列;
根据预先生成的有向边与标记一一对应的边序列对应表修正所述边序列。
具体的,在对节点进行编号时,生成了节点与编号一一对应的节点对应表;在对有向边进行标记时,生成了有向边与标记一一对应的边序列对应表。以图3为例,节点对应表和边序列对应表如下,其中,英文字母分别对应表示节点,0和1分别对应表示各个有向边。
A节点表示“开启目录分片且导出”;
B节点表示“目录,value=1,且未分片过”;
C节点表示“父目录下没有目录,且未做过分片,且文件数量达到n”;
D节点表示“读取分片数量”;
E节点表示“是否开启目录分片”;
F节点表示“分片并导出(mds.0不负载)”;
G节点表示“当前目录(分片)大小是否达到上限(n<上限)”;
H节点表示“将当前目录加到分片列表”;
I节点表示“原有新建流程”;
J节点表示“定时器将列表中的目录(分片)进行分片”。
其中,A与B、B与D、C与D、D与F、E与G、G与H和H与J之间的有向边均依照本发明实施例提供的标记方案用0标记,其余有向边用1标记。
所以通过图深度遍历算法遍历有向图,并记录节点序列和与节点序列对应的边序列后,为了防止出现错误,需要根据节点对应表修正生成的节点序列;根据边序列对应表修正生成的边序列,保证生成的测试用例的覆盖度和准确度。
基于上述任意实施例,需要说明的是,对有向图的节点的编号和有向边的标记可以根据测试测试人员的习惯自行设计,并不局限于本发明实施例提供的编号形式和标记形式。
下面对本发明实施例提供的一种测试用例的生成装置进行介绍,下文描述的一种测试用例的生成装置与上文描述的一种测试用例的生成方法可以相互参照。
参见图6,本发明实施例提供的一种测试用例的生成装置,包括:
第一执行模块601,用于将软件系统的流程中的步骤作为有向图的节点,并确定所述节点的编号;
第二执行模块602,用于根据所述步骤之间的执行顺序确定所述节点之间的顺序,并确定所述节点之间的有向边的标记;
生成模块603,用于通过图深度遍历算法遍历所述有向图,并用所述编号和所述标记,记录沿所述有向图纵深方向的每条路径的节点序列以及与所述节点序列对应的边序列,生成测试用例。
其中,所述第一执行模块包括:
划分单元,用于将所述软件系统的流程按照不同的功能划分为不同的模块;
第一编号单元,用于将每个模块的流程中的步骤作为有向图的节点,并确定所述每个模块的节点的编号,所述模块与所述有向图一一对应。
其中,所述第一执行模块包括:
绘制单元,用于根据所述软件系统的流程绘制相应的流程图;
第二编号单元,用于将所述流程图中的步骤作为有向图的节点,并确定所述节点的编号。
其中,所述生成模块还包括:
第一修正单元,用于根据预先生成的节点与编号一一对应的节点对应表修正所述节点序列;
第二修正单元,用于根据预先生成的有向边与标记一一对应的边序列对应表修正所述边序列。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种测试用例的生成方法,其特征在于,包括:
将软件系统的流程中的步骤作为有向图的节点,并确定所述节点的编号;
根据所述步骤之间的执行顺序确定所述节点之间的顺序,并确定所述节点之间的有向边的标记;
通过图深度遍历算法遍历所述有向图,并用所述编号和所述标记,记录沿所述有向图纵深方向的每条路径的节点序列以及与所述节点序列对应的边序列,生成测试用例。
2.根据权利要求1所述的测试用例的生成方法,其特征在于,所述将软件系统的流程中的步骤作为有向图的节点,并确定所述节点的编号,包括:
将所述软件系统的流程按照不同的功能划分为不同的模块;
将每个模块的流程中的步骤作为有向图的节点,并确定所述每个模块对应的有向图的节点的编号。
3.根据权利要求1所述的测试用例的生成方法,其特征在于,所述将软件系统的流程中的步骤作为有向图的节点,并确定所述节点的编号,包括:
根据所述软件系统的流程绘制相应的流程图;
将所述流程图中的步骤作为有向图的节点,并确定所述节点的编号。
4.根据权利要求3所述的测试用例的生成方法,其特征在于,所述将所述流程图中的步骤作为有向图的节点,并确定所述节点的编号,包括:
将所述流程图中的步骤作为有向图的节点,并将所述节点用英文字母由A到Z进行编号,所述节点与所述英文字母一一对应。
5.根据权利要求1所述的测试用例的生成方法,其特征在于,所述确定所述节点之间的有向边的标记,包括:
将所述有向图的有向边用0或1进行标记,其中,将判断节点通过的有向边标记为0,不通过的有向边标记为1,非判断节点之间的有向边标记为0。
6.根据权利要求1-5任意一项所述的测试用例的生成方法,其特征在于,所述记录沿所述有向图纵深方向的每条路径的节点序列以及与所述节点序列对应的边序列之后,还包括:
根据预先生成的节点与编号一一对应的节点对应表修正所述节点序列;
根据预先生成的有向边与标记一一对应的边序列对应表修正所述边序列。
7.一种测试用例的生成装置,其特征在于,包括:
第一执行模块,用于将软件系统的流程中的步骤作为有向图的节点,并确定所述节点的编号;
第二执行模块,用于根据所述步骤之间的执行顺序确定所述节点之间的顺序,并确定所述节点之间的有向边的标记;
生成模块,用于通过图深度遍历算法遍历所述有向图,并用所述编号和所述标记,记录沿所述有向图纵深方向的每条路径的节点序列以及与所述节点序列对应的边序列,生成测试用例。
8.根据权利要求7所述的测试用例的生成装置,其特征在于,所述第一执行模块包括:
划分单元,用于将所述软件系统的流程按照不同的功能划分为不同的模块;
第一编号单元,用于将每个模块的流程中的步骤作为有向图的节点,并确定所述每个模块的节点的编号,所述模块与所述有向图一一对应。
9.根据权利要求7所述的测试用例的生成装置,其特征在于,所述第一执行模块包括:
绘制单元,用于根据所述软件系统的流程绘制相应的流程图;
第二编号单元,用于将所述流程图中的步骤作为有向图的节点,并确定所述节点的编号。
10.根据权利要求7-9任意一项所述的测试用例的生成装置,其特征在于,所述生成模块还包括:
第一修正单元,用于根据预先生成的节点与编号一一对应的节点对应表修正所述节点序列;
第二修正单元,用于根据预先生成的有向边与标记一一对应的边序列对应表修正所述边序列。
CN201710790969.7A 2017-09-05 2017-09-05 一种测试用例的生成方法及装置 Pending CN107590074A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710790969.7A CN107590074A (zh) 2017-09-05 2017-09-05 一种测试用例的生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710790969.7A CN107590074A (zh) 2017-09-05 2017-09-05 一种测试用例的生成方法及装置

Publications (1)

Publication Number Publication Date
CN107590074A true CN107590074A (zh) 2018-01-16

Family

ID=61050842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710790969.7A Pending CN107590074A (zh) 2017-09-05 2017-09-05 一种测试用例的生成方法及装置

Country Status (1)

Country Link
CN (1) CN107590074A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109934507A (zh) * 2019-03-21 2019-06-25 网宿科技股份有限公司 一种业务流程调度的方法及装置
CN111459824A (zh) * 2020-04-01 2020-07-28 腾讯科技(深圳)有限公司 并发服务的测试用例处理方法及装置
CN113778893A (zh) * 2021-09-18 2021-12-10 中国平安人寿保险股份有限公司 对话机器人测试用例生成方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464797A (zh) * 2008-12-09 2009-06-24 北京星网锐捷网络技术有限公司 基于统一建模语言活动图自动生成测试用例的方法及系统
CN102662644A (zh) * 2012-02-29 2012-09-12 浙江大学 一种使用流程图生成测试案例的方法
CN104391793A (zh) * 2014-11-27 2015-03-04 中国联合网络通信集团有限公司 测试步骤及测试脚本生成方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464797A (zh) * 2008-12-09 2009-06-24 北京星网锐捷网络技术有限公司 基于统一建模语言活动图自动生成测试用例的方法及系统
CN102662644A (zh) * 2012-02-29 2012-09-12 浙江大学 一种使用流程图生成测试案例的方法
CN104391793A (zh) * 2014-11-27 2015-03-04 中国联合网络通信集团有限公司 测试步骤及测试脚本生成方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109934507A (zh) * 2019-03-21 2019-06-25 网宿科技股份有限公司 一种业务流程调度的方法及装置
CN111459824A (zh) * 2020-04-01 2020-07-28 腾讯科技(深圳)有限公司 并发服务的测试用例处理方法及装置
CN111459824B (zh) * 2020-04-01 2021-09-14 腾讯科技(深圳)有限公司 并发服务的测试用例处理方法及装置
CN113778893A (zh) * 2021-09-18 2021-12-10 中国平安人寿保险股份有限公司 对话机器人测试用例生成方法、装置、设备及存储介质
CN113778893B (zh) * 2021-09-18 2024-03-15 中国平安人寿保险股份有限公司 对话机器人测试用例生成方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US11235774B2 (en) Road condition predicting method and apparatus, computer device and readable medium
Pereira et al. An integrated architecture for autonomous vehicles simulation
CN107590074A (zh) 一种测试用例的生成方法及装置
CN104156357B (zh) 电子地图数据的检验方法及装置
CN107657177A (zh) 一种漏洞检测方法及装置
CN104123407B (zh) 一种基于电路仿真的可测试性模型自动建立方法
CN109002474A (zh) 一种数据迁移方法及装置
RU2008151962A (ru) Методология измерения покрытия в структурном состоянии взаимного соединения
CN105468797A (zh) 一种信息处理方法及装置
CN108204819A (zh) 一种地图数据自动检测方法和装置、及混合导航系统
CN103390048B (zh) 链接地址更新方法和装置
CN107579851A (zh) 确定资源编排模板的执行顺序的方法和装置
CN107578055A (zh) 一种图像预测方法和装置
Wiśniewski et al. Application of comparability graphs in decomposition of Petri nets
CN107729247A (zh) 基于jenkins检查源程序代码错误的方法和装置
US9165104B1 (en) Method and apparatus for identifying double patterning color-seeding violations
CN109582774A (zh) 自然语言分类方法、装置、设备及存储介质
CN111368409A (zh) 车辆流的模拟处理方法、装置、设备和存储介质
CN107797805A (zh) 一种代码封装方法、装置及计算机可读存储介质
Habel et al. On context-free graph languages generated by edge replacement
CN106484690A (zh) 一种数据迁移的验证方法及装置
CN106453404A (zh) 一种网络入侵检测方法及装置
CN109885929A (zh) 自动驾驶决策规划数据复现方法及装置
CN104243243B (zh) 一种用于生成协议测试序列的方法
CN109684756A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180116