| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 如何做接口测试 -> 正文阅读 |
|
[开发测试]如何做接口测试 |
什么是接口测试接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。 可以简单的理解为接口就是URL,URL通过Get或者Post请求像服务器发送一些东西,然后得到一些相应的返回值,本质就是数据的传输与接收。 为什么要做接口测试①越早发现越底层的bug,修复成本越低 ②若前端页面修改,接口测试完成,后端不受影响不用重复去测试接口 ③测试接口可以发现一些,页面无法发现的Bug。例如,登录接口有错误登录次数限制,错误次数大于3次则禁止登录,通常前端会在错误次数达到限制时,置灰登录按钮,无法进行点击,仅通过页面去测试就会认为功能是正常的。这种情况下调用登录接口,可以绕过前端无法点击“登录”按钮的限制,通过UI、接口共同来验证功能是否满足需求。 ④能够更好的进行测试覆盖,也相对容易实现自动化持续集成,可以减少人工回归成本与时间,缩短测试周期 请求结构1.请求协议
2.请求IP,就是指提供接口的系统所部署的服务器地址 3.请求端口:如果不填端口,默认是80,否则需要填写端口号 4.接口路径:指系统提供的接口在什么位置 5.接口参数:Get请求,参数在接口路径后,用“?”来表示路径地址完了,剩下的都是参数了,用“&”来区分参数个数。Post请求,参数存放在请求数据包的消息体中。 6.HTTP请求详解
????????请求头包含许多有关的客户端环境和请求正文的有用信息。例如,请求头可以声明浏览器所用的语言,请求正文的长度。
????????请求体就是请求等正文了,可以有很多种请求体,如json格式、xml格式、html格式、二进制格式( 多数用于图片 )、字符串格式
200 OK 303 See Other 304 Not Modified 接口测试前面的基本信息了解后,接口测试就很简单了 1.拿到接口的url地址 2.查看接口是用什么方式发送 3.添加请求头,请求体发送 4.查看返回结果,校验返回结果是否正确 接口的信息来自开发人员提供的接口文档,可以是word或者swagger等形式。 下图所示,就是一个接口调用过程展示,通过查看返回结果,状态码401可以知道接口调用失败了,并且给出了明确的错误信息,该接口需要登录状态才能进行调用。 然后在Header中补充cookie信息再次进行调用,接口调用成功。 testurl和cookie添加到了全局变量中,接口调用时直接引用该变量,当接口较多、参数改变时,就不用每个接口挨着去改了,操作更灵活。 接口测试用例一个接口通常是有输入输出的,输入就是我们常见的入参,输出有时有,有时没有。调用相关接口,接口会执行相关处理逻辑。 接口测试的用例设计,主要从输入和接口处理两方面考虑: 1)针对输入,可按照参数类型进行设计。根据参数的类型,运用等价类、边界法、特殊值、遍历法以及一些特殊字符的输入去考虑 2)针对接口处理,可按照逻辑进行用例设计。如约束条件分析(数值限制、状态限制、关系限制、权限限制等)、操作对象分析(用户A只能查询自己账户的余额,不能查询其他用户的)、状态转换分析、时序分析等 3)针对输出,可根据结果进行分析设计。接口处理正确的结果可能只有一个,但是错误异常返回结果有很多情况很多值。如果知道返回结果有很多种,就可以针对不同结果设计用例。覆盖返回码也是用例设计的一种思路。 接口自动化前面已经说到过接口测试能够更好的进行测试覆盖,也相对容易实现自动化持续集成,对比UI自动化投入小,效益高,下面列举几种接口自动化的实现方式。 1.使用Postman,将被测接口按流程加入到集合中,定期执行。 2.Postman+Newman+Jenkins.?Newman就是命令行版的Postman,它可以使用Postman导出的collection文件直接在命令行运行,把Postman界面化运行的操作用命令行代替。 3.jmeter+ant+jenkins,jmeter不光可以用来测试性能,配合其他工具也能够实现接口自动化,但这种方式配置文件比较麻烦,个人不太推荐 4.成熟的接口测试平台,如Yapi、Metersphere,由专业的团队开发,图形化界面,没有代码也能轻松上手使用。 ?5.自己写代码实现,Python+Request、Python+Django等,需要一定的代码基础 ? ?接口自动化的实现首先要根据自己的技术实力和技术功底来选择,测试人员的第一目标都是保障交付项目的质量,前期可以使用工具来实现,但工具都有局限性,掌握了一门开发语言,就能够结合实际开发属于自己的测试框架,也能够提升自己的竞争力。 |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 22:42:56- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |