一、为什么要做接口测试

在日常开发过程中,有人做前端开发,有人负责后端开发。接口就是连接前后台,由于前端开发和后端开发的速度可能不一样,例如后端开发好了,但是前端没有开发。那么我们是不是就不需要测试呢?一般我们大部分人都是做功能测试,很多是界面的功能测试。如果你理解了接口测试,那么你就可以针对接口进行测试。

二、什么是接口、什么是接口测试

接口:主要是子模块或者子系统间交互并相互作用的部分。

这里说的接口是广义的,客户端与后台服务间的协议;插件间通信的接口;模块间的接口;再小到一个类提供的方法;都可以理解为接口。

接口测试:是指针对模块或系统间接口进行的测试。

三、接口测试流程

需求讨论,需求评审,场景设计,编写用列,准备数据,执行测试

四、接口测试用例设计

1接口测试的用例设计,主要从输入和接口处理两方面考虑

1)针对输入,可按照参数类型进行设计;

2)针对接口处理,可按照逻辑进行用例设计;

3)针对输出,可根据结果进行分析设计。

2针对输入设计

对于接口来说,输入就是入参。常见参数类型有:

(1)数值型(int,long,float,double等)

(2)字符串类型

(3)数组或链表

(4)结构体

五.怎么进行接口测试

通过工具模拟客户端向服务端发送请求并接受服务器返回的数据来对接口的功能,逻辑业务,异常,安全进行测试

功能测试:测试这个接口的功能是否实现,并且测试这个接口是否按照接口文档来进行开发的(比如说接口文档规定了一些关键字,而开大的时候把关键字改成了其他的关键字,因为在整个项目周期,并不只有一个开发而是有多个,所以可能因为在开发过程中因为关键字不一样导致某些开发的功能异常,还有自动化脚本也会发生异常)

  逻辑业务,主要指的是一些逻辑业务依赖关系(比如支付宝提交订单的时候要保证你是在登录的情况下,如果你没有登录而提交成功了,这就是异常,可以修改请求的cookie来测试)

  异常测试:参数异常:关键字参数(应用其他的关键字替换进行测试)、参数为空、参数多少(通过添加参数增添个数),参数错误。数据异常:关键字数据(填入的数据用其他的数据语言的数据替用)、数据长度、数据为空、数据错误。
  由于我们项目前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送与接收。工具有很多如:apipost、jmeter、java+httpclient、robotframework+httplibrary等。
  –也可以用 接口自动化来实现,就是用代码实现,框架和UI自动化差不多,发送请求用断言来判断。

六、接口测试需要用到的工具

接口测试常用的工具,fiddler抓取请求,apipost模拟客户端通过对fiddler抓取的请求修改并发送到服务端并接收服务器返回的数据及异常来进行验证接口。工具不是固定的,需要根据项目来进行选择。

七、接口测试发现的典型问题

接口测试经常遇到的bug和问题,如下:

(1)传入参数处理不当,导致程序crash;

(2)类型溢出,导致数据读出和写入不一致;

(3)因对象权限未进行校验,可以访问其他用户敏感信息;

(4)状态处理不当,导致逻辑出现错乱;

(5)逻辑校验不完善,可利用漏洞获取非正当利益等。

工具下载链接:apipost

