基于图搜索的测试案例生成的方法、系统及存储介质与流程

文档序号:27829014发布日期:2021-12-07 21:44阅读:113来源:国知局
基于图搜索的测试案例生成的方法、系统及存储介质与流程

1.本发明属于互联网信息测试技术领域,尤其涉及一种基于图搜索的测试案例生成的方法及系统。


背景技术:

2.目前,测试人员在编写测试用例(测试案例)的时候,因为测试场景复杂,业务流程较多,业务流转较为复杂的时候,测试人员不得不花费大量的时间用于场景的划分,业务流程的划分,以及业务流转分析方面。
3.当前的这种业务设计方法主要存在以下缺陷:场景覆盖不全,场景分析需要投入大量的时间,测试案例输出耗费时间长,测试步骤需要人力检查是否有遗漏。而一旦部分场景未覆盖全,则可能导致后续的生产事故。


技术实现要素:

4.本发明的目的是,提供一种基于图搜索的测试案例生成的方法及系统,以解决现有技术中因人为因素而容易导致测试场景遗漏的问题。
5.为解决上述技术问题,本发明的第一方面,提供了一种基于图搜索的测试案例生成的方法,该方法包括:
6.记录并存储用户在各测试场景中输入的测试步骤;
7.用户完成各测试步骤间的关系连接时,根据算法生成相应的步骤间的关系图谱并存储;
8.根据所述的关系图谱自动完成测试案例的生成操作。
9.进一步地,所述的关系图谱为邻接矩阵,其中,生成所述邻接矩阵的过程包括:
10.将每一个测试步骤看作一个节点并记录该节点包含的信息;
11.根据用户对各测试步骤间的关系连接,形成具有导向箭头的邻接矩阵,并计算该邻接矩阵的起点和终点;
12.遍历起点与每个终点的路径。
13.进一步地,遍历起点与每个终点的路径的过程包括:
14.访问起点所在的节点,将该节点放入栈中并进行标记;
15.根据邻接矩阵,访问与起点所在节点相邻的第二节点,并把访问后的第二节点依次放入栈中并标记,继续访问该第二节点相邻的其它节点,以此类推,直至某访问节点没有其它相邻的节点,完成一条起点与终点的路径生成。
16.进一步地,在完成一条起点与终点的路径生成之后,还包括栈检测过程:
17.依次弹出各栈中的内容,并使用一个数组进行保存,将该数组反转形成一条起点和终点的路径;
18.恢复栈到未弹出的状态;
19.对栈内的内容进行检测,找出从某起点到终点的所有路径,至栈为空,结束操作。
20.进一步地,对栈内的内容的检测包括:
21.判断栈是否为空,如不为空,则弹出一个顶点后,检查该栈的顶点是否含有邻接节点;
22.若有邻接节点,则将存在的邻接节点压入栈中,然后再继续检测该邻接节点是否有其它邻接节点;若有,则依次压入栈中,若某节点再没有相邻的其它邻接节点时,则形成一条起点到终点的路径;然后,再返回上一个邻接节点继续检测和判断上一个的邻接节点是否还有其它邻接节点,以此类推,形成起点到终点的多条不同路径。
23.进一步地,所述的测试步骤及测试步骤的关联信息存储在mysql数据库中。
24.进一步地,所述方法还包括对存储的测试步骤及关联信息进行修改。
25.本发明的另一方面,还提供了一种基于图搜索的测试案例生成的系统,该系统包括:
26.测试步骤配置模块,用于记录用户对测试场景中各输入步骤及步骤间的连接关系;
27.案例生成模块,根据算法将所述的输入步骤及步骤间的连接关系生成关联图谱,自动执行该关联图谱中的各步骤完成测试案例的自动生成;
28.案例存储模块,对自动生成的案例进行存储。
29.本发明的第三方面,还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其中,计算机程序被处理器运行时执行本发明第一方面所述的方法的步骤。
30.与现有技术相比,本发明所提供的一种基于图搜索的测试案例生成的方法及系统,具有如下技术效果:
31.1、本发明首先记录用户在web页面操作的测试步骤及连线,自动根据算法生成关系图谱并存储在计算机中,这样,测试案例设计者只需关注业务流程的流转,而不用关注测试场景的遗漏问题,系统会自动生成覆盖所有测试场景的用例。
32.2、测试案例设计者可以根据需求的变化增加或减少业务流程,这取决于具体业务的变化,而之前的设计成果可以保存在系统中,无需再次重头开始设计。
附图说明
33.图1是本发明实施例中的基于图搜索的测试案例生成的方法的流程示意图。
34.图2是本发明实施例中的基于图搜索的测试案例生成的系统的结构示意图。
35.图3是本发明实施例中的邻接矩阵的一个示意图。
具体实施方式
36.以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。如在说明书及权利要求当中使用了某些词汇来指称特定部件。本领域技术人员应可理解,硬件或软件制造商可能会用不同名词来称呼同一个部件。本说明书及权利要求并不以名称的差异来作为区分部件的方式,而是以部件在功能上的差异来作为区分的准则。说明书后续描述为实施本发明的较佳实施方式,然所述描述乃以说明本发明的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围当视所附权利要求所界定者为
准。
37.下面结合附图和具体实施例对本发明做进一步详细说明。
38.如图1、图2所示,本发明实施例公开了一种基于图搜索的测试案例生成的方法,包括如下步骤:
39.步骤s1、记录并存储用户在各测试场景中输入的测试步骤;
40.用户在web页面中输入测试场景中所涉及的步骤时,计算机自动记录并进行存储。
41.步骤s2、用户完成各测试步骤间的关系连接时,根据算法生成相应的步骤间的关系图谱并存储;
42.每个步骤之间可能存在一定的测试关联,用户操作界面,完成各测试步骤之间的关联连接,使得每一个步骤或多个步骤之间的关系网络确定,然后,计算机根据用户的操作和设定的算法生成相应的关系图谱,并存储在计算机中,该关系图谱记载了各步骤之间的信号传导关系。
43.其中,本实施例中的关系图谱优选采用邻接矩阵的方式来表示,生成所述邻接矩阵的过程包括:
44.步骤s21、将每一个测试步骤看作一个节点并记录该节点包含的信息;
45.用户输入节点信息,计算机记录该节点的信息,构成图谱中最基本的元素:节点。
46.步骤s22、根据用户对各测试步骤间的关系连接,形成具有导向箭头的邻接矩阵,并计算该邻接矩阵的起点和终点;
47.用户在进行节点之间连接的时候,计算机根据节点之间连接关系,构建领接关系矩阵,如图3所示。
48.在计算机中,使用邻接矩阵表示,如下表所示:
[0049][0050]
设定图搜索的起点和终点的判断条件,其中,起点判断条件为:该节点与其它节点发生关联,但无其他任何节点与它发生关联,表现在矩阵中,节点所在的列为全部为0。终点判定条件为:其它节点与该节点发生关联,但它与其他节点不发生关联。表现在矩阵中,该节点所在的行全部为0。如图3中,节点a为起点,节点c为终点。
[0051]
其中,使用mysql数据库存储相应的的信息,如测试步骤,业务场景关联信息。当需要对某测试步骤进行修改,比如增加或删除或内容修改,或者关联关系改变时,通过进入数据库对相关内容或连接关系进行修改,改变测试步骤或测试参数,测试案例设计者可以根据需求的变化增加或减少业务流程,这取决于具体业务的变化,而之前的设计成果可以保存在系统中,无需再次重头开始设计。这样,对于相同的业务流程,不同测试模块的测试场景中,只要通过简单的配置文件替换就可以达到测试案例的自动生成。
[0052]
步骤s23、遍历起点与每个终点的路径。该过程包括:
[0053]
步骤s231、从起点开始,首先访问该起点所在的节点,将该节点放入栈中并进行标记,标记为true,后面不会再访问它;
[0054]
步骤s232、根据邻接矩阵,访问与起点所在节点相邻的第二节点,并把访问后的第
二节点依次放入栈中并标记,继续访问该第二节点相邻的其它节点,以此类推,只要还没有访问过的,就把存在邻接关系的节点压入栈中并标记,直至某访问的节点没有其它相邻的节点,则认为该最后的节点为终点,完成一条起点与终点的路径生成。
[0055]
步骤s233、依次弹出该栈的内容,栈是先进后出,而栈中内容是使用一个数组进行保存,最后压入栈中的节点处于最顶端,然后将该数组进行反转即为一条起点和终点的路径。
[0056]
步骤s234、恢复栈到未弹出的状态,由于之前栈内是存在数据结构的,恢复之后,通常必然是存在数据的。通过下面的栈检测过程来进一步判断栈内的内容是否操作完毕。
[0057]
步骤s235、断栈是否为空,如果栈不为空,则弹出一个顶点后,检查该栈的顶点是否含有邻接节点,如果有,则将该邻接节点压入栈中,随后继续检测是否下一个邻接节点,直到某节点没有其它的邻接节点为止,说明到了终点,至此,一条起点到终点的路径生成,同样地,当某节点没有邻接节点时(该节点为终点),则再检测该终点节点的上一个邻接节点是否还有其它邻接节点,如果没有,再检测上上一个邻接节点,以此类推,进行上述同样的操作,只到最原始的起点所在的顶点,这样检测并生成出所有的起点到终点的路径。举例来说,假如存在:a指向b和e,b指向c和d,先检测出a指向b,e指向d,到b时,b指向c,至此,a

