接口测试是项目测试的一部分,正如其名,它测试的主要对象是接口,是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与所测系统之间以及内部各系统之间的交互点。测试的重点是检查数据交互、传递、和控制管理过程以及系统间的相互依赖关系等。

如何设计接口测试用例?

首先,明确出发点。和所有的测试一样,接口测试出发点是你要证明所测的程序是错误的。以这个出发点为导向,你的设计行为就会尽量朝这个方向发展,更易发现问题,不会出现大方向的偏差。

其次,选择好测试对象。对于一个系统做接口测试选择好的测试对象是接口测试关键。一个系统有无数的接口,每个接口如果分别测试,那将是很痛苦的一件事情,不光繁琐浪费,而且任何一个内部接口的变动,都将导致我们用例的不可用。

这里推荐把整个系统作为一个整体,选择整个系统提供给外部使用、交互的最外层接口作为你的测试对象,以此为测试对象的用例将有很好的健壮性,并且更高效。

另外,根据数据的流向,又可将这些最外层的接口分为两类:一类是数据进入系统的接口;一类是数据流出系统的接口。

进入系统的接口实际是我们用例的执行调用的接口。可通过变化参数对这些接口进行调用,模拟外部的使用;而流出的接口则是我们用例真正该验证的点。

数据从哪里流出,流出时的状态如何,此时系统又是什么状态都是我们所应该验证的。

然后,确认完整的测试对象的功能:确认外部接口提供给使用这些接口的外部用户什么样的功能,外部用户真正需要什么样的功能。此两个功能一定要准确详细,用例的设计要严格按照测试对象功能设计才是正确的用例。

最后当出发点、对象、功能都确定了,就可以真正设计用例了。下面详细介绍下如何去设计一个结构好、可读性高、渗透性强的接口测试用例。

接口测试用例设计和其他测试用例设计一样,都应该本着尽可能的发现bug的目标。用例设计的内容应该包括:主要测试功能点、测试环境、测试数据、执行操作以及预期结果。

1)接口测试环境分为两种:一种是程序内部的环境,一种是程序的所调用外部接口的环境。

用例在设计环境上有一个原则即:设计真实而危险的环境,不忽视偶发环境。

真实,即你的用例在测试某种功能时,应该去思考这种情况发生时内部、外部环境是什么,通过各种手段将最准确的环境模拟出来。

危险,即在这种环境下系统出问题的概率会很大。在设计用例环境时,如果两种环境都能达到你本用例的要求,更推荐选择更危险的环境。

所谓偶发,即这种环境出现的概率很小。不要因为这种环境很少出现就无视它,开发很可能也是这种想法,此处很有可能隐藏着问题。

2)接口测试测试数据分为接口参数数据和用例执行所需系统数据。

数据的设计学问大,不要在设计、准备测试用例的数据上偷懒。要通过好的测试数据使用例查错的功能充分发挥。

接口参数数据需对每个参数根据测试接口的实际的功能进行分析,在符合业务逻辑的情况下进行逻辑组合排列,不要遗漏了某些边界值和错误点的数据。每个用例执行所需系统数据和接口参数数据尽可能的采用不一样的数据,使用例更容易发现问题。

3)测试功能点,

如果一个接口功能复杂时推荐对接口用例进行结构划分,这样子用例具有更好的可读性和维护性。接口划分原则为以接口提供的功能点的不同进行合适粒度的划分。

同一功能点的用例又可根据测试环境的不同、数据的不同进行用例的填充。

4)接口测试用例执行操作非常简单,就是所测接口的调用。

5)预期结果验证,

这也是接口用例设计的很关键的一步,应该细而不冗余。所谓细,用例中应详细列出应该验证的点。

每个用例均需验证,不要因为前几个用例有验证就认为全部是正确的。避免一个用例中重复做相同的验证,提高测试用例的效率。

当今在测试领域,接⼝测试已经越来越多的被提及,被重视。

区别于传统意义上的系统级别测试,很多测试⼈员在接触到接⼝测试的时候,也许对测试执⾏还可以⽐较顺利的上⼿,但⼀提到相关的归档,⽐如测试⽤例和报告,就有些不知所措了。

今天就送你们一套实用的接口测试用例模板,

