性能测试一般只在一定业务和特定数据的前提下谈论性能,脱离业务和数据,特定业务其他相关都不具有参考性。然而我们通常都在考虑通用性的理论和最佳时间,来减少特定场景下的头脑风暴。
问题:
如何规划和设计高质量的系统性能测试场景,是否有通用性的最佳实践,我们只需根据业务进行对号入座?
(一)一种方法是直接比照生产,这种方法也可以有几个小的选择:
1)把生产环境的情况直接转化为性能测试模型,在测试环境测。比如生产环境的存量数据是多少、TPS是多少,业务配比大概是多少,占比最多的业务量是多少。
2)直接做生产数据回放。
Oracle有录制回放的功能。也可以把生产日志copy下来,漂洗、脱敏之后,在测试环境回放
这种方法肯定是没问题。就是工作量大一些(比如测试环境的准备、测试工具、测试数据的准备),况且,生产上也许没有这个系统,也就没有什么可用的数据。
(二)教科书版的场景设计
1)单交易基准测试
2)单交易负载测试
3)混合负载测试
4)稳定性测试
中规中矩
在其他话题下,也讨论了一些可行的策略(http://www.aixchina.net/Question/233995)
但“最佳实践”其实都是对于某个机构的最佳实践,不妨把你的具体需求讲出来,大家一起探讨^v^。