测试用例生成方法、装置和系统制造方法及图纸

技术编号:18525788 阅读:18 留言:0更新日期:2018-07-25 12:42
本申请实施例提供了一种测试用例生成方法、装置和系统,该方法包括:从服务器端的日志信息中获取请求数据和返回数据;提供业务场景规则集,并在接收到用户针对所述业务场景规则集的场景指定指令时,确定与所述场景指定指令对应的业务场景规则;依据所述业务场景规则对所述请求数据和所述返回数据进行分析,以构建对应业务场景下的数据模型;根据对应业务场景下的数据模型和预设的测试代码模板生成对应的测试用例。本申请实施例可基于服务器端日志信息自动生成场景更为丰富的测试用例,从而有利于对服务器端进行更为全面的测试。

【技术实现步骤摘要】
测试用例生成方法、装置和系统
本申请涉及数据处理
,尤其是涉及一种测试用例生成方法、装置和系统。
技术介绍
测试用例是用于验证服务器端是否提供了符合设计者所期望功能的计算机程序代码。目前,测试用例一般通过测试人员人工编写,这种方式成本高、效率低。随着技术的不断发展,目前已经出现基于日志自动生成测试用例的方案。该方案首先获取应用程序在设备上运行时产生的日志文件(主要包括:用户对应用程序的操作行为和操作过程,比如登陆行为、交易行为等等);然后判断日志文件与测试设备所支持的格式是否相同;如果日志文件与测试设备所支持的格式相同,直接按照日志文件生成测试用例;如果日志文件与测试设备所支持的格式不同,先将日志文件的格式转换成测试设备所支持的格式,然后再将格式转换后的日志文件生成测试用例。由此可见,上述方案只能简单的重放日志里记录的用户操作,即上述方案只能依赖日志文件记录的业务场景生成相应的测试用例;比如,当日志文件记录的用户的操作序列为:A->B->C->D时;则采用上述方案只能生成操作序列为:A->B->C->D的测试用例。因此,现有技术基于服务器端日志信息可自动生成的测试用例有限,从而不利于对服务器端进行更为全面的测试。
技术实现思路
本申请实施例的目的在于提供一种测试用例生成方法、装置和系统,以实现基于服务器端日志信息自动生成场景更为丰富的测试用例,以利于对服务器端进行更为全面的测试。为达到上述目的,一方面,本申请实施例提供了一种测试用例生成方法,包括以下步骤:从服务器端的日志信息中获取请求数据和返回数据;提供业务场景规则集,并在接收到用户针对所述业务场景规则集的场景指定指令时,确定与所述场景指定指令对应的业务场景规则;依据所述业务场景规则对所述请求数据和所述返回数据进行分析,以构建对应业务场景下的数据模型;根据对应业务场景下的数据模型和预设的测试代码模板生成对应的测试用例。另一方面,本申请实施例还提供了一种测试用例生成装置,包括:日志读取器,用于从服务器端的日志信息中获取请求数据和返回数据;规则提供器,用于提供业务场景规则集,并在接收到用户针对所述业务场景规则集的场景指定指令时,确定与所述场景指定指令对应的业务场景规则;数据分析器,用于依据所述业务场景规则对所述请求数据和所述返回数据进行分析,以构建对应业务场景下的数据模型;测试用例生成器,用于根据对应业务场景下的数据模型和预设的测试代码模板生成对应的测试用例。另一方面,本申请实施例还提供了一种测试用例生成系统,包括:处理器;以及存储器,所述存储器被配置成用以存储测试用例生成装置,所述测试用例生成装置被所述处理器执行时,执行如下步骤:从服务器端的日志信息中获取请求数据和返回数据;提供业务场景规则集,并在接收到用户针对所述业务场景规则集的场景指定指令时,确定与所述场景指定指令对应的业务场景规则;依据所述业务场景规则对所述请求数据和所述返回数据进行分析,以构建对应业务场景下的数据模型;根据对应业务场景下的数据模型和预设的测试代码模板生成对应的测试用例。由此可见,与现有技术依赖日志文件记录的业务场景生成相应的测试用例不同,本申请实施例提供了业务场景规则集,该业务场景规则集中可根据需要预先自定义好各种业务场景规则,当从业务场景规则集中指定一个业务场景规则时,可依据指定的业务场景规则,对从服务器端的日志信息中获取请求数据和返回数据进行分析,以构建出与指定的业务场景规则对应的数据模型;然后根据该数据模型和预设的测试代码模板自动生成对应的测试用例,从而实现了基于服务器端日志信息自动生成场景更为丰富的测试用例,因而有利于对服务器端进行更为全面的测试。附图说明此处所说明的附图用来提供对本申请实施例的进一步理解,构成本申请实施例的一部分,并不构成对本申请实施例的限定。在附图中:图1为本申请一实施例的测试用例生成方法的流程图;图2为本申请一实施例的测试用例生成方法中生成数据模板的流程图;图3为本申请一实施例的测试用例生成装置的结构框图;图4为本申请另一实施例的测试用例生成系统的结构框图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本申请实施例做进一步详细说明。在此,本申请实施例的示意性实施例及其说明用于解释本申请实施例,但并不作为对本申请实施例的限定。下面结合附图,对本申请实施例的具体实施方式作进一步的详细说明。参考图1所示,本申请实施例的测试用例生成方法包括以下步骤:S101、从服务器端的日志信息中获取请求数据和返回数据。本申请一个实施例中,所述的服务器端可以为C/S(Client/Server)架构中的服务器端,也可以为B/S(Browser/Server)架构的应用服务器端(比如Web服务器端),还可以为在C/S架构或B/S架构中布设的代理服务器端(ProxyServer)。本申请一个实施例中,一般的,服务器端都有生成日志并保存日志的功能。以Web服务器端为例,在Web服务日志中,每条日志通常代表着用户的一次访问行为,其记录了Web服务从请求至服务结束的各种原始信息。比如,用户或客户端的IP地址、访问发生的时间、访问请求的页面、Web服务器端对于该请求返回的状态信息、返回给客户端的内容大小、该请求的引用地址、客户浏览器类型等信息。因此,Web服务日志中包含了Web服务的请求数据和返回数据。本申请一个实施例中,由于日志一般具有统一或固定的格式,因此通过语法解析器或相应的正则表达式,就可以方便的从日志文件中解析出所需的请求数据和返回数据。在本申请一些实施例中,可通过从服务器端的日志信息中获取请求数据和返回数据,并基于获取的请求数据和返回数据生成测试用例。因此,本申请这些实施例实现自动生成测试用例的条件更易于满足。其次,由于服务器端的日志一般具有统一或固定的格式;因此,本申请这些实施例在基于从服务器端的日志中获取的数据,来自动生成测试用例的过程中,这种标准格式的数据更易于分析,从而有利于降低实现成本。此外,服务器端的日志里记录都是真实业务数据,而非人工伪造;因此,基于这些真实业务数据生成的测试用例可能与真实的业务场景更相符,从而有利于提高对服务器端测试的准确性。S102、提供业务场景规则集,并在接收到用户针对所述业务场景规则集的场景指定指令时,确定与所述场景指定指令对应的业务场景规则。本申请一个实施例中,用户可根据需要自定义各种想要的业务场景规则,这些业务场景规则构成了业务场景规则集。当需要对哪个业务场景进行测试时,可通过场景指定指令从业务场景规则集中指定相应的业务场景规则。本申请一个实施例中,业务场景规则可以为一段业务场景的定量描述,例如由条件和动作部分组成,表示条件成立时,动作(action)才被执行。其中,所述的动作例如可以为对服务器端的一次请求;所述的条件成立,例如可以是用户点击了一个客户端的按钮(所述的按钮可以是真实的,也可以是虚拟的),从而触发按钮的回调方法,该方法中编写了按钮被点击时应执行的相关动作;所述的条件成立也可能是客户端程序自动触发的。在本申请另一个实施例中,业务场景规则还可以包括并发用户数量(比如10个、20个、本文档来自技高网...

【技术保护点】
1.一种测试用例生成方法,其特征在于,包括以下步骤:从服务器端的日志信息中获取请求数据和返回数据;提供业务场景规则集,并在接收到用户针对所述业务场景规则集的场景指定指令时,确定与所述场景指定指令对应的业务场景规则;依据所述业务场景规则对所述请求数据和所述返回数据进行分析,以构建对应业务场景下的数据模型;根据对应业务场景下的数据模型和预设的测试代码模板生成对应的测试用例。

【技术特征摘要】
1.一种测试用例生成方法,其特征在于,包括以下步骤:从服务器端的日志信息中获取请求数据和返回数据;提供业务场景规则集,并在接收到用户针对所述业务场景规则集的场景指定指令时,确定与所述场景指定指令对应的业务场景规则;依据所述业务场景规则对所述请求数据和所述返回数据进行分析,以构建对应业务场景下的数据模型;根据对应业务场景下的数据模型和预设的测试代码模板生成对应的测试用例。2.根据权利要求1所述的测试用例生成方法,其特征在于,所述依据所述业务场景规则对所述请求数据和所述返回数据进行分析,以构建对应业务场景下的数据模型,包括:从所述请求数据和所述返回数据中,匹配出符合所述业务场景规则要求的请求数据及返回数据,并提取匹配出的请求数据及返回数据的数据结构;根据所述业务场景规则,对所述匹配出的请求数据及返回数据的数据结构进行修改、排序和/或组合,以生成符合所述业务场景规则要求的数据模型。3.根据权利要求2所述的测试用例生成方法,其特征在于,所述修改包括替换所述数据结构中相同参数名的参数值。4.根据权利要求1所述的测试用例生成方法,其特征在于,所述根据对应业务场景下的数据模型和预设的测试代码模板生成对应的测试用例,包括:从预设的测试代码模板集中,匹配出与所述对应业务场景下的数据模型对应的测试代码模板;根据匹配出的测试代码模板对所述对应业务场景下的数据模型进行渲染,生成对应的测试用例。5.根据权利要求1所述的测试用例生成方法,其特征在于,所述的匹配包括将数据模型的请求方式与测试代码模板的请求方式进行匹配。6.根据权利要求1所述的测试用例生成方法,其特征在于,所述业务场景规则集中的业务场景规则预先通过以下方式得到:接收文本文件,所述文本文件中包含有业务场景规则。7.根据权利要求1所述的测试用例生成方法,其特征在于,所述业务场景规则集中的业务场景规则预先通过以下方式得到:提供web界面;接收通过web界面输入的业务场景规则。8.根据权利要求1所述的测试用例生...

【专利技术属性】
技术研发人员:朱波
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1