接口自动化用例怎么写?怎样设计?

2023-11-04

一、前言

在开始接口测试之前,我们来想一下,如何进行接口测试的准备工作。或者说,接口测试的流程是什么?有些人就很好奇,接口测试要流程干嘛?不就是拿着接口文档直接利用接口测试工具测试嘛

其实,如果只是三五个接口,你可以这么做一个临时的接口测试。但是,如果是上百个接口,或者,你们公司的这个项目,第一次做接口测试,那么,我们还是很有必要严格遵守接口测试的流程

二、接口测试的流程

接口测试也是属于功能测试,所以跟我们以往的功能测试流程并没有太大区别
测试流程依旧是:
1、测试接口文档(需求文档)

2、根据接口文档编写测试用例(用例编写完全可以按照以往规则来编写,例如等价类划分,边界值等设计方法)

3、执行测试,查看不同的参数请求,接口的返回的数据是否达到预期。

请添加图片描述
接口测试和功能测试一样,流程也大致遵守V模型,请看下图 

 

一般来说,接口测试左边的每个阶段,每个公司可能都侧重点不同,例如有些公司就没有需求讨论和需求评审这个阶段。不管如何,用例设计,这个是少不了,而且是重点,要花时间的阶段

只有覆盖全面的接口测试用例,才能有比较好的测试接口覆盖率,才会找出更多的接口的Bug,后期接口才能越稳定

三、为什么要写用例

功能测试用例,大家都写过。接口测试用例,很多人没有写过。在后边后又专门一章关于接口用例和接口报告的模板。在写之前,我们来讨论下,为什么要写接口用例

1、理清思路,避免漏测和重复测

2、提高测试效率

3、跟进测试进度

4、告诉领导做过

5、跟进重复性工作

6、更好的记录问题,发现问题,复现问题

7、同时这也是是接口测试流程中的一个产物(测试用例)

上面七点,结合自己测试实际经验,应该来说是很好理解和认同的。有用例,自己做到心中有数,不要一个测试点重复测好多次,就有思路,避免漏掉测试点。跟着用例测试,避免随机测试那种没有目的性的测试,提高测试效率

有用例,上级问你完成的进度,你好用数据回答

有用例,用来标记你执行的结果,证明你做过测试。避免将来发生问题,人家说你没有测试,有数据和证据说话

有用例,测出问题你可以根据用例将问题轻而易举的浮现出来,不至于等你反馈或者复现的问题时,你忘记是如何操作才回出现问题。接口测试也需要重复跑,跑几轮,或者用自动化天天跑。这样的重复性工作,用例可以保证每次重复做的是一样的情况

四、接口主要设计用例点

主要从四个方面来设计接口用例:功能,逻辑业务,异常,安全

1、功能
1)功能是否正常

2)功能是否按照接口文档实现

举例:

比如文章添加随笔,需要登录才能添加。也就是业务要求不支持游客添加随笔功能,如果设计一个没有登录的用户,然后去测试添加随笔接口,结果接口能添加到随笔,说明功能不正常,不符合需求和接口文档描述

2、逻辑业务
是否依赖业务

举例:该接口调用之前,需要调用登录接口,如果不登录也能请求数据,不符合业务规则

3、异常
参数异常和数据异常

参数异常:关键字参数,参数为空,多,少参数,错误参数

数据异常:关键字数据,数据为空,长度不一致,错误数据

举例:

不管数据异常还是参数异常,测试点差不多,一个参数有key和value,key表示参数,value表示数据

第一,看看参数和数据能不能支持关键字,例如Java中的保留关键字等等

第二个就是参数和数据都为空,看看是否做了判断

第三个,参数多和少,例如有两个参数的接口,你需要设计一个三个参数的用例,一个只有一个参数的用例。数据那边长度不一致,例如设计很长的字符串是否支持,因为数据库创建表过程都设置好了每个字段的长度。输入错误的参数和数据,例如故意输出单词等等

4、安全
安全测试用例设计:

