背景

最近项目中也一直在推动接口测试,中途也遇到很多的问题;从最开始的接口文档管理,接口测试框架的选型,到后续接口测试用例的维护问题。最近在想接口测试的一个覆盖度问题。谈到覆盖度,又得回到接口测试的用例设计上面;网络上又很多接口测试用例的设计资料,无非是罗列一些维度,e.g. 参数组合,业务场景等,但都不够系统和结构化, 没法快速做到用例有效却不冗余,尤其是在接口参数较多的情况下。

接口测试用例设计关注点

  • 前提条件:比如一个发帖接口,前提是需要登陆
  • 参数是否必填
  • 参数间是否存在关联
  • 参数取值范围
  • 业务规则

单接口用例设计方法

接口测试其实可以等同于功能测试,只是被测对象是接口,无界面交互而已;所以用例设计的方法是通用的。

  • 等价类划分法
  • 边界值分析
  • 因果图判定法
  • 场景分析法

具体示例

一个简单的登陆接口为例,文档如下:

首先对请求参数组合进行分析:
phoneNumber参数可分为如下几种情况:
1. 类型为String, 且长度不超过11位
2. 类型为String, 且长度超过11位
3. 类型不为String
4. 不带参数

password参数可分为如下几种情况:
1. 类型为String
2. 类型不为String
3. 不带参数

4 * 3组合总共会有12种情况,得到判定表如下:

根据等价类划分的原则,一个参数错误和两个参数错误是等价的,所以把两个参数错误的去掉,精简后的判定表如下:

综合判定表,我们进行用例转换得到如下用例:
1. phoneNumber和password参数正确,登陆成功
2. phoneNumber参数正确,password类型不为String, 登陆失败
3. phoneNumber参数正确,password参数缺失, 登陆失败
4. password参数正确,phoneNumber超过11位,登陆失败
5. password参数正确,phoneNumber不为String,登陆失败
6. password参数正确,phoneNumber参数缺失,登陆失败

参数组合的情况考虑完后,我们结合业务场景和接口返回码进行分析,比如,可得到如下几种情况:
1. 用户名密码正确,返回登陆成功
2. 用户未注册,返回登陆失败
3. 密码错误,返回登陆失败

目前通过参数组合和场景分析的情况,可得到9条用例;由于参数组合第一条和场景分析第一条是同一个情况,去重后,我们得到实际有效的8条用例:

备注

在实际接口测试中,在传参方面有时候还需要考虑以下两种情况,e.g.
1. 参数故意传入空字符串或null, 可看是否有进行处理?
2. 参数故意传入超过取值类型的最大值,如int, 传入2147483647+的情况,看是否有进行处理?

最后

通过结合以上的方法进行接口测试用例设计,即使参数组合再多,也能够条理很清晰地罗列出测试用例,而不缺乏覆盖度。

接口测试用例设计的一点总结相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. keyvaluepair_C# KeyValuePairTKey,TValue的用法【转】 .
  2. 前端性能优化-HTTP添加Expires头和Cache-Control
  3. python数据类型-第三篇:Python基本数据类型
  4. 机械师怎么打开计算机管理,机械师创物者-R笔记本智能控制中心使用教程
  5. android gridview item 边框,Android实现为GridView添加边框效果
  6. 洛谷 - P1886 滑动窗口(单调队列/线段树)
  7. 在java中5 % 3_Java基础5
  8. java指定sql生成xml_SQL Server根据查询结果,生成XML文件
  9. 华为EMUI 11开启公测 这十款机型率先尝鲜
  10. airpods固件更新方法_苹果发布 AirPods 新固件更新!
  11. 走在WCF学习的路上---印在脑子里的点点滴滴(两种元数据交换方式的优缺点)...
  12. OpenStreetMap/Google/百度/Bing瓦片地图服务(TMS)
  13. 通信基础 8 —— MIMO / 3GPP / UMI
  14. 盗火:硅谷、海豹突击队和疯狂科学家如何变革我们的工作和生活
  15. 微信自定义分享链接内容,wx.updateAppMessageShareData、wx.updateTimelineShareData、wx.onMenuShareTimeline
  16. jmeter学习问题记录
  17. adf机器_STOLL机器——ADF-3 681000 机器赏析
  18. 面试问烂了的测试用例: 登录界面的测试用例
  19. STM32电子钟万年历Proteus仿真_LCD1602显示
  20. 韩信点兵 中国剩余定理

热门文章

  1. 外包公司的客户应该如何写需求文档?
  2. 【无标题】c++ 实现 interpolate.interp1d插值
  3. 苹果隐藏app_更新完iOS14,这9个隐藏黑科技功能,你一定还不知道
  4. skipped: maximum number of running instances reached (1)
  5. Audit login 与 Audit logout
  6. nginx配置详解(容器、负载)—官方原版
  7. Disentangled Graph Collaborative Filtering
  8. Java程序性能优化——设计优化
  9. Google图片搜索创始人朱会灿加盟腾讯搜搜
  10. 【电子产品】ThinkPad S5 Intel R Dual Band Wireless-AC 3165 网卡驱动莫名