如何开展接口测试

1、找开发或者测试主管获取接口说明文档
作用:开发测试脚本的依据
2、熟悉业务,设计测试用例,准备测试数据
3、根据接口说明文档开发接口测试脚本,执行脚本。
自动获取接口文档swagger:https://swagger.io/
接口说明文档示例

接口测试点

1、接口测试可用性
2、接口输入参数个数及命名
3、输入参数的必填项
4、输入参数的合法性
5、输出参数内容的正确性
6、接口实现功能验证
7、接口文档规范性
8、接口传递参数的安全性

接口可用性
一、主要测试接口是否可用,接口是否存在、接口的协议类型。
二、测试用例中包括:
1、依据接口文档中给定的接口地址和协议方法能够访问到该接口
2、使用错误的协议方法无法按照接口地址进行访问
3、使用正确的协议方法无法按照错误的接口地址进行访问。

输入输出参数个数及命名
一、主要测试接口包含的输入输出参数的个数以及各个参数的命名是否正确
二、测试用例包括:
1、依据接口文档检查输入参数的个数以及命名是否和文档一致
2、依据接口文档检查数参数的个数以及命名是否和文档一致(注意检查输出的正常参数和异常参数)
3、输入错误的参数,接口会报错,并且有错误信息返回

输入参数的必填项
一、主要测试接口对输入参数的可选与必填的要求。
二、测试用例包括:
1、按照接口文档对所有必填的输入项依次不输入,检查接口是否给予报错信息返回
2、按照接口文档对所有必须输入的输入项,检查是否可以正确数据返回,无报错信息。

输入参数的合法性
一、主要对参数的录入规范要求进行检查。
二、测试用例包括:
1、依据接口文档,有明确的要求(如:只能有数字组成,在以下几个可以选值中选择,只能由字母组成,长度最多为多少,格式为时间格式)输入参数,检查是否符合要求。
2、依据接口文档,没有明确要求的输入参数,依次测试长度超长,含有特殊字符、全角半角等情况
3、检查接口是否报错,给予错误返回信息。

输入参数内容的正确性
一、主要对参数的内容是否和后台真实数据一致进行检查。
二、测试用例包括:
1、考虑多种输入的组合情况,依次测试在这些组合情况下接口返回的数据的名字内容是否正确,要具体检查每个字段的内容。一般通过与后台数据库数据对比来进行检查。
2、考虑多种输入参数的组合情况,依次测试在这些组合情况下接口返回的数据中涉及输入参数的项,是否和最初输入的值一致。

接口实现功能验证
一、主要对接口操作具体功能是否正确的运行进行检查。
二、测试用例中应包括:
1、输入正确的参数,检查接口对应要实现的后台功能,是否正常运转。例如:对一个启动接口发送启动的命令。接口对应的后台系统能够正常启动并返回正确的参数。
2、输入错误的参数,检查接口要实现的后台功能,是否没有实现。

接口文档规范性
一、主要对开发提供的接口文档是否规范准确进行检查。
二、测试用例包括
1、接口文档中对于输入输出参数都有准确的命名,不存在模糊情况。
2、接口文档对于每一个参数都有明确的类型说明,是否必填。是否有默认值。
3、接口文档对于每一个输入的参数都要明确的基本录入要求。比如、长度,数字类型,string,,,
4、针对接口如果有多种类型的输出参数组合且参数的命名或个数有不同,这种情况要在接口我呢的那个中罗列清晰。并明确指出,出现这种类型的输出参数的条件。

接口传递参数的安全性
1、接口参数加密传输
2、防止SQL注入

测试用例组成

1、初始化测试数据。
2、调用接口,传入输入数据,发送请求。
3、断言输出结果。

二篇

单接口测试

1. json格式测试

通常POST/RPC接口请求参数都是json格式,那么就需要去测试 如果传递非json的情况,这时候程序会不会正确的处理,返回相应的error code。

2. 默认值测试

很多情况一些参数会有默认值,比如说一个查询的接口,参数count定义为返回查询结果数量, 默认为10,那么就应该有一条case来测试,当然前置条件是数据库里面必须要存在超过10条的数据。

3. 异常类型测试