1)cookie:有cookie才能获取数据,如果不带cookie还有信息返回,说明有问题

2)header:正常接口带header信息,删除header看是否能够返回数据

3)唯一识别码:app手机识别码,一般是唯一的

安全测试主要从上面三点检查。第三个是唯一识别码,主要是指app上手机的识别码,一般很少用到,除非很严格的接口测试,例如银行app登录,需要指纹,而指纹来源手机,一般有一个手机识别码判断过程

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

 这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

接口自动化用例怎么写?怎样设计? 的相关文章

  • 软件测试|Python openpyxl库使用指南

    简介 我们之前介绍过 python在自动化办公方面可以大放异彩 因为Python有许多的第三方库 其中有很多库就支持我们对office软件进行操作 熟练的使用Python对office进行操作 可以实现自动化办公 极大提升我们的工作效率 本
  • Python接口自动化测试处理不同接口间参数依赖

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Jmeter 压测-性能调优5大注意

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 软件测试/测试开发/全日制/测试管理丨Python深拷贝与浅拷贝

    深拷贝和浅拷贝是两种不同的拷贝方式 它们在处理可变对象 如列表 字典 时有着不同的行为 以下是深拷贝和浅拷贝的主要区别 1 浅拷贝 Shallow Copy 创建方式 浅拷贝通过复制原始对象 创建一个新对象 但对于原始对象中的可变对象 如列
  • Python自动化操作:简单、有趣、高效!解放你的工作流程!

    今天跟大家分享一套自动化操作流程解决方案 基于 Python语言 涉及 pyautogui pyperclip pythoncom win32com 依赖包 安装命令为 pip install pyautogui pip install p
  • 外包干了3个月,技术退步明显。。。。。

    先说一下自己的情况 本科生 19年通过校招进入广州某软件公司 干了接近4年的功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了2年的女朋友
  • codeblock使用技巧

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 例如 随着人工智能的不断发展 机器学习这门
  • 基于Loadrunner的性能分析及调优经验分享

    公司某个系统的微信端计划将开放给几百上千的人员登录查询 并且登录账号为同一账号多人使用 后台服务能够支撑起多用户的并发操作以及成百上千人登录微信端对生产数据库或者登录查询的性能效率高成为交付可靠生产环境的必要条件 因此 项目组决定提交测试
  • 软件测试|sqlalchemy relationship

    简介 SQLAlchemy是一个流行的Python ORM 对象关系映射 库 它允许我们以面向对象的方式管理数据库 在SQLAlchemy中 relationship 是一个重要的功能 用于建立表之间的关系 在本文中 我们将详细探讨 rel
  • 软件测试|Pydantic处理时间类型数据

    简介 我们之前介绍过使用 pydantic 验证数据 比如校验数据的格式等 但是在我们的日常工作中 还有一种数据是需要我们验证的 比如时间数据 时间数据不同于字符串 列表等数据 与他们的验证不一样 本文就来为大家介绍一下 pydantic
  • 软件测试|使用Python读写yaml文件,你会了吗?

    简介 YAML YAML Ain t Markup Language 是一种可读的数据序列化格式 它常用于配置文件和数据交换 Python 提供了许多库来处理 YAML 文件 在本文中 我们将探讨如何使用 PyYAML 库来读取和写入 YA
  • 软件测试|教你使用Python下载图片

    前言 我一直觉得Windows系统默认的桌面背景不好看 但是自己又没有好的资源可以进行替换 突然我一个朋友提醒了我 网络上的图片这么多 你甚至可以每天换很多个好看的背景 但是如果让我手动去设置的话 我觉得太麻烦了 我不如使用技术手段将图片下
  • 一篇文章带你了解Python常用自动化测试框架——Pytest

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • msyql 异常,别干着急,70%的问题都在这里!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 新手也能看懂的【前端自动化测试入门】

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 程序员找工作难!拿到外包公司的 offer 我应该去么?

    引言 前一阵子有一个帖子引起了非常广泛的讨论 描述的就是一个公司的外包工作人员 加班的时候因为吃了公司给员工准备的零食 被公司的HR当场批评 这个帖子一发出来 让现在测试行业日益新增的外包公司备受关注 那么外包公司和非外包公司有什么样的不一
  • Web自动化测试 —— capability参数配置

    一 capability概述 capability是webdriver支持的标准命令之外的扩展命令 配置信息 配置web驱动属性 如浏览器名称 浏览器平台 结合selenium gird完成分布式 兼容性测试 官网地址 https www
  • 外包干了3个月,技术退步明显。。。。。

    先说一下自己的情况 本科生 20年通过校招进入广州某软件公司 干了接近3年的 功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了3年的功能测试 已经让我变得不思进取 谈了2年的女朋
  • 一文从0到1手把手教学UI自动化测试之数据驱动!

    在UI的自动化测试中 我们需要把测试使用到的数据分离到文件中 如果单纯的写在我们的测试模块里面 不是一个好的设计 所以不管是什么类型的自动化测试 都是需要把数据分离出来的 当然分离到具体的文件里面 文件的形式其实有很多的 这里主要说明JSO
  • 用Python实现高效数据记录!Web自动化技术助你告别重复劳动!

    自动化关键数据记录 简介 关键数据记录是 Web 自动化测试中的关键部分 它们提供了关于系统行为和执行过程的详细信息 有助于验证用例的正确性 排查问题和确保应用程序的质量 行为日志 行为日志是一种用于记录系统或应用程序的操作和事件的技术 它

