1.接口测试用例设计简介

我们对系统的需求分析完成之后,即可设计对应的接口测试用例,然后用接口测试用例进行接口测试。接口测试用例的设计也需要用到黑盒测试方法,其与功能测试用例设计的方法类似,接口测试用例设计中还需要增加与接口特性相关的测试用例。

2.接口测试思路

正式设计接口测试用例之前,需要梳理一下接口测试的思路,思维导图如图6-32所示。

接下来,介绍几个思维导图中需要关注的点。

(1)基本功能流程测试

基本功能流程测试首先需要执行冒烟测试,把系统最基本的功能“走通”。冒烟测试决定系统的“提测”是否成功,如果系统通过冒烟测试,才会进入到详细的测试阶段;如果冒烟测试不通过,需要把系统程序退回给开发人员,开发人员修改程序之后重新“提测”。冒烟测试通过之后,对系统进行正常流程的覆盖测试,测试的粒度会比冒烟测试更细一些,覆盖系统的一些业务逻辑分支。

(2)基于输入域的测试

因为发出接口请求需要带请求参数,所以测试人员会涉及关于请求参数的各种接口测试用例设计。关于请求参数的接口测试用例的设计需要考虑下面这些方面。

  • 边界值测试

对于有范围要求的参数,需要综合等价类和边界值的方法设计接口测试用例。边界值选择上点和离点即可,要覆盖到有效等价类和无效等价类。

  • 特殊字符校验

很多请求参数会要求不能包含特殊字符,对于有这类要求的参数字段,需要单独设计包含特殊字符的接口测试用例。

  • 参数类型校验

有一些参数还会对传参值的类型有要求,例如,只能包含英文、数字,或者只能包含整数类型等。对于这种类型有要求的参数字段,也要单独设计接口测试用例,或设计一些反向接口测试用例。

  • 必选参数校验

在接口中有必填的参数,也有选填的参数,对于每一个必填参数,都要设计一个参数为空的接口测试用例来验证参数的必填性。

  • 组合参数校验

对于有选填参数的接口来说,需要对各种参数的不同组合场景进行验证。例如,值传递选填参数,或者对于必填参数和不同数量的选填参数做组合,对于这些选项参数的情况可以使用判定表的方法进行接口测试用例的设计。

  • 排重逻辑

在接口测试中,如果接口中有的参数字段要求不能重复,那么需要对它进行排重测试,用重复请求相同的参数进行测试,验证服务端的处理逻辑是不是正确。

  • 接口幂等性

幂等是指任意多次执行接口测试所产生的影响均与一次执行接口测试产生的影响相同。保证接口的幂等性是非常重要的,尤其是涉及资金的系统,如银行、电商等,在这些系统中,对用户重复提交请求,或者网络重发,系统重试等场景,都需要设计接口测试用例来验证接口的幂等性。

(3)线性安全测试

线程安全测试包含了并发测试和分布式测试。

分布式是为了解决单个物理服务器容量和性能瓶颈问题而采用的一种优化手段。分布式的实现有两种形式。

  • 水平扩展:当一台服务器 “扛” 不住大的网络流量时,就通过添加服务器的方式,将流量平分到所有服务器上,所有机器都可以提供用户的请求服务。
  • 垂直拆分:前端用户有多重查询需求时,一台服务器 “扛” 不住用户大的请求,解决这个问题的方式是,可以将不同的需求分发到不同的服务器上。

相对于分布式测试,并发测试在解决的问题上会集中一些,它的测试重点是测试系统同时有多少用户量,比如在线直播服务时有上万人观看。

并发测试可以通过分布式技术来实现,将并发流量分到不同的物理服务器上。但除此之外,还可以有很多其他优化并发的手段,比如使用缓存系统,还可以使用多线程技术将一台服务器的服务能力最大化。

并发场景的测试中,测试的是同一个接口,参数值全部一样。同时发送请求多次,结果只有一条请求成功,其他请求失败。

