Python接口自动化实战 - 需求分析 Python接口自动化实战 - 需求分析

转载:https://www.cnblogs.com/testjiali/p/10411944.html

Python接口自动化实战 - 需求分析

 

前言:

随着产品的快速迭代,自动化测试几乎已经成为每个测试员都必须掌握的基本技能。大家都知道,产品在开发阶段是不适合用自动化,但是当产品趋于稳定状态,基本功能大体上不会改变的时候,自动化测试就会开始凸显他的优势。

这几个月工作一直在做一个即时通讯的产品(web端,安卓、Ios),产品迭代的速度很快,一周更新2次。每次发布版本,就要保证基本功能是正常的,也就是我们所说的回归测试,所以我决定要自己搭建一个接口自动化框架,来解决两个我目前遇到的问题:

1)在开发提交新的接口前进行冒烟测试,以保证系统是能够正常开展测试的

2)功能测试完成/bug回归完成后进行回归测试,保证bug修改完成后没有引入新的问题

有了这个想法,就要开始行动啦,接下来会把这几个月的学习和开发过程记录下来,也算是自己的一个小实战吧。

1.测试目的

随着公司项目的不断增大,接口的服务随之增多,回归的任务量越来越大,需要对接口进行定时回归测试来保证系统的稳定性。

       1)在开发提交新的接口前进行冒烟测试,以保证系统是能够正常开展测试的

       2)功能测试完成/bug回归完成后进行回归测试,保证bug修改完成后没有引入新的问题

 

2.测试方法

目前我们的接口都是使用的http协议,其测试的基本原理是模拟前端(客户端)向服务器发送数据,得到相应的响应数据,从而判断接口是否可以正常的进行数据交换。

根据开发人员提供的接口访问地址、入参格式、请求格式,进行接口请求数据拼接,并查看返回结果及返回报文、响应时间,检查返回Json内容是否符合接口定义规范,是否符合预期的返回结果。

3.测试框架实现过程

第一阶段:

1)基于python的unittest框架,完成单一接口的请求,并封装成类

2)添加异常处理

第二阶段:实现数据与代码的分离

1)测试用例设计:具体的测试思路在第四部分会提到

2)测试数据放在excel里面,利用openpyxl去读数据

3)将读取出来的测试数据用什么类型去存储?-字典

4)测试数据参数化?-ddt

5)写回实际结果和测试结果

第三阶段:

1)实现用例的可配置

2)日志设计,让每一步操作都有迹可循

3)生成测试报告-HTMLReport

4)实现持续集成- jenkins

框架结构图如下:

4.测试思路

首先根据接口文档,了解清楚被测接口对应的、入参、出参及返回数据的Json 结构规范,根据测试场景进行测试。

1)理解接口参数,熟悉接口参数的输入要求、输入值范围、必填项等;

2)理解接口输出,熟悉返回json的结构构成、返回值类别、返回值范围、返回data的不同类型等。

3)理解接口的逻辑、接口的业务关联,熟悉技术方案中的接口相互关联、依赖的关系,接口与接口之间的数据传递等。

4)寻找测试点,根据输入(参数名、取值范围)、输出(参数名、返回值范围)、关联关系,进行测试点分析。

4.1 正常场景测试

严格根据接口文档的定义,提供正确的参数名和参数,测试接口是否正常

4.2 异常场景测试

1)长度限制:如注册时,输入少于或大于11位的手机号

2)必填项判断:必要参数为空,如登录时,不输入密码

3)数据类型判断:如要求传入int类型,结果传入string类型

4)数据正确性的判断:如登录时,输入错误的手机号码

5)重复值判断:如注册时,输入一个已经存在的用户名

4.3 逻辑场景测试

4.4断言检查

检查接口请求返回的结果是否符合预期的结果:如状态码、数据库判断、数据值等等。

具体的断言检查需要根据业务场景来设定

前言:

随着产品的快速迭代,自动化测试几乎已经成为每个测试员都必须掌握的基本技能。大家都知道,产品在开发阶段是不适合用自动化,但是当产品趋于稳定状态,基本功能大体上不会改变的时候,自动化测试就会开始凸显他的优势。

这几个月工作一直在做一个即时通讯的产品(web端,安卓、Ios),产品迭代的速度很快,一周更新2次。每次发布版本,就要保证基本功能是正常的,也就是我们所说的回归测试,所以我决定要自己搭建一个接口自动化框架,来解决两个我目前遇到的问题:

1)在开发提交新的接口前进行冒烟测试,以保证系统是能够正常开展测试的

2)功能测试完成/bug回归完成后进行回归测试,保证bug修改完成后没有引入新的问题

有了这个想法,就要开始行动啦,接下来会把这几个月的学习和开发过程记录下来,也算是自己的一个小实战吧。

1.测试目的

随着公司项目的不断增大,接口的服务随之增多,回归的任务量越来越大,需要对接口进行定时回归测试来保证系统的稳定性。

       1)在开发提交新的接口前进行冒烟测试,以保证系统是能够正常开展测试的

       2)功能测试完成/bug回归完成后进行回归测试,保证bug修改完成后没有引入新的问题

 

2.测试方法

目前我们的接口都是使用的http协议,其测试的基本原理是模拟前端(客户端)向服务器发送数据,得到相应的响应数据,从而判断接口是否可以正常的进行数据交换。

根据开发人员提供的接口访问地址、入参格式、请求格式,进行接口请求数据拼接,并查看返回结果及返回报文、响应时间,检查返回Json内容是否符合接口定义规范,是否符合预期的返回结果。

3.测试框架实现过程

第一阶段:

1)基于python的unittest框架,完成单一接口的请求,并封装成类

2)添加异常处理

第二阶段:实现数据与代码的分离

1)测试用例设计:具体的测试思路在第四部分会提到

2)测试数据放在excel里面,利用openpyxl去读数据

3)将读取出来的测试数据用什么类型去存储?-字典

4)测试数据参数化?-ddt

5)写回实际结果和测试结果

第三阶段:

1)实现用例的可配置

2)日志设计,让每一步操作都有迹可循

3)生成测试报告-HTMLReport

4)实现持续集成- jenkins

框架结构图如下:

4.测试思路

首先根据接口文档,了解清楚被测接口对应的、入参、出参及返回数据的Json 结构规范,根据测试场景进行测试。

1)理解接口参数,熟悉接口参数的输入要求、输入值范围、必填项等;

2)理解接口输出,熟悉返回json的结构构成、返回值类别、返回值范围、返回data的不同类型等。

3)理解接口的逻辑、接口的业务关联,熟悉技术方案中的接口相互关联、依赖的关系,接口与接口之间的数据传递等。

4)寻找测试点,根据输入(参数名、取值范围)、输出(参数名、返回值范围)、关联关系,进行测试点分析。

4.1 正常场景测试

严格根据接口文档的定义,提供正确的参数名和参数,测试接口是否正常

4.2 异常场景测试

1)长度限制:如注册时,输入少于或大于11位的手机号

2)必填项判断:必要参数为空,如登录时,不输入密码

3)数据类型判断:如要求传入int类型,结果传入string类型

4)数据正确性的判断:如登录时,输入错误的手机号码

5)重复值判断:如注册时,输入一个已经存在的用户名

4.3 逻辑场景测试

4.4断言检查

检查接口请求返回的结果是否符合预期的结果:如状态码、数据库判断、数据值等等。

具体的断言检查需要根据业务场景来设定

猜你喜欢

转载自www.cnblogs.com/yuany66/p/11387790.html