我们了解到性能测试工具的原理通常是:通过录制、回放脚本,模拟多用户同时访问被测试系统,模拟产生负载压力,监控并记录各种性能指标,生成性能分析结果和报告,从而完成性能测试的基本任务。
对需要进行性能测试的组织来说,决定使用哪种性能测试工具也不是一个简单的问题。我们有需要对性能需求进行分析,购买成本,人员学习使用成本进行综合考虑,从而确定最适合的本次性能测试的工具。
注:这里所提到的性能测试工具为狭义上的性能测试工具,特指包含脚本生成、负载生成与测试数据搜集的性能测试工具,从广义上来讲,在性能测试过程中所用到一切工具,都可以称为性能测试工具,其中包括,软件协议分析工具,测试数据生成工具,测试监控工具等都属于性能测试工具范畴。
我简单的将软件性能测试工具分为三类,商业收费工具、开源免费工具、自主开发工具。
需要考虑以下几个方面:
性能需求:
首先要考虑的是否满足性能需求,例如系统的协议不支持,无法创建脚本,系统的模拟用户数达不到,或都某此特殊功能无法测试,如流媒体性能测试等。一些有性能工具是无法满足这些需求的,那当然要首先排除。
购买成本:
对于商业工具的购买成本也是我们需要考虑的问题,其实,这个问题也是老板需要考虑的问题,对性能测试成本的整体预算等。当然了,在满足性能需求的前提下,当然一切从简。如果只需要某商业软件的部分功能,也可以只购买部分功能。有的是根据支持协议的多少、并发用户上限来区分,如 loadrunner 。
这里要多扯一点,loadrunner 应该是性能测试领域的巨无霸,它的年服务费多百万,这不是一般的小公司能承受的,可能许多网友用破解习惯了不以为然。而且 loadrunner 是可以定制的,一般商业软件都是可以定制的,也就是说,你有特定的需求,只要你愿意花钱,提供商都可以帮你定制开发。这样算下来成本会很高。
那么开源软件呢? 开源的性能测试工具其实非常的多,因为它们都分别适合在不同的需求场景下,所以,它们的体积相比商业软件会小很大,当然功能也相对简陋。但是他们在某些情况下可以完全满足某些性能需求,或者可以通过几款开源工具配合满足,或者通过对开源工具进行扩展进行满足。对开源工具进行扩展,对测试人员的要求较高。需要测试人员对工具的原理及源代码有相当有研究。这里对测试人员自动能力的提升非常有帮助。
或者你的性能测试项目特殊,找遍市面上的所有性能工具无一款满意,商业定制成本过高。或者你想构建自己有工具体系。处于公司需求的特殊性与长期性考虑,可以自主开发一个性能测试工具来用。一次开发,永久收益(当然也需要维护与升级、扩展等),而且更贴近自已的需求。目前很多知明的大公司都有自己的性能测试工具,用于内部使用。
人员学习成本:
最后要提到的就是人员对工具的学习成本,其实,测试人员在选择性能测试工具时最先考虑的就是从自己会使用的工具入手,这样可以最低的控制学习成生,如果整一个工具,测试人员单学测试脚本就学了半年,老板早让你走人了。这也是对性能测试人员要求较高的地方。所以,对于性能测试人员,你最好熟悉一款流程的商业性能工具,一款开源免费性能具,还需要熟悉常见的性能脚本开发语言等,这是基本要求。