5年经验之谈 —— 接口测试测什么?这篇文章告诉你

接口测试:基本功能
(1)接口协议(基于HTTP、HTTPS、Dubbo实现?)

(2)接口调用方式 (post、get?)

(3)数据的交换

接口参数:请求方传递的数据
接口相应:被请求方返回的数据
(4)接口文档说明:白名单,灰度等

(5)接口规范

(6)接口通用的checklist:

考虑:安全、性能、功能、兼容性、异常
测试接口必须涵盖:功能、冲突测试(多线程并发)、对外部系统影响、兼容、第三方依赖、系统结构、监控
接口测试通用checklist:

接口测试:业务功能
根据需求、设计,按照接口对应服务达到的业务功能做测试

接口测试:安全
权限:
水平越界(a具有了同等级用户b的权限)

垂直越界(a同学只有查看的权限,却能编辑)

sql注入:
【实例】:

查询账号对应的电话号码接口

接口有参数user,如果有sql注入风险,令user=a or 1=1 则可能通过接口获取到所有用户的电话号码:

select phone from user where user=a or 1=1;

敏感信息泄露:手机号、银行卡
接口测试:手段
Postman方式(缺点:case不能保留)

(1)http接口功能测试可用工具

Poster \ Postman:分别是firefox \ chrome的http接口请求工具
Fiddler,charles:http抓包工具
自动化:接口自动化框架,基于Junit(推荐:告别手动测试接口,case文档化,一键回归)
(2)Dubbo接口测试方法

Dubbo命令行:telnet或nc登录

tc平台调试

Dubbo接口调试:3. dev以及beta测试dubbo接口

将dubbo接口封装jsp进行测试

单元测试

自动化

(3)接口性能测试工具

Jmeter:
能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)
Loadrunner:
LoadRunner是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题
LoadRunner 能够对整个企业架构进行测试。

性能测试关注点
QPS(TPS):每秒钟request/事务 数量

并发数:系统同时处理的request/事务数

响应时间: 一般取平均响应时间

吞吐率:单位时间内从服务器返回的字节数

成功率:接口输出断言成功的比例

资源利用率:CPU使用率、内存使用率、网络宽带、磁盘I/O等

总结:
从安全,性能,功能,兼容性,异常几个方面来考虑

1.业务功能测试:正常场景,异常场景

2.业务分析测试:业务规则边界分析,输入输出参数边界分析(对输入输出参数边界值做以下整理)

​接口的响应:响应的状态码,描述;返回内容的检查;对数据库数据的检查

参数的组合测试

异常情况测试:
重复提交 、并发测试、事务测试、分布式测试、环境异常

大数据测试 :同时处理大批量数据的测试,db数量很大时,测试db操作

性能测试:响应时间,并发数,吞吐量,服务端资源使用率如cpu,内存,io,network
安全测试:敏感信息是否加密(前后端数据传输是否加密,日志信息是否加密),sql注入

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

文档获取方式: 

加入我的软件测试交流群:822269834免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

请假条生成器

hnust请假条 湖南科专请假条生成器 https://hnust.rick.icu/new (新版) github仓库地址 https://github.com/rickhqh/hnust_leave_note v2.0 更新 vant和vue重构了整个源码同步hnust新版请假条样式修复了一些bug增加了一些功能和彩蛋 声明 一切开发旨…

3年来,微软 AI 不自觉地泄露了38TB 机密数据

WIZ研究团队最近发现一个超额配置的SAS标志已在GitHub上暴露了近三年。该标志允许访问38TB的大量私人数据。此Azure存储还包含其他机密,例如隐藏在两名微软员工的磁盘备份中的专用SSH密钥。这一发现突显了强有力的数据安全措施的重要性。 发生了什么? W…

IDEA中安装Docker插件实现远程访问Docker

开启远程Docker访问 #修改Docker服务文件,需要先切换到root用户 vim /lib/systemd/system/docker.service #注释掉"ExecStart"这一行,并添加下面这一行信息 ExecStart/usr/bin/dockerd -H fd:// --containerd/run/containerd/containerd.sock…

超聚变服务器关闭超线程CPU的步骤(完整版)

前言: 笨鸟先飞,好记性不如烂笔头。 我们项目都用不到超线程CPU,所以调测设备的时候都需要关掉,最近新设备换成了超聚变的服务器,这篇记录我关闭(超聚变)服务器超线程CPU的方法步骤。 关闭超线程CPU的步骤…

java21中一次启动1000万个虚拟线程要多久?需要多少平台线程?

什么是虚拟线程 虚拟线程是在Java并发领域添加的一个新概念,那么虚拟线程到底是做什么用的呢? 根据JEP中的内容告诉我们,虚拟线程是一种轻量级线程,可以显著地帮助我们减少编写、维护、观察高吞吐量应用程序的工作量。它的实现目…

