轻量级测试工具ContiPerf

2017-11-19  本文已影响56人  Superwind20

ContiPerf 是一个轻量级的测试工具,基于JUnit 4 开发,可用于性能测试等。可以指定在线程数量和执行次数,通过限制最大时间和平均执行时间来进行性能测试。

使用步骤:

1. maven 引入

org.databene

contiperf

2.1.0

test

2. 单元测试类里面使用 @Rule 注解激活 ContiPerf

@Rule

public ContiPerfRule i = new ContiPerfRule();

3. 在具体测试方法上使用 @PerfTest 指定调用次数/线程数,使用 @Required 指定每次执行的最长时间/平均时间/总时间等

@Test

@PerfTest(invocations = 30000, threads = 20)

@Required(max = 1200, average = 250, totalTime = 60000)

public void test1() throws Exception {

snowflakeSequence.nextId();

}

注:

1)PerfTest参数

@PerfTest(invocations = 300):执行300次,和线程数量无关,默认值为1,表示执行1次;

@PerfTest(threads=30):并发执行30个线程,默认值为1个线程;

@PerfTest(duration = 20000):重复地执行测试至少执行20s。

2)Required参数

@Required(throughput = 20):要求每秒至少执行20个测试;

@Required(average = 50):要求平均执行时间不超过50ms;

@Required(median = 45):要求所有执行的50%不超过45ms;

@Required(max = 2000):要求没有测试超过2s;

@Required(totalTime = 5000):要求总的执行时间不超过5s;

@Required(percentile90 = 3000):要求90%的测试不超过3s;

@Required(percentile95 = 5000):要求95%的测试不超过5s;

@Required(percentile99 = 10000):要求99%的测试不超过10s;

@Required(percentiles = "66:200,96:500"):要求66%的测试不超过200ms,96%的测试不超过500ms。

3)@PerfTest @Required 可以加在类上面,表示所有方法的默认配置

4. 在测完之后,在本地的target下生成contiperf-report目录,里面有个index.html文件,即为测试结果。

上一篇下一篇

猜你喜欢

热点阅读