izb*_*izb 6 java testing performance automated-tests cpu-usage
我有一些代码,我想测量它在自动回归测试中连续运行的速度.这样做的目的是提醒我对代码所做的更改,这些更改会对性能产生负面影响.
在伪代码中,我想要这样的东西:
cpuTimer.start
runTest
cpuTimer.stop
diff = cpuTimer.getDuration
if diff > prevDiff // Perhaps to within a tolerance
failTest
Run Code Online (Sandbox Code Playgroud)
我正在寻找ThreadMXBean#getCurrentThreadCpuTime(),但关键问题是自动化测试将在各种不同开发人员的PC上运行,并将自动进行测试,以测试具有各种硬件和服务器的服务器.能力.
这会起作用,还是数字会出错?
该问题应如何解决?有没有更好的办法?是否有这种标准的标准工具?
一种方法是分析在 maven 和 ant 中运行的 junit 输出的标准 xml 文件。这些包含您需要的所有数据。尽管有一些工具可以根据这些工具生成报告,但我不知道有任何聚合器/观察器。
如果您将它们放入包含字段主机名、测试名、执行时间和构建编号的数据库表中,您应该能够完成您需要的大部分操作。