用于生成测试用例的方法和装置制造方法及图纸

技术编号:16427739 阅读:72 留言:0更新日期:2017-10-21 22:23
本申请公开了用于生成测试用例的方法和装置。该方法的一具体实施方式包括:接收测试用例生成请求,测试用例生成请求包括用于生成测试用例的文本;解析文本,生成有向图;深度优先遍历有向图,生成至少一条无环路径;遍历有向图,生成至少一条环路径;对于至少一条无环路径中的每条无环路径,执行以下测试路径生成与添加步骤;对于测试路径集合中的每条测试路径,根据该条测试路径中的各个节点和连接线信息,为该条测试路径生成对应的测试用例。该实施方式不需人工编写测试用例,只需提供可以解析出测试路径的文本,降低了对编写测试用例人员的经验要求,并且所生成的测试路径中可以存在循环,可以解决部分需要多次重复测试的问题。

Method and device for generating test cases

A method and apparatus for generating test cases are disclosed in this application. One embodiment of the method includes: receiving a request for test case generation, test case generation request includes text for test case generation; analysis of the text, generating directed graph; directed graph depth first traversal, generate at least an acyclic directed graph traversal path; and generating at least one loop size; for at least a loop path in each acyclic path, perform the following test path generation and add steps; for each test path set in the test path, according to every node in the test path and connection information, generate test cases corresponding to the test path. This implementation does not need the manual test case, simply provide text can parse out the test path, to reduce the test cases experience requirements, there are cycles can be generated and the test path, can solve part of the problem requires repeated testing.

