如何提高接口测试覆盖率?
接口测试是测试系统组件间接口的一种测试。
接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。
测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
接口测试该如何提高测试的覆盖率呢?
一般需要关注以下几点:
输入、输出、逻辑处理、数据库、安全性、性能、接口超时、兼容性。
1.输入
输入,接口的入参,一般使用等价类和边界值设计用例。需要考虑输入的正常与异常情况,其中异常包括有参数异常以及数据异常。
正常的入参
根据接口设计文档的入参标准,输入正常的参数,接口按接口设计文档的描述,得到正常的响应返回。
参数异常
参数异常包括:
1.参数为空
2.多参
3.少参
4.错误的参数
数据异常
1.数据异常包括:
2.数据类型错误
3.长度不符合设计
4.非空参数为空
5.特殊字符或敏感字符
6.不在字典(接口设计)范围内的数据
7.非法参数(非常规参数的处理,如号码、邮箱的判断机制)
8.存在关联关系的参数数据异常
2.输出
在考虑接口异常时,不一定能覆盖所有错误码,可以通过接口定义返回的错误码补充异常情况的用例。如:
1.网络异常
2.无效的规则
3.无效的参数
4.无效的业务ID
5.无效的任务
6.服务器异常
利用错误码补充用例,可以发现前后端输出是否正常,敏感信息处理机制,及提示信息是否符合规范等。
3.逻辑处理
接口测试一般会提供接口设计文档,另外还应获取或整理业务流程图,针对业务流程中的处理逻辑,结合接口的输入限制、业务状态等进行测试点的考虑。
限制条件
1.数值限制:字典,等级,行业相关限制,金额限制,分数限制等
2.状态限制:在线或离线,是否开通服务等
3.关系限制:如账号与个人信息的绑定
4.权限限制:三权分立(管理员,操作员,监控员等) , 用户之间的信息隔离等
对象分析
操作的对象是否合法,如对问题账号的转账,冻结用户的登录等。
状态转换的分析
在金融行业中状态转换的分析及处理较为重要,
如商城购物,退款、付款中取消了订单、继续进行订单付款、是否可多次支付、业务流程跳转的状态处理等。
时序分析
时序分析多为针对业务流的处理分析。对于一些复杂活动,比如:
1.办理业务需要进行的流程顺序,其业务流的处理。
2.资料的填写、上传是否只能按顺序进行 ?是否可返回上一步?流程步骤之间的跳转如何处理?
3.资料填写到一半,去办理其他事务或切换窗C I会导致什么情况?
4.数据库
接口在进行数据传输交互时,都需要对数据库进行操作,
因此亦需要关注数据库的以下内容:
1.数据读写是否正常
2.数据存储是否正常(乱码、重复数据等情况)
3.对资源的使用情况(CPU、内存等)
4.对线程的占用、释放情况(读写线程的处理机制等)
5.对数据的处理是否正常(增、删等操作)
5.安全性
对于接口的安全性测试, -般包含以下内容:
1.信息的加密(包括但不限于登录口令、驴身份信息等)
2.传输方式( http/https )
3.接口的鉴权方式
4. sq|注入防范
5.越权访问
6.后续如有安全测试,可能还包括非正常接口的访问、DDoS防护等。
6.性能
接口的性能不佳,会影响用户使用,甚者还会影响业务的正常进行。 在金融行业中更是最为注重的
测试点。
接口的性能主要关注以下几点:
1.最大并发
2.响应时间: 1.平均响应时间2.最大响应时间3. 最小响应时间
3.吞吐量
4.资源使用情况
5.错误率
7.接口超时
接口测试的非正常情况处理包括接口超时,在金融行业中亦是较为注重的测试点,超时处理不当,
可能会引起进程阻塞、逻辑混乱等情况。比如:
1.提交订单后限制多长时间内完成付款,超时则订单无效。
2.网络问题导致的长时间未成功付款等。
8.与历史版本的兼容性分析
如软件系统为迭代发布,则需要考虑对旧版本的接口兼容或接口废弃处理。
需要考虑以下几点:
1.废弃的协议或接口是否已注释,是否已不可使用
2.新、旧接口之间是否兼容
3.旧接口是否会影响新接口的使用
4.接口的更新是否影响其他接口或外部系统的调用
最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几个月时间整理的非常全面的,希望也能帮助到有需要的你!
这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……
如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流,同时我也把上面花几个月整理的资料放里边了,赶快加入吧。
敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。
自学推荐B站视频:
零基础转行软件测试:38天自学完软件测试,拿到了字节的测试岗offer,堪称B站最好的视频!
自动化测试进阶:已上岸华为,涨薪20K,2022最适合自学的python自动化测试教程,自己花16800买的,无偿分享
如何提高接口测试覆盖率?相关推荐
- 如何提高测试用例覆盖率
一.首先测试需求分析要全面. 测试需求分析分两步: 1.测试需求的获取 需求的来源: 显式需求: (1)原始需求说明书 (2)产品规格书 (3)软件需求文档 (4)有无继承性文档 (5)经验库 (6) ...
- 如何提高测试用例覆盖率?阿里测试工程师是这样说的
我们将讨论测试覆盖率的相关问题,以及它如何帮助提高软件质量的. 测试覆盖率概述 测试覆盖率被定义为一种测试技术指标,它表明我们的测试用例是否真正完全覆盖了应用程序代码中的各种可能以及在运行这些测试用例 ...
- 测试用例的设计-提高测试覆盖率
前言 说到测试用例的设计,我想每个有过测试经历的测试工程师都会认为很简单,不就是:按需求或概要设计,得到软件功能划分图,然后据此按每个功能,采用等价类划分.临界值.因果图等方法来设计用例就行了. 但事 ...
- 测试用例设计_如何提高测试覆盖率
前言 说到测试用例的设计,我想每个有过测试经历的测试工程师都会认为很简单,不就是:按需求或概要设计,得到软件功能划分图,然后据此按每个功能,采用等价类划分.临界值.因果图等方法来设计用例就行了. 但事 ...
- 自动化会提高测试覆盖率,那测试覆盖率是什么?
测试覆盖率是什么? 测试覆盖率(test coverage)是2018年公布的计算机科学技术名词,它是测试质量的度量标准之一,告诉我们测试了多少代码.它定义了系统的某些实体,目的是用测试覆盖它们.这是 ...
- python接口测试覆盖率统计_从 jacoco 报告数据分析,python 脚本实现增量覆盖率统计...
jacoco的增量覆盖率报告实现的逻辑和一些个人想法. jacoco报告分析 从jacococli.jar的使用方法可以看到,导出的文件格式有csv,xml,html等多种格式. 进行尝试后,可以看到 ...
- Software Testing - 测试用例设计之如何提高测试覆盖率
分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net 前言 说到测试用例的设计,我想每个有过测试经历的测试 ...
- 测试用例设计——如何提高测试覆盖率
前言 说到测试用例的设计,我想每个有过测试经历的测试工程师都会认为很简单,不就是:按需求或概要设计,得到软件功能划分图,然后据此按每个功能,采用等价类划分.临界值.因果图等方法来设计用例就行了. 但事 ...
- 【测试用例】如何提高测试覆盖率
本文转载于http://www.51testing.com/?4602 说到测试用例的设计,我想每个有过测试经历的测试工程师都会认为很简单,不就是:按需求或概要设计,得到软件功能划分图,然后据此按每个 ...
最新文章
- 用正则表达式作html2RSS服务
- 蓝桥杯——寻找数组中的最大值
- 网络安全逐渐成为程序员的必备技能
- base64_encode() 和 base64_decode() 8bit图片通过网络传输
- Linux驱动学习2
- CenterOS的安装配置(配图解)
- python全栈工程师培训_2018.03《Python3全栈工程师》_技术能力内训
- 真实世界里的钢铁侠-特斯拉汽车创始人埃隆#183;马斯克(Elon Musk)
- linux桌面网络连接是个X,Xbrowser如何运行多个X桌面
- 基于STM32F103的液晶显示电子钟
- 去水印的手机APP哪个好用,怎么一键去水印
- Linux 用户管理及用户权限设置
- MATLAB 车牌识别程序介绍 SVM、神经网络[毕业设计]
- 智能车单车组之平衡控制理论分析篇
- Someone(某位大牛)的自述
- 百度云下载官方免费提速方案
- mysql(Navicat)数据库报错1166
- stata批量读入excel文件,并合并为一个dta文件
- 条形码打印机驱动安装win(内部使用)
- TDA4VM/VH 芯片 NAVSS0
热门文章
- redhat安装gcc
- 型男索女俊男美女 说法大搜罗
- 定期“肌断食” 让肌肤的完美升级
- 嵌入式课程设计linux,嵌入式系统课程设计--基于U盘的linux操作系统的构建
- 群晖服务器删除文件后不见可用空间增大的,查询群晖NAS硬盘空间占用情况,解决删除文件空间不增加问题...
- 如何利用python刷微博粉丝最多的明星_新手用微博,如何迅速增大粉丝数量?
- 2021-07-17 以太网-网络电缆被拔出解决方法
- (二)、Apache doris编译
- 支付宝开发 ——第三方支付
- 在危机中乘风破浪,砥砺前行