接口测试之什么是接口文档?

一、为什么要有接口文档?

        没有接口文档的接口测试都是在抓瞎~前面的接口测试重点讲了协议,也讲了fiddler模拟接口请求,估计大部分还是不太懂怎么下手测试。这里小编专门拿出接口文档来做接口测试参考(估计很多测试小伙伴没见过接口文档)。

   举个栗子:前端开发和后端开发口头商量:“成功返回0,失败返回1”。结果最后开发出来,测试MM发现,后端成功返回1,失败返回0。于是两个开发开始撕逼大战,谁都不承认自己的错了。谁都不愿低头去认错,因为空口无凭啊,当初拍脑袋商量的事情,过两天就忘了。为了避免在这种小事上扯皮,浪费不必要的时间,于是就有了接口文档。

白纸黑字写的清清楚楚,测试也有参考性。

二、短信接口需求

     一切功能开发都离不开需求文档,一切测试也离不开需求文档,先看看这个短信接口的需求,如下:
工作方式

  双方通过HTTP方式交互数据,第三方可以简单的“name=value”方式发送提交内容或响应请求内容。即通过HTTP的GET/POST方式交换。
·    另外双方需要保证数据传输的完整性和安全性,每次发送请求都有响应(响应返回格式为纯文本),安全验证目前采用用户名和密码的方式。
字符编码
·    服务器接收数据可以是GBK编码字符,默认接收数据是GBK编码。
·    请求响应返回内容是GBK编码。
响应格式
·    所为响应即每次向服务器提交请求后返回值
·    响应值格式为纯文本状态码,例如发送成功后返回0

三、发送短信接口文档

功能:发送短信
HTTP请求方式:GET/POST
请求URL  http://host:8080/sms/mt.jsp?cpName=用户账号&cpPwd=用户密码&phones=号码&msg=内容

请求参数:

返回结果:

参数名称    类型      描述
返回描述    String    发送成功返回0,如果发送不成功,则返回“ERROR&&对应的错误信息”

请求示例
GET http://host:8080/sms/mt.jsp?cpName=用户账号&cpPwd=用户密码&phones=号码&msg=内容

(注:一般这种提交参数的接口用post方式,虽然get也可以提交,但是比较傻逼,要是遇到开发用get方式提交数据,可以抽他了。)

四、批量发送短信接口文档

功能:批量发送短信
HTTP请求方式:POST
请求URL
http://221.122.112.136:8080/sms/batchmt.jsp?pack=数据包内容
请求参数

请求示例:
POST http://host:8080/sms/batchmt.jsp
请求数据

{
    'cpid':'您的用户名',
    'cppwd':'您的密码',
    'items':[
        {
            'content':'111【软件测试】',
            'phone':'123123212312',
            'extend':'123123',
            'spnumber':'11111'
        },
        {
            'content':'222【软件测试】',
            'phone':'12312312312',
            'extend':'123123',
            'spnumber':'11111'
        }
    ]
}

五、接口标准文档

六、测试方法

输入参数测试:针对输入的参数进行测试,也可以说是假定接口参数数的不正确性进行的测试,确保接口对任意类型的输入都做了相应的处理:
输入参数合法,
输入参数不合法,
输入参数为空,
输入参数为null
输入参数超长

(主要参照接口测试文档)

功能测试

(主要参照需求文档)

异常测试

(模拟各种可能发生的异常场景)

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/130225.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Azure 机器学习 - 使用无代码 AutoML 训练分类模型

了解如何在 Azure 机器学习工作室中使用 Azure 机器学习自动化 ML,通过无代码 AutoML 来训练分类模型。 此分类模型预测某个金融机构的客户是否会认购定期存款产品。 关注TechLead,分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管…

Linux中命令lsattr/chattr

一、介绍 lsattr 命令用于显示文件属性。 用chattr执行改变文件或目录的属性,可执行lsattr指令查询其属性。 二、语法 lsattr: - -a 显示所有文件和目录,包括以"."为名称开头字符的额外内建,现行目录"."与上…

解决 React forwardRef 与 TypeScript 泛型组件冲突的问题

forwardRef是一个可以将组件内的ref对外暴露的高阶组件,当你的组件需要对外暴露元素的Ref,或者想对外暴露某些内部方法,就可以使用这个 (对应vue3的 expose 方法) 但是当forwardRef与TypeScript泛型组件结合时&#xf…

java的线程池

线程池 可以做什么怎么创建 先了解下线程的生命周期 解释: 新建:线程创建但未被启动可运行:线程处于可运行的状态,当该线程有cpu的时间片后就可以执行睡眠:线程进入计时等待,等待一段指定的时间,可以通过wait()方法,sleep方法,join()方法等方式等待:线程进入等待模式,直到其…

Smooth L1 loss |IoU|DIoU|CIoU|EIoU|aIoU|SIoU|wise-IoU的通俗讲解

文章目录 1. L1 Loss、L2 Loss 、Smooth L1 Loss1.1 L1 Loss和 L2 Loss1.2 Smooth L1 Loss1.3 Smooth L1 Loss 在目标检测中存在的缺陷2 IoU loss2.1 IoU原理2.2 IoU 的缺点2.3 代码3.GIoU Loss3.1 GIoU 原理3.2 GIoU loss 的缺点3.3 代码4.DIoU Loss4.1 DIoU的原理4.2 代码5.C…

[CSP-J 2022] 乘方

