CN116841853A - 测试用例生成方法、装置、电子设备及可读存储介质 - Google Patents
测试用例生成方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN116841853A CN116841853A CN202210295259.8A CN202210295259A CN116841853A CN 116841853 A CN116841853 A CN 116841853A CN 202210295259 A CN202210295259 A CN 202210295259A CN 116841853 A CN116841853 A CN 116841853A
- Authority
- CN
- China
- Prior art keywords
- service
- alternative
- data packet
- preset
- program
- 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 89
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000003860 storage Methods 0.000 title claims abstract description 28
- 238000001914 filtration Methods 0.000 claims abstract description 33
- 230000005540 biological transmission Effects 0.000 claims description 60
- 238000012545 processing Methods 0.000 claims description 33
- 238000012216 screening Methods 0.000 claims description 17
- 238000012795 verification Methods 0.000 abstract description 4
- 238000004519 manufacturing process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013486 operation strategy Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 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)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种测试用例生成方法、装置、电子设备及可读存储介质,属于计算机技术领域。本方法中,可以获取业务程序上传输的数据包及数据包的相关信息,再根据相关信息选取符合预设过滤条件的数据包,确定为第一备选用例,接着,基于预设业务规则对第一备选用例进行筛选,确定第二备选用例以及第二备选用例所属的业务类型,最后,根据业务类型选取符合目标业务类型组合的多个第二备选用例,组成目标测试用例集,该目标业务类型组合是根据覆盖多个业务场景确定的。这样,可以自动筛选得到符合业务测试的测试用例,从而无需人工编写即可得到符合实际应用的测试用例,可以实现多场景用例测试验证,从而可以提高用例测试效率。
Description
技术领域
本申请属于计算机技术领域,具体涉及一种测试用例生成方法、装置、电子设备及可读存储介质。
背景技术
随着互联网技术的不断发展,业务场景的布局越来越复杂,而用户需求的迭代速度也越来越快,为了适应用户不同类型的需求,需要对应用程序进行多次更新,而每次更新的应用程序在上线前,往往要由测试人员根据测试用例更新的应用程序进行测试,以便于更新后的应用程序运行流程,为用户提供良好的使用体验。
现有技术中,测试用例往往是由人工编写的,这样,导致编写效率较低,且人工编写用例很难覆盖所有的业务场景,且存在用例质量不一的情况。
发明内容
为克服相关技术中存在的问题,本申请实施例的目的是提供一种测试用例生成方法、装置、电子设备及可读存储介质。
为了解决上述技术问题,本申请是这样实现的:
第一方面,本申请实施例提供了一种测试用例生成方法,该方法包括:
获取业务程序上传输的数据包及所述数据包的相关信息;
根据所述相关信息选取符合预设过滤条件的数据包,确定为第一备选用例;
基于预设业务规则对所述第一备选用例进行筛选,确定第二备选用例以及所述第二备选用例所属的业务类型;
根据所述业务类型选取符合目标业务类型组合的多个第二备选用例,组成目标测试用例集;所述目标业务类型组合是根据覆盖多个业务场景确定的。
第二方面,本申请实施例提供了一种测试用例生成装置,该装置包括:
获取模块,用于获取业务程序上传输的数据包及所述数据包的相关信息;
第一确定模块,用于根据所述相关信息选取符合预设过滤条件的数据包,确定为第一备选用例;
第二确定模块,用于基于预设业务规则对所述第一备选用例进行筛选,确定第二备选用例以及所述第二备选用例所属的业务类型;
第一选取模块,用于根据所述业务类型选取符合目标业务类型组合的多个第二备选用例,组成目标测试用例集;所述目标业务类型组合是根据覆盖多个业务场景确定的。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的测试用例生成方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的测试用例生成方法的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的测试用例生成方法。
综上所述,本发明实施例提供的测试用例生成方法,可以获取业务程序上传输的数据包及数据包的相关信息,再根据相关信息选取符合预设过滤条件的数据包,确定为第一备选用例,接着,基于预设业务规则对第一备选用例进行筛选,确定第二备选用例以及第二备选用例所属的业务类型,最后,根据业务类型选取符合目标业务类型组合的多个第二备选用例,组成目标测试用例集,该目标业务类型组合是根据覆盖多个业务场景确定的。这样,通过获取客户端上的实时信息流,再根据信息传输时的配置信息进行筛选,以及根据业务规则对备选用例进行过滤,可以自动筛选得到符合业务测试的测试用例,从而无需人工编写即可得到符合实际应用的测试用例,进一步地,根据预设业务组合得到目标测试用例集,可以实现多场景用例测试验证,从而可以提高用例测试效率。
附图说明
图1是本发明实施例提供的一种测试用例生成方法的步骤流程图;
图2是本发明实施例提供的一种测试用例筛选流程图;
图3是本发明实施例提供的一种测试用例生成流程图;
图4是本发明实施例提供的一种测试用例生成装置的框图;
图5是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的测试用例生成进行详细地说明。
图1是本发明实施例提供的一种测试用例生成方法的步骤流程图,如图1所示,该方法可以包括:
步骤101、获取业务程序上传输的数据包及所述数据包的相关信息。
本发明实施例中,可以是在业务程序的接口端上,调取该业务程序与客户端之间传输的信息作为数据包,也可以是在客户端上,采集与业务程序之间相互传输的信息作为数据包,对此本发明不做限制。而数据包的相关信息可以是数据包传输时的相关参数,比如,可以是信息传输的接口名、网际互连协议(Internet Protocol,IP)地址、传输分组等等配置信息,相应地,获取数据包的相关信息,可以是在获取业务程序与客户端之间传输的数据包的同时,记录传输数据包时的相关参数作为数据包的相关信息。
本发明实施例中,可以将处理同一事由的传输信息作为一个数据包,该事由可以是用户请求,相应地,数据包中可以包括用户请求,以及对应的请求结果,该事由也可以是程序运行信息,比如,可以是程序故障、程序更新等,相应地,数据包可以包括程序运行信息以及用户反馈信息。因此,获取业务程序上传输的数据包,具体的,可以是先调取该业务程序与客户端之间传输的信息,再确定各个信息处理的事由,将处理同一事由的信息作为一个数据包。
需要说明的是,由于测试用例通常是由请求数据与对应的请求结果组成的,其中,请求数据可以是由客户端向业务程序发送的,而请求结果可以是由业务程序响应于该请求数据返回给客户端的。为了实现根据获取到的数据包生成测试用例,因此,获取业务程序上传输的数据包,可以是在客户端上录制客户端与业务程序之间传输的数据包,具体的,可以是构建录制脚本来记录客户端与业务程序之间传输的数据包以及相关信息,也可以是调用代理模块来记录客户端与业务程序之间传输的数据包以及相关信息,对此本发明不作限制。
步骤102、根据所述相关信息选取符合预设过滤条件的数据包,确定为第一备选用例。
本发明实施例中,预设过滤条件可以是根据实际情况预先设定的,比如,过滤条件可以为接口名白名单、IP地址白名单、分组白名单等等,当数据包的相关信息在预设过滤条件的白名单中,则可以认为该相关信息符合预设过滤条件。示例的,预设过滤条件中接口名白名单有接口1、接口3,若相关信息1包含的是接口1时,则可以确定该相关信息1符合预设过滤条件,可以将相关信息1对应的数据包作为第一备选用例,若相关信息2包含的是接口2时,则可以确定该相关信息1不符合预设过滤条件,可以舍弃相关信息2对应的数据包。
步骤103、基于预设业务规则对所述第一备选用例进行筛选,确定第二备选用例以及所述第二备选用例所属的业务类型。
本发明实施例中,预设业务规则可以是根据不同业务场景下处理数据的方式设置的规则,例如,预设业务规则可以包括用于处理不同业务的程序,预设业务规则还可以包括根据不同业务场景处理数据的特征设置的规则池,对此本发明不做限制。基于预设业务规则对第一备选用例进行筛选,确定第二备选用例以及第二备选用例所属的业务类型,可以是先确定第一备选用例所应用的业务场景,再选取该业务场景所匹配的预设业务规则对第一备选用例进行筛选处理,最后,根据处理结果确定第二备选用例以及第二备选用例所属的业务类型。
步骤104、根据所述业务类型选取符合目标业务类型组合的多个第二备选用例,组成目标测试用例集;所述目标业务类型组合是根据覆盖多个业务场景确定的。
本发明实施例中,由于一个用例仅可以用于测试一个业务场景,但是,在对业务程序进行测试验证时,往往是需要对不同业务场景进行测试验证,因此,根据覆盖多个业务场景的目标业务类型组合,来选取多个第二备选用例组成目标测试用例集,可以实现对业务程序的多场景用例测试验证,减少了业务程序对用例进行测试所需的时间,从而可以提高用例测试效率。
示例的,业务程序可以是购物平台,备选用例1所应用的业务场景是用户查看购物平台上的商品详情页,备选用例2所应用的业务场景是浏览购物平台的活动界面,备选用例3所应用的业务场景是在购物平台上添加商品到购物车中,而目标业务类型组合可以包括在查看对象网页、浏览页面、功能应用,因此,备选用例1、备选用例2、备选用例3都符合目标业务类型组合,可以将备选用例1、备选用例2、备选用例3组成一个目标测试用例集。
综上所述,本发明实施例提供的测试用例生成方法,可以获取业务程序上传输的数据包及数据包的相关信息,再根据相关信息选取符合预设过滤条件的数据包,确定为第一备选用例,接着,基于预设业务规则对第一备选用例进行筛选,确定第二备选用例以及第二备选用例所属的业务类型,最后,根据业务类型选取符合目标业务类型组合的多个第二备选用例,组成目标测试用例集,该目标业务类型组合是根据覆盖多个业务场景确定的。这样,通过获取客户端上的实时信息流,再根据信息传输时的配置信息进行筛选,以及根据业务规则对备选用例进行过滤,可以自动筛选得到符合业务测试的测试用例,从而无需人工编写即可得到符合实际应用的测试用例,进一步地,根据预设业务组合得到目标测试用例集,可以实现多场景用例测试验证,从而可以提高用例测试效率。
可选的,本发明实施例中上述获取业务程序上传输的数据包及所述数据包的相关信息的操作,可以具体包括:
步骤1011、利用所述客户端上关联的代理模块,实时录制所述客户端上传输的信息流。
本发明实施例中,代理模块可以是具有录制信息功能的插件,通过将代理模块嵌入到客户端上,可以利用代理模块实时录制客户端上传输的信息流。需要说明的是,代理模块可以是HTTP代理模块(HTTP Proxy),也可以是Jmeter配置代理,本发明对此不做限制。
步骤1012、根据所述信息流中处理事务的关联性,将处理同一事务的信息流作为一个数据包,从而根据所述信息流得到所述多个数据包。
本发明实施例中,在实际应用场景中,由于信息传输往往是具有责任链模式的,即,由每一个对象对其下家的引用而连接起来形成一条链,因此,在录制信息流时,往往是按照信息传输的时序进行录制,而相邻时序的信息往往是用于处理同一事务的信息,将处理同一事务的信息作为一个数据包。
本发明实施例中,可以通过录制得到的信息流中,每个数据都关联有处理事务的标签,可以根据该处理事务的标签,将处理同一事务的数据作为数据包,而录制的信息流中可以同时处理多个事务,从而可以根据每个数据关联的处理事务标签,得到处理不同事务的多个数据包。
示例的,数据包1可以为购物平台中商品的在途库存,该数据包1的服务接口为大件商详页接口,则可以得到数据包1的相关信息为大件商详页接口,该数据包1可以表示为(Map)record.getArgs().get(“stockState”))==39。数据包2可以为购物平台中的自营商品,该数据包2的服务接口为大件商详页接口,则可以得到数据包2的相关信息为大件商详页接口,该数据包2可以表示为(Map)record.getArgs().get(“isJDsku”))==true。数据包3可以为购物平台中库存保有单位(Stock keeping Unit,SKU)XXX,该数据包3的服务接口为大件售后预约日历接口,则可以得到数据包3的相关信息为大件售后预约日历接口,该数据包3可以表示为(Map)record.getArgs().get(“skuId”))==xxx。数据包4可以为购物平台中渠道软件(application,app),该数据包4的服务接口为大件售后预约日历接口,则可以得到数据包4的相关信息为大件售后预约日历接口,该数据包4可以表示为(Map)record.getArgs().get(“channel”))==2。
可选的,本发明实施例中相关信息可以包括传输参数,上述根据所述相关信息选取符合预设过滤条件的数据包,确定为第一备选用例的操作,可以具体包括:
步骤1021、检测所述传输参数与所述预设过滤条件中的目标传输参数是否相匹配。
本发明实施例中,目标传输参数可以是用户预先设定的传输参数,用于表征通过目标传输参数传输的数据可以作为备选用例。检测传输参数是否与预设过滤条件中的目标传输参数相匹配,可以是查询传输参数是否与目标传输参数相匹配,将查询到相匹配的传输参数则可以认为存在匹配结果,将未查询到匹配的传输参数则可以认为不存在匹配结果。
步骤1022、若匹配,则将所述数据包确定为所述第一备选用例。
本发明实施例中,假设目标传输参数为钱包接口,当数据包的传输参数中存在钱包接口时,可以确定数据包的传输参数与目标传输参数相匹配,则可以将数据包作为第一备选用例。而当数据包的传输参数中不存在钱包接口时,可以确定数据包的传输参数与目标传输参数不匹配,在数据包的传输参数均不匹配的情况下,可以舍弃该数据包。
示例的,一种实现方式,目标传输参数可以为录制开关,名称为record.recorder.enabled,也可以为接口名白名单,名称为record.filter.basic.service-pattern,也可以为方法白名单,名称为record.filter.basic.method-pattern,还可以为分组白名单,名称为record.filter.basic.group-pattern,可以为IP地址白名单,名称为record.filter.basic.address-pattern,具体的,可以在目标传输参数中查询是否包含传输参数,若目标传输参数中包含传输参数,则可以认为该传输参数与目标传输参数相匹配,若目标传输参数中不包含传输参数,则可以认为该传输参数与目标传输参数不匹配。
可选的,本发明实施例中上述基于预设业务规则对所述第一备选用例进行筛选,确定第二备选用例以及所述第二备选用例所属的业务类型的操作,可以具体包括:
步骤1031、根据预设的参数与业务类型之间的对应关系,确定所述传输参数对应的业务类型。
本发明实施例中,由于处理不同业务时,所要调用的传输参数并不相同,可以构建参数与业务类型之间的对应关系,根据传输参数来确定对应的业务类型,而该业务类型可以作为第一备选用例所属的业务类型。比如,支付业务需要调用钱包接口,因此,当传输参数中包含钱包接口时,可以确定第一备选用例需要处理的业务包括支付业务,则可以将支付业务作为第一备选用例所属的业务类型。
步骤1032、获取处理所述业务类型的指定业务程序。
本发明实施例中,处理不同的业务类型所使用的业务程序可以不同,因此,获取处理业务类型的指定业务程序,可以是根据业务程序处理的业务场景,选取处理该业务类型的业务程序作为指定业务程序。需要说明的是,该指定业务程序与步骤101中的业务程序可以是不同的,步骤101中的业务程序可以是初始业务程序,指定业务程序可以是对初始业务程序更新升级的业务程序,比如,步骤101中的业务程序可以是购物平台1.0,而指定业务程序可以是购物平台2.0。
步骤1033、利用所述指定业务程序运行所述第一备选用例,当运行结果满足预设条件时,则根据所述第一备选用例确定所述第二备选用例。
本发明实施例中,预设条件可以是运行结果与第一备选用例的文本内容相匹配。利用指定业务程序运行第一备选用例,当运行结果满足预设条件时,则根据第一备选用例确定第二备选用例,可以是将第一备选用例输入到指定业务程序中运行,检测运行结果是否与第一备选用例的文本内容相匹配,当匹配时,则可以根据第一备选用例与运行结果确定第二备选用例。
步骤1034、将所述传输参数对应的业务类型作为所述第二备选用例所属的业务类型。
示例的,传输参数对应的业务类型可以为业务A,即,第一备选用例的业务类型可以为业务A,则可以得到第二备选用例所属的业务类型为业务A。
可选的,本发明实施例中第一备选用例可以包括用户请求与请求返回结果,上述利用所述指定业务程序运行所述第一备选用例,当运行结果满足预设条件时,则根据所述第一备选用例确定所述第二备选用例的操作,还可以具体包括:
步骤1033A、利用所述指定业务程序运行所述用户请求,得到所述运行结果。
本发明实施例中,由于指定业务程序是业务程序的更新版本,通过将第一备选用例中的用户请求输入到指定业务程序中得到运行结果,可以实现对第一备选用例的回放操作,同时也可以检测指定业务程序处理该用户请求的能力。
步骤1033B、将所述运行结果与所述请求返回结果进行对比。
本发明实施例中,可以是将获取到的请求返回结果,与通过指定业务程序的运行结果进行对比,比如,可以是对所有文本内容进行对比,也可以是对指定字段的文本内容进行对比,可以忽略文本字体的大小等,本发明对此不做限制。
步骤1033C、在对比结果符合所述预设条件时,将所述用户请求与所述运行结果作为所述第二备选用例。
本发明实施例中,当对比结果是运行结果与请求返回结果文本内容相匹配,即对比结果符合预设条件时,可以将用户请求与运行结果作为第二备选用例。这样,可以使得第二备选用例符合最新版本业务程序的运行策略,从而可以一定程度上增加用例的使用周期。
本发明实施例中,在一种实现方式中,若对比结果是第二备选用例中的目标字段出现缺失,则可以将第二备选用例中的目标字段补齐,将补齐后的第二备选用例存储在预设用例存储系统中,若对比结果是第二备选用例与对应的数据包一致,则可以直接将第二备选用例存储在预设用例存储系统中。
需要说明的是,预设用例存储系统可以是分布式存储系统,也可以是结构式存储系统,将第二备选用例存储于预设用例存储系统,可以是先将第二备选用例的数据格式修改为目标数据格式,再基于目标数据格式存储于预设用例存储系统。
可选的,本发明实施例中上述获取处理所述业务类型的指定业务程序的操作,还可以具体包括:
选取与所述业务类型相匹配的业务程序,作为所述指定业务程序。
本发明实施例中,可以是根据业务程序所应用的业务场景,选取业务场景与业务类型相匹配的业务程序,将该业务程序作为指定业务程序。其中,一个业务程序可以应用于多个业务场景中,不同业务类型可以匹配到同一个指定业务程序,比如,业务程序为购物平台,该购物平台可以应用于浏览商品、比较商品、预约商品、支付商品等等,当业务类型为浏览商品,则可以选取该购物平台作为指定业务程序,当业务类型为预约商品,则也可以选取该购物平台作为指定业务程序。
可选的,本发明实施例中在执行上述根据第二预设规则对所述第一备选用例过滤的操作之前,还可以执行下述步骤:
步骤S11、选取任意个数的所述第一备选用例,作为一个目标队列。
本发明实施例中,通过将任意个数的第一备选用例存储为目标队列,可以方便信息的存储,也可以便于之后对第一备选用例的查询,从而可以提高信息处理的效率。
步骤S12、对各个所述目标队列进行异步上报,以便后续执行所述基于预设业务规则对所述第一备选用例进行筛选的步骤。
本发明实施例中,由于第一备选用例是从客户端上录制得到的,而客户端本身还需要利用业务主线程完成正常的业务访问传输工作,因此,可以通过将目标队列进行异步上报,从而和现有业务访问线程隔离,来避免在传输目标对流的过程中对现有业务访问线程的传输性能造成影响,从而一定程度上可以确保信息传输的准确性。
可选的,本发明实施例中上述根据所述业务类型选取符合目标业务类型组合的多个第二备选用例,组成目标测试用例集的操作,可以具体包括:
根据所述目标业务类型组合中包含的多个目标业务类型,选取与所述目标业务类型相匹配的第二备选用例;将匹配的所述多个第二备选用例作为所述目标测试用例集。
本发明实施例中,目标业务类型组合可以包含多个目标业务类型,比如,目标业务类型可以为浏览商品、比较商品、预约商品、支付商品,则可以将浏览商品、比较商品、预约商品、支付商品作为目标业务类型组合。若目标业务类型为支付商品,第二备选用例的业务类型为支付业务,由于支付业务中包含支付商品,则可以确定业务类型与目标业务类型相匹配,可以将该第二备选用例作为目标测试用例集中的一个。
示例的,图2是本发明实施例提供的一种测试用例筛选流程图,如图2所示,将第一备选用例按照第二预设规则进行筛选,其中,第二预设规则可以是根据预设业务组合生成的,包括有规则1、规则2等,筛选后可以得到目标测试用例集。
示例的,图3是本发明实施例提供的一种测试用例生成流程图,如图3所示,调用方将流量调用到第一生产服务器,第一生产服务器可以是原有的业务生产服务器,调用的流量可以是根据客户端上的代理模块过滤之后得到的,将第一生产服务器之后得到的MQ消息输入到回放服务中,之后,将回放服务得到的目标测试用例集发送给预上线生产服务器,该预上线生产服务器可以是对原有的业务生产服务器改进之后的版本。在回放服务中,对MQ消息按照预设业务组合进行业务过滤,将过滤后的目标测试用例集可以离线存储在分布式文件系统和对象存储系统(CFS)中,再由CFS发送给预上线生产服务器,也可以将过滤后的目标测试用例集实时发送给预上线生产服务器。其中,用户可以通过WEB UI对CFS上存储的目标测试用例集进行DIFF比对与全场景回归的操作,也可以通过DB页面对业务过滤进行操作。
需要说明的是,本申请实施例提供的测试用例生成方法,执行主体可以为测试用例生成装置,或者该测试用例生成装置中的用于执行测试用例生成方法的控制模块。本申请实施例中以测试用例生成装置执行测试用例生成方法为例,说明本申请实施例提供的测试用例生成装置。
图4是本发明实施例提供的一种测试用例生成装置的框图,如图4所示,该装置40可以包括:
获取模块401,用于获取业务程序上传输的数据包及所述数据包的相关信息;
第一确定模块402,用于根据所述相关信息选取符合预设过滤条件的数据包,确定为第一备选用例;
第二确定模块403,用于基于预设业务规则对所述第一备选用例进行筛选,确定第二备选用例以及所述第二备选用例所属的业务类型;
第一选取模块404,用于根据所述业务类型选取符合目标业务类型组合的多个第二备选用例,组成目标测试用例集;所述目标业务类型组合是根据覆盖多个业务场景确定的。
综上所述,本发明实施例提供的测试用例生成装置,可以获取业务程序上传输的数据包及数据包的相关信息,再根据相关信息选取符合预设过滤条件的数据包,确定为第一备选用例,接着,基于预设业务规则对第一备选用例进行筛选,确定第二备选用例以及第二备选用例所属的业务类型,最后,根据业务类型选取符合目标业务类型组合的多个第二备选用例,组成目标测试用例集,该目标业务类型组合是根据覆盖多个业务场景确定的。这样,通过获取客户端上的实时信息流,再根据信息传输时的配置信息进行筛选,以及根据业务规则对备选用例进行过滤,可以自动筛选得到符合业务测试的测试用例,从而无需人工编写即可得到符合实际应用的测试用例,进一步地,根据预设业务组合得到目标测试用例集,可以实现多场景用例测试验证,从而可以提高用例测试效率。
可选的,所述相关信息包括传输参数;所述第一预设规则包括目标传输参数;
所述第一确定模块402,包括:
检测所述传输参数与所述预设过滤条件中的目标传输参数是否相匹配;
若匹配,则将所述数据包确定为所述第一备选用例。
可选的,所述第二确定模块403,还具体用于:
根据预设的参数与业务类型之间的对应关系,确定所述传输参数对应的业务类型;
获取处理所述业务类型的指定业务程序;
利用所述指定业务程序运行所述第一备选用例,当运行结果满足预设条件时,则根据所述第一备选用例确定所述第二备选用例;
将所述传输参数对应的业务类型作为所述第二备选用例所属的业务类型。
可选的,所述第一备选用例包括用户请求以及请求返回结果;所述第二确定模块403,还具体用于:
所述利用所述指定业务程序运行所述第一备选用例,当运行结果满足预设条件时,则根据所述第一备选用例确定所述第二备选用例,包括:
利用所述指定业务程序运行所述用户请求,得到所述运行结果;
将所述运行结果与所述请求返回结果进行对比;
在对比结果符合所述预设条件时,将所述用户请求与所述运行结果作为所述第二备选用例。
可选的,所述第二确定模块403,还具体用于:
选取与所述业务类型相匹配的业务程序,作为所述指定业务程序。
可选的,所述装置40还包括:
第二选取模块,用于选取任意个数的所述第一备选用例,作为一个目标队列;
执行模块,用于对各个所述目标队列进行异步上报,以便后续执行所述基于预设业务规则对所述第一备选用例进行筛选的步骤。
可选的,所述获取模块401,还具体用于:
利用所述客户端上关联的代理模块,实时录制所述客户端上传输的信息流;
根据所述信息流中处理事务的关联性,将处理同一事务的信息流作为一个数据包,从而根据所述信息流得到所述多个数据包。
本公开的示例性实施方式还提供了一种计算机可读存储介质,可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。在一种实施方式中,该程序产品可以实现为便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本公开的示例性实施方式还提供了一种电子设备,可以是物品存储终端的后台服务器。下面参考图5对该电子设备进行说明。应当理解,图5显示的电子设备500仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。
如图5所示,电子设备500以通用计算设备的形式表现。电子设备500的组件可以包括但不限于:至少一个处理单元510、至少一个存储单元520、连接不同系统组件(包括存储单元520和处理单元510)的总线530。
其中,存储单元存储有程序代码,程序代码可以被处理单元510执行,使得处理单元510执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,处理单元510可以执行如图1所示的方法步骤等。
存储单元520可以包括易失性存储单元,例如随机存取存储单元(RAM)521和/或高速缓存存储单元522,还可以进一步包括只读存储单元(ROM)523。
存储单元520还可以包括具有一组(至少一个)程序模块525的程序/实用工具524,这样的程序模块525包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线530可以包括数据总线、地址总线和控制总线。
电子设备500也可以与一个或多个外部设备600(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(I/O)接口540进行。电子设备500还可以通过网络适配器550与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器550通过总线530与电子设备500的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限定。
Claims (10)
1.一种测试用例生成方法,其特征在于,所述方法包括:
获取业务程序上传输的数据包及所述数据包的相关信息;
根据所述相关信息选取符合预设过滤条件的数据包,确定为第一备选用例;
基于预设业务规则对所述第一备选用例进行筛选,确定第二备选用例以及所述第二备选用例所属的业务类型;
根据所述业务类型选取符合目标业务类型组合的多个第二备选用例,组成目标测试用例集;所述目标业务类型组合是根据覆盖多个业务场景确定的。
2.根据权利要求1所述的方法,其特征在于,所述相关信息包括传输参数;
所述根据所述相关信息选取符合预设过滤条件的数据包,确定为第一备选用例,包括:
检测所述传输参数与所述预设过滤条件中的目标传输参数是否相匹配;
若匹配,则将所述数据包确定为所述第一备选用例。
3.根据权利要求2所述的方法,其特征在于,所述基于预设业务规则对所述第一备选用例进行筛选,确定第二备选用例以及所述第二备选用例所属的业务类型,包括:
根据预设的参数与业务类型之间的对应关系,确定所述传输参数对应的业务类型;
获取处理所述业务类型的指定业务程序;
利用所述指定业务程序运行所述第一备选用例,当运行结果满足预设条件时,则根据所述第一备选用例确定所述第二备选用例;
将所述传输参数对应的业务类型作为所述第二备选用例所属的业务类型。
4.根据权利要求3所述的方法,其特征在于,所述第一备选用例包括用户请求以及请求返回结果;
所述利用所述指定业务程序运行所述第一备选用例,当运行结果满足预设条件时,则根据所述第一备选用例确定所述第二备选用例,包括:
利用所述指定业务程序运行所述用户请求,得到所述运行结果;
将所述运行结果与所述请求返回结果进行对比;
在对比结果符合所述预设条件时,将所述用户请求与所述运行结果作为所述第二备选用例。
5.根据权利要求3所述的方法,其特征在于,所述获取处理所述业务类型的指定业务程序,包括:
选取与所述业务类型相匹配的业务程序,作为所述指定业务程序。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述基于预设业务规则对所述第一备选用例进行筛选之前,还包括:
选取任意个数的所述第一备选用例,作为一个目标队列;
对各个所述目标队列进行异步上报,以便后续执行所述基于预设业务规则对所述第一备选用例进行筛选的步骤。
7.根据权利要求1所述的方法,其特征在于,所述获取业务程序上传输的数据包及所述数据包的相关信息,包括:
利用所述客户端上关联的代理模块,实时录制所述客户端上传输的信息流;
根据所述信息流中处理事务的关联性,将处理同一事务的信息流作为一个数据包,从而根据所述信息流得到所述多个数据包。
8.一种测试用例生成装置,其特征在于,所述装置包括:
获取模块,用于获取业务程序上传输的数据包及所述数据包的相关信息;
第一确定模块,用于根据所述相关信息选取符合预设过滤条件的数据包,确定为第一备选用例;
第二确定模块,用于基于预设业务规则对所述第一备选用例进行筛选,确定第二备选用例以及所述第二备选用例所属的业务类型;
第一选取模块,用于根据所述业务类型选取符合目标业务类型组合的多个第二备选用例,组成目标测试用例集;所述目标业务类型组合是根据覆盖多个业务场景确定的。
9.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-7任一项所述的测试用例生成方法。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-7任一项所述的测试用例生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210295259.8A CN116841853A (zh) | 2022-03-23 | 2022-03-23 | 测试用例生成方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210295259.8A CN116841853A (zh) | 2022-03-23 | 2022-03-23 | 测试用例生成方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116841853A true CN116841853A (zh) | 2023-10-03 |
Family
ID=88163941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210295259.8A Pending CN116841853A (zh) | 2022-03-23 | 2022-03-23 | 测试用例生成方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116841853A (zh) |
-
2022
- 2022-03-23 CN CN202210295259.8A patent/CN116841853A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108961033B (zh) | 多业务系统交互方法及装置、存储介质、电子终端 | |
US20080228504A1 (en) | Technique to Deflect Incident Ticket Submission in Real-Time | |
CN109062563B (zh) | 用于生成页面的方法和装置 | |
US20110231819A1 (en) | Content Availability Determination, Representation And Acquisition System | |
CN108073429B (zh) | 一种支付方式配置方法、装置、设备及存储介质 | |
US20200050540A1 (en) | Interactive automation test | |
CN108628673A (zh) | 数据处理方法、电子设备和计算机可读介质 | |
JP2021103506A (ja) | 情報を生成するための方法及び装置 | |
CN108984202B (zh) | 一种电子资源分享方法、装置和存储介质 | |
CN110858172A (zh) | 一种自动化测试代码生成方法和装置 | |
CN109284450B (zh) | 订单成单路径的确定方法及装置、存储介质、电子设备 | |
CN111949508A (zh) | 测试接口的方法、装置、设备和计算机可读介质 | |
CN114036439A (zh) | 网站搭建方法、装置、介质及电子设备 | |
CN108933823B (zh) | 用户触达方法和装置 | |
CN109299124A (zh) | 用于更新模型的方法和装置 | |
CN113419711A (zh) | 页面引导方法、装置、电子设备及存储介质 | |
CN109144864B (zh) | 用于测试窗口的方法及装置 | |
CN116841853A (zh) | 测试用例生成方法、装置、电子设备及可读存储介质 | |
CN112181407B (zh) | 业务实现处理方法及装置、系统、电子设备和存储介质 | |
CN114371888A (zh) | 日志采集插件的热更新方法、装置、电子设备和可读介质 | |
CN114661274A (zh) | 用于生成智能合约的方法和装置 | |
CN114675921A (zh) | 一种自定义界面的方法、装置、电子设备和存储介质 | |
CN114579415A (zh) | 一种埋点数据的配置方法、获取方法、装置、设备及介质 | |
US10585992B2 (en) | Changing a language for a user session replay | |
CN109992614B (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 |