史上最细,接口测试+性能测试总结,一篇概全...


前言

1、接口测试篇

1)接口测试是怎么做的?

我以下单这个接口说下吧:下单这个接口用的是http协议,使用post请求方式,发送给服务器的参数有token,产品ID,购买数量,收货人地址等等,这些参数都是必传的参数。

我们是使用Jmeter来做接口测试的,首先,要新建一个线程组,在线程组下面添加一个http的请求,然后填写好服务器地址,接口路径,请求方式,请求参数。

由于下单的接口依赖于等于,所以我们会先调用登录接口,从中获取token值,在下单接口中使用${参数名}的方式引用,接下来还要对其他参数进行参数化,构造各种正常和异常的数据,我们先在本地创建一个txt文档,把参数填写到文档里面。

在Jmeter中添加一个csv文件设置,填写好txt文档的路径,然后在请求参数中使用Json提取器把token值关联出来,然后在下单接口中使用${参数名}的方式引用;接下来添加断言,检查服务器返回的结果和预期结果是不是一致的。最后,添加查看结果树查看测试结果。

2)什么时候会用到使用Fiddler

做安全测试,检测敏感信息是否加密,拦截篡改数据;
当测试时发现缺陷,用fiddler抓包,定位该问题是前端还是后台的问题;
模拟弱网环境;
统计单个功能的响应时间。

3)Fiddler怎么拦截篡改数据

就拿下单来说吧,点击下单之前,先启动Fiddler,按F11打断点,将请求拦截下来,然后在fiddler中,对拦截下来的请求,修改其中的数据,比如将价格或者商品数量进行修改

修改完成后,关闭拦截,继续请求的发送即可。

4)Fiddler怎么模拟弱网测试

点击规则–>自定义规则,打开fiddler的脚本编辑器,找到simulateModem
设置上传和下载的延时速度
点击规则–>性能,选模拟带宽

5)fiddler如何模拟2g/3G的网络

2G一般上行/下行速率约为:2.7、9.6kbs,模拟设置为:uploaded 约 2962 ms,downloaded 约 833 ms;(弱网一般指2G网络)

3G一般上行/下行速率约为:384、2560kbs,设置为:uploaded 约 2.6 ms,downloaded 约 0.39 ms;

6)在进行接口的自动化测试,如果遇到token校验,怎么处理的?

首先需要获取token,获取token的整个思路为:
先进行登录
登录成功后
获取token
把获取的token当作下一个接口的请求参数

上面这个题目可以这样延伸:有一个接口A,发送给服务器的数据需要从接口B中获取,怎样对A接口进行测试?
参考答案:

在A接口前面添加接口B,在B接口中添加Json提取器,把A接口需要用到的数据关联出来,保存到参数中;

在A接口中使用${参数名}的方式进行引用。

7)Jmeter的断言怎么做?

选中需要断言的请求,右键,选择响应断言,在响应断言输入框中添加要断言的值;

如果这个接口有多个请求数据,针对每个请求数据服务器返回数据都不一样的,这时候,我们就要把断言的值进行参数化。

步骤是:现在本地添加一个txt文档,把参数化的值写入文档里面,然后再在jmeter选中需要断言的请求,右键,添加CSV文件设置,把刚才编辑好的txt文档添加进来,在响应断言输入框中使用${字段名}的方式来引用参数的值。

8)接口出错了怎么办?

首先,我会先检查一下请求参数啊,还有其他的填入的数据是否有问题,如果这些都没问题,我会ping一下网络,看网络通不通,如果网络也没问题的话,我会去看看系统服务器有没有启动,如果服务器也没问题的话,那可能就要发给开发定位一下了。

9)接口测试用例怎么写?

我们每个版本都会有四五个接口需求,有的是新增的接口,有的是原来的接口做了一些调整。

我们会查看这些接口有哪些参数,每个参数有什么约束条件,加密方式是什么,正常和异常的响应信息有哪些,然后编写测试用例来覆盖这些需求,一个版本下来大概有五六十条接口测试用例。

10)能说一下第三方支付接口的流程吗?

首先用户下订单,网站后台就会生成一个支付请求发送到第三方支付平台;

支付平台收到请求后会直接发送响应给用户,展示金额等,并且要求用户输入账号密码,用户输入信息直接发送到第三方平台;

付款成功后第三方平台会返回支付结果给到网站后台和用户;后台收到付款成功信息后就会生成付款成功的订单信息发给用户;
大概的流程就是这样。

