基于数据库比对的接口测试方法、系统、设备和存储介质技术方案

技术编号:19933948 阅读:22 留言:0更新日期:2018-12-29 04:27
本发明专利技术公开了一种基于数据库比对的接口测试方法、系统、计算机设备和存储介质,其中所述方法包括:在用户交互界面中创建测试接口,配置该接口的请求参数;在用户交互界面中对需要参数化的内容进行参数化;调用测试接口,添加断言;测试工具执行测试操作,在配置文件中配置用于断言框架调用的数据库语句和入参;通过把返回消息和配置文件中配置好的数据库语句查询出来的结果进行比对来完成精准断言;通过参数值替换来逐条生成相应的测试用例;得出结果并逐条对测试结果进行断言判定,将测试数据,测试结果,判定结果存入列表。上述方法从业务逻辑上做到精准断言,实现了业务逻辑的自动判断,减少回归测试的人工投入,提高了测试效率。

【技术实现步骤摘要】
基于数据库比对的接口测试方法、系统、设备和存储介质
本专利技术涉及测试
,尤其涉及一种基于数据库比对的接口测试方法、系统、计算机设备和存储介质。
技术介绍
接口测试是测试系统组件间的一种测试,主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点,测试的重点是检查数据的交换。Jmeter测试工具可以模拟HTTP,FTP等请求,对于开放的API接口进行功能和性能测试。原理为建立一个线程池,多线程运行取样器产生大量负载。在运行过程中通过断言来验证结果的正确性,通过监听器来记录测试结果。通过前置处理器做请求发送前的处理工作。通过后置处理器对响应消息做处理,处理后的信息用于下一个请求使用,这里主要作为功能测试的范围。现有的接口测试工具在结果断言时候一般只能通过返回响应代码以及简单的正则匹配响应消息来做断言,不能从业务逻辑上做到精准断言。但是对于业务来说,接口操作后的业务操作是否正常,返回码是不足以判断的。因此,对于有数据库增删改查操作的业务接口,需要手工查询数据库记录,判断是否符合预期来完成接口测试。然而这个工作量较大,对于回归测试来说,是一笔不小的人力投入。
技术实现思路
基于此,有必要针对现行接口测试方法的弊端,提供一种基于数据库比对的接口测试方法、系统、计算机设备和存储介质。一种基于数据库比对的接口测试方法,所述测试方法包括:通过测试工具在用户交互界面中创建测试接口,配置该接口的请求参数,所述请求参数包括请求方法、URL地址、端口、服务器IP、协议类型、请求信息头和请求信息体;测试工具在用户交互界面中对需要参数化的内容进行参数化,指定参数化对象类型,通过参数化对象,确定参数值所属类型,便于在后台处理时进行参数值构造,从而生成各种情况的测试用例;测试工具调用测试接口,添加断言,用于对测试结果进行成功或失败判定;测试工具执行测试操作,在配置文件中配置用于断言框架调用的数据库语句和入参;通过把返回消息和配置文件中配置好的数据库语句查询出来的结果进行比对来完成精准断言;服务器收到测试用户端传来的测试数据,自动根据参数化内容和类型进行扩展,通过参数值替换来逐条生成相应的测试用例;服务器根据扩展出的测试用例自动执行测试,得出结果并逐条对测试结果进行断言判定,将测试数据,测试结果,判定结果存入列表。在其中一个实施例中,所述测试工具调用测试接口,添加断言,用于对测试结果进行成功或失败判定还包括:调用测试接口,在接口测试工具Jmeter的返回消息前增加BeanShell函数,所述Jmeter是基于Java的压力测试工具,用于对软件做压力测试,所述BeanShell是嵌入式Java源代码解释器,能够动态地执行标准Java语法;在BeanShell函数中通过Prev获取返回消息,返回消息是一串符合规定格式的字符串,通过Vars获取用户定义的变量,所述Vars是操作Jmeter变量,提供读取/写入访问变量的方法,所述Prev是获取采样的结果;在BeanShell函数中导入外部断言,传入所述接口断言需要的业务场景,输入字段列表、接口的返回消息,得到断言框架的判断结果。在其中一个实施例中,所述用户交互界面中还提供对错误内容数据的检查和提供相应提示信息便于用户进行数据修正。在其中一个实施例中,所述测试工具调用测试接口,添加断言,用于对测试结果进行成功或失败判定中还包括用户添加断言作为期望结果,从而判断测试结果的成功或失败。在其中一个实施例中,所述服务器根据扩展出的测试用例自动执行测试,得出结果并逐条对测试结果进行断言判定,将测试数据,测试结果,判定结果存入列表之后还包括,服务器将测试数据、测试结果和判定结果推送到用户端页面进行展示,用户选择是否导出测试结果。一种基于数据库比对的接口测试系统,所述基于数据库比对的接口测试系统包括:创建单元,用于通过测试工具在用户交互界面中创建测试接口,配置该接口的请求参数,所述请求参数包括请求方法、URL地址、端口、服务器IP、协议类型、请求信息头和请求信息体;参数化单元,用于测试工具在用户交互界面中对需要参数化的内容进行参数化,指定参数化对象类型,通过参数化对象,确定参数值所属类型,便于在后台处理时进行参数值构造,从而生成各种情况的测试用例;添加单元,用于测试工具调用测试接口,添加断言,用于对测试结果进行成功或失败判定;测试单元,用于测试工具执行测试操作,在配置文件中配置用于断言框架调用的数据库语句和入参;比对单元,用于通过把返回消息和配置文件中配置好的数据库语句查询出来的结果进行比对来完成精准断言;生成单元,用于服务器收到测试用户端传来的测试数据,自动根据参数化内容和类型进行扩展,通过参数值替换来逐条生成相应的测试用例;判定单元,用于服务器根据扩展出的测试用例自动执行测试,得出结果并逐条对测试结果进行断言判定,将测试数据,测试结果,判定结果存入列表。在其中一个实施例中,所述添加单元还包括:调用模块,用于调用测试接口,在接口测试工具Jmeter的返回消息前增加BeanShell函数,所述Jmeter是基于Java的压力测试工具,用于对软件做压力测试,所述BeanShell是嵌入式Java源代码解释器,能够动态地执行标准Java语法;获取模块,用于在BeanShell函数中通过Prev获取返回消息,返回消息是一串符合规定格式的字符串,通过Vars获取用户定义的变量,所述Vars是操作Jmeter变量,提供读取/写入访问变量的方法,所述Prev是获取采样的结果;导入模块,用于在BeanShell函数中导入外部断言,传入所述接口断言需要的业务场景,输入字段列表、接口的返回消息,得到断言框架的判断结果。在其中一个实施例中,所述判定单元还用于服务器将测试数据、测试结果和判定结果推送到用户端页面进行展示,用户选择是否导出测试结果。一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述测试方法的步骤。一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述测试方法的步骤。上述基于数据库比对的接口测试方法、系统、计算机设备和存储介质,通过测试工具在用户交互界面中创建测试接口,配置该接口的请求参数,所述请求参数包括请求方法、URL地址、端口、服务器IP、协议类型、请求信息头和请求信息体,测试工具在用户交互界面中对需要参数化的内容进行参数化,指定参数化对象类型,通过参数化对象,确定参数值所属类型,便于在后台处理时进行参数值构造,从而生成各种情况的测试用例,测试工具调用测试接口,添加断言,用于对测试结果进行成功或失败判定,测试工具执行测试操作,在配置文件中配置用于断言框架调用的数据库语句和入参,通过把返回消息和配置文件中配置好的数据库语句查询出来的结果进行比对来完成精准断言,服务器收到测试用户端传来的测试数据,自动根据参数化内容和类型进行扩展,通过参数值替换来逐条生成相应的测试用例,服务器根据扩展出的测试用例自动执行测试,得出结果并逐条对测试结果进行断言判定,将测试数据,测试结果,判定结果存入列表,从业务逻辑上做到精准断言,实现了业务逻辑的自动判断,减少回归测试的人工投入,提高本文档来自技高网...

