接口测试,负载测试,并发测试,压力测试区别

接口测试

1.定义:接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

2.目的:

更早的发现问题

缩短产品周期

发现更底层的问题

3、方法:

可以通过接口测试工具进行接口测试,查看接口的各种参数,请求头、请求体、响应和响应头是否符合要求规范。接口测试工具--apipost

负载测试

1、定义:

负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试。

2、目的:

检测系统运行的最大上限,使系统能够在最大的压力下可以正常运行。从而获取系统指标。

3、方法:

不断增加请求压力,直到服务器某个资源项达到饱和(比如CPU使用率达到90%+)或某个指标达到安全临界值(比如运维的监控告警阈值or拐点)。系统负载压力包含并发用户数、持续运行时间、数据量等。其中并发用户数是负载压力的重要指标。

并发测试

1、目的:检查系统是否有并发问题,例如内存泄漏、线程锁、资源争用等问题。

2、方法:确定用户并发数,必须知道系统所承载的在线用户数。然后在单位时间内(S)同时发起一定量的请求。

3、确定并发用户数的方法:

例如:公司OA系统账号或者总用户有2000人;最高峰在线500人;但是这500人并不是作为并发用户存在的概念。即并不表示服务器实际承载的压力;有可能40%关注的是首页新闻公告板之类(注意看新闻这个阶段是不能造成服务器的压力);20%用户在查询资料或者操作表格;20%用户在发呆;20%在页面之间跳转;在这种情况下,只有真正20%用户在对服务器造成实质的影响。

我们将这个查询、操作表格作为一个业务范畴来说;直接将这部分业务并发用户称为并发用户数:

1.计算平均并发用户数:C=NL/T

2.并发用户峰值数:C' ≈ C+3根号C

公式(1)中,C是平均的并发用户数;n是login session的数量;L是login session的平均长度;T指考察的时间段长度。

公式(2)则给出了并发用户数峰值的计算方式中,其中,C'指并发用户数的峰值,C就是公式(1)中得到的平均的并发用户数。该公式的得出是假设用户的login session产生符合泊松分布而估算得到的。

假设有一个OA系统,该系统有3000个用户,(可以看注册信息)平均每天大约有400个用户要访问该系统,(日志文件查看)对一个典型用户来说,一天之内用户从登录到退出该系统的平均时间为4小时,在一天的时间内,用户只在8小时内使用该系统。

则根据公式(1)和公式(2),可以得到:

C = 4004/8 = 200

C'≈200+3根号200 = 242

但是一般的做法是把每天访问系统用户数的10%作为平均的并发用户数。最大的并发用户数乘上一个值,2或者3.

假如说用户要求系统每秒最大可以处理100个登陆请求,10/25/50/75/100 个并发用户来执行登陆操作,然后观察系统在不同负载下的响应时间和每秒事务数。如果用户数在100的时候,响应时间还在允许范围呢,就要加大用户数,例如120 等 。个人理解这个用户数就是我们经常说的等价类和边界值法来设定。

压力测试

1、定义:

不断增加并发数量,给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷。

2、目的:

查看系统能够承受的最大并发量是多少,在达到多少并发的时候系统会崩溃。

3、方法:以负载测试或者并发测试为依据,给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
小飞猪Jay5 小时前
C++面试速通宝典——13
jvm·c++·面试
睡觉然后上课10 小时前
c基础面试题
c语言·开发语言·c++·面试
xgq10 小时前
使用File System Access API 直接读写本地文件
前端·javascript·面试
邵泽明12 小时前
面试知识储备-多线程
java·面试·职场和发展
夜流冰14 小时前
工具方法 - 面试中回答问题的技巧
面试·职场和发展
大模型八哥18 小时前
大模型扫盲系列——大模型实用技术介绍(上)
人工智能·程序人生·ai·大模型·llm·llama·ai大模型
杰哥在此20 小时前
Python知识点:如何使用Multiprocessing进行并行任务管理
linux·开发语言·python·面试·编程
GISer_Jing1 天前
【React】增量传输与渲染
前端·javascript·面试
Neituijunsir1 天前
2024.09.22 校招 实习 内推 面经
大数据·人工智能·算法·面试·自动驾驶·汽车·求职招聘
___Dream1 天前
【黑马软件测试三】web功能测试、抓包
前端·功能测试