分布式场景的测试中,测试的是不同机器,针对的是同一个接口,参数值全部一样。同时发送请求多次,结果只有一条请求成功,其他请求失败。

(4)故障注入法

故障注入测试需要测试人员故意针对系统制造有故障的场景,用以测试系统的健壮性。

如果产品中用到了Redis,就需要对Redis做一些故障降级测试。Resis一般会放在数据库前面,用来做高速缓存。

我们进行Redis故障注入测试时需要开发人员配合先清空Redis数据,然后向系统发送请求,“击穿” Redis,从DB(数据库)中获取正常的数据(并能回写到Redis中)。然后开发人员配合启动制造Redis数据恢复功能,测试人员可以从Redis中获取正确的数据。其中还需要开发人员配合制造Redis崩溃场景,在Redis崩溃场景下测试人员向系统发送请求,看是否能从DB中获取到正常的数据。

除了对Redis测试之外,我们还需要进行系统服务故障转移测试,如数据库故障测试与接口故障测试。

在进行数据库故障时,开发人员配合制造数据库数据丢失场景,启动数据恢复策略,测试人员测试系统在规定时间内数据是否可以恢复;开发人员配合制造数据库崩溃场景,测试人员测试数据库多活策略是否启动,保证系统功能不收影响。

在进行接口故障测试时,开发人员配合接口服务重启,测试人员测试集群负载是否自动重启实例、所有请求无异常;开发人员配合制造集群崩溃场景,测试人员测试系统是否返回对应的错误信息,系统内部服务是否有重试机制。

尾声

我自己收集啦许多软测资料,希望能够帮到学软件测试的朋友们软件资料分享包括但不限于:Python自动化测试、性能测试、web测试、APP测试、测试开发、安全测试

测试开发工具包:appuim安装包、fiddler安装包(也有配套视频教程)、eclipse、git、jmeter、loadrunner、monkey、postman、soapul、Xmind等等

最后感谢每一个阅读我文章的人,一点小心意,虽然不是啥值钱的东西,需要的话点击下方小卡片直接拿走~

软件测试之接口测试用例设计,全网独一份相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. (转)接口测试用例设计(详细干货)

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

最新文章

  1. SQL基本语句语法释义
  2. MaciOS之多线程(转)
  3. 1万美元奖金,Kaggle 新赛瞄准室内定位
  4. 「雕爷学编程」Arduino动手做(29)——DS1302时钟模块
  5. Mysql优化之Order By/Group By
  6. 前端性能优化——http首部
  7. 第 4 章 容器 - 030 - 实现容器的底层技术
  8. 文件与base64的互相转换操作
  9. Nutch开发(一)
  10. 如何从零开始学习Java语言
  11. python 爬取 谷歌以及百度图片
  12. JAVA:实现PigeonholeSort鸽巢排序算法(附完整源码)
  13. STM32基于HAL工程硬件I2C读写AT24C02/04/08数据
  14. Dev-C++ 中t添加EasyX绘图库
  15. Hwclock用法介绍
  16. 2018最新程序员必备技术类微信公众号
  17. Windows下mmap的等价实现
  18. 群体遗传学--Fst指数
  19. 回填用土好还是砂石料好_卫生间回填用沙子好还是用陶粒好?38年老瓦工终于说实话了...
  20. 常见网络模型——ER随机图、规则图、BA、WS小世界

热门文章

  1. 【TCP专题】TCP的可靠性传输
  2. 最速下降法求解函数极小值原理
  3. Echarts清空图表:There is a chart instance already initialized on the dom.
  4. SpringSecurity如何处理logout注销操作
  5. 在所有数据库的所有数据中搜索关键字
  6. ES学习系列02-创建索引
  7. 软件许可证管理应该怎么做?
  8. 安装win7和Ubuntu双系统后,win7耳机没声音,外放有声音
  9. [08]ESP32+激光传感器VL53L1x移植与调试(附源码)
  10. jenkins构建失败后将信息发送到企业微信