一、前言:什么是接口

1.接口指的是软件提供给外界的一种服务。作用在于使其内部的数据能被外部进行修改的交互方式。

例如:USB接口,电脑里的数据可以看成是内容数据,而U盘里的数据可以看成是外部数据,那么USB接口的作用就是:电脑和U盘交互数据,也就是使电脑内部的数据能够和外部的U盘交换数据。

例如:微信的提现和充值,就调用银行对外开放的接口,这些接口有权限控制,一般需要鉴权码token才可以访问。那为什么要鉴权码呢?如果没有鉴权码约束,那是不是谁也可以修改银行内部的数据?那还得了,那就真可以定一个小目标了!

2.接口一般来说有两种:一种是程序内部的接口,一种是系统对外的接口。

系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的,比如说咱们用的app它在进行数据处理的时候都是通过接口来进行调用的。

程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,要发帖就得登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。

二、接口协议以及对应的接口测试工具

1、基于http协议的接口:

http协议又叫超文本传输协议,主要是用于浏览器和服务器之间交互数据,这种接口常使用get和post两种方法请求,基于这种协议开发的接口是目前市面上面最多的!一般使用的接口测试工具有:

Postman

Jmeter

2、基于webService协议的接口

webService是基于soap的通信协议,请求和返回报文一般是xml格式的。一般使用的接口测试工具有:

SoapUI

3、基于Dubbo协议的接口

1、dubbo 缺省协议 采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况

2、不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。

3、基于Dubbo协议的接口一般也是使用SoapUI工具进行测试。

三、接口测试如何设计测试用例?

接口测试一般考虑入参形式的变化和接口的业务逻辑,一般设计接口测试用例采用等价类、边界值、场景法居多!

接口测试设计测试用例的思路如下:

1.接口业务逻辑测试?(正例)

接口逻辑测试是指根据业务逻辑、输入参数、输出值的描述,对正常输入情况下所得的输出值

是否正确的测试,也就是测试对外提供的接口服务是否正常工作。

2.模块接口测试?(反例)

模块接口测试是为了保证数据的安全及程序在异常情况下的逻辑的正确性而进行的测试。?

模块接口测试的主要包括以下几个方面?

a.鉴权码token异常(鉴权码为空<没有鉴权码>,错误的鉴权码,过期的鉴权码)。

b.其他参数异常。

1、必填项检查

2、参数的长度、类型、格式异常:

常规参数:(数字、字符串、日期)

参数长度:6-18位。或身份证、电话的长度。

参数类型:数字(精度),字母,中文,带空格的参数,特殊字符。

日期格式:日期:年月日,年月日时分秒,日期格式(包括/,-,:等)。

a.错误码异常覆盖。

b.接口测试其他的关注点

接口有翻页时,页码与页数的异常值测试

数据库的增删改查,比如一个post接口操作完成后,通过列表页接口看下新的数据是否和刚才的post一致

接口返回的图片地址能否打开,图片尺寸是否符合需求

当输出参数有联动性时,需要校验返回两参数的实际结果是否都符合需求。

所有列表页接口必须考虑排序值

所有功能都要考虑兼容旧版本

四、接口组成?

1.接口都有那些部分组成呢?

由接口文档可知,接口至少应有:请求地址、请求方法、请求参数(入参和出参)组成,部分接口有请求头header。

2.header请求头和入参都是发送到服务器他们有什么区别呢?

首先,它们确实都是发送到服务器里的参数,但它们是有区别的,header里存放的参数一般存放的是一些校验信息,比如cookie,它是为了校验这个请求是否有权限请求服务器,如果有,它才能请求服务器,然后把请求地址连同入参一起发送到服务器,然后服务器会根据地址和入参来返回出参。也就是说,服务器是先接受header信息进行判断该请求是否有权限请求,判断有权限后,才会接受请求地址和入参的。

五、总结

没有一个寒冬不会过去,没有一个春天不会来临。2020年对于全世界来说都是一个不平凡的一年,2021年让我们整装待发,从心出发,加油。