接口测试用例_【学习】接口测试用例编写和测试关注点相关推荐

  1. 集成测试用例_如何评估测试用例的有效性?

    什么是测试用例的有效性? 我们的测试用例有两个比较关键的部分: 1)调用被测代码:例如下面的RuleService.getLastRuleByClientId(ClientId) 2)进行结果Chec ...

  2. 蓝牙耳机测试用例_移动端测试用例设计总结,这些你得懂!

    一.前言 作为移动互联网产品最后一公里的守护者,我们必须要清楚的知道自己该做什么.怎么做.但从版本迭代速度.需求量级.测试人员不断变动等方面综合来看,我们很多人都没有做好充分的准备.测试方法落后.测试 ...

  3. 多方法接口回调_浅析接口定义和接口回调

    目录 一.接口定义 二.接口的特点 三.使用接口的好处 四.接口回调 五.Android中的接口回调机制 一.接口定义 接口通常以interface来修饰. public interface Anim ...

  4. java中接口文件创建_功能接口简介–在Java 8中重新创建的概念

    java中接口文件创建 世界各地的所有Java开发人员都将至少使用以下接口之一:java.lang.Runnable,java.awt.event.ActionListener,java.util.C ...

  5. java 接口隔离_关于接口隔离原则的一个实现:

    关于接口隔离原则的一个实现: 使用场合,提供调用者需要的方法,屏蔽不需要的方法.满足接口隔离原则. 比如说电子商务的系统,有订单这个类,有三个地方会使用到, 一个是门户,只能有查询方法, 一个是外部系 ...

  6. 数据接口请求异常:parerror_接口测试用例编写和测试关注点

    一.为什么要做接口测试 在日常开发过程中,有人做前端开发,有人负责后端开发.接口就是连接前后台,由于前端开发和后端开发的速度可能不一样,例如后端开发好了,但是前端没有开发.那么我们是不是就不需要测试呢 ...

  7. 树状选择框测试用例_分类树测试用例设计工具:CTE XL

    1.1工具安装 CTE XL是一款免费的分类树测试用例设计工具,安装过程很简单,下载好安装程序后,运行安装程序:如图 点击下一步: 点击下一步: 是否创建桌面按钮: 安装: 安装完成后,需要注册才能获 ...

  8. 软件测试用例_大话软件测试用例要素

    我们经常都知道一个测试用例里面包含以下几个要素: 1,用例编号 2,模块 3,场景 4,用例名称 5,前置条件 6,测试等级 7,操作步骤 8,预期结果(需求要求的结果) 9,实际结果 10,创建日期 ...

  9. c#报错不实现接口成员_当接口和具体在不同的项目中时,c#-“无法实现接口成员”错误...

    这个答案是要阐明您对这个有趣问题的想法. 这不是一个真正的答案,而是对整个讨论的贡献,对于正常的评论而言,这个贡献很小. 我检查了几件事,这个界面: namespace DifferentAssemb ...

最新文章

  1. html建立复选框,创建一个像html复选框一样的div
  2. 一文读懂深度学习框架下的目标检测(附数据集)
  3. 软件测试工作常用linux命令,软件测试工程师工作中常用的Linux命令
  4. [zz]GMM-HMM语音识别模型 原理篇
  5. 毫米波雷达和车联网在未来无人驾驶中的应用和比较
  6. compose部署redis和mysql_浅析docker-compose部署mysql无法访问的问题
  7. 企业软件开发商 Atlassian 紧急修复不慎泄露的0day,IBM Aspera 软件或受影响
  8. 原理图端口符号_什么是电气原理图和电气接线图,二者区别及绘制要求是什么?...
  9. 东数西算背后的大棋局
  10. python开发网站的优势与劣势_python的优势和劣势
  11. 可视化-THREEJS 飞机航线 姿态计算
  12. 河北计算机软件职业技术学院,河北软件职业技术学院2021年排名
  13. 《鹰眼》(Eagle Eye):对电子媒介的反恐
  14. PBR之IBL和球谐的梳理
  15. 使用Guava的RateLimiter做限流
  16. 计算机组成,南北桥,倍频,通信,频率一致才可以通信
  17. 苹果服务器维护不能刷机,iphone刷机失败不开机报错维修方法分享
  18. IP协议首部详细分析
  19. 我爷爷都看的懂的《栈和队列》,学不会来打我
  20. vue使用element-ui开发的后台管理系统使用中英文切换多语言国际化方案步骤流程

热门文章

  1. DataBinder.Eval用法收集
  2. 使用Cygwin编译W600 sdk
  3. 单片机I/O口推挽输出与开漏输出的区别(open-drain与push-pull)
  4. java 栈队列_java 栈 队列实现
  5. python批量新建文件夹_python批量创建指定名称的文件夹
  6. 服务器怎么初始化系统,CentOS服务器怎么进行初始化
  7. 西电计算机本科学费,陕西高校学费大比拼!你当年的学费现在涨了多少
  8. oracle和mysql登录方式_使用普通方式和连接池方式获取Oracle和Mysql链接
  9. mysql当前时间加一天_MySQL 的加锁处理,你都了解的一清二楚了吗?
  10. 简单回声服务器的实现