性能测试误差统计实践
在之前两篇文章性能测试误差分析文字版-上、性能测试误差分析文字版-下中,我从纯文字的角度分析了误差产生的原因和来源。接下来就是需要定量分析了。但是在这之前需要做一些准备工作,就是要在测试框架中支持这种误差的统计。
前文讲到过的两种计算公式:
第二种方式是我一贯采取的公式,所以现在要实现第一种统计方式。
统计对象支持
在性能测试数据统计对象类PerformanceResultBean
中我增加了两个属性:
在构造方法中我增加了赋值过程:
基本工作已经做完了,下面是在两个性能测试模型固定线程模型和固定 QPS 模型中的实现。
固定线程模型中实现
主要思路就是获取两个值:请求总数和请求总时间。我在ThreadBase
类中用了一个属性
然后在最近测试结束的时候,将各个线程的统计在一起。
最后计算QPS2
的值double qps2 = (executeTotal + errorTotal) * 1000.0 / (endTime - startTime);
。
固定 QPS 模型中实现
由于模型的特殊性,总请求次数已经在FixedQpsConcurrent
统计了:public static AtomicInteger executeTimes = new AtomicInteger(0);
,然后在子类中的使用场景如下:
接下来是计算统计方式的代码int qps2 = baseThread.qps;
,这里由于第二种统计公式并不成立,所以用了预期QPS
代替了qps2
的值。
基本工作终于做完了,接下来我会定量进行在不同场景下的误差对比分析。敬请期待!!!
Have Fun ~ Tester !
FunTester,一群有趣的灵魂,腾讯云 &Boss 认证作者,GDevOps 官方合作媒体。
点击阅读阅文,查看 FunTester 历史原创集合
版权声明: 本文为 InfoQ 作者【FunTester】的原创文章。
原文链接:【http://xie.infoq.cn/article/9c49f72df3a2cfe54b93cada1】。文章转载请联系作者。
评论