【技术保护点】
1.一种基于数据库比对的接口测试方法,其特征在于,包括以下步骤:通过测试工具在用户交互界面中创建测试接口,配置该接口的请求参数,所述请求参数包括请求方法、URL地址、端口、服务器IP、协议类型、请求信息头和请求信息体;测试工具在用户交互界面中对需要参数化的内容进行参数化,指定参数化对象类型,通过参数化对象,确定参数值所属类型,便于在后台处理时进行参数值构造,从而生成各种情况的测试用例;测试工具调用测试接口,添加断言,用于对测试结果进行成功或失败判定;测试工具执行测试操作,在配置文件中配置用于断言框架调用的数据库语句和入参;通过把返回消息和配置文件中配置好的数据库语句查询出来的结果进行比对来完成精准断言;服务器收到测试用户端传来的测试数据,自动根据参数化内容和类型进行扩展,通过参数值替换来逐条生成相应的测试用例;服务器根据扩展出的测试用例自动执行测试,得出结果并逐条对测试结果进行断言判定,将测试数据,测试结果,判定结果存入列表。

【技术特征摘要】
1.一种基于数据库比对的接口测试方法,其特征在于,包括以下步骤:通过测试工具在用户交互界面中创建测试接口,配置该接口的请求参数,所述请求参数包括请求方法、URL地址、端口、服务器IP、协议类型、请求信息头和请求信息体;测试工具在用户交互界面中对需要参数化的内容进行参数化,指定参数化对象类型,通过参数化对象,确定参数值所属类型,便于在后台处理时进行参数值构造,从而生成各种情况的测试用例;测试工具调用测试接口,添加断言,用于对测试结果进行成功或失败判定;测试工具执行测试操作,在配置文件中配置用于断言框架调用的数据库语句和入参;通过把返回消息和配置文件中配置好的数据库语句查询出来的结果进行比对来完成精准断言;服务器收到测试用户端传来的测试数据,自动根据参数化内容和类型进行扩展,通过参数值替换来逐条生成相应的测试用例;服务器根据扩展出的测试用例自动执行测试,得出结果并逐条对测试结果进行断言判定,将测试数据,测试结果,判定结果存入列表。2.根据权利要求1所述的基于数据库比对的接口测试方法,其特征在于,所述测试工具调用测试接口,添加断言,用于对测试结果进行成功或失败判定还包括:调用测试接口,在接口测试工具Jmeter的返回消息前增加BeanShell函数,所述Jmeter是基于Java的压力测试工具,用于对软件做压力测试,所述BeanShell是嵌入式Java源代码解释器,能够动态地执行标准Java语法;在BeanShell函数中通过Prev获取返回消息,返回消息是一串符合规定格式的字符串,通过Vars获取用户定义的变量,所述Vars是操作Jmeter变量,提供读取/写入访问变量的方法,所述Prev是获取采样的结果;在BeanShell函数中导入外部断言,传入所述接口断言需要的业务场景,输入字段列表、接口的返回消息,得到断言框架的判断结果。3.根据权利要求1所述的基于数据库比对的接口测试方法,其特征在于,所述用户交互界面中还提供对错误内容数据的检查和提供相应提示信息便于用户进行数据修正。4.根据权利要求1所述的基于数据库比对的接口测试方法,其特征在于,所述测试工具调用测试接口,添加断言,用于对测试结果进行成功或失败判定中还包括用户添加断言作为期望结果,从而判断测试结果的成功或失败。5.根据权利要求1所述的基于数据库比对的接口测试方法,其特征在于,所述服务器根据扩展出的测试用例自动执行测试,得出结果并逐条对测试结果进行断言判定,将测试数据,测试结果,判定结果存入列表之后还包括,服务器将测试数据、测试结果和判定结果推送到用户端页面进行展示,用户选择是否导出测试结...

【专利技术属性】
技术研发人员:刘琼张卓陈培镇李琦
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

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

1