【技术实现步骤摘要】
用于生成测试用例的方法和装置
本申请涉及计算机
,具体涉及测试
,尤其涉及用于生成测试用例的方法和装置。
技术介绍
测试用例,是用于自动对网页或者应用进行测试的代码或脚本。基于测试用例,电子设备可以自动对网页或者应用进行测试,不需人工干预。现有技术中主要依靠测试人员手工编写测试用例。然而,由于手工编写测试用例对测试人员的经验依赖程度较高,经常可能导致无法覆盖待测试网页或应用中的所有可能的执行路径,导致测试覆盖不全面。
技术实现思路
本申请的目的在于提出一种用于生成测试用例的方法和装置,来解决以上
技术介绍
部分提到的技术问题。第一方面,本申请实施例提供了一种用于生成测试用例的方法,该方法包括:接收测试用例生成请求,上述测试用例生成请求包括用于生成测试用例的文本;解析上述文本,生成有向图,其中,上述有向图包括至少三个节点和上述至少三个节点间的连接线信息,节点包括用于指示控件或网页的节点标识,连接线信息包括操作标识、起始节点标识和终止节点标识,操作标识用于指示起始节点与终止节点间的操作,上述至少三个节点包括一个开始节点、一个结束节点和至少一个中间节点;深度优先遍历上述有向图,生成至少一条无环路径,其中,上述至少一条无环路径中每条无环路径的起点为上述开始节点、终点为上述结束节点,同一条无环路径所包括的各个节点互不相同;遍历上述有向图,生成至少一条环路径,其中,上述至少一条环路径中每条环路径的起点和终点均为上述至少一个中间节点中的同一中间节点;新建测试路径集合;对于上述至少一条无环路径中的每条无环路径,执行以下测试路径生成与添加步骤:将该条无环路径添加到上述测试路径集合中;对于上述至少一条环路径中的每条环路径,如果该条无环路径包括该条环路径的起点和终点,则将该条无环路径中与该条环路径的起点和终点相同的节点替换为该条环路径所生成的测试路径添加到上述测试路径集合中;对于上述测试路径集合中的每条测试路径,根据该条测试路径中的各个节点和连接线信息,为该条测试路径生成对应的测试用例。在一些实施例中,节点还包括用于指示节点是否已被访问的访问标识;以及上述遍历上述有向图,生成至少一条环路径,包括:对于上述至少一条无环路径中的每条无环路径,将上述有向图中的各个节点的访问标识设置为未被访问;以该条无环路径的起始节点为当前节点,并执行以下环提取步骤:将上述当前节点的访问标识设置为已被访问,对上述有向图中上述当前节点的各个下一节点中访问标识为已被访问的至少一个下一节点中的每个下一节点,生成以该下一节点为起点和终点的环路径;将该无环条路径中当前节点的下一节点确定为当前节点;确定上述当前节点是否为上述结束节点,响应于确定上述当前节点为上述结束节点,则结束上述环提取步骤;响应于确定上述当前节点不是上述结束节点,则继续执行上述环提取步骤。在一些实施例中,上述深度优先遍历上述有向图,生成至少一条无环路径,包括:呈现上述有向图;响应于检测到用户输入的根据有向图生成测试路径的指令,深度优先遍历上述有向图,生成至少一条无环路径。在一些实施例中,上述对于上述测试路径集合中的每条测试路径,根据该条测试路径中的各个节点和连接线信息,为该条测试路径生成对应的测试用例,包括:呈现上述测试路径集合;响应于检测到用户输入的根据测试路径生成测试用例的指令,对于上述测试路径集合中的每条测试路径,根据该条测试路径中的各个节点和连接线信息,为该条测试路径生成对应的测试用例。在一些实施例中,上述对于上述测试路径集合中的每条测试路径,根据该条测试路径中的各个节点和连接线信息,为该条测试路径生成对应的测试用例,包括:对于上述测试路径集合中的每条测试路径,执行以下测试用例生成操作:新建测试用例;对于该条测试路径中的每个中间节点,在所新建的测试用例中添加代码,其中,所添加的代码用于显示该中间节点的节点标识所指示的控件或网页以及对该中间节点的节点标识所指示的控件或网页执行相应的操作,其中,上述相应的操作为该中间节点与该中间节点的下一节点间的连接线信息中操作标识所指示的操作。第二方面,本申请实施例提供了一种用于生成测试用例的装置,该装置包括:请求接收单元,配置用于接收测试用例生成请求,上述测试用例生成请求包括用于生成测试用例的文本;有向图生成单元,配置用于解析上述文本,生成有向图,其中,上述有向图包括至少三个节点和上述至少三个节点间的连接线信息,节点包括用于指示控件或网页的节点标识,连接线信息包括操作标识、起始节点标识和终止节点标识,操作标识用于指示起始节点与终止节点间的操作,上述至少三个节点包括一个开始节点、一个结束节点和至少一个中间节点;无环路径生成单元,配置用于深度优先遍历上述有向图,生成至少一条无环路径,其中,上述至少一条无环路径中每条无环路径的起点为上述开始节点、终点为上述结束节点,同一条无环路径所包括的各个节点互不相同;环路径生成单元,配置用于遍历上述有向图,生成至少一条环路径,其中,上述至少一条环路径中每条环路径的起点和终点均为上述至少一个中间节点中的同一中间节点;新建单元,配置用于新建测试路径集合;测试路径生成单元,配置用于对于上述至少一条无环路径中的每条无环路径,执行以下测试路径生成与添加步骤:将该条无环路径添加到上述测试路径集合中;对于上述至少一条环路径中的每条环路径,如果该条无环路径包括该条环路径的起点和终点,则将该条无环路径中与该条环路径的起点和终点相同的节点替换为该条环路径所生成的测试路径添加到上述测试路径集合中;测试用例生成单元,配置用于对于上述测试路径集合中的每条测试路径,根据该条测试路径中的各个节点和连接线信息,为该条测试路径生成对应的测试用例。在一些实施例中,节点还包括用于指示节点是否已被访问的访问标识;以及上述环路径生成单元进一步配置用于:对于上述至少一条无环路径中的每条无环路径,将上述有向图中的各个节点的访问标识设置为未被访问;以该条无环路径的起始节点为当前节点,并执行以下环提取步骤:将上述当前节点的访问标识设置为已被访问,对上述有向图中上述当前节点的各个下一节点中访问标识为已被访问的至少一个下一节点中的每个下一节点,生成以该下一节点为起点和终点的环路径;将该无环条路径中当前节点的下一节点确定为当前节点;确定上述当前节点是否为上述结束节点,响应于确定上述当前节点为上述结束节点,则结束上述环提取步骤;响应于确定上述当前节点不是上述结束节点,则继续执行上述环提取步骤。在一些实施例中,上述无环路径生成单元包括:有向图呈现模块,配置用于呈现上述有向图;无环路径生成模块,配置用于响应于检测到用户输入的根据有向图生成测试路径的指令,深度优先遍历上述有向图,生成至少一条无环路径。在一些实施例中,上述测试用例生成单元包括:测试路径呈现模块,配置用于呈现上述测试路径集合;测试用例生成模块,配置用于响应于检测到用户输入的根据测试路径生成测试用例的指令,对于上述测试路径集合中的每条测试路径,根据该条测试路径中的各个节点和连接线信息,为该条测试路径生成对应的测试用例。在一些实施例中,上述测试用例生成模块进一步配置用于:对于上述测试路径集合中的每条测试路径,执行以下测试用例生成操作:新建测试用例;对于该条测试路径中的每个中间节点,在所新建的测试用例中添本文档来自技高网...
用于生成测试用例的方法和装置