b

c的一条路径生成,再返回到b时,b还指向了d,d没有其它邻接节点,至此,a

b

d的一条路径生成,此时,再返回到了a,a还指向了e,e指向d,则a

e

d的一条路径生成。
[0058]
步骤s236、当栈为空时,则结束操作。
[0059]
步骤s3、根据前述的算法及关系图谱自动完成测试案例的生成操作,最后,将测试完成的案例放入计算机中存储。系统自动生成测试案例,避免了人为创建测试案例的种种弊端。测试案例设计者只需关注业务流程的流转,而不用关注测试场景的遗漏问题,系统会自动生成覆盖所有测试场景的用例。
[0060]
此外,替代地,上述方法能够通过计算机程序产品,即计算机可读存储介质来实现。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本发明的各个方面的计算机可读程序指令。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd

rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0061]
再请参照图2所示,本发明的另一实施例,还提供了一种基于图搜索的测试案例生成的系统,该系统包括:测试步骤配置模块、案例生成模块和案例存储模块。其中,
[0062]
测试步骤配置模块,用于记录用户对测试场景中各输入步骤及步骤间的连接关系;此外,通过该配置模块,用户还可进行测试参数配置与修改,对于相同的业务流程,不同测试模块的测试场景中,只要通过简单的配置文件替换就可以达到测试案例的自动生成。
[0063]
案例生成模块,根据算法将所述的输入步骤及步骤间的连接关系生成关联图谱,自动执行该关联图谱中的各步骤完成测试案例的自动生成;当完成业务流程配置后,案例生成部分将根据设定的算法和关联图谱自动完成每个测试案例的场景测试。
[0064]
案例存储模块,对自动生成的案例进行存储生成案例后,案例会自动保存到数据库中。此外,也可以对存储的案例进行删除替换。
[0065]
本发明通过测试步骤配置模块和案例生成模块的配合,完成案例的自动测试过程,这样,操作者不用关注测试场景的遗漏问题,系统会自动生成覆盖所有测试场景的用例,减少了人为创建测试案例的种种弊端。
[0066]
值得注意的是,以上所述仅为本发明的较佳实施例,并非因此限定本发明的专利保护范围,本发明还可以对上述各种零部件的构造进行材料和结构的改进,或者是采用技术等同物进行替换。故凡运用本发明的说明书及图示内容所作的等效结构变化,或直接或间接运用于其他相关技术领域均同理皆包含于本发明所涵盖的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1