如何提高接口测试覆盖率?

news2024/11/14 4:05:48

接口测试是测试系统组件间接口的一种测试。

接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。

测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

接口测试该如何提高测试的覆盖率呢?

一般需要关注以下几点:

输入、输出、逻辑处理、数据库、安全性、性能、接口超时、兼容性。

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.接口的更新是否影响其他接口或外部系统的调用


              【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】


一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战


四、App自动化项目实战

五、一线大厂简历


六、测试开发DevOps体系

七、常用自动化测试工具


八、JMeter性能测试

九、总结(尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!

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

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

相关文章

PCL点云处理之最小二乘空间直线拟合(3D) (二百零二)

PCL点云处理之最小二乘空间直线拟合(3D) (二百零二) 一、算法简介二、实现代码三、效果展示一、算法简介 对于空间中的这样一组点:大致呈直线分布,散乱分布在直线左右, 我们可采用最小二乘方法拟合直线,更进一步地,可以通过点到直线的投影,最终得到一组严格呈直线分布…

软件测试一周面试十家公司,分享面试经历

从开始面试讲起,公司规模我分成5类:创业公司0-20人,小型公司20-40人,中小型50-99,中型公司100-499即将上市的那种,已上市公司100-499。 创业公司 第一个面试的那家创业公司特别坑,开始面试&am…

4年测试“我“该何去何从?测试还是测试开发?

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 4年测试&#xff…

秋招备战笔试Day2

目录 单选 1.A 派生出子类 B , B 派生出子类 C ,并且在 java 源代码有如下声明: 2.下面代码将输出什么内容:() 3.阅读如下代码。 请问,对语句行 test.hello(). 描述正确的有(&…

vlan access, trunk, hybrid (tagged/untagged) 笔记

vlan 接口和配置 PVID(port vlan ID) 定义 pvid 主要目的: 当交换机接口收到没有 vlan tag 标签的包时,接口会将定义的 pvid 作为当前包的 vlan id。当对映 pvid vlan 的包,通过当前交换机接口发出时,接…

ADSelfService Plus:保护密码安全的最佳解决方案

密码安全是当今数字时代中至关重要的话题。随着互联网和信息技术的迅速发展,我们的生活变得越来越数字化,密码已成为我们生活中不可或缺的一部分。然而,随着各种网络威胁和黑客攻击不断增加,保护我们的密码变得越来越重要。 密码安…

测试工程师刚入职如何快速熟悉需求并输出测试用例?

刚入职第一天,早上办完入职,下午就就分配了测试任务,2个模块13条短信验证,2天内输出测试用例(xmind输出功能点,excel书写业务流)。测试负责人给我们快速讲了一下业务,在这过程中大概…

openssl/bn.h: No such file or directory

报错截图 解决方法 ubuntu apt install libssl-dev -y centos yum install openssl-devel -y

echarts实现多层环图(复制粘贴即可)

data里面参数配置: // 多重环图optionCircle: {tooltip: {show: false,trigger: item,formatter: "{a} : {c} ({d}%)"},color: [#3AB1EB, #D48B6A, #5B41C8, #FE7E02],legend: {orient: horizontal,itemWidth: 30, // 图例标记的图形宽度。itemHeight…

从产品和运营的角度聊聊,如何有效吸引与引导用户注册转化?

从产品和运营的角度聊聊 如何有效吸引与引导用户注册转化? 正文共:4360字 23图 预计阅读时间:11分钟 1 如何进行改版,找找思路? 前段时间在做公司的网站改版策划,此前接触的都是一些ToB的解决方案提供商…

Jmeter脚本录制:抓取IOS手机请求包

现在移动端的项目越来越多,今天给大家介绍一下,在IOS下Jmeter如何抓包。 1、电脑连上wifi 2、Jmeter中配置“HTTP代理服务器” 1)启动Jmeter;2)“测试计划”中添加“线程组”;3)“测试计划”中添加“HTTP代理服务器”&#xff…

【算法很美】多维数组和字符串篇打卡(第三天)

文章目录 子矩阵的最大累加和整体代码 矩阵运算-乘法整体代码 检测字符串是否有重复字符整体代码 反转字符串整体代码 变形词整体代码 替换字符串中的空格整体代码 子矩阵的最大累加和 整体代码 package 每日算法学习打卡.算法打卡.七月份.七月三十一号;import java.util.Arra…

nginx配置访问本机文件夹里的静态资源404

在nginx中配置了location访问一直404 location /web/user/ { alias /home/user/wlds/user/;index index.html;try_files $uri $uri/ /index.html 404;} 看日志发现Permission denied 因为是直接使用的yum安装的二进制包nginx,nginx.conf文件首行是user nginx;所以没…

【DRAM存储器三】内存颗粒内部结构

👉个人主页:highman110 👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 参考资料:《镁光DDR4数据手册》 目录 DDR4颗粒的内部结构 …

[SSM]Spring6整合JUnit5与集成MyBatis3.5

目录 十七、Spring6整合JUnit5 17.1Spring对JUnit4的支持 17.2Spring对JUnit5的支持 十八、Spring6集成MyBatis3.5 18.1实现步骤 18.2具体实现 18.3spring配置文件的import 十七、Spring6整合JUnit5 17.1Spring对JUnit4的支持 准备工作&#xff1a; <dependencies&…

python——案例四:判断字符串中的元素组成

案例四&#xff1a;判断字符串中的元素组成str"Hello World! 666" print(str.isalnum()) #判读所有的字符都是数字或者是字母 print(str.isalpha()) #判读所有的字符都是字母 print(str.isdigit()) #判读所有的字符都是数字 print(str.islower()) #判读所有的字符都是…

从 0 到 1!得物如何打造通用大模型训练和推理平台

1.背景 近期&#xff0c;GPT 大模型的发布给自然语言处理&#xff08;NLP&#xff09;领域带来了令人震撼的体验。随着这一事件的发生&#xff0c;一系列开源大模型也迅速崛起。依据一些评估机构的评估&#xff0c;这些开源模型大模型的表现也相当不错。一些大模型的评测情况可…

【Linux取经路】进度条小程序

文章目录 一、预备知识1.1 回车换行1.2 缓冲区 二、倒计时2.1 注意事项 三、进度条3.1 源代码3.2 代码分析3.2 实际使用场景 一、预备知识 1.1 回车换行 一般意义上的回车换行是两个独立的独立的动作&#xff0c;而C语言中的\n则同时完成了回车和换行的工作。回车是将光标移动…

接口压测实践——压力测试常见参数解释说明

使用场景​ 对指定接口进行性能测试时&#xff0c;一些常见参数解释说明。 一键并发​ 可以通过下载最新版的 Apipost 客户端实现单接口的高性能一键并发压测&#xff0c;如下图所示 注意&#xff1a;请勿设置太大的并发量或者循环次数&#xff0c;这有可能导致直接将被压服…