【技术保护点】
一种用于生成测试用例的方法,其特征在于,所述方法包括:接收测试用例生成请求,所述测试用例生成请求包括用于生成测试用例的文本;解析所述文本,生成有向图,其中,所述有向图包括至少三个节点和所述至少三个节点间的连接线信息,节点包括用于指示控件或网页的节点标识,连接线信息包括操作标识、起始节点标识和终止节点标识,操作标识用于指示起始节点与终止节点间的操作,所述至少三个节点包括一个开始节点、一个结束节点和至少一个中间节点;深度优先遍历所述有向图,生成至少一条无环路径,其中,所述至少一条无环路径中每条无环路径的起点为所述开始节点、终点为所述结束节点,同一条无环路径所包括的各个节点互不相同;遍历所述有向图,生成至少一条环路径,其中,所述至少一条环路径中每条环路径的起点和终点均为所述至少一个中间节点中的同一中间节点;新建测试路径集合;对于所述至少一条无环路径中的每条无环路径,执行以下测试路径生成与添加步骤:将该条无环路径添加到所述测试路径集合中;对于所述至少一条环路径中的每条环路径,如果该条无环路径包括该条环路径的起点和终点,则将该条无环路径中与该条环路径的起点和终点相同的节点替换为该条环路径所生成的测试路径添加到所述测试路径集合中;对于所述测试路径集合中的每条测试路径,根据该条测试路径中的各个节点和连接线信息,为该条测试路径生成对应的测试用例。...

【技术特征摘要】
1.一种用于生成测试用例的方法,其特征在于,所述方法包括:接收测试用例生成请求,所述测试用例生成请求包括用于生成测试用例的文本;解析所述文本,生成有向图,其中,所述有向图包括至少三个节点和所述至少三个节点间的连接线信息,节点包括用于指示控件或网页的节点标识,连接线信息包括操作标识、起始节点标识和终止节点标识,操作标识用于指示起始节点与终止节点间的操作,所述至少三个节点包括一个开始节点、一个结束节点和至少一个中间节点;深度优先遍历所述有向图,生成至少一条无环路径,其中,所述至少一条无环路径中每条无环路径的起点为所述开始节点、终点为所述结束节点,同一条无环路径所包括的各个节点互不相同;遍历所述有向图,生成至少一条环路径,其中,所述至少一条环路径中每条环路径的起点和终点均为所述至少一个中间节点中的同一中间节点;新建测试路径集合;对于所述至少一条无环路径中的每条无环路径,执行以下测试路径生成与添加步骤:将该条无环路径添加到所述测试路径集合中;对于所述至少一条环路径中的每条环路径,如果该条无环路径包括该条环路径的起点和终点,则将该条无环路径中与该条环路径的起点和终点相同的节点替换为该条环路径所生成的测试路径添加到所述测试路径集合中;对于所述测试路径集合中的每条测试路径,根据该条测试路径中的各个节点和连接线信息,为该条测试路径生成对应的测试用例。2.根据权利要求1所述的方法,其特征在于,节点还包括用于指示节点是否已被访问的访问标识;以及所述遍历所述有向图,生成至少一条环路径,包括:对于所述至少一条无环路径中的每条无环路径,将所述有向图中的各个节点的访问标识设置为未被访问;以该条无环路径的起始节点为当前节点,并执行以下环提取步骤:将所述当前节点的访问标识设置为已被访问,对所述有向图中所述当前节点的各个下一节点中访问标识为已被访问的至少一个下一节点中的每个下一节点,生成以该下一节点为起点和终点的环路径;将该无环条路径中当前节点的下一节点确定为当前节点;确定所述当前节点是否为所述结束节点,响应于确定所述当前节点为所述结束节点,则结束所述环提取步骤;响应于确定所述当前节点不是所述结束节点,则继续执行所述环提取步骤。3.根据权利要求1或2所述的方法,其特征在于,所述深度优先遍历所述有向图,生成至少一条无环路径,包括:呈现所述有向图;响应于检测到用户输入的根据有向图生成测试路径的指令,深度优先遍历所述有向图,生成至少一条无环路径。4.根据权利要求3所述的方法,其特征在于,所述对于所述测试路径集合中的每条测试路径,根据该条测试路径中的各个节点和连接线信息,为该条测试路径生成对应的测试用例,包括:呈现所述测试路径集合;响应于检测到用户输入的根据测试路径生成测试用例的指令,对于所述测试路径集合中的每条测试路径,根据该条测试路径中的各个节点和连接线信息,为该条测试路径生成对应的测试用例。5.根据权利要求4所述的方法,其特征在于,所述对于所述测试路径集合中的每条测试路径,根据该条测试路径中的各个节点和连接线信息,为该条测试路径生成对应的测试用例,包括:对于所述测试路径集合中的每条测试路径,执行以下测试用例生成操作:新建测试用例;对于该条测试路径中的每个中间节点,在所新建的测试用例中添加代码,其中,所添加的代码用于显示该中间节点的节点标识所指示的控件或网页以及对该中间节点的节点标识所指示的控件或网页执行相应的操作,其中,所述相应的操作为该中间节点与该中间节点的下一节点间的连接线信息中操作标识所指示的操作。6.一种用于生成测试用例的装置,其特征在于,所述装置包括:请求接收单元,配置用于接收测试用例生成请求,所述测试用例生成请求包括用于生成测试用例的文本;有向图生成单元,配置用于解...

【专利技术属性】
技术研发人员:吴舰
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1