比如上面的count参数,这个参数的类型一定是可以转换为int类型的,这时候我们需要测试如果传的一些不可以 转换为int类型值来测试代码是否加入判断

4. 必传项测试

如果接口的参数有必传项,那么需要测试覆盖不传这个参数场景接口返回情况,检查是否会提示相应的error code

5. 非必传项测试

如果接口有非必填项,当不传递这些参数的时候会不会正常的返回相应的结果 。

6.非空测试

无论是必传的和非必传的参数,传递的key是正确的,但是value=null,这时候返回结果是否正确 。

7.业务逻辑测试

传递正确的参数,接口对数据库进行查询的操作,需要去验证数据库查询是否正确,接口对数据库进行增删改的操作,也需要看数据库是否同步进行了这些操作。

8.兼容性测试

比如说今天接口进行了调整,但是前端没有进行变更,这时候需要验证新的接口是否满足旧的调用方式。

9.错误码测试

通用的错误码与业务错误码是否能够清晰的说明调用问题,错误码是否能够尽可能的全的覆盖所有的异常调用情况。

10.数据异常测试

假如数据库设计为32位varchar类型,那么如果传33位数据是什么情况,会不会抛出相应的错误码,而不会抛出数据库异常。

11.返回值测试

返回值除了内容是正确的,还需要数据类型也是正确的,保证调用方拿到这些数据能够正确的解析和使用。

12.加密测试

一般登陆接口会对用户输入的密码进行加密处理以防止用户明码泄露导致用户信息泄露。测试需要对加密后的数据进行测试,检查是否做正确加密。

组合接口测试

单接口测试通过后,需要将多个单接口组成连续的场景,比如说投资接口需要用到一个类似token的参数,而这个参数是登陆接口获取到的,所以就需要先调用登陆接口,然后再去调用投资接口。还有就是 像数据权限与操作权限这些,都会依赖一些其他的接口,那么把这些依赖的接口组成一个场景来测试数据的 正确性。还有一部分接口是内部调用的,比如说注册接口,在注册的时候通常需要获取一个验证码,然后输入 验证码再进行提交注册的操作,在这过程中,验证验证码的操作是在注册的内部完成的,那么其实在组合场景 的时候就不需要再去中间加入验证验证码的接口。

常用接口测试工具
1、 postman
2、jmeter

总结

1. 接口测试小结
1、检查接口返回的数据是否与预期结果一致。
2、检查接口的容错性,假如传递数据的类型错误时是否可以处理。例如上面的例子是支持整数,传递的是小数或字符串呢?   
3、接口参数的边界值。例如,传递的参数足够大或为负数时,接口是否可以正常处理。
4、接口性能,接口处理数据的时间也是测试的一个方面。牵扯到内部就是算法与代码的优化。   
5、接口的安全性,如果是外部接口的话,这点尤为重要。

2. 单接口与组合接口测试区别
1、单接口 单接口入参,出参
入参:参数边界值、类型、非必传、必传 、空、非空、兼容性测试、业务逻辑测试
出参:数据类型、结果与MySQL表数据比较、响应码(正确码、错误码)、数据的准确性(比如四舍五入的情况、浮点被强制成整型等)
权限(重要):token失效(有效)
性能:响应时间

2、组合接口 结合测试场景(要结合业务),编写相应的测试用例;场景:比如新建一个客群,验证将其转化为系统客群 是否成功;

