什么是接口测试

测试人员通常所说的“接口测试”是针对系统各组件之间接口的一种测试,它属于功能测试。接口能测出普通界面操作难以发现的问题。如,我们都知道系统是由前端后端组成,一些数据在前端做了校验,后端同样也需要校验才能保证安全,界面操作显然只能检查到前端校验这一层,只有直接面对前后端之间的该接口才能检验出后端是否也做了校验。

接口测试的必要性

可以发现很多页面操作发现不了的问题

检查系统的异常处理能力

检查系统的安全性、稳定性

前端随便变,接口测好了,后端不用变

接口测试的流程

需求评审,熟悉业务和需求

开发提供接口文档

编写接口测试用例

用例评审

提测后开始测试

提交测试报告

接口文档 是接口测试的参照,至少包括:

1、接口说明

2、调用url

3、请求方法(get\post ……)

4、请求参数、参数类型、请求参数说明

5、返回参数说明

接口测试用例设计

通过性验证:首先保证接口好用,按文档正常传入,查看是否可以返回正确的结果。

参数组合: 按接口文档中对参数的要求进行有目的的组合,比如必填未填是否通过,标志类参数值的切换是否能对应正确的功能等。(这部分很关键)

接口安全:

1、绕过正常值验证。

2、绕过身份授权验证。

3、参数是否加密,加密规则是否容易破解。

4、密码安全规则,密码的复杂程度校验。

异常验证:不按照接口文档上的要求输入参数,来验证接口对异常情况的反应。

接口测试用例模板 (可根据项目实际情况设计增减)

1、项目            测试针对哪个项目

2、模块            哪个功能模块

3、用例id

4、接口名称

5、用例标题      测试用途概括

6、请求方式      GET/POST

7、请求url        URL地址

8、请求参数

9、前置条件       执行当前请求依赖的条件,不满足就不能正确执行

10、结果验证     预期结果

11、请求报文     可以不写

12、返回报文  一定要写,这里应该是你请求返回的真实结果

13、测试结果    通过/失败

14、测试人员

测试http接口

请求常见有Get请求和Post请求。Get请求通常用来接收数据,Post请求通常用来发送数据;测Get请求可用浏览器完成,参数都可以写在URL里面,测Post请求需要借助工具如Postman,因为客户端需要提供给服务器的信息较多,你要写body传输大量数据。

接口调用有两种传参方式:key-value形式,Json串传参形式。

key-value形式可以把参数拼接在url的后面由?相连,多个参数之间用&相连,如url?parameter1=key1&parameter2=key2…

Json串传参不能把参数直接连在url中,需要写在请求的body里面,可借助工具Postman,打开请求的body写入Json格式参数(由花括号括起来的‘键:值’对)如

{

“count”: 1,

“start”: 0,

“total”: 1

}

请求发出后,http会返回一个状态码表示请求是否成功,状态码有三位,其中开头一位确定了状态类型:

2xx: 表示请求发送成功,常见200。

3xx: 代表重定向,要完成请求必须进行更进一步的操作,或把请求重定向到别的地方了,最常见的是302。

4xx: 客户端错误,请求有语法错误或请求无法实现。400代表客户端发送的请求有语法错误,不能被服务器所理解;401代表访问的页面没有授权;403服务器收到请求,但是拒绝提供服务,比如没有权限访问这个页面;404请求的资源不存在,比如输入错的URL没有这个页面。

5xx: 代表服务器有异常,500代表服务器内部异常;503服务器当前不能处理客户端的请求,一段时间后可能恢复正常;504代表服务器端超时,没返回结果。

测试WebSevice接口

不需要像测http接口那样拼报文,直接把wsdl地址或wsdl文件(这两个都由开发人员提供)填写或导入到工具SoapUI里面,工具里可显示所有相关接口或报文,直接填入参数发送请求参照接口文档查看结果即可。

Cookie 和 Session

Cookie是存在于本地的一个键值对,Session是存在于服务器端的一个键值对,通常保存在数据库或缓存里。Cookie和Session在第一次发送某个请求时成对生成,两端都会记录下生成的时间,超出既定的时限后便会自动删除。当请求在时限内再次发出后,Cookie和Session两者会相互比对,匹配上了便执行某些操作,匹配不上则不允许执行某些操作,以此实现快速处理,它们并不是孤立作用的。

转载于:https://www.cnblogs.com/victory-0315/p/8548974.html

