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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。