接口测试,接口协议以及常用接口测试工具介绍相关推荐

  1. 接口测试、接口协议以及常用接口测试工具介绍

    目录 一.前言:什么是接口 二.接口协议以及对应的接口测试工具 三.接口测试如何设计测试用例? 四.接口组成? 五.总结 一.前言:什么是接口 1.接口指的是软件提供给外界的一种服务.作用在于使其内部 ...

  2. [转载]常用CASE工具介绍

    [转载]常用CASE工具介绍 转载自:http://www.cnblogs.com/powerlc/archive/2006/01/12/315959.html   一,概述 今天, 代码变得日益简单 ...

  3. 常用CASE工具介绍

    一,概述 今天, 代码变得日益简单, 在Model的指导下, 思想, 设计, 分析都变得异常重要.企业业务建模工具, 产品非常多, 特别是在MDA日益流行的今天. WorkFlow是典型的业务及流程建 ...

  4. 常用CASE工具介绍 ZZ

    常用CASE工具介绍   一,概述 今天, 代码变得日益简单, 在Model的指导下, 思想, 设计, 分析都变得异常重要.企业业务建模工具, 产品非常多, 特别是在MDA日益流行的今天. WorkF ...

  5. 常用CASE工具介绍 (csnd.net)

    常用CASE工具介绍   一,概述 今天, 代码变得日益简单, 在Model的指导下, 思想, 设计, 分析都变得异常重要.企业业务建模工具, 产品非常多, 特别是在MDA日益流行的今天. WorkF ...

  6. 常用CASE工具介绍 1

    一,概述 今天, 代码变得日益简单, 在Model的指导下, 思想, 设计, 分析都变得异常重要.企业业务建模工具, 产品非常多, 特别是在MDA日益流行的今天. WorkFlow是典型的业务及流程建 ...

  7. [转]常用CASE工具介绍

    常用CASE工具介绍 常用CASE工具介绍 一,概述 今天, 代码变得日益简单, 在Model的指导下, 思想, 设计, 分析都变得异常重要.企业业务建模工具, 产品非常多, 特别是在MDA日益流行的 ...

  8. [转载] 常用CASE工具介绍

    (因为学习ERWin无意发现的此文章,非常不错,转载一篇!) 一,概述 今天, 代码变得日益简单, 在Model的指导下, 思想, 设计, 分析都变得异常重要.企业业务建模工具, 产品非常多, 特别是 ...

  9. Java新手看招 常用开发工具介绍

    Java新手看招 常用开发工具介绍 Java的应用越来越广泛,学习Java的人也越来越多.学过程序设计的人知道,使用Basic进行程序设计,可以使用QBasic.Visual Basic等开发工具:使 ...

最新文章

  1. GROMACS运行参数之nvt.mdp文件详解
  2. 实现点击下载文件的几种方法
  3. Redhat7开机图形或文字界面
  4. 成功解决np.array(zip(x1, x2)).reshape(len(x1), 2) ValueError: cannot reshape array of size 1 int
  5. web 小程序 ch2 第一个小程序
  6. upload_labs_pass17_二次渲染
  7. 锡山国土推行数据中心“在线变更”
  8. 功能Java示例 第6部分–用作参数
  9. CSS3新特性应用之用户体验
  10. Linux下没有包含头文件(不知是哪个)导致编译无法通过的解决心得
  11. 苹果产品开发的绝密工作流程
  12. mysql怎么实现生日字段前一个小时提醒_MySql学习笔记(二) 索引的设计和使用...
  13. Enum 作为一个数据源绑定
  14. NYOJ 588 Money
  15. 信息与通信工程学科面试准备——信号与系统
  16. 关于发那科机器人弧焊指令故障处理
  17. 恶意软件\垃圾流氓通用反删除批处理文件
  18. DS18B20数字温度计使用(转)
  19. 谷歌搜索网站流量_Google搜索升级使网站更难赢得流量
  20. 给俺的 CSDN 博客加背景音乐 - 高大尚的《心经》背景音乐

热门文章

  1. R语言使用ggplot2包的快速可视化函数qplot绘制散点图实战
  2. python使用matplotlib可视化包含倒影的柱状图(bar plot with shadow)、配置rcParams坐标轴正确显示负号(-)
  3. pandas使用groupby函数和count函数返回的是分组下每一列的统计值(不统计NaN缺失值)、如果多于一列返回dataframe、size函数返回分组下的行数结果为Series(缺失值不敏感)
  4. R语言ggplot2可视化散点图并使用scale_y_log10函数配置Y轴对数坐标、使用ggforce包的facet_zoom函数将可视化结果中需要突出放大的区域进行放大(Zoom in)
  5. pandas中dataframe索引排序实战:pandas中dataframe索引降序排序、pandas中dataframe索引升序排序
  6. NLP自然语言常见问题及相关模型训练数据格式示例
  7. 深度学习多变量时间序列预测:Bi-LSTM算法构建时间序列多变量模型预测交通流量+代码实战
  8. 机器学习的优化目标、期望最大化(Expectation-Maximum, EM)算法、期望最大化(EM)和梯度下降对比
  9. php mongo二级查询时间,php查询MongoDB遇到长整型的问题
  10. catia 安装打开闪退_win10catia r20应用程序无法正常启动的解决办法