CN110287104A - 测试用例生成方法、装置、终端及计算机可读存储介质 - Google Patents
测试用例生成方法、装置、终端及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110287104A CN110287104A CN201910433511.5A CN201910433511A CN110287104A CN 110287104 A CN110287104 A CN 110287104A CN 201910433511 A CN201910433511 A CN 201910433511A CN 110287104 A CN110287104 A CN 110287104A
- Authority
- CN
- China
- Prior art keywords
- node
- scene
- default
- trunk
- test
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 157
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000005516 engineering process Methods 0.000 claims abstract description 15
- 239000011159 matrix material Substances 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000012015 optical character recognition Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000013102 re-test Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种测试用例生成方法、装置、终端及计算机可读存储介质,该方法包括:接收需求文档,并对所述需求文档进行分析,生成与所述需求文档对应数目的节点、所述节点的场景描述和各个所述节点之间的连接关系;根据各所述节点的场景描述从预设地址中查询与各所述节点对应的预设测试场景;根据各个所述节点之间的连接关系关联各所述节点对应的预设测试场景,形成测试用例。本申请用于测试用例生成,通过分析需求文档,实现自动化生成测试用例,减小工作量、增加工作效率。
Description
技术领域
本发明涉及程序测试技术领域,尤其涉及一种测试用例生成方法、装置、终端及计算机可读存储介质。
背景技术
测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。现有的测试流程中,由设计人员书写测试需求文档,测试人员根据需求文档手工编写测试用例。如果需求文档中的流程步骤较多或者分支流程较多,测试场景就会很多,用手工编写的方式去穷举所有流程的测试场景,耗时长、工作量大。
因此,如何解决现有手动编写测试用例造成耗时长、工作量大技术问题,成为了目前亟待解决的技术问题。
发明内容
本发明的主要目的在于提供一种测试用例生成方法、装置、终端及计算机可读存储介质,旨在解决手动编写测试用例造成耗时长、工作量大技术问题,成为了目前亟待解决的技术问题。
为实现上述目的,本发明提出一种测试用例生成方法,所述测试用例生成方法包括:
接收需求文档,并对所述需求文档进行分析,生成与所述需求文档对应数目的节点、对应所述节点的场景描述和各个所述节点之间的连接关系;
根据各所述节点的场景描述从预设地址中查询与各所述节点对应的预设测试场景;
根据各个所述节点之间的连接关系关联各所述节点对应的预设测试场景,将关联的各所述预设测试场景所对应的测试代码组合形成测试用例。
优选地,所述需求文档为流程图;所述接收需求文档,并对所述需求文档进行分析,生成与所述需求文档对应数目的节点、对应所述节点的场景描述和各个所述节点之间的连接关系的步骤,包括:
接收所述流程图,将所述流程图与预设图元模板库比对,识别出所述流程图中箭头及连接线的位置;
对所述流程图进行灰度处理,生成灰度值矩阵;
根据所述灰度值矩阵结合所述箭头及连接线位置,识别出所述灰度矩阵中的节点框,将一个所述节点框设置为一个所述节点;
根据所述箭头及连接线位置生成各所述节点之间的连接关系;
通过OCR文字识别技术识别各所述节点框内的文字,生成对应所述节点的场景描述。
优选地,根据当前节点的场景描述从所述预设地址中查询与所述当前节点对应的预设主干场景;
若从所述预设地址中查询到与所述当前节点对应的所述预设主干场景,则判定所述当前节点与上一节点之间的连接关系为主干流程;
若从所述预设地址中查询不到与所述当前节点对应的所述预设主干场景,则判定所述当前节点与所述上一节点之间的连接关系为分支流程;
根据所述箭头及连接线位置依次确定与所述当前节点相连接的后续节点,根据所述后续节点的场景描述从所述预设地址中查询与所述后续节点对应的预设主干场景;
根据查询结果确认各个节点之间的连接关系。
优选地,所述若所述当前节点对应的预设测试场景不为所述预设主干场景,则判定所述当前节点与所述上一节点之间的连接关系为分支流程的步骤之后,还包括:
从所述预设地址中查询与所述上一节点对应的至少一个所述预设分支场景;
根据所述当前节点的场景描述从与所述上一节点对应的预设分支场景中比对得到一个与所述当前节点对应的预设分支场景。
优选地,所述根据所述当前节点的场景描述从与所述上一节点对应的预设分支场景中比对得到一个与所述当前节点对应的预设分支场景的步骤之后包括:
获取所述上一节点对应的必须场景,判断与所述上一节点连接的各节点的所述预设分支场景是否包含全部所述必须场景;
若与所述上一节点连接的各节点的所述预设分支场景未包含全部所述必须场景,则生成提示信息。
优选地,所述根据各个所述节点之间的连接关系关联各所述节点对应的预设测试场景,将关联的各所述预设测试场景所对应的测试代码组合形成测试用例的步骤包括:
将所述连接关系为主干流程的节点相关联,形成至少一个主干节点链;
接收用户根据所述主干节点链做出的节点链选择操作;
根据所述节点链选择操作,将至少一个所述主干节点链中各所述节点对应的所述预设主干场景相关联,将关联的各所述预设主干场景所对应的测试代码组合形成主干用例;
确定与所述主干节点链中各节点的连接关系为所述分支流程的节点,将为所述分支流程的节点所对应的所述预设分支场景的测试代码根据所述连接关系填充至所述主干用例中,形成测试用例。
优选地,所述根据所述节点的场景描述从所述预设地址中查询与所述节点对应的预设主干场景的步骤,包括:
获取与所述预设主干场景对应的第一关键词,判断所述节点的场景描述中是否存在所述第一关键词;
若所述场景描述中存在所述第一关键词,则设置所述节点对应与该第一关键词对应的预设主干场景。
本发明提供了一种测试用例生成装置,所述测试用例生成装置包括:
分析模块,所述分析模块用于接收需求文档,并对所述需求文档进行分析,生成与所述需求文档对应数目的节点、对应所述节点的场景描述和各个所述节点之间的连接关系;
查询模块,所述查询模块用于各所述节点的场景描述从所述预设地址中查询与各所述节点对应的预设测试场景;
导出模块,所述导出模块用于根据各个所述节点之间的连接关系关联各所述节点对应的预设测试场景,将关联的各所述预设测试场景所对应的测试代码组合形成测试用例。
本发明提供了一种终端,包括处理器、存储器、通信器以及存储在所述存储器上的可被所述处理器执行的测试用例生成程序,其中,所述测试用例生成程序被所述处理器执行时,实现如前述的测试用例生成方法的步骤。
本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有测试用例生成程序,其中,所述测试用例生成程序被处理器执行时,实现如前述的测试用例生成方法的步骤。
本发明技术方案中,通过分析需求文档,从而可获得需求文档中所需要的节点数目、节点的场景描述和各个节点之间的连接关系,在此基础上,根据各个节点的场景描述确定与各节点对应的预设测试场景,再将预设测试场景按照连接关系进行组合,从而实现自动生成测试用例,省去了工作人员根据需求文档手动编辑测试用例,提高了工作效率、降低了工作量。同时由于测试用例根据连接关系自动生成,从而有效避免了测试用例编写过程中,由于逻辑关系复杂,相邻节点之间逻辑关系容易错误,导致与需求文档不符合的情况。
附图说明
图1为本发明实施例方案中涉及的终端的硬件结构示意图;
图2为本发明测试用例生成方法第一实施例的流程示意图;
图3为本发明测试用例生成方法第二实施例的流程示意图;
图4为本发明测试用例生成方法第三实施例的流程示意图;
图5为本发明测试用例生成方法第四实施例的流程示意图;
图6为本发明测试用例生成方法第五实施例的流程示意图;
图7为本发明测试用例生成方法第六实施例的流程示意图;
图8为本发明测试用例生成方法第七实施例的流程示意图;
图9为本发明测试用例生成装置的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例涉及的测试用例生成方法主要应用于终端,该终端是具有处理功能的设备,可以是便携计算机,也可以服务器。
参照图1,图1为本发明实施例方案中涉及的终端结构示意图。本发明实施例中,终端可以包括处理器1001(例如CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口);存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的硬件结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种计算机可读存储介质的存储器1005可以包括操作系统、网络通信模块以及测试用例生成程序。
在图1中,网络通信模块主要用于连接用户终端,与用户终端进行数据通信;而处理器1001可以调用存储器1005中存储的测试用例生成程序,并执行测试用例生成方法的步骤。
基于上述终端的硬件结构,提出本发明测试用例生成方法的各个实施例。
本发明提供一种测试用例生成方法。
请参阅图2,在本发明第一实施例中,测试用例生成方法包括以下步骤:
步骤S100,接收需求文档,并对所述需求文档进行分析,生成与所述需求文档对应数目的节点、对应所述节点的场景描述和各个所述节点之间的连接关系;
需求文档为设计人员根据待测试程序所需要测试的功能,预先设置的大纲,工作人员根据需求文档设置测试用例,以测试待测试程序的各个功能。在本实施例中,需求文档为流程图,在其它实施例中,需求文档也可以以表格形式、纯文字形式体现,针对不同表现形式的需求文档,可建立不同的分析程序,以将需求文档中的内容数据化、标准化,获得需求文档中所列明的节点、对应节点的场景描述和各个节点之间的连接关系。场景描述为对各个节点的功能、应用场景的详细描述。连接关系为各个节点之间的逻辑关系、判断规则。
当需求文档为纯文字形式表现,则通过分词、语义识别、关键字比对等方式,识别由纯文字构成的需求文档中,存在几个节点、各个节点的场景描述和各个节点之间的连接关系。
例如:需求文档记载“登录页面内先测试账户填写错误、再测试密码填写错误、最后测试验证码填写错误”,则通过分词、语义识别、关键字比对等方式可知晓,存在“验证账户填写错误”、“验证密码填写错误”、“验证验证码填写错误”三个节点,其中连接关系为依次进行。
步骤S200,根据各所述节点的场景描述从所述预设地址中查询与各所述节点对应的预设测试场景;
所述预设地址指向本领域技术人员预先设置的存储有预设测试场景和预设测试场景的测试代码的存储空间,具体可以为统一资源定位符(niform Resoure Locator,url)。测试代码为本领域技术人员预先针对各个场景编写的测试数据。例如:针对登录密码错误,弹出密码错误提示的场景,预先编写采用错误密码登录的测试数据。当需要验证登录密码错误的场景时,预先编写采用错误密码登录的测试数据。
步骤S300,根据各个所述节点之间的连接关系关联各所述节点对应的预设测试场景,将关联的各所述预设测试场景所对应的测试代码组合形成测试用例。
由于一个需求文档往往包含多个节点,并且各个节点之间存在复杂的逻辑关系,将各个节点的预设测试场景对应的测试代理按照连接关系形成一个整体,该整体为与需求文档匹配的测试用例。
本发明通过分析需求文档,从而可获得需求文档中所需要的节点数目、节点的场景描述和各个节点之间的连接关系,在此基础上,根据各个节点的场景描述确定与各节点对应的预设测试场景,再将预设测试场景按照连接关系进行组合,从而实现自动生成测试用例,省去了工作人员根据需求文档手动编辑测试用例,提高了工作效率、降低了工作量。同时由于测试用例根据连接关系自动生成,从而有效避免了测试用例编写过程中,由于逻辑关系复杂,相邻节点之间逻辑关系容易错误,导致与需求文档不符合的情况。
进一步地,请参照图3,图3为本发明测试用例生成方法第二实施例的流程示意图,基于第一实施例,所述需求文档为流程图;步骤S100包括:
步骤S110,接收所述流程图,将所述流程图与预设图元模板库比对,识别出所述流程图中箭头及连接线的位置;
具体地,预设图元模板库中预先设置了多种形状、不同表现形式的箭头和连接线,从而可识别流程中的箭头和连接线。
步骤S120,对所述流程图进行灰度处理,生成灰度值矩阵;
由于流程图通常带有颜色,通过将流程图进行灰度处理,从而舍弃流程图中的颜色参数,有利于识别流程图中的节点框。首先对流程图做灰度处理,获得并存储流程图中每个像素点对应的灰度值,组成灰度值矩阵,其中,矩阵行数是流程图的高度值,矩阵的列数是流程图的宽度值,矩阵中每一个元素表示相应像素点的灰度值(取值为0-255)。例如:流程图中背景颜色为白色(灰度值255),节点框为黑色(灰度值小于255)。
步骤S130,根据所述灰度值矩阵结合所述箭头及连接线位置,识别出所述灰度矩阵中的节点框,将一个所述节点框设置为一个所述节点;
由于各个节点框与背景具有色差,通过色差分析,获得各个节点框及各个节点框的位置坐标。
步骤S140,根据所述箭头及连接线位置生成各所述节点之间的连接关系;
通过步骤S 110,识别出流程图中的箭头和连接线,再结合灰度值矩阵,对各个箭头和连接线的起始位置和终末位置进行标注,将标注的结果与节点框的位置坐标对比,即可获得各个节点框所对应的节点的连接关系。
步骤S150,通过OCR文字识别技术识别各所述节点框内的文字,生成对应所述节点的场景描述。
OCR(optical character recognition)文字识别技术将图片形式的字符形状翻译成计算机文字的过程。通过OCR文字识别技术可将节点框内的文字转换成计算机文字形式的节点的场景描述。
通过上述步骤,可将图片形式的流程图中体现的节点、场景描述和连接关系转化成计算机可理解的数据形式。设计人员将需求文档用流程图表示,方便设计人员设计。
进一步地,请参照图4,图4为本发明测试用例生成方法第三实施例的流程示意图,基于第一实施例,所述测试场景包括预设主干场景和预设分支场景;步骤S200包括:
步骤S210,根据当前节点的场景描述从所述预设地址中查询与所述当前节点对应的预设主干场景;
具体地,当场景描述不清楚时,有可能根据所述节点的场景描述从所述预设地址中查询不到对应的预设主干场景,此时,对该节点进行标注,并生成提示信息,提示用户手动编辑加入该节点的测试代码。当该节点对应的是预设分支测试场景时,也查询不到预设主干测试场景,此时可设置跳过该节点,或从该当前节点的上一节点对应的预设分支测试场景中开始查询。
一般情况下,次序排在第一位的节点一定是预设主干场景,次序排在第二位-第N位的节点可能是预设主干场景,也可能是预设分支场景。优选地,步骤S200,从第一位节点开始从所述预设地址中查询与第一位节点对应的预设测试场景,也就是说,步骤S210中的当前节点一定是可以从所述预设地址中查询到与当前节点对应的预设主干场景。
步骤S220,若从所述预设地址中查询到与所述当前节点对应的所述预设主干场景,则判定所述当前节点与上一节点之间的连接关系为主干流程;
上一节点为在当前节点之前进行的节点。当当前节点为第一位节点时,即不存在上一节点,也就不存在判定所述当前节点与上一节点之间的连接关系的步骤。连接关系不仅仅只表示各个节点之间直接连接或间接连接,还表示各个节点之间的关系是主干流程还是分支流程。
步骤S230,若从所述预设地址中查询不到与所述当前节点对应的所述预设主干场景,则判定所述当前节点与所述上一节点之间的连接关系为分支流程;
所述预设地址中存储有预设主干场景,当该节点的场景描述查询不到对应的预设主干场景,则该节点有可能是预设分支场景。
根据箭头及连接线位置确定与该上一节点N-1相连接的当前节点N,通过当前节点的场景描述,判断是否能从所述预设地址中查询到与当前节点N对应的预设主干场景;若查询到与当前节点N对应的预设主干场景,则判定上一节点N-1与当前节点N之间的连接关系为主干流程;若当前节点N查询不到与之对应的预设主干场景,则判定上一节点N-1与当前节点N之间的连接关系为分支流程。上一节点N-1和当前节点N之间,一定是先有上一节点N-1,再有当前节点N。上一节点N-1之后可以有多个当前节点N。
步骤S240,根据所述箭头及连接线位置依次确定与所述当前节点相连接的后续节点,根据所述后续节点的场景描述从所述预设地址中查询与所述后续节点对应的预设主干场景;
在当前节点N之后,还可以直接或间接连接多个后续节点N+1、N+2、N+n......,依次确定在所述预设地址中是否能查询到与各个后续节点对应的预设主干场景。
步骤S250,根据查询结果确认各个节点之间的连接关系。
查询结果可能有两种,一种类似步骤S220,查询到对应的预设主干场景,则确认节点之间的连接关系为主干流程;另一种类似步骤S230,查询不到对应的预设主干场景,则确认节点之间的连接关系为分支流程。确定各个节点之间的连接关系,直至确定到最后一个节点为止。
通过将预设测试场景区分为预设主干场景和预设分支场景,将预设主干场景对应的节点之间的连接关系列为主干流程,从而可进一步将主干流程中的各个节点对应预设主干场景的测试代码组合,形成测试用例。
进一步地,请参照图5,图5为本发明测试用例生成方法第四实施例的流程示意图,基于第三实施例,步骤S230之后包括:
步骤S260,从所述预设地址中查询与所述上一节点对应的至少一个所述预设分支场景;
在所述预设地址中预先设置一个或多个预设分支场景对应一个预设主干场景,当然一个预设分支场景也可以对应多个预设主干场景。例如:节点N-1对应的预设主干场景为登录页面场景,可以设置验证验证码输入错误场景、验证账户输入错误场景、验证密码输入错误场景的预设分支场景与登录页面场景对应,当前节点N对应验证验证码输入错误场景、验证账户输入错误场景、验证密码输入错误场景中的一个。
步骤S270,根据所述当前节点的场景描述从与所述上一节点对应的预设分支场景中比对得到一个与所述当前节点对应的预设分支场景。
通过将预设测试场景区分为预设主干场景和预设分支场景,针对预设主干场景预先设置预设分支场景,从而与预设主干场景对应的节点之后的节点可从预设分支场景中选择,减小比对过程的计算量。
进一步地,请参照图6,图6为本发明测试用例生成方法第五实施例的流程示意图,基于第四实施例,步骤S270之后包括:
步骤S271,获取所述上一节点对应的必须场景,判断与所述上一节点连接的各节点对应的所述预设分支场景是否包含全部所述必须场景;
必选场景为一个预设主干场景之后必须要进行的预设分支场景。预设主干场景对应的必须场景的数目小于或等于预设主干场景对应的预设分支场景。
步骤S272,若与所述上一节点连接的各节点的所述预设分支场景未包含全部所述必须场景,则生成提示信息。
若与所述上一节点连接的各节点对应的所述预设分支场景包含全部所述必须场景,则不做处理。
通过判断当前节点对应的预设分支场景是否包含必须场景,从而可发现需求文档中设置遗漏节点的情况。
进一步地,请参照图7,图7为本发明测试用例生成方法第五实施例的流程示意图,基于第四实施例,步骤S300包括:
步骤S310,将所述连接关系为主干流程的节点相关联,形成至少一个主干节点链;
由于节点之间的连接关系复杂,通常一个需求文档中会产生多个主干节点链,各个主干节点链可以平行,即各个主干节点链中的节点均布相同;也可以交叉,即同一几点既属于主干节点链A,又属于主干节点链B。
步骤S320,接收用户根据所述主干节点链做出的节点链选择操作,将至少一个所述主干节点链中各所述节点对应的所述预设主干场景相关联,将关联的各所述预设主干场景所对应的测试代码组合形成主干用例;
用户通过点击、滑动等做出节点链选择操作,一次可选择一个主干节点链,也可以选择多个主干节点链。
步骤S320,确定与所述主干节点链中各节点的连接关系为所述分支流程的节点,将为所述分支流程的节点所对应的所述预设分支场景的测试代码根据所述连接关系填充至所述主干用例中,形成测试用例。
根据用户当前的实际需求,动态的生成测试用例,方便用户根据实际情况,对动态用例进行变更。
进一步地,请参照图8,图8为本发明测试用例生成方法第六实施例的流程示意图,基于第三实施例,步骤S210包括:
步骤S211,获取与所述预设主干场景对应的第一关键词,判断所述节点的场景描述中是否存在所述第一关键词;
第一关键词具体可以是一个词汇或多个词汇构成,还可以是多个词汇和逻辑词构成。通过第一关键词可区分各个节点。例如场景描述中为“对登录页面进行账户登录功能测试”,那第一关键词可以设置为“登录页面and账户账户”。
步骤S212,若所述场景描述中存在所述第一关键词,则设置所述节点对应于该第一关键词对应的预设主干场景。
若所述场景描述中不存在所述第一关键词,则根据所述箭头及连接线位置确定与该所述节点相连接的上一个节点,在所述上一个节点对应的预设分支场景中选择一个预设分支场景与所述节点对应。若在所述上一个节点对应的预设分支场景中未能匹配一个预设主干场景与所述节点对应,则生成提示信息,提示用户手动编辑。
本发明中通过设置第一关键词来判断各个节点对应的预设主干场景,再通过场景描述来判断预设分支场景,从而使得第一关键词的设置量小,减少比对错误。
此外,本发明还提供一种测试用例生成装置,所述测试用例生成装置包括:
分析模块10,所述分析模块10用于接收需求文档,并对所述需求文档进行分析,生成与所述需求文档对应数目的节点、对应所述节点的场景描述和各个所述节点之间的连接关系;
查询模块20,所述查询模块20用于各所述节点的场景描述从所述预设地址中查询与各所述节点对应的预设测试场景;
导出模块30,所述导出模块30用于根据各个所述节点之间的连接关系关联各所述节点对应的预设测试场景,将关联的各所述预设测试场景所对应的测试代码组合形成测试用例。
进一步地,所述需求文档为流程图;所述分析模块10包括:
第一识别单元,所述第一识别单元用于接收所述流程图,将所述流程图与预设图元模板库比对,识别出所述流程图中箭头及连接线的位置;
灰度处理单元,对所述流程图进行灰度处理,生成灰度值矩阵;
第二识别单元,所述第二识别单元用于根据所述灰度值矩阵结合所述箭头及连接线位置,识别出所述灰度矩阵中的节点框,将一个所述节点框设置为一个所述节点;
所述第一识别单元还用于根据所述箭头及连接线位置生成各所述节点之间的连接关系;
第三识别单元,所述第三识别单元用于通过OCR文字识别技术识别各所述节点框内的文字,生成对应所述节点的场景描述。
进一步地,所述查询模块20包括:
查询单元,所述查询单元用于根据当前节点的场景描述从所述预设地址中查询与所述当前节点对应的预设主干场景;
判定单元,所述判定单元用于若从所述预设地址中查询到与所述当前节点对应的所述预设主干场景,则判定所述当前节点与上一节点之间的连接关系为主干流程;
若从所述预设地址中查询不到与所述当前节点对应的所述预设主干场景,则判定所述当前节点与所述上一节点之间的连接关系为分支流程;
所述查询单元还用于根据所述箭头及连接线位置依次确定与所述当前节点相连接的后续节点,根据所述后续节点的场景描述从所述预设地址中查询与所述后续节点对应的预设主干场景;
所述判定单元还用于根据查询结果确认各个节点之间的连接关系。
进一步地,所述查询单元还用于从所述预设地址中查询与所述上一节点对应的至少一个所述预设分支场景;
根据所述当前节点的场景描述从与所述上一节点对应的预设分支场景中比对得到一个与所述当前节点对应的预设分支场景。
进一步地,所述查询模块20还包括:
获取单元,所述获取单元用于获取所述上一节点对应的必须场景,判断与所述上一节点连接的各节点的所述预设分支场景是否包含全部所述必须场景;
提示单元,所述提示单元用于若与所述上一节点连接的各节点的所述预设分支场景未包含全部所述必须场景,则生成提示信息。
进一步地,所述导出模块30包括:
关联单元,所述关联单元用于将所述连接关系为主干流程的节点相关联,形成至少一个主干节点链;
接收单元,所述接收单元用于接收用户根据所述主干节点链做出的节点链选择操作;
所述关联单元还用于根据所述节点链选择操作,将至少一个所述主干节点链中各节点对应的预设主干场景相关联,将关联的各所述预设主干场景所对应的测试代码组合形成主干用例;
确定与所述主干节点链中各节点的连接关系为所述分支流程的节点,将为所述分支流程的节点所对应的所述预设分支场景的测试代码根据所述连接关系填充至所述主干用例中,形成测试用例。
进一步地,所述查询单元还用于:
获取与所述预设主干场景对应的第一关键词,判断所述节点的场景描述中是否存在所述第一关键词;
若所述场景描述中存在所述第一关键词,则设置所述节点对应于该第一关键词对应的预设主干场景。
此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有测试用例生成程序,其中,测试用例生成程序被处理器执行时,实现如上述的界面的更新方法的步骤。
其中测试用例生成程序被执行时所实现的方法可参照本发明界面的更新方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种测试用例生成方法,其特征在于,所述测试用例生成方法包括:
接收需求文档,并对所述需求文档进行分析,生成与所述需求文档对应数目的节点、对应所述节点的场景描述和各个所述节点之间的连接关系;
根据各所述节点的场景描述从预设地址中查询与各所述节点对应的预设测试场景;
根据各个所述节点之间的连接关系关联各所述节点对应的预设测试场景,将关联的各所述预设测试场景所对应的测试代码组合形成测试用例。
2.如权利要求1所述的测试用例生成方法,其特征在于,所述需求文档为流程图;所述接收需求文档,并对所述需求文档进行分析,生成与所述需求文档对应数目的节点、对应所述节点的场景描述和各个所述节点之间的连接关系的步骤,包括:
接收所述流程图,将所述流程图与预设图元模板库比对,识别出所述流程图中箭头及连接线的位置;
对所述流程图进行灰度处理,生成灰度值矩阵;
根据所述灰度值矩阵结合所述箭头及连接线位置,识别出所述灰度矩阵中的节点框,将一个所述节点框设置为一个所述节点;
根据所述箭头及连接线位置生成各所述节点之间的连接关系;
通过OCR文字识别技术识别各所述节点框内的文字,生成对应所述节点的场景描述。
3.如权利要求2所述的测试用例生成方法,其特征在于,所述测试场景包括预设主干场景和预设分支场景;所述根据各所述节点的场景描述从预设地址中查询与各所述节点对应的预设测试场景的步骤包括:
根据当前节点的场景描述从所述预设地址中查询与所述当前节点对应的预设主干场景;
若从所述预设地址中查询到与所述当前节点对应的所述预设主干场景,则判定所述当前节点与上一节点之间的连接关系为主干流程;
若从所述预设地址中查询不到与所述当前节点对应的所述预设主干场景,则判定所述当前节点与所述上一节点之间的连接关系为分支流程;
根据所述箭头及连接线位置依次确定与所述当前节点相连接的后续节点,根据所述后续节点的场景描述从所述预设地址中查询与所述后续节点对应的预设主干场景;
根据查询结果确认各个所述节点之间的连接关系。
4.如权利要求3所述的测试用例生成方法,其特征在于,所述若从所述预设地址中查询不到与所述当前节点对应的所述预设主干场景,则判定所述当前节点与所述上一节点之间的连接关系为分支流程的步骤之后,还包括:
从所述预设地址中查询与所述上一节点对应的至少一个所述预设分支场景;
根据所述当前节点的场景描述从与所述上一节点对应的预设分支场景中比对得到一个与所述当前节点对应的预设分支场景。
5.如权利要求4所述的测试用例生成方法,其特征在于,所述根据所述当前节点的场景描述从与所述上一节点对应的预设分支场景中比对得到一个与所述当前节点对应的预设分支场景的步骤之后包括:
获取所述上一节点对应的必须场景,判断与所述上一节点连接的各节点的所述预设分支场景是否包含全部所述必须场景;
若与所述上一节点连接的各节点的所述预设分支场景未包含全部所述必须场景,则生成提示信息。
6.如权利要求4所述的测试用例生成方法,其特征在于,所述根据各个所述节点之间的连接关系关联各所述节点对应的预设测试场景,将关联的各所述预设测试场景所对应的测试代码组合形成测试用例的步骤包括:
将所述连接关系为主干流程的节点相关联,形成至少一个主干节点链;
接收用户根据所述主干节点链做出的节点链选择操作;
根据所述节点链选择操作,将至少一个所述主干节点链中各所述节点对应的所述预设主干场景相关联,将关联的各所述预设主干场景所对应的测试代码组合形成主干用例;
确定与所述主干节点链中各节点的连接关系为所述分支流程的节点,将为所述分支流程的节点所对应的所述预设分支场景的测试代码根据所述连接关系填充至所述主干用例中,形成测试用例。
7.如权利要求3所述的测试用例生成方法,其特征在于,所述根据所述节点的场景描述从所述预设地址中查询与所述节点对应的预设主干场景的步骤,包括:
获取与所述预设主干场景对应的第一关键词,判断所述节点的场景描述中是否存在所述第一关键词;
若所述场景描述中存在所述第一关键词,则设置所述节点对应于该第一关键词对应的预设主干场景。
8.一种测试用例生成装置,其特征在于,所述测试用例生成装置包括:
分析模块,所述分析模块用于接收需求文档,并对所述需求文档进行分析,生成与所述需求文档对应数目的节点、对应所述节点的场景描述和各个所述节点之间的连接关系;
查询模块,所述查询模块用于各所述节点的场景描述从所述预设地址中查询与各所述节点对应的预设测试场景;
导出模块,所述导出模块用于根据各个所述节点之间的连接关系关联各所述节点对应的预设测试场景,将关联的各所述预设测试场景所对应的测试代码组合形成测试用例。
9.一种终端,其特征在于,包括处理器、存储器、通信器以及存储在所述存储器上的可被所述处理器执行的测试用例生成程序,其中,所述测试用例生成程序被所述处理器执行时,实现如权利要求1至7中任一项所述的测试用例生成方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有测试用例生成程序,其中,所述测试用例生成程序被处理器执行时,实现如权利要求1至7中任一项所述的测试用例生成方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910433511.5A CN110287104A (zh) | 2019-05-21 | 2019-05-21 | 测试用例生成方法、装置、终端及计算机可读存储介质 |
PCT/CN2019/122781 WO2020233089A1 (zh) | 2019-05-21 | 2019-12-03 | 测试用例生成方法、装置、终端及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910433511.5A CN110287104A (zh) | 2019-05-21 | 2019-05-21 | 测试用例生成方法、装置、终端及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110287104A true CN110287104A (zh) | 2019-09-27 |
Family
ID=68002437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910433511.5A Pending CN110287104A (zh) | 2019-05-21 | 2019-05-21 | 测试用例生成方法、装置、终端及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110287104A (zh) |
WO (1) | WO2020233089A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020233089A1 (zh) * | 2019-05-21 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 测试用例生成方法、装置、终端及计算机可读存储介质 |
CN112597034A (zh) * | 2020-12-25 | 2021-04-02 | 深圳证券交易所 | 测试用例的生成方法、装置及计算机可读存储介质 |
CN113377653A (zh) * | 2021-06-10 | 2021-09-10 | 北京京东振世信息技术有限公司 | 生成测试用例的方法和装置 |
CN114077534A (zh) * | 2020-08-11 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 测试用例生成方法、装置和计算机可读存储介质 |
CN114077534B (zh) * | 2020-08-11 | 2024-05-31 | 腾讯科技(深圳)有限公司 | 测试用例生成方法、装置和计算机可读存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590453A (zh) * | 2021-01-28 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 测试用例的生成方法、装置与存储介质 |
CN114338472B (zh) * | 2021-12-31 | 2024-05-07 | 北京百度网讯科技有限公司 | 地图服务器的容量测试方法、装置、设备、介质及产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150026664A1 (en) * | 2013-07-17 | 2015-01-22 | International Business Machines Corporation | Method and system for automated test case selection |
CN107832231A (zh) * | 2017-12-05 | 2018-03-23 | 郑州云海信息技术有限公司 | 一种系统测试方法、装置及介质 |
CN108595338A (zh) * | 2018-05-08 | 2018-09-28 | 平安普惠企业管理有限公司 | 测试用例编写方法、装置、计算机设备及存储介质 |
CN109710508A (zh) * | 2018-08-20 | 2019-05-03 | 平安普惠企业管理有限公司 | 测试方法、测试装置、测试设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110287104A (zh) * | 2019-05-21 | 2019-09-27 | 深圳壹账通智能科技有限公司 | 测试用例生成方法、装置、终端及计算机可读存储介质 |
-
2019
- 2019-05-21 CN CN201910433511.5A patent/CN110287104A/zh active Pending
- 2019-12-03 WO PCT/CN2019/122781 patent/WO2020233089A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150026664A1 (en) * | 2013-07-17 | 2015-01-22 | International Business Machines Corporation | Method and system for automated test case selection |
CN107832231A (zh) * | 2017-12-05 | 2018-03-23 | 郑州云海信息技术有限公司 | 一种系统测试方法、装置及介质 |
CN108595338A (zh) * | 2018-05-08 | 2018-09-28 | 平安普惠企业管理有限公司 | 测试用例编写方法、装置、计算机设备及存储介质 |
CN109710508A (zh) * | 2018-08-20 | 2019-05-03 | 平安普惠企业管理有限公司 | 测试方法、测试装置、测试设备及计算机可读存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020233089A1 (zh) * | 2019-05-21 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 测试用例生成方法、装置、终端及计算机可读存储介质 |
CN114077534A (zh) * | 2020-08-11 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 测试用例生成方法、装置和计算机可读存储介质 |
CN114077534B (zh) * | 2020-08-11 | 2024-05-31 | 腾讯科技(深圳)有限公司 | 测试用例生成方法、装置和计算机可读存储介质 |
CN112597034A (zh) * | 2020-12-25 | 2021-04-02 | 深圳证券交易所 | 测试用例的生成方法、装置及计算机可读存储介质 |
CN113377653A (zh) * | 2021-06-10 | 2021-09-10 | 北京京东振世信息技术有限公司 | 生成测试用例的方法和装置 |
CN113377653B (zh) * | 2021-06-10 | 2023-09-26 | 北京京东振世信息技术有限公司 | 生成测试用例的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2020233089A1 (zh) | 2020-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287104A (zh) | 测试用例生成方法、装置、终端及计算机可读存储介质 | |
CN106294120B (zh) | 测试代码的方法、设备和计算机程序产品 | |
US8010844B2 (en) | File mutation method and system using file section information and mutation rules | |
CN112416777B (zh) | 文本显示测试方法、装置、计算机设备和存储介质 | |
CN112052172A (zh) | 第三方通道的快速测试方法、装置和电子设备 | |
CN108664471A (zh) | 文字识别纠错方法、装置、设备及计算机可读存储介质 | |
US11663113B2 (en) | Real time fault localization using combinatorial test design techniques and test case priority selection | |
CN110659870A (zh) | 业务审核测试方法、装置、设备及存储介质 | |
CN112686317A (zh) | 神经网络训练方法、装置、电子设备及存储介质 | |
CN113138927A (zh) | 一种软件功能测试方法和装置 | |
CN112416800A (zh) | 智能合约的测试方法、装置、设备及存储介质 | |
CN116431522A (zh) | 一种低代码对象存储网关自动化测试方法及系统 | |
CN112231459A (zh) | 一种基于知识图谱实现软件测试智能问答的方法及系统 | |
CN117235527A (zh) | 端到端容器化的大数据模型构建方法、装置、设备及介质 | |
CN111767210A (zh) | 策略测试方法、装置、计算机设备和存储介质 | |
CN114880709B (zh) | 一种应用人工智能的电商数据防护方法及服务器 | |
US20220058530A1 (en) | Method and device for optimizing deep learning model conversion, and storage medium | |
CN110413518A (zh) | 控件对象库的生成方法及生成装置和计算机可读存储介质 | |
CN113204706B (zh) | 基于MapReduce的数据筛选抽取方法及系统 | |
CN115062571A (zh) | 应用于集成电路器件的数据区域动态选取方法、系统、设备和计算机可读存储介质 | |
CN114691491A (zh) | 一种用于智慧屏的用例模板生成方法、系统及介质 | |
CN110177006B (zh) | 基于接口预测模型的节点测试方法及装置 | |
CN107992287B (zh) | 一种系统需求优先级排序结果的检查方法和装置 | |
CN112015648A (zh) | 基于自动化脚本的测试方法、装置、计算机设备和介质 | |
CN116756050B (zh) | 基于mbse的惯性产品用例分析方法、系统及存储介质 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190927 |
|
WD01 | Invention patent application deemed withdrawn after publication |