接口测试用例设计理论相关推荐

  1. 【理论了解】接口测试简介以及接口测试用例设计思路

    接口测试简介 1.什么是接口 接口就是内部模块对模块,外部系统对其他服务提供的一种可调用或者连接的能力的标准,就好比usb接口,他是系统向外接提供的一种用于物理数据传输的一个接口,当然仅仅是一个接口是 ...

  2. 软件测试之接口测试用例设计,全网独一份

    1.接口测试用例设计简介 我们对系统的需求分析完成之后,即可设计对应的接口测试用例,然后用接口测试用例进行接口测试.接口测试用例的设计也需要用到黑盒测试方法,其与功能测试用例设计的方法类似,接口测试用 ...

  3. 接口测试用例设计实践总结

    接口测试用例设计实践总结 by:授客 QQ:1033553122 设计思路 1)   优先级--针对所有接口 1.暴露在外面的接口,因为通常该接口会给第三方调用: 2.供系统内部调用的核心功能接口: ...

  4. 接口测试用例设计的一点总结

    背景 最近项目中也一直在推动接口测试,中途也遇到很多的问题:从最开始的接口文档管理,接口测试框架的选型,到后续接口测试用例的维护问题.最近在想接口测试的一个覆盖度问题.谈到覆盖度,又得回到接口测试的用 ...

  5. 软件测试 接口测试 接口测试的必备条件 接口测试用例设计 HTTP协议基础 Postman

    文章目录 1 接口测试概述 1.1 接口测试的定义 1.2 接口测试的范围和适用场合 2 接口测试的必备条件 2.1 接口测试的要求 2.2 标准和规范的接口文档 2.3 如何获取接口信息 3 接口测 ...

  6. 软件测试接口测试用例设计

    接口测试用例设计 随着测试分析和分层测试的深化,"接口测试"出现在我们视野的频次越来越高.那么接口测的用例设计常用哪些方法呢?本文将详细描述. 接口测试 1.1  接口测试 接口: ...

  7. 全网最详细软件测试接口测试用例设计-怎么编写-模板(最详全)

    目录:导读 一.前言 1.接口测试 2.接口测试发现的典型问题 二.接口测试用例设计 1.针对输入设计 1.1.数值型 1.2.字符串型 1.3.数组或链表类型 三.针对逻辑设计 1.约束条件分析 2 ...

  8. (转)接口测试用例设计

    随着测试分析和分层测试的深化,"接口测试"出现在我们视野的频次越来越高.那么接口测的用例设计常用哪些方法呢?本文将详细描述. 1  接口测试 1.1  接口测试 接口:主要是子模块 ...

  9. 【转】接口测试用例设计

    文章图片参考源地址: http://url.cn/5ZM37wg 随着测试分析和分层测试的深化,"接口测试"出现在我们视野的频次越来越高.那么接口测的用例设计常用哪些方法呢?本文将 ...

  10. (转)【腾讯 TMQ】 接口测试用例设计

    导语 这是我在其他的开源社区看到的一篇分享帖子.这篇文章的目的只是为大家提供一个思路,但是实现成本太高了,因为一个接口设计的接口测试用例很多,一般公司的接口数量几百到上千不等,每一个接口都设计这么多测 ...

最新文章

  1. OpenCV 学习笔记03 boundingRect、minAreaRect、minEnclosingCircle、boxPoints、int0、circle、rectangle函数的用法...
  2. 路由和远程访问---基本
  3. unity 线程断点时卡机_Compute Shader在Unity和UE4中的应用
  4. 牛客题霸 [连续子数组的最大和] C++题解/答案
  5. 漫画 | 面试的我 VS 真实的我
  6. spring整合hibernate的applicationContext.xml文件配置以及web.xml
  7. 设计资源 | 万圣节矢量图标
  8. 字符串模式匹配(bf+KMP)
  9. C++基础算法学习——熄灯问题
  10. C Primer Plus 第13章 文件输入/输出 13.11 编程练习答案
  11. LTE学习:RV(冗余版本)
  12. 马鞍数55c语言_c语言超全练习题(全面更新)
  13. bilibili【考研英语词汇】
  14. java 解析m3u8的实例_ck播放器m3u8直连代码
  15. 关于Spring Bean的生命周期
  16. 牛客网刷题——JAVA
  17. [构造]triples I
  18. 2022数据安全法律法规标准关注文件整理
  19. linux中mv、cp、rm分别是什么意思
  20. 请打印出1988年到2019年的所有闰年年份

热门文章

  1. offer oracle svp_SVP学校转非SVP学校——最新规定详解
  2. C# NOPI 项目实战(经典)(可下载项目源码)
  3. 常用视频像素格式 YUV422 YUV420
  4. 神舟笔记本进入BIOS的方法
  5. Docker下安装RabbitMQ
  6. Linux 下安装交叉编译工具链
  7. STorM32三轴云台控制器PID参数调节(1)
  8. sklearn 决策树例子_sklearn CART决策树分类
  9. 【Axure原型分享】JS地图
  10. Worktile、Teambition与Tower项目管理软件对比