疑问:性能测试要不要断言
场景:某个接口返回数据
返回status:200
返回的json
{“respone_code”:401,“data”:“null”}
在这个接口,业务开发为了减少开发量,并没有将接口返回数据规范的很完整,这个时候,就必须要做返回数据的断言了,因为
测试工具的成功,并不等于业务的成功。如果我们不做断言的话,有时候你会发现,你的tps数据会保持的非常稳定,这个可能是有问题的,严重的话,会错误的估算真实的业务tps。
所以我们必须要做的就是响应断言,也就是返回值的判断,这样才能得到是真实业务的tps
疑问:断言对性能测试影响
但是反过来又想,断言对性能又会造成什么样的影响。
可以参考一下文章:
https://www.blazemeter.com/blog/why-you-must-use-jmeter-assertions-your-load-tests-0
总的来说:
1、在功能测试以及性能测试种,都需要断言;
2、使用较为简单的断言,比如响应断言和持续时间断言通常是影响较小的选择,而比较断言和其他基于 XML 的断言(如 XPath 断言)消耗更多的 CPU 和内存。另经测试jsr223断言脚本对性能影响也较小。可以参考我脚本https://blog.csdn.net/LANNY8588/article/details/119897632
但压测是在运行压测测试机器上完成的,不是应用程序机器上完成,所以不会对性能指标响应时间有影响(这个你也可以根据实际进行测试)。只要你的压测机资源够用,断言对你的影响就比较小。