背景:
1、团队成员对质量意识逐渐提升;单元测试意识提升;
2、性能意识不足,往往到最后提交性能测试的时候,才发现性能问题;在开发阶段忽视对性能的考虑。
尤其在做对外服务的需求中,危害特别明显。
基于这两个原因,希望有一个在单元测试下的性能测试工具。提供最简单的性能指标报表。在开发阶段让开发对性能情况有个感性的认识。
设计思路:
概念说明:
类名 | 方法 | 说明 |
Statistics 说明:性能统计信息 | tps() | 提供tps |
average() | 提供平均响应时间,单位毫秒 | |
total() | 提供总耗时,单位毫秒 | |
Job 说明:测试单元逻辑 | execute() | 性能测试逻辑 |
Warn 说明:性能未达标警告 | ||
PerformanceTester(核心) 说明:性能测试工具,根据制定的并发数和单个并发循环次数,进行性能测试;根据提供的平均响应时间,分析是否达标 | test(Job job) | 性能测试,打印性能报表,分析是否达标 |
JTesterxPerformance 说明:基于JTester的性能测试基类,统一执行性能测试计划。 备注:JTester是我们公司同事编写的一套单元测试框架。我们同样可以提供基于JUnit的实现,比如JUnitPerformance。 | performance() | 根据提供的性能策略,指标和测试逻辑,进行性能测试 |
job() | 需要子类覆写,提供测试逻辑 | |
testers() | 需要子类覆写,提供性能测试策略和指标要求 |