(表二)
看,是不是一样的。所以说基本上所有类型的测试过程都是一样的,不同的就是它们分别针对的是不同的系统特性。
性能测试为什么难?
虽然从上面的表二看上去性能测试和一般的功能测试没有什么区别,但为什么大家都觉得性能测试难做呢?难点主要体现在一下几个步骤中。
1 选择性能测试功能点及确定性能接收标准
有些客户的需求可能比较模糊,对于那些简单而概括的性能要求(如“系统主要交易的响应时间不超过8秒”)我们必须有针对性的重点的进行选择。当然如果客户很清楚的表明具体需要测试的地方,这个步骤可以轻松很多了。
2 配置及维护测试环境
由于性能测试针对的是系统的性能问题,所以需要一个相对独立的环境。加上对并发用户数的要求,对网络,服务器(应用,数据库等)和客户机的真实模拟,要求负责测试的人员具备良好的网络,数据库,系统架构,操作系统的等知识。
3 实现测试设计
测试环境搭建好后,需要根据测试计划,测试用例进行实现。常见的主要是系统的部署,数据的插入及校验,工具的安装及检查等。所以又要求负责测试的人员不但要具备良好的网络,数据库,系统架构,操作系统等知识,还要了解系统的组成,熟练的掌握测试工具。
4 繁琐的测试运行及大量的报告处理
测试运行时及之后,负责测试的人员要非常的小心仔细的保留要所有的报告,耐心的多次运行以获取比较准确的结果。
这里还有一个需要注意的地方,随着测试工具和技术的不断发展,如同功能测试一样,大家越来越不满足简单的结论,如“用户登陆的响应时间超过客户要求的响应时间-8秒”。责任方越来越多的要求测试方可以提供更准确的资料以方便他们定位问题,所以测试方不单单分析客户机上的数据,各个服务器也是分析的对象,以期能够使修复方更快的定位问题。
5 分析测试结果
测试结果收集以后,就该处理,并得出结论。象所有的行业一样,下结论是应该很慎重的,它需要多种工具或方法来辅助。常用的有统计学,还有概率。当然最后的结论必须是有根据的,也就是说你的结果应当象功能测试发现的bug一样可以重现,否则单凭一两次的异常就下结论,是无法说服别人的。
当然贯穿性能测试始终的是对性能测试流程,方法,工具等知识的掌握,测试方所应有的公证。
谁做性能测试?
首先,系统的各个特征(功能性,性能,可用性等)的实现及保障是整个团队的事情,不是一个人的事情。性能测试简单说来都是测试人员的工作,但是在实现的过程中,肯定需要开发人员,数据库管理人员,项目经理,MIS部门的多方配合和帮助。如果有有意愿做测试,对系统了解的高级开发工程师最好不过了。
后记
其实自己的观点很简单,开发人员因为他丰富的开发知识(当然排除刚入行或比较初级的开发人员)和对系统架构及设计的了解,可以极大的保证性能测试的质量。而且当发现问题后,可以帮助开发人员做后续的系统调优。而且性能测试也应该摒着“尽早开始”的原则尽可能的早些在开发早期执行。我也因此将此划入了性能测试的范畴,但是查找资料发现那其实是性能工程的内容,早已超越了性能测试的范围。性能测试只是性能工程的一个子集。回到最初,性能测试和功能测试其实都是一样的,计划,设计并实现测试,发现问题,在问题解决后继续确认问题是否修复,给出评估。
原文转自:http://www.uml.org.cn/Test/200807231.asp