天天看点

一个例子让大家搞懂性能测试核心知识点——事务和请求的关系

作者:测试开发Kevin
一个例子让大家搞懂性能测试核心知识点——事务和请求的关系

绝大多数刚刚入门性能测试的小伙伴都分不清事务和具体请求的关系,那么今天我就用一个登录的实例让大家彻底理解二者的区别!话不多说直接上例子!

录制登录系统过程

我们以通过ldap方式登录Metersphere为例(这里只是举一个系统登录的例子,没有使用过Metersphere的小伙伴也不用担心)

一个例子让大家搞懂性能测试核心知识点——事务和请求的关系

使用JMeter进行系统登录的录制操作,详情请参考文章:

https://blog.csdn.net/liwenxiang629/article/details/131394030

一个例子让大家搞懂性能测试核心知识点——事务和请求的关系

录制脚本如下:

一个例子让大家搞懂性能测试核心知识点——事务和请求的关系

我们check这些录制的接口,不难看出与ldap登录相关的接口其实只有一个,如下图:

一个例子让大家搞懂性能测试核心知识点——事务和请求的关系

我们只是登录,为什么会录制出这么多的请求呢?很简单,就是在页面中进行登录这一个动作,实质上调用了后端很多请求!

后面的其他请求又都是什么呢?我们以其中的一个请求metersphere/project/list/related-490 为例进行分析,显然这个请求获取了userid 和workspaceId。

一个例子让大家搞懂性能测试核心知识点——事务和请求的关系

最后划重点

看到这里 我们就可以理解了:metersphere/project/list/related-490 是一个接口,但不是登录接口!是登录成功后,需要获取信息的接口,这个接口获取的数据会显示在登录页面中。

如果我们只想测试登录接口的性能,我们只需要测试接口metersphere/ldap/signin-483 就可以了;

那么如果我们要测试系统的登录性能,需要测试录制的所有接口!因为这里的登录性能是一个事务的概念!在使用Jmeter时,我们可以把所有的请求都放在一个Transaction Controller中,这样在统计的时候就会记录这个Transaction的整体耗时以及处理能力。

于是请大家记住下面这个结论,重要的事情说三遍!

一个事务中包括多个请求(即接口)!

一个事务中包括多个请求(即接口)!

一个事务中包括多个请求(即接口)!

看到这里,相信大家这次一定会理解事务和具体请求二者之间的关系了吧!我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!