为什么别人年薪30W+?同样为测试人,“我“的测试之路...

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

Go 上下文 context.Context

Go语言中的上下文(Context)是一种用于在 Goroutines 之间传递取消信号、截止时间和其他请求范围值的标准方式。context 包提供了 Context 类型和一些相关的函数,用于在并发程序中有效地传递上下文信息。 在Go语言中,上下文通常用于…

Minio - 多节点多驱动器安装部署

先决条件 网络互通 MinIO集群中的节点的网络需要互相双向互通。 MinIO API默认端口9000 MinIO console默认端口9001 MinIO强烈建议使用负载均衡器来管理与集群的连接。负载均衡器策略使用“最小连接数”逻辑,因为在部署中任何 MinIO 节点都可以接收、路由或处理…

什么是软件定制开发?|app网站小程序定制

什么是软件定制开发?|app网站小程序定制 软件定制开发是根据客户的特定需求,为其量身定制开发软件解决方案的全过程。与市面上已有的通用软件不同,软件定制开发可以满足客户在业务流程、功能要求、用户界面等方面的个性化需求。 软件定制开发…

Redis链表

前言 链表作为一种常见的数据结构,一般都会内置在很多高级语言中。由于Redis使用的是C语言并没有内置这种数据结构,所以Redis构建了自己的链表实现。 链表在Redis中应用广泛,比如列表建的底层实现之一就是链表。当一个列表键包含了数量比较多…

Python字符串类型

目录 目标 版本 官方文档 书写格式 字符串合并 常用函数 字母转小写(首字母转大写) 字母转小写(适用于在国际化环境中,忽略字母大小写进行比较的场景) 字母转小写(适用于非国际化环境中&#xff0…

JSON 格式的接口测试流程【Eolink Apikit】

在进行JSON格式的接口测试时,需要使用工具发送HTTP请求并获取响应。测试工具可以是单独的测试框架,如 Eolink Apikit。测试人员需要根据接口文档和测试用例编写测试脚本,然后运行测试并分析结果,以确保接口的质量和稳定性。 当我…

数据库mysql详细教学

1024 byte 构成 1 kb 1024 KB > 1MB 1024 MB > 1GB 1024 GB > 1TB 1024 TB > 1PB 内存的数据,断电后会丢失。外存的数据,断电后数据还在~ “持久化” 这样的次,意思就是把数据写到硬盘上。 mysql的第一组基本操作:数…

02_SHELL编程之流程控制和循环语句

课程目标 熟悉流程控制语句基本语法,如if…else… 掌握for循环语句的基本语法结构 掌握while和until循环语句的基本语法结构 ###一、流程控制语句 ####1. 基本语法结构 F: false 假 T: true 真 if [ condition ];thencommandcommand fi ​ [ 条件 ] &&a…

吴恩达《机器学习》8-7:多元分类

在机器学习领域,经常会遇到不止两个类别的分类问题。这时,需要使用多类分类技术。本文将深入探讨多类分类,并结合学习内容中的示例,了解神经网络在解决这类问题时的应用。 一、理解多类分类 多类分类问题是指当目标有多个类别时…

获取微信小程序二维码

可直接通过微信扫描小程序二维码直接进入小程序,可用在分享推广业务。 目录 Curl请求方法 获取小程序token 获取小程序二维码 参数说明 注意 请求结果 Curl请求方法 需要请求微信小程序的API接口,封装好curl请求方法。 代码如下: /*…

LSB隐写+十六进制转字符串

这张图片同样使用的是LSB隐写(即最不显著位隐写) 但是这道题目使用一个小技巧,将flag用十六进制的形式加了一层伪装 LSB隐写 通过StegSolve打开该图片,之后选择Analyse-》data extract来分析图片的LSB隐写 首先先点击选择LSB …

MIB 6.1810实验Xv6 and Unix utilities(3)pingpong

Mit6.S081-实验1-Xv6 and Unix utilities-pingpong问题_Isana_Yashiro的博客-CSDN博客 Write a user-level program that uses xv6 system calls to ping-pong a byte between two processes over a pair of pipes, one for each direction. The parent should send a byte to…

【精选】JavaScript语法大合集【附代码和超详细介绍以及使用】

JavaScript语法大合集 JavaScript引入到文件 嵌入到HTML文件中 <body><script>var num10;console.log(num);</script> </body>引入本地独立JS文件 <body><script src"./hello.js"></script> </body>引入网络来源…

nodejs spawn

Node.js 的子进程 (child_process) 模块下有一 spawn 函数&#xff0c;可以用于调用系统上的命令&#xff0c;如在 Linux, macOS 等系统上&#xff0c;我们可以执行如下代码来调用通用的 npm 命令。 const spawn require(child_process).spawn; spawn(npm, {stdio: inherit …
最新文章