一种API数据自动化测试方法与流程

文档序号:11250801阅读:710来源:国知局
一种API数据自动化测试方法与流程
本发明涉及软件测试
技术领域
,特别是一种api数据自动化测试方法。
背景技术
:传统的api(应用程序编写接口)数据测试方法是对程序生成的api数据进行手工解析,验证api接口的数据长度,数据类型,数值是否正确。实际应用过程中,会出现api函数的返回值不对、带入错误的参数导致程序崩溃、api功能没有支持的情况。现有api测试方法不能全面的测试所有案例,也不能对api进行全面系统化的测试,并且现有api测试方法多为单一的、不能自动进行api测试。传统的api测试方法难度大、效率低。技术实现要素:本发明所要解决的技术问题是:针对上述存在的问题,提供了一种api数据自动化测试方法。本发明采用的技术方案如下:一种api数据自动化测试方法,具体包括以下过程:步骤一、根据api接口文档编写api自动解析数据脚本,获取api解析数据;步骤二、根据api接口文档编写自动测试用例脚本,获取测试用例的数据;步骤三、对比api解析数据和测试用例的数据,自动生成测试报告。进一步的,所述步骤一中获取api解析数据的方法包括以下过程:将定长的字段一次性读取多个字段,然后通过python库提供的struck.unpack分解成多个字段。进一步的,所述api解析数据包括字段数据类型、字段长度和数值。进一步的,所述步骤二中主要是通过检索api接口文档中的关键字,生成测试用例数据,所述的测试用例数据包括数据类型用例、数据值用例和关系用例。进一步的,所述步骤三中自动生产测试报告的过程为:步骤41、api解析数据解析成表结构,获取api数据表;步骤41、api数据解析成表结构,获取api数据表;步骤42、按列循环遍历api数据表,依次取出第i列,j行的数据,即api数据表的[j,i]数据;步骤43、判断api数据表的[j,i]数据是否通过数据类型用例、数据值用例以及数据关系用例;步骤44、将步骤42判断结果输出到测试报告中;步骤45、重复步骤42,43,44直到所有数据遍历完成,自动生产测试报告。现有技术相比,采用上述技术方案的有益效果为:编写自动解析数据脚本和用例自动生产脚本,实现api数据自动化测试,以及测试报告的自动生成。附图说明图1是本发明api测试流程示意图。图2是本发明自动生产测试报告流程示意图。具体实施方式下面结合附图对本发明做进一步描述。如图1-2所示,一种api数据自动化测试方法,具体包括以下过程:步骤一、根据api接口文档编写api自动解析数据脚本,获取api解析数据;步骤二、根据api接口文档编写自动测试用例脚本,获取测试用例的数据;步骤三、对比api解析数据和测试用例的数据,自动生成测试报告。所述步骤一中获取api解析数据的方法包括以下过程:将定长的字段一次性读取多个字段,然后通过python库提供的struck.unpack分解成多个字段。如ipaddr(4字节)+totalbyte(8字节)+totalbyte(8字节)+字符串(变长)=20字节+n字节。先读取20字节存入变量btyes中,然后用field_list=struck.unpack(’!3q’,btyes),将一次性读取的二进制数据分解为三个字段,然后再处理长字符串的读取。这样大大的提高了解析的速度。所述api解析数据包括字段数据类型、字段长度和数值,设置成表结构,本实施列具体如下表1所示。表1解析数据包的表结构ipaddr(ipaddr)totalbyte(unit64)sendbyte(uint64)568200001500098512325所述步骤二中主要是通过检索文档中的关键字,生成测试用例,所述测试用例数据包括数据类型用例、数据值用例和关系用例。其中,数据类型用例如表2所示。表2数据类型用例数据类型数值范围数值长度unit80-2^81unit160-2^162ipv40-2^324unit640-2^648text{a-z}1024status{0,1,9,4}1其中,数据值用例如下表3所示。表3数据值用例字段值取值totalbyte>40000btotalpkts<20000send/recv<1其中,关系用例如下表4所示。表4关系用例校验字段检查条件totalbytetotalbyte=sendbyte+recvbytendtimeendtime>starttime所述步骤三中自动生产测试报告的过程为:步骤41、api数据解析成表结构,获取api数据表;步骤42、按列循环遍历api数据表,依次取出第i列,j行的数据,即api数据表的[j,i]数据;步骤43、判断api数据表的[j,i]数据是否通过数据类型用例、数据值用例以及数据关系用例;步骤44、将步骤42判断结果输出到测试报告中;步骤45、重复步骤42,43,44直到所有数据遍历完成,自动生产测试报告。api[j,1]字段名为totalbyte,值为:20000,数据类型为:unit64通过数据类型用例;api[j,1]字段名为totalbyte,值为:20000,数据类型为:unit64通过数值类型用例;api[j,1]字段名为totalbyte,值为:20000,数据类型为:unit64不能通过数据类型用例:totalbyte=sendbyte+recvbyte。本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。如果本领域技术人员,在不脱离本发明的精神所做的非实质性改变或改进,都应该属于本发明权利要求保护的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1