Description 小文同学刚刚接触了信息学竞赛,有一天她遇到了这样一个题:给定正整数 a 和 b,求 ab 的值是多少。 ab 即 b 个 a 相乘的值,例如 23 即为 3 个 2 相乘,结果为 2228。 “简单!”小文心想&#…

抖音群控软件的作用是什么?

随着智能手机的普及和社交媒体的兴起,抖音成为了人们日常生活中不可或缺的一部分,许多人都通过抖音平台分享自己的生活、展示才艺、开展商业活动等。 然而,要想在抖音上获得更多的关注和收益,需要投入大量的时间和精力&#xff0…

2023下半年北京软考高项-系统架构设计师-考试心得分享

本博文至所有开发人员,一起分享,助力计划软考的所有战士们! 总得一句话:考的内容永远是自己不熟悉的,题目永远是自己没压中的,座位分配永远是无法白票的位置。。。。。。。惨不忍睹~!&#xff…

Elasticsearch集群搭建、数据分片以及位置坐标实现附近的人搜索

集群搭建、数据分片 es使用两种不同的方式来发现对方: 广播单播也可以同时使用两者,但默认的广播,单播需要已知节点列表来完成 一 广播方式 当es实例启动的时候,它发送了广播的ping请求到地址224.2.2.4:54328。而其他的es实例使用同样的集群名称响应了这个请求。 一般这…

【软件逆向】如何逆向Unity3D+il2cpp开发的安卓app【IDA Pro+il2CppDumper+DnSpy+AndroidKiller】

教程背景 课程作业要求使用反编译技术,在游戏中实现无碰撞。正常情况下碰撞后角色死亡,修改为直接穿过物体不死亡。 需要准备的软件 il2CppDumper。DnSpy。IDA Pro。AndroidKiller。 一、使用il2CppDumper导出程序集 将{my_game}.apk后缀修改为{my_…

节能增效:FP做独立站必须知道的黑科技

独立站作为由商家自己运营和管理,拥有完整的商品展示、订单处理等功能。相比于第三方电商平台,独立站的优势在于可以更好地控制产品质量、价格和服务,同时也有利于建立品牌的形象和忠诚度。 因此,对于一些希望形成自己的用户群体…

基于jsp的采购管理系统的分析与实现

物资采购管理系统是针对内部而设计的,应用于的局域网,这样可以使得内部管理更有效的联系起来。企业采购管理系统是将IT技术用于企业采购信息的管理, 它能够收集与存储企业采购的档案信息,提供更新与检索企业采购信息档案的接口;提…

OpenGL ES入门教程(二)之绘制一个平面桌子

OpenGL ES入门教程(二)之绘制一个平面桌子 前言0. OpenGL绘制图形的整体框架概述1. 定义顶点2. 定义着色器3. 加载着色器4. 编译着色器5. 将着色器链接为OpenGL程序对象6. 将着色器需要的数据与拷贝到本地的数组相关联7. 在屏幕上绘制图形8. 让桌子有边框…

【iOS免越狱】利用IOS自动化WebDriverAgent实现自动直播间自动输入

1.目标 由于看直播的时候主播叫我发 666,支持他,我肯定支持他呀,就一直发,可是后来发现太浪费时间了,能不能做一个直播间自动发 666 呢?于是就开始下面的操作。 2.操作环境 iPhone一台 WebDriverAgent …

latex空心小写字母、数字

公式中可用 R \R R、 E \mathbb{E} E 等空心大写字母表示集合、期望等,latex 用 \mathbb 实现。有时想用空心的小写字母(虚数单位,因 i 已用来表示下标)和数字(指示函数用空心 1),此时 \mathbb…

用于 GaN-HEMT 功率器件仿真的 TCAD 方法论

目录 标题:TCAD Methodology for Simulation of GaN-HEMT Power Devices来源:Proceedings of the 26th International Symposium on Power Semiconductor Devices & ICs(14年 ISPSD)GaN-HEMT仿真面临的挑战文章研究了什么文章的创新点文章的研究方法…

asp.net docker-compose添加volume配置

打开docker-compose.override.yml下面添加 volumes:killsb-one-sqldata:external: false 服务下面添加volume配置 volumes:- "./dapr/config/social-client.json:/app/OidcSettings.json" 添加volume配置成功

【LeetCode刷题-队列与栈】--225.用队列实现栈

225.用队列实现栈 class MyStack {Queue<Integer> queue1;Queue<Integer> queue2;public MyStack() {queue1 new LinkedList<Integer>();queue2 new LinkedList<Integer>();}public void push(int x) {queue2.offer(x);while(!queue1.isEmpty()){que…

Docker学习——②

文章目录 1、Docker是什么1.1 Docker本质1.2 Docker的引擎迭代1.3 Docker和虚拟机的区别1.4 Docker 为什么比虚拟机资源利用率高&#xff0c;启动快&#xff1f;1.5 Docker 和 JVM 虚拟化的区别&#xff1f; 2、Docker架构3、Docker生态3.1 新时代软件诉求3.2 Docker 解决方案 …

C#知识总结 基础篇(下)

目录 5类和继承 5.1类继承 5.2访问继承的成员 5.3屏蔽基类的成员 5.4访问基类的成员 5.5虚方法与覆写方法 5.6构造函数的执行顺序 5.7成员访问修饰符 5.8抽象类 5.9密封类与静态类 6.表达式与运算符 6.1运算符和重载 7.结构 7.1结构体的感念。 7.2结构构造函数与…