随机推荐

  • 在Unity中双击打不开vs脚本文件

    从官网下载软件后 创建新项目后 容易漏掉这个设置 导致双击脚本打不开 解决方法 点击找到Edit gt Preferences gt External Tool gt External Script Editor 将对应设置改成你所下载的v
  • 11. TypeScript 条件类型

    TypeScript 条件类型 1 条件类型基本使用 可以使用extends关键字和三元表达式 实现条件判断 interface Fish name1 string interface Water name2 string interfac
  • River Jumping【贪心+模拟】

    题目链接 我们可以贪心的从前往后 每次选最接近的且满足条件的这样的贪心 然后从后往前的时候 就是直接用倒着一个个判断是否合法即可 include
  • 2023百度云智大会:科技与创新的交汇点

    这次的百度云智大会 可谓是亮点云集 发布了包含42个大模型 41个数据集 10个精选应用范式的全新升级千帆大模型平台2 0 发布首个大模型生态伙伴计划 而且也预告了文心大模型4 0的发布 大模型服务的成绩单也非常秀 月活企业数已近万家 覆盖
  • 【已解决】Docker启动失败,报错Cannot connect to the Docker daemon at unix:///var/run/docker.sock.

    报错原因 无法与Docker守护进程建立连接 守护进程负责管理Docker容器和镜像 并提供对Docker API的访问 解决措施 输入以下代码 重启docker服务 service docker start 验证成功 1 输入以下代码 则
  • 如何避免爬虫IP被屏蔽

    各位爬友们好 作为一名专业的爬虫代理提供者 我要和大家分享一些避免爬虫IP被屏蔽的实用技巧 你知道吗 当我们爬取数据的时候 很容易被目标网站识别出来并封禁我们的IP地址 导致无法继续爬取数据 这个问题困扰了很多爬虫程序员 但别担心 今天我就
  • jetbrains IDE设置 phpstorm

    PhpStorm插件 进入 File gt Settings gt Plugins gt Browse repositories 搜索你想要的插件 PHP插件 Symfony Plugin 支持 Symfony 2 3 4 Laravel
  • vue+element-ui el-table组件二次封装实现虚拟滚动,解决数据量大渲染DOM过多而卡顿问题

    一 此功能已集成到TTable组件中 二 最终效果 三 需求 某些页面不做分页时 当数据过多 会导致页面卡顿 甚至卡死 四 虚拟滚动 一 固定一个可视区域的大小并且其大小是不变的 那么要做到性能最大化就需要尽量少地渲染 DOM 元素 而这个
  • stm32电机控制之控制两路直流电机!看完你会了吗

    小车使用的电机是12v供电的直流电机 带编码器反馈 这样就可以采用闭环速度控制 这里电机使用PWM驱动 速度控制框图如下 由以上框图可知 STM32通过定时器模块输出PWM波来控制两个直流电机的转动 通过改变PWM占空比的大小可以改变电机的
  • 【分享】科大讯飞星火认知大模型(初体验)

    前言 哈喽 大家好 我是木易巷 随着人工智能技术的迅猛发展 自然语言处理 NLP 成为了热门话题 在众多NLP模型中 科大讯飞星火认知大模型成为了一个备受瞩目的新秀 今天我们来了解一下这个由科大讯飞公司开发的人工智能模型 内测方法在文末 5
  • 智齿科技:更坚定地迈出“全面国际化”战略步伐

    2月28日 智齿科技召开了以 领航出海 联络世界 为主题的媒体沟通会 近二十家出海媒体 ToB行业媒体代表参与了此次会议 会上 智齿科技联合创始人 CEO徐懿公布了国际化战略实施情况 自2021年底开展国际化战略至今 智齿科技已初步构建了国
  • java异常处理

    1 概念 在我们的程序运行时经常会出现一些操作会使我们的程序无法继续运行下去 用户的非正常输入或者程序本身逻辑上的错误等 这些都会导致我们程序无法继续进行下去 但我们想要这个程序继续执行 就需要进行处理 1 1 在java中 运行时的错误会
  • Qt-QLabel的创建使用和修改属性

    一 QLabel的 创建 方法1 QLabel lable1 new QLabel 默认位置 0 0 lable1 gt setText 这是一个QLabel1 设置文本 lable1 gt setParent this 设置parent
  • 3.基于Arduino的循迹小车

    前言 长期以来一直把arduino看为一款比较弱智简单的单片机 好像事实也是如此 小学生基本不会去学51单片机 但是却在学习arduino单片机 因为相当于傻瓜编程 网上程序一扎一大堆 甚至小学生比有的大学生玩的还溜 arduino使用的是
  • QT的常用的数据类型

    QT的基本数据类型 QT的数据类型其实也是C 的数据类型 两者用法基本一致 因此对照C 的基本数据类型介绍QT的基本类型比较 C vector list hash map QT QVector QList QHash 一 QVector 1
  • Android 组件化 路由跳转(上)

    一 简介 组件化中 每个Module之间的页面跳转是个问题 因为每个Module不可能知道其他Module的Activity路径 所以我们没有办法像普通的工程一样使用Intent方式跳转 那么组件化开发中每个Module之间如何完成页面跳转
  • 【自学指南】Python爬虫的四个水平,你修炼到了哪个层次?

    Python爬虫老生常谈的话题了 像兼职接单 爬取小说电影榜单 商业化的数据收集等 在大数据时代它能用到的地方还是蛮多的 业余玩玩小意思 如果是想要往这方面学精学深 那得下一番功夫了 爬虫能力按层次来分大概也可以分为初级 中级 高级 更高一
  • /proc/modules, /proc/devices, /dev

    http blog csdn net ghostyu article details 8085163 http www cnblogs com wanghetao archive 2012 06 02 2532183 html http b
  • 下载安装Gurobi10.0+如何在jupyterLab中使用(python)

    去年11月 Gurobi发布10 0 版本 将是第一个允许将用户的机器学习模型嵌入到数学规划模型中的商业求解器 在连续问题 整数问题 线性和二次凸问题 二次非凸问题 广义非线性问题等已有领域继续不断提升 以下是平均提升比例 下面主要会整理个
  • 接口自动化用例怎么写?怎样设计?

    一 前言 在开始接口测试之前 我们来想一下 如何进行接口测试的准备工作 或者说 接口测试的流程是什么 有些人就很好奇 接口测试要流程干嘛 不就是拿着接口文档直接利用接口测试工具测试嘛 其实 如果只是三五个接口 你可以这么做一个临时的接口测试