如何设计接口测试用例?(文末送接口测试用例模板)相关推荐

  1. Vue.js 官方团队成员霍春阳新作,深入解析 Vue.js 设计细节【文末送书】

    霍春阳(Hcy),Vue.js 官方团队成员.专注于 Web 研发领域,是 Vue.js 3 的核心贡献者之一,Vue.js 文档生成工具 Vuese 的作者,技术社区活跃者,曾撰写大量颇受好评的技术 ...

  2. 为什么PRD写的Low?你看图文、支付、数据、登录、按钮……藏了多少猫腻!(文末送44页淘宝PRD)...

    ‍ ‍ 全文3.1千字 文末送44页淘宝PRD实例 产品界面设计往往都是所见即所有,比葫芦画瓢即可. 但是产品经理很快就把原型画出完了,却在UI设计或开发的时候就常常被拉去澄清细节. "甩手 ...

  3. 【iToday】涵盖100+技术网站的一站式资讯平台 | 文末送书

    里面包含了上百个IT网站,欢迎大家访问:http://itoday.top/#/ iToday,打开信息的新时代.作为一家创新的IT数字媒体平台,iToday致力于为用户提供最新.最全面的IT资讯和内 ...

  4. 文末送书 | 数据分析简单入门

    这是小小本周的最后一篇,本周重点!文末送书, 我是小小,下面是本期文章,为您奉上! 前言 本实例将会以一个完整的例子用来阐述一个较为简单的Python数据分析.其中Python基础部分不再讲解 构建数 ...

  5. 性能无敌的HikariCP数据库连接池实战(文末送书)

    导读:数据库连接池在Java数据库相关中间件产品群中,应该算是底层最基础的一类产品,作为企业应用开发必不可少的组件,无数天才们为我们贡献了一个又一个的优秀产品,它们有的随时代发展,功成身退,有的则还在 ...

  6. 如何让Join跑的更快?(文末送书)

    JOIN 一直是数据库性能优化的老大难问题,本来挺快的查询,一旦涉及了几个 JOIN,性能就会陡降.而且,参与 JOIN 的表越大越多,性能就越难提上来. 其实,让 JOIN 跑得快的关键是要对 JO ...

  7. 【文末送书】豆瓣9.3,这部神作终于出新版了!

    不久前,自称"业余up主"的AI大神李沐开源了一个剪辑神器 ,再圈一波技术粉! 图1:该项目在github上的页面展示 事实上,这位up主可并不业余,反而是妥妥的AI界卓越先驱.对 ...

  8. 真实的上海IT圈:张江男vs漕河泾男(文末送书)

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 人生难得几回搏,此时不搏待何时. ...

  9. 程序员常用工具集合(建议收藏)--文末送书

    点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐] 面试题一:跳槽涨薪季面试题之java基础(一) 面试题二:跳槽涨薪季面试题之java8特性(二)--文末送书 面试题三:跳槽涨薪季面试题之 ...

  10. 媳妇居然在家偷偷背着我偷看我的面试笔记,一个月后拿下大厂offer!(文末送书)...

    知乎热议: 到底要掌握哪些技术才能顺利的找一份20K的工作? 根据这些年的工作经验,加上网络搜集,我特意整理了一套针对职场进阶的干货! 有很多朋友靠着这些内容进行复习拿到了BATJ等大厂的offer, ...

最新文章

  1. python del函数_python del函数是什么以及如何使用?
  2. OTA整包的制作流程(未完)
  3. 使用什么优化器_优化器怎么选?一文教你选择适合不同ML项目的优化器
  4. 跑赢A股95%的公司,半年大涨115%!明年的海尔智家更令人期待!
  5. python 线程间通信之Condition, Queue
  6. java做爬虫和python做爬虫_为什么常用Python,Java做爬虫,而不是C#C++等?
  7. Java的一些基础知识深入
  8. java自定义annotation_Java自定义annotation | 学步园
  9. 如何设置Mac允许远程电脑SSH登录?
  10. 01web前端笔试试题
  11. 软件测试工程师面试如何做好自我介绍?月薪30k大鸟教你回答
  12. h2o java_java – 在h2o中加载大于内存大小的数据
  13. Ubuntu16.04下cuda9.0+cudnn7.0安装指南
  14. 暧昧散场,穿过你的黑发我的手968
  15. 还在担心零基础绘画?这篇文章让你少走弯路!
  16. 时间--cd //lastyear
  17. ubuntu16.04修改DNS永久生效
  18. #深入分析# pandas中使用 drop 和 del删除列数据的区别
  19. 指纹识别的原理与优势
  20. HDU - 7125 Master of Shuangpin

热门文章

  1. yuv420转yuv422(yuyv)
  2. 使用Zoiper与freeSWITCH开视频会议
  3. 华为手机升级回退_华为手机版本回退 - 卡饭网
  4. python分词、词频统计以及根据词频绘制词云
  5. bo耳机h5使用说明_五分钟了解Bamp;O耳机音箱能不能买
  6. nrf52840烧录配置(协议栈+APP)
  7. Kubernetes tutorial - K8S 官方入门教程 中文翻译
  8. 前端实现在线预览pdf、word、xls、ppt等文件
  9. 用 Python 硬核从头实现一个神经网络
  10. python 爬虫例子及总结(详细理解注释)