性能测试实战30讲
高楼
前HP高级性能专家,7DGroup创始人
立即订阅
3617 人已学习
课程目录
已更新 11 讲 / 共 30 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词丨“老板,之前咱TPS是100,我优化完是10000”
免费
第一模块:性能测试基础篇 (6讲)
01丨性能综述:性能测试的概念到底是什么?
02丨性能综述:TPS和响应时间之间是什么关系?
03丨性能综述:怎么理解TPS、QPS、RT、吞吐量这些性能指标?
04丨JMeter和LoadRunner:要知道工具仅仅只是工具
05丨指标关系:你知道并发用户数应该怎么算吗?
06丨倾囊相授:我毕生所学的性能分析思路都在这里了
免费
第二模块:性能测试工具及性能场景篇 (4讲)
07丨性能测试工具:如何录制脚本?
08丨案例: 手把手教你编写最简单的性能脚本
09丨关联和断言:一动一静,核心都是在取数据
10丨案例:在JMeter中如何设置参数化数据?
性能测试实战30讲
登录|注册

09丨关联和断言:一动一静,核心都是在取数据

高楼 2020-01-03
对每一个性能测试工具来说,关联和断言都是应该具备的基本功能。
但是有很多新手对关联的逻辑并不是十分理解,甚至有人觉得关联和参数化是一样的,因为它们用的都是动态的数据,并且关联过来的数据也可以用到参数化中,但不一样的点是,关联的数据后续脚本中会用到,参数化则不会。断言倒是比较容易理解,就是做判断。
那么到底该怎样理解关联和断言呢?下面我们通过两个例子来思考一下。

关联

现在做性能测试的,有很多都是单纯的接口级测试,这样一来,关联就用得更少了。因为接口级的测试是一发一收就结束了,不需要将数据保存下来再发送出去。
那么什么样的数据需要关联呢?满足如下条件的数据都是需要关联的:
数据是由服务器端生成的;
数据在每一次请求时都是动态变化的;
数据在后续的请求中需要再发送出去。
示意图如下:
其实我们可以把关联的功能理解为取服务端返回的某个值。在这样的前提之下,我们可以把它用在很多场景之下。
举个例子,我们常见的 Session ID 就是一个典型的需要关联的数据。它需要在交互过程中标识一个客户端身份,这个身份要在后续的交互中一直存在,否则服务端就不认识这个客户端了。
再比如,我们现在用微服务已经非常多了,在 Spring Boot 中有一个 spring-boot-starter-security,默认会提供一个基于 HTTP Basic 认证的安全防护策略。它在登录时会产生一个 CSRF(Cross-Site Request Forgery)值,这个值典型地处于动态变化中。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《性能测试实战30讲》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(5)

  • @zzw

    思考题:联和断言的逻辑是什么吗?它们取数据的特点又是什么呢?

    关联:取出前序调用返回结果中的某些动态值,传递给后续的调用。最常见的是唯一标识客户端的「Session ID」。

    断言:又称检查点,断言是我们的预期,主要是保证脚本按照原本设计的路径执行。取的数据是服务端返回的,可标识业务成功与否的数据,并做判断。

    请记住,测试一定要有断言。没有断言的测试,是没有意义的,就像你说自己是世界冠军,总得比个赛吧!

    作者回复: 合理。

    2020-01-05
    1
  • life_牛
    老师,性能压测和参数优化会讲解到吗?

    作者回复: 后面会有。但是是参数众多,只是举常见的场景,不会全覆盖。
    主要是要说明分析的思路。

    2020-01-05
  • 奔跑的栗子
    关联和断言,都是获取特定数据;关联将获取到的数据更新到下一次使用中;断言预知被解除数据的数值,判断执行结果是否正常;

    作者回复: 理解非常正确。

    2020-01-03
  • 律飛
    关联,有关有联,该数据一定是根据前面的业务获取的,是一个变化动态的,从服务器获得的,否则就可以在脚本中直接写好,变成一个参数了;同时该数据也一定是后面业务得以进行的必须输入,否则就没有存在的意义了;因此,关联数据起了一个承上启下的作用。取数据特点,从服务器返回信息中取数据,这个数据是动态的,且是后续业务必须的输入数据,需要继续使用的。
    断言,美其名曰一言断分晓,明查是对是错矣。提取服务器返回的可判断业务成功的数据,对其进行判断,从而获知业务是否成功。取数据特点,也是从服务器返回信息中取数据,在业务成功时该数据是一样的,主要用于判断,判断结束后一般不会继续使用。

    作者回复: 写的非常好。

    2020-01-03
  • 村夫
    老师,工具的使用还有几篇?

    作者回复: 还有参数化的逻辑和http协议的两篇算是和压力工具有关的。再往后就不讲压力工具了。
    就开始讲场景,监控,分析什么的了。
    是不是工具部分太简单了?😀😀

    2020-01-03
    1
收起评论
5
返回
顶部