jemter接口测试总结

定义

接口测试测的是程序对外的接口,接口其实就是操作各种数据库。

前端:客户端包括客户后台       后端:服务器端

注:

前端一般用(html/css/js等语言开发),后端一般(java/php/python),因为语言不通,所以要通过接口来进行交互。

 

接口返回的数据都是通用的数据类型:json类型(所有语言都可以解析)

接口测试必须有接口文档,接口文档必须包含以下参数:

  1. url
  2. 请求方式post、get
  3. 入参(请求的参数)
  4. 返回的参数

如果写的好的话还有以下两点

  1. 请求示例、或者返回示例
  2. 状态吗说明 

  

如果是get请求,直接用浏览器就能发,不需要借助工具。接口测试可以发现一些操作页面发现不了的bug,越早发现bug,解决bug的成本是越低的,接口测试跟功能测试流程是一样的。

拓展1:get请求和post请求的区别

http请求

请求头

请求体(参数写在请求体)

Get请求只有在请求头参数可以写在url或则cookie 里面,一般情况下get请求用于获取数据,post请求用于发送数据。重定向就是把一个页面转移到另一个页面,状态码是:3xx(类似于呼叫转移)。4xx表示路径不存在。

请求报文就是url和参数拼接在一起可以直接执行

Postman 添加get请求和post请求

一、HTTP 定义了与服务器交互的不同方法,最常用的有4种,Put(增),Delete(删),Post(改),Get(查),即增删改查:

1)Get, 它用于获取信息,注意,他只是获取、查询数据,也就是说它不会修改服务器上的数据,从这点来讲,它是数据安全的,而稍后会提到的Post它是可以修改数据的,所以这也是两者差别之一了。

2) Post,它是可以向服务器发送修改请求,从而修改服务器的,比方说,我们要在论坛上回贴、在博客上评论,这就要用到Post了,当然它也是可以仅仅获取数据的。

3)Delete 删除数据。可以通过Get/Post来实现。

4)Put,增加、放置数据,可以通过Get/Post来实现。

拓展2:你们是怎么进行接口测试的?

由于我们项目前后端调用主要是基于http协议的接口,所以测试接口主要是用Jmeter工具去模拟http请求的

发送与接收。

在做接口测试之前,我们第一步先分析测试需求,并拿到开发提供的api文档;

第二步:从api文档中整理出接口测试案例(里面主要包括详细的入参和出参参数以及明确的格式和检查点)

第三步:和开发一起对接口测试案例进行评审;

第四步:结合开发库,准备接口测试案例中的入参和出参数据,并整理成csv格式的文件;

第五步:准备接口测试环境,结合接口测试案例文档和csv格式的数据文档,创建测试案例。

二、用例接口设计

1、登录模块的接口测试用例详见下图所示:

设计的样板如下:

正常验证:

通过性的验证(按接口文档上传参数,看结果能否通过)

参数组合验证(添加商品、修改商品等)

异常验证:

不按接口文档上的要求输入参数

2、接口安全

1. 绕过验证(例如购买商品提交订单的时候把价格改成任意数字)

2. 绕过身份授权验证(普通用户可否修改商家信息)

3.参数是否加密(用户名密码是否是明文显示,或则暗文显示可否容易破解)

4. 密码安全规章、密码复杂程度校验

2postman接口测试示例 

(详见火狐浏览器收藏夹)

接口测试用例设计1:获取名为小黑的学生信息

Api接口文档见:http://doc.nnzhp.cn/index.php?s=/6&page_id=11

接口文档中整理的需求是获取学生信息

    http://api.nnzhp.cn/api/user/stu_info?stu_name=小黑

请求方式为get,参数为 stu_name=小黑,详见的postman操作方式如下:

 

接口测试用例设计2:获取所有学生信息

(这个接口是为了说明怎么添加header信息的)

接口信息:

Postman测试结果界面截图如下:(暂时不成功,可能文章来源有误)

接口用例设计3:登录接口测试

在postman中的截图如下:

接口测试用例4:添加学生信息实例

 

入参是什么类型,一般面试可以讲这点,传入的参数时JSON数据类型的

在postman的截图如下:

 

需要说明的是 Headers(1) 原本没有(1)显示的,是在选择了传入的参数时json类型后: JSON(application/json) 后才自动显示的。

 接口测试用例设计5:上传文件

上传的文件类型为 .txt文件,这个可以在测试用例的时候考虑进去,将文件的类型作为一个测试对象,如上传 .xls .docx 格式的文件是否能够上传

在postman的截图为:

 

接口测试用例设计6:学生金币充值

 

这个涉及到用户安全性,所以一般来说需要验证用户身份,使用cookie身份登录:

参照测试用例3,先获取cookie信息:

 

请求成功后可以从获得的body数据中取得用户的values值:也就是sign值:e31f748108a8f33231bc1b52e87c064e

 

接着再以cookie方式登录,然后添加金币即可:

所以第一步先在Header头部中添加cookie信息(cookie是在请求头部中添加,其它数据在body):

 

然后第二步在请求体body中添加:

 

最后发送请求得到的数据如下:

 

这步由于来源cookie问题没试验成功,参考文章在:http://www.mamicode.com/info-detail-2220006.html

猜你喜欢

转载自www.cnblogs.com/xiaoqon/p/11099882.html