接口测试要测试什么?怎么测?我来告诉你
目录
本文主要分为两个部分:
第一部分:
第二部分:
备注:
本文主要分为两个部分:
第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系
第二部分:主要介绍为什么要做接口测试,并简单总结接口持续集成和接口质量评估相关内容。
第一部分:
首先,在做接口测试的过程中,经常有后端开发会问:
- 后端接口都测试什么?怎么测的?
- 后端接口测试一遍 ,前端也测试一遍,是不是重复测试了?
于是,为了向开发解释上述问题,普及基本的测试常识,特意梳理了接口测试的相关内容以及其与前端测试的区别,使开发团队与测试团队在测试这件上达成基本的共识,提高团队协作效率,从而更好的保证产品质量。
python接口自动化测试视频教程:2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1AF411T7qJ/?spm_id_from=333.999.0.0
然后,我们试着回答上面的问题:
问题1.1、后端接口都测试什么?
--回答这个问题,我们可以从接口测试活动内容的角度下手,看一下面这张图,基本反应了当前我们项目后端接口测试的主要内容:
问题1.2、我们怎么做接口测试?
--由于我们项目前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送与接收。工具有很多如:postman、jmeter、soupUI、Java+httpclient等。
问题2、后端接口测试一遍 ,前端也测试一遍,是不是重复测试了?
--回答这个问题,我们可以直接对比接口测试和app端测试活动的内容,如下图为app测试时需要覆盖或考虑内容:
从上面这两张图对比可以看出,两个测试活动中相同的部分有功能测试、边界分析测试和性能测试,其它部分由于各自特性或关注点不同需要进行特殊的测试,在此不做讨论。接下来我们针对以上三部分相同的内容再进行分析:
1、基本功能测试:
由于是针对基本业务功能进行测试,所以这部分是两种测试重合度最高的一块。
2、边界分析测试:
在基本功能测试的基础上考虑输入输出的边界条件,这部分内容也会有重复的部分(比如业务规则的边界)。但是,前端的输入输出很多时候都是提供固守的值让用户选择(如下拉框),在这种情况下测试的边界范围就非常有限。
3、性能测试:
这个比较容易区分,虽然都需要做性能测试,但关注点确大不相同。App端性能主要关注与手机相关的特性,如手机cpu、内存、流量、fps等。而接口性能主要关注接口响应时间、并发、服务端资源的使用情况等。
综论:
1、接口测试和app测试的活动有部分重复的内容,主要集中在业务功能测试方面。除此之外,针对各自特性的测试都不一样,需要分别进行有针对性的测试,才能确保整个产品的质量。
2、接口测试可以关注于服务器逻辑验证,而UI测试可以关注于页面展示逻辑及界面前端与服务器集成验证
python接口自动化测试视频教程:
2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1AF411T7qJ/?spm_id_from=333.999.0.0
第二部分:
1、什么是接口测试?
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
2、为什么要做接口测试?我个人认为有三个原因:
1)、尽早暴露出接口问题,减少返工工作量
2)、自动化接口测试,减少冒烟、回归测试的重复工作
3)、接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。
3、接口测试持续集成:
对接口测试而言,持续集成自动化是核心内容,通过持自动化的手段我们才能做到低成本高收益。目前我们已经实现了接口自动化,主要应用于回归阶段,后续还需要加强自动化的程度,包括但不限于下面的内容:
a) 流程方面:在回归阶段加强接口异常场景的覆盖度,并逐步向系统测试,冒烟测试阶段延伸,最终达到全流程自动化。
b) 结果展示:更加丰富的结果展示、趋势分析,质量统计和分析等
c) 问题定位:报错信息、日志更精准,方便问题复现与定位。
d) 结果校验:加强自动化校验能力,如数据库信息校验。
e) 性能需求:完善性能测试体系,通过自动化的手段监控接口性能指标是否正常。
4、接口测试质量评估标准:
a) 业务功能覆盖是否完整
b) 业务规则覆盖是否完整
c) 参数验证是否达到要求(边界、业务规则)
d) 接口异常场景覆盖是否完整
e) 接口覆盖率是否达到要求
f) 性能指标是否满足要求
g) 安全指标是否满足要求
备注:
问题一:目前有开源的postman、apipost、Yapi、Jmeter等接口测试工具,为什么还要开发接口测试框架呢?
答:对于测试一般接口来说 工具是够用,但工具也有存在几点不足:
1.测试数据不可控制:比如接口返回数据不可控,就无法自动断言接口返回的数据,不能断定是接口程序引起,还是测试数据变化引起的错误,所以需要做一些初始化测试数据。接口工具没有具备初始化测试数据功能,无法做到真正的接口测试自动化。
2.依赖性的。比如定时任务、其他服务依赖、脚本依赖 (工具无法直接操作其他依赖服务)
3.无法测试加密接口。实际项目中,多数接口不是可以随便调用,一般情况无法摸拟和生成加密算法。如时间戳和MDB加密算法,一般接口工具无法摸拟。
4.扩展能力不足。开源的接口测试工具无法实现扩展功能。比如,我们想生成不同格式的测试报告,想将测试报告发送到指定邮箱,又想让接口测试集成到CI中,做持续集成定时任务、接通测试平台、接通飞书、公司内部定制化等。
问题二:接口测试流程
需求分析 -> 用例设计 -> 脚本开发 -> 测试执行 -> 结果分析->持续集成
流程分成以下九步:
第一步:分析出测试需求,并请开发提供接口说明文档;
第二步:从接口说明文档中整理出接口测试用例,里面要包括详细的入参(正常情况,异常情况包括输入参数个数,类型,可选/必选,考虑参数有互斥或关联的情况)和出参数据(符合接口文档需求)以及明确的格式和检查点;
第三步:与开发一起对接口测试用例进行评审;
第四步:准备接口测试用例中的入参数据和出参数据,
第五步:结合整理的execl编写接口自动化测试的业务逻辑代码;
第六步:开始执行接口自动化测试用例;
第七步:执行如有bug,提交至缺陷管理平台;
第八步:开发修改完成后,回归bug,跟踪状态;
第九步:完成后进行自动化持续集成;
python接口自动化测试:
2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1AF411T7qJ/?spm_id_from=333.999.0.0
接口测试要测试什么?怎么测?我来告诉你相关推荐
- 你写的接口都测试吗?测什么?怎么测?
欢迎关注方志朋的博客,回复"666"获面试宝典 来源:https://www.cnblogs.com/puresoul/p/5388586.html 本文主要分为两个部分: 第一部 ...
- 什么是接口测试?测试人员为什么要做接口测试?
前言 我们都知道学习软件测试需要学习很多的东西,那么今天呢笔者想详细的和大家来唠唠接口自动化测试,当然了这篇文章笔者主要讲的是接口测试的理论基础,这都是笔者个人的一些观点整理,要是有什么 不对的地方欢 ...
- 接口测试要测试什么?
一. 什么是接口测试?为什么要做接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过 ...
- 菲尔人格测试今天你测了吗?
菲尔人格的十项测试题,"菲尔人格测试"今天你测了吗?,很多公司面试必出题目之一,在娱乐之余也对自己多一份了解. 一.你何时感觉最好? A早晨 B下午及傍晚 C夜里 二.你走路时 ...
- 从零开始自制实现WebServer(十八)---- 对服务器做最后的压力测试 WebBench压测小工具 项目迎来终章
文章目录 全流程实现博客链接 前引 (十八)---- 对服务器做最后的压力测试 WebBench压测小工具 项目迎来终章 1.正确处理Vmware-Station 处理器设置(初步调试过程) 2.正确 ...
- 笔迹测试软件准确度,笔迹测试可能比测谎仪更可靠
笔迹测试可能比测谎仪更可靠 (2009-11-08 19:08:29) 标签: 杂谈 A study in the Journal of Applied Cognitive Psychology sh ...
- 什么是接口测试及其测试流程
感谢大家的莅临,文章末尾为大家准备了一些福利,需要的可以获取哦. 1 什么是接口测试 接口测试是项目测试的一部分,正如其名,它测试的主要对象是接口,是测试系统组件间接口的一种测试. 百度百科对接口测试 ...
- RDP连通测试(拨测)
RDP连通测试(拨测) 命令 使用xfreerdp命令可以进行连通测试,具体命令如下: xfreerdp /cert-ignore /v:ip:3389 /u:username /p:passwd + ...
- 测试英雄的软件在哪里,王者荣耀测试:让你的潜意识告诉你适合玩哪个英雄
你适合玩哪些英雄,做个测试便知.请用你的第一反应回答以下问题: ①你打游戏的时候有耐心么? A.有(→第②题) B.没有(→第③题) ②有一个敌人在眼前你会? A.冲,杀(→第③题) B.等队友(→第 ...
最新文章
- 开源大数据周刊-第11期
- 官方抓虫,PyTorch 新版本修复 13 项 Bug
- C# EF 基础操作
- 在数据中心利用AI的5个理由
- Java的知识点27——打印子孙级目录和文件的名称、统计文件夹的大小、编码与解码的应用
- 效率极低人群的七大习惯你占了几项?
- adb architecture
- CF741D-Arpa's letter-marked tree and Mehrdad's Dokhtar-kosh paths【树上启发式合并】
- python 程序停止打印日志_停止 Spring Boot 服务的几种优雅姿势
- 信息学奥赛一本通 1942:【08NOIP普及组】ISBN号码 | OpenJudge NOI 1.7 29:ISBN号码 | 洛谷 P1055 [NOIP2008 普及组] ISBN 号码
- 正确评估SQL数据库性能,你必须知道的原理和方法!
- C++中include头文件使用与的区别
- CF984C Finite or not?
- 华为NP课程笔记23-VRRP
- Comparator.comparing排序
- Windows下批量查找文件
- 管理学原理试题及答案
- 按键android手机排行榜,【直板全键盘手机推荐】直板键盘手机排行榜
- Ubuntu18.04重启后进入图形化界面,鼠标和键盘失灵。(并不是界面卡死哟,因为屏幕上的时间还在走,你看我这个小机灵。)
- 机器学习-回归中的相关度和R平方值
热门文章
- 深入浅出的javascript的正则表达式学习教程
- Linux(Centos 7)yum安装syslog-ng并配置
- 基于javaweb+jsp的宠物店信息管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Bootstrap Ajax)
- potplayer+lavfilter实现双字幕
- java保护程序aal,ACDK白皮书-AAL语言
- 图像质量评价学习笔记01:IQA的基本概念及分类
- 高通设备树架构电磁屏调试
- (三)、从零开始搭建人脸识别服务之大规模人脸识别
- 返回多张图片给前端--base64
- 中国电子学会2021年06月份青少年软件编程Python等级考试试卷三级真题(含答案)