11)Fiddler怎么抓手机app的包?

手机与fiddler所在的电脑连接到同一网络;
在fiddler设置监听端口,并允许远程终端连接;
在手机上填写代理服务器的地址和端口。

12)接口的加密如何处理?

一般来说的话加密都是开发那边会给到加密的文档或者脚本给到我们,我们将参数进行加密后,然后再在Jmeter中填写。

2、性能测试篇

1)性能测试怎么做的?

做性能需求分析,挑选了用户使用最频繁的功能来做性能测试,比如:登陆,打开系统首页,搜索,提交订单,确定性能指标,比如:事务通过率为100%,90%的事务响应时间不超过3秒,CPU和内存的使用率为70%以下。

搭建性能测试环境,准备好性能测试数据。
使用Jmeter开发优化脚本,包括:参数化,断言,关联等。

设计性能测试场景,我们这个项目做了单用户单功能循环200次的基准测试,然后使用1500个用户,执行30分钟的负载测试,看系统有没有性能瓶颈;

我们搭建了分布式压力测试环境进行测试,每台压力机并发500个用户,并监控linux服务器的CPU,内存,IO。

分析性能测试结果,如果有性能瓶颈,收集相关的日志提单给开发修改。
开发修改好后,回归性能测试,然后输出性能测试报告。

2)如何确定系统能够承载的最大用户数?

通过负载测试,不断增加用户数,随着用户数的增加,各项性能指标也会相应产生变化,当出现了性能拐点,比如,当用户数达到某个数量级时,响应时间突然增长,那么这个拐点处对应的用户数就是系统能承载的最大用户数。

3)系统哪些地方(哪些功能)做了性能测试?

我们选用了用户使用最频繁的功能来做性能测试,比如:登陆,打开系统首页,搜索,提交订单。

4)怎样分析性能测试结果?

查看聚合报告和服务器的资源使用图,检查响应时间,事务成功率,CPU,内存和IO使用率是否达到要求,如果出错率达到了总请求数的3%,我们会检查是什么原因导致的,修改好后,重新测试;

如果出现了性能瓶颈,比如响应时间,或者CPU使用率不达标,我们会从服务器上导出日志,分析是哪个地方导致响应时间过长,如果分析不出来,就叫上开发一起讨论,确定问题后,就提单给开发修复,修复好了就进行回归测试。

5)如何判断网络是否存在瓶颈?

在性能测试结束之后,我们会根据性能测试的结果,查看在整个性能测试过程中,网络的吞吐量是多少,如果网络的吞吐量占到了服务器的70%以上,我们就认为网络存在瓶颈,通常会增加带宽或者压缩传输数据。

6)响应时间不达标?

响应时间不达标的话,我们会根据性能测试结果先检查看下是否是服务器带宽存在问题,如果带宽存在瓶颈,则会考虑增加带宽或者压缩传输数据,如果带宽没有问题的话,我们会从服务器上导出日志,开发一起讨论分析是哪个地方导致响应时间过长,确定问题后,就提单给开发修复,修复好了就进行回归测试。

7)CPU使用率不达标?

CPU使用率不达标,我们会从服务器上导出日志,分析是哪个地方导致CPU使用率不达标,如果分析不出来,就叫上开发一起讨论,确定问题后,就提单给开发修复,修复好了就进行回归测试。

8)性能测试需求哪里来的?

需求文档上有的,不过有时候不太合理,我们可能需要和BA进行讨论。

比如,我之前做了一个公司内部用的OA系统的性能测试时,要求并发用户200人,我们整个公司都没有100人,很明显,做200人并发是没有必要的,后来,我们只做了50人并发。

9)有验证码的功能,怎么做性能测试?

将验证码暂时屏蔽,完成性能测试后,再恢复。注意:屏蔽验证码是不会给性能测试的结果带来影响的。

使用一个万能的验证码。

10)性能测试指标有哪些?

平均事务响应时间,90%的事务响应时间,TPS,CPU、内存

接口测试项目实战

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

人生最动人的风景,往往藏在最难攀爬的高处。当你觉得力竭时,请记住:每一次坚持都在雕刻更强大的自己。别问路有多远,只管迈步向前;别怕山有多高,向上攀登就是答案!

你体内沉睡着改变世界的力量!每个清晨都是改写命运的新机会,每次挫折都是精心包装的礼物。当全世界都在说"不可能"时,正是你证明"可能"的最好时机!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值