如何有效开展性能测试(一)[2] 性能测试工具
三. 性能测试准备
这是一个经常被忽略的环节,在接到测压任务后,基于种种其它因素的考虑,测试人员往往急于进度,立即投入到具体的测试工作去了,测试、记录、分析,忙的不亦乐乎,工作进行了一半才发现,或是硬件配置不符合要求,或是网络环境不理想,甚至软件版本不对,一时弄得骑虎难下,这都是没有做好测试准备惹的祸。
那么我们应该如何做好性能测试的准备工作呢?
做软件项目有需求调查、需要分析,我们做测试也一样。在拿到测试任务后,我们首要的任务就是分析测试任务,在开始测试前,我们至少要弄清以下几个问题:
1. 要测试什么或测试的对象是谁?
2. 要测试什么问题或我们想要弄清楚或是论证的是什么问题?
3. 哪些因素会影响测试结果?
4. 需要怎样的测试环境(软件、硬件、网络环境)?
5. 应该怎样测试?
只有在认真调查测试需求和仔细分析测试任务后,才有可能弄清以上一系列的问题,只有对测试任务非常清楚,测试目标极其明确的前提下,我们才可能制定出切实可行的测试计划。明确测试目标,详尽测试计划在对测试需求充分了解的基础上,制定尽可能详细的测试计划,对测试的实施是大有裨益的。
3.1 测试技术准备
在目前的大环境下,要求测试人员在短时间撑握所有的软、硬件知识是不太现实的,但平时测试人员应抓紧对测试工具和测试理论的研究,在测试计划中,应给研究测试对象和测试工具分配充足的学习时间,只有在充分撑握测试工具,完全了解测试对象的前提下,我们才能够实施测试。建立在错误的认识上的测试,既使你再努力,结果也是背道而驰,也很难证明问题,更不用说用这样的测试报告去说服用户。
技术准备列表:
1) 扎实的计算机专业基础知识;
2) 大量的实际性能测试及优化经验;
3) 性能测试相关工具的使用;
4) 操作系统的原理:熟悉操作系统的体系架构、操作系统的重要基础概念,以及内存管理、存储/文件系统、驱动/硬件的管理、网络协议的实现及构成、性能的监控方法和原理,熟悉常用的性能计数器;
5) 数据库原理:能进行一般的数据库管理操作,熟悉SQL脚本的使用,熟悉常用的数据调优工具和常用的性能计数器;
6) web应用服务器原理:了解一般的配置,熟悉常用的服务器性能监控方法和原理,熟悉常用的性能计数器;
7) 计算机网络原理:至少熟悉TCP/IP协议,熟悉HTTP协议,至少见过并了解三层、四层交换或者路由器的使用和配置。了解常用的与网络性能相关的性能计数器;
8) 行业知识:熟悉专属行业的业务知识和用户场景,例如银行网站后台管理系统所涉及的业务知识和用户场景,证券交易系统所涉及的业务知识和用户场景。