学习总结——接口测试基础相关推荐

  1. API测试-接口测试基础

    目录 接口测试基础 1.什么是接口? 2.接口类型 3.接口本质 4.什么是接口测试? 5.为什么做接口测试? 6.怎样做接口测试? 7.接口测试的测试点是什么? 8.接口测试都要掌握哪些知识? 接口 ...

  2. 接口测试基础-1-什么是接口测试

    前面写过了Python接口自动化入门之requests篇,想了一下,还是有必要把接口测试基础入门给介绍一下.在做接口自动化测试之前,还是需要介绍接口的手工测试一些基本概念的方法.预计会写十篇以下文章介 ...

  3. API测试-接口测试基础(1)

    由于自己想学习API方面的测试,但是市面上搜不到相关的图书可以系统学习,网上的内容又零零散散,适合有点API开发基础的人去搜索.为了方面新手学习API测试,现在整理了他人的宝贵经验和自己的学习心得,尽 ...

  4. c# out原理 ref_3-Unity入门学习之C#基础2「数据类型」

    3-Unity入门学习之C#基础2 一.C#的数据类型 C#中,变量主要包含以下三种类型: 1.1.值类型 1.1.1.值类型介绍 ①结构[struct]:包含(整型.浮点型.128 位数据类型(de ...

  5. Docker:学习笔记(1)——基础概念

    Docker:学习笔记(1)--基础概念 Docker是什么 软件开发后,我们需要在测试电脑.客户电脑.服务器安装运行,用户计算机的环境各不相同,所以需要进行各自的环境配置,耗时耗力.为了解决这个问题 ...

  6. python学精通要多久-学习Python零基础需要学多久?

    人工智能和大数据技术为互联网发展提供了更加强劲的动力.而Python编程语言在人工智能和数据科学领域都有非常广泛的应用.因此Python编程开发吸引了大批的新人加入.对于这些刚刚加入Python学习的 ...

  7. JNI学习开始篇 基础知识 数据映射及学习资料收集

    JNI学习开始篇 基础知识 数据映射及学习资料收集 JNI介绍 JNI(Java Native Interface) ,Java本地接口. 用Java去调用其他语言编写的程序,比如C或C++. JNI ...

  8. TF学习:Tensorflow基础案例、经典案例集合——基于python编程代码的实现

    TF学习:Tensorflow基础案例.经典案例集合--基于python编程代码的实现 目录 Tensorflow的使用入门 1.TF:使用Tensorflow输出一句话 2.TF实现加法 3.TF实 ...

  9. 【AI白身境】深度学习必备图像基础

    文章首发于微信公众号<有三AI> [AI白身境]深度学习必备图像基础 今天是新专栏<AI白身境>的第四篇,所谓白身,就是什么都不会,还没有进入角色. 我们已经说了linux基础 ...

最新文章

  1. 华为手机获取状态栏高度是错误的_华为后置指纹这么多功能,你不会还以为只能解锁和支付吧...
  2. java 中普通类继承,抽象类继承,接口类继承,子类一定要重写父类中的方法吗
  3. c#中Excel数据的导入、导出
  4. python牛顿迭代公式_python计算牛顿迭代多项式实例分析
  5. Python中 类和对象调用其他类中的变量和方法
  6. [Matlab] 不能在 syms 中假设 symfun 的值域
  7. 【记录】IDEA未正确关闭导致打开报错,进不了主界面,含解决办法
  8. python生成数字_Python生成数字图片代码分享
  9. 网页优化系列三:使用压缩后置viewstate
  10. Hopfield 神经网络及稳态性的证明
  11. vmVare使用NAT模式-配置详情
  12. ffmpeg超详细综合教程——摄像头直播
  13. 主机电子游戏攻略资源分享
  14. json 格式化工具/网站
  15. 找工作神器,提取各大网站有效的招聘信息(前程无忧、智联招聘、猎聘网)
  16. 对SQL说不!NoSQL的数据库技术革命
  17. Unity UGUI Rect
  18. AJAX技术学院风连衣裙,学院风连衣裙怎么搭配好看
  19. Google Cardboard
  20. V4L2图像采集+图片格式转换(YUYV、RGB、JPEG)

热门文章

  1. style文件的指定
  2. gabor变换人脸识别的python实现,att_faces数据集平均识别率99%
  3. js 快速集成开发:easyui 时间控件格式化
  4. 红黑树(Red-Black Tree)
  5. Linq 中按照多个值进行分组(GroupBy)
  6. 爆牙齿的世界杯日记(忆)。
  7. 计算机网络学习笔记(28. Email消息格式与POP协议)
  8. python 动态链接库_Python调用dll动态链接库(下)
  9. python zip用法_Python zip()用法及代码示例
  10. error40无法打开到sql_SQL-mysql游标与触发器