一种基于PB的接口集成测试方法和系统技术方案

技术编号:12426080 阅读:359 留言:0更新日期:2015-12-03 11:28
本申请公开了一种基于PB的接口集成测试方法,包括步骤:启动测试系统,读取PB协议文件;测试系统根据被测程序所在的IP地址,创建TCP Socket客户端,与被测程序建立连接;根据xml读取测试用例和测试数据、测试用例顺序,生成测试用例集合;设定发送的TCP Socket数据包大小,发送TCP Socket数据包模拟复杂网络进行测试;执行测试用例;得到测试结果。本申请还公开了一种基于PB的接口集成测试系统,包括初始化模块、连接调度模块、测试管理模块及日志报告模块。本申请的测试系统替代手工操作,和被测程序主动建立连接,模拟用户发送接口请求,测试被测程序的正常逻辑功能,以及不同网速条件下被测程序对于通讯包的解析。

【技术实现步骤摘要】

本专利技术涉及软件测试领域,具体地说,是涉及一种基于PB的接口集成测试方法和系统
技术介绍
Protocol Buffers (以下简称PB)是google定义的一种数据交换的格式,它独立于语言,独立于平台。由于它是一种二进制的格式,比使用xml进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。目前很多项目和产品都把PB作为数据通信和数据交换的基础格式。Google在提供PB数据格式的定义时,已经提供了 PB的序列化和反序列化基础方法。但是在实际的工作中存在以下几个问题:I)实际中经常需要多次接口请求和交换才能完成一次真正的业务操作,测试人员只能手工模拟,无法实现自动化测试和回归测试,并且手工测试往往无法对接口进行完全覆盖。2)G00gle提供的基础方法只能实现数据序列化,无法控制数据的网络发包速度,因此无法真实模拟复杂网络情况下被测程序对于通讯包的解析和校验规则。
技术实现思路
本专利技术所要解决的技术问题是根据测试需求,一次或者多次发送请求;模拟真实网络发送请求。为解决上述技术问题,本专利技术提供了一种基于PB的接口集成测试方法,包括步骤:启动测试系统,读取PB协议文件;测试系统根据被测程序所在的IP地址,创建TCP Socket客户端,与被测程序建立连接;根据xml读取测试用例和测试数据、测试用例顺序,生成测试用例集合;设定发送的TCP Socket数据包大小,发送TCP Socket数据包模拟复杂网络进行测试;执行测试用例;得到测试结果。优选地,所述执行测试用例,进一步为,在测试开始执行时,设定测试中断条件,默认出现错误时终止测试。优选地,所述执行测试用例,进一步为,在执行测试用例集合时,若其中一条测试用例的测试结果与测试预期结果不一致时,对所述测试用例集合执行中断测试集合、忽略并继续执行下一条测试用例或重复执行上一步测试用例。优选地,所述设定发送的TCP Socket数据包大小,发送TCP Socket数据包模拟复杂网络进行测试,进一步为,所述测试系统设定Socket缓冲区的大小,将一个数据报文按照设定的大小分割为多个数据包,分批发送,模拟数据分包进行测试,或者将两个或两个以上的数据报文合并为一个数据包进行发送,模拟数据沾包进行测试。优选地,还包括:根据测试结果,生成测试报告,所述测试报告,包括:测试序号、测试用例名称、测试步骤名称、是否通过测试、异常记录、测试时间及测试执行时间。本申请还公开了一种基于PB的接口集成测试系统,包括初始化模块、连接调度模块、测试管理模块及日志报告模块,其中,所述初始化模块,与所述连接调度模块相耦接,用于完成测试系统的初始化和读取PB协议;所述连接调度模块,分别与所述初始化模块和测试管理模块相耦接,用于根据被测程序所在的IP地址,创建TCP Socket客户端,与被测程序建立连接;所述测试管理模块,分别与所述连接调度模块和日志报告模块相耦接,用于根据xml读取测试用例和测试数据、测试用例顺序,生成测试用例集合,还用于设定发送的TCPSocket数据包大小,发送TCP Socket数据包模拟复杂网络进行测试,以及执行测试用例,将测试结果通知日志报告模块;所述日志报告模块,与所述测试管理模块相耦接,用于根据测试结果,生成测试报生口 ο优选地,所述测试管理模块,进一步为,在测试开始执行时,设定测试中断条件,默认出现错误时终止测试。优选地,所述测试管理模块,进一步为,在执行测试用例集合时,若其中一条测试用例的测试结果与测试预期结果不一致时,对所述测试用例集合执行中断测试集合、忽略并继续执行下一条测试用例或重复执行上一步测试用例。优选地,所述测试管理模块,进一步为,设定Socket缓冲区的大小,将一个数据报文按照设定的大小分割为多个数据包,分批发送,模拟数据分包进行测试,或者将两个或两个以上的数据报文合并为一个数据包进行发送,模拟数据沾包进行测试。优选地,所述日志报告模块生成的测试报告,包括:测试序号、测试用例名称、测试步骤名称、是否通过测试、异常记录、测试时间及测试执行时间。与现有技术相比,本专利技术所述的基于PB的接口集成测试方法和系统,达到了如下效果:I)测试系统替代手工操作,和被测程序主动建立连接,模拟用户发送接口请求,测试被测程序的正常逻辑功能,以及不同网速条件下被测程序对于通讯包的解析。2)根据PB协议文件和XML格式的测试用例,自动完成接口的集成测试工作;通过设定的网络包的大小,测试应用程序在复杂网络情况下,对接口数据的解析;3)和手工测试相比,能够更好的检测程序的健壮性,能够测试手工测试无法覆盖的异常业务情况;4)能够实现自动化测试,使回归测试可以更加快捷;5)能够完成长时间持续测试,对程序的疲劳性和内存泄漏问题完成更好的检测。【附图说明】此处所说明的附图用来提供对本专利技术的进一步理解,构成本专利技术的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为基于PB的接口集成测试方法流程图;图2为客户端与服务端连接流程图;图3为实施例2的接口集成测试方法流程图;图4为基于PB的接口集成测试系统结构图。【具体实施方式】如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本专利技术的较佳实施方式,然所述描述乃以说明本专利技术的一般原则为目的,并非用以限定本专利技术的范围。本专利技术的保护范围当视所附权利要求所界定者为准。以下结合附图对本专利技术作进一步详细说明,但不作为对本专利技术的限定。实施例1:结合图1,本实施例提供了一种基于PB的接口集成测试方法,包括步骤:步骤101:启动测试系统,读取PB协议文件;测试系统分为4个模块,分别出初始化模块、连接调度模块、测试管理模块、日志报告模块。步骤102:测试系统(连接调度模块)根据被测程序所在的IP地址,创建TCPSocket客户端,与被测程序建立连接;步骤103:(测试管理模块)根据xml读取测试用例和测试数据、测试用例顺序,生成测试用例集合;步骤104:(测试管理模块)设定发送的TCP Socket数据包大小,发送TCPSocket数据包模拟复杂网络进行测试;所述测试系统设定Socket缓冲区的大小,将一个数据报文按照设定的大小分割为多个数据包,分批发送,模拟数据分包进行测试,或者将两个或两个以上的数据报文合并为一个数据包进行发送,模拟数据沾包进行测试。步骤105:(测试管理模块)执行测试用例;在本步骤105中,在测试开始执行时,设定测试中断条件,默认出现错误时终止测试。在执行测试用本文档来自技高网...
一种基于PB的接口集成测试方法和系统

【技术保护点】
一种基于PB的接口集成测试方法,其特征在于,包括步骤:启动测试系统,读取PB协议文件;测试系统根据被测程序所在的IP地址,创建TCP Socket客户端,与被测程序建立连接;根据xml读取测试用例和测试数据、测试用例顺序,生成测试用例集合;设定发送的TCP Socket数据包大小,发送TCP Socket数据包模拟复杂网络进行测试;执行测试用例;得到测试结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:李莘王芳芳毕先春卢述奇
申请(专利权)人:北京暴风科技股份有限公司
类型:发明
国别省市:北京;11

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

1