珍惜陈卓 ,男,27年,厦门人,从事软件测试工作,具有三年测试工作经验,参加过两次软件评测师考试。使用测试工具QTP、LR。MSN:zhuojincai@hotmail.com QQ:838542064 认真做好软件测试工作,不断提高软件测试技术~

如何做好性能测试--《LoadRunner性能测试实战》一书提到

上一篇 / 下一篇  2007-10-26 18:23:42 / 个人分类:软件测试技术

如何做好性能测试

                          ----LoadRunner性能测试实战》一书提到

多数企业都想使产品获得高性能,以降低投产后的风险。但是现实中的性能测试工作却经常不受重视,常会碰到走过场拖到整个项目最后进行的情况,甚至有时会做很多无意义的性能测试。此外,多数企业的测试人员能力水平不高,这也是导致性能测试不过关的原因。

根据作者多年的经验,要想做对性能测试应该从管理与技术两个方面入手。

按照规范的管理流程开展测试工作

软件性能的低下很多时候是由于系统架构设计不好或代码效率低下而引起的,如果上线后发现性能问题往往已很难补救。因此性能测试应该按照规范的流程来执行,尽量把问题消灭在产品上线以前。

根据多数企业的实际情况,性能测试应该分为开发与用户现场两个阶段来进行。

严格地讲,性能测试应该按照测试环境的软、硬件配置高低分为两个阶段。只是由于开发阶段的软、硬件配置相对较低,而用户现场的投产环境软、硬件配置较高,因此才把性能测试分为开发与用户现场两个阶段。对于拥有先进实验设备甚至实验室的公司,完全可以在开发阶段完成全部的性能测试工作,如果用户现场仍要进行性能测试,则只是简单的验收测试而已。

开发阶段的性能测试实施 开发阶段的性能测试主要指软件试运行前的性能测试,即团队内部的性能测试。这一阶段的性能测试是一个反复迭代的过程。

性能测试不是特别重要的项目,这一阶段的性能测试较多关注于软件功能而引起的缺陷。因此主要进行用户并发性能测试,即核心模块并发用户测试与组合模块并发用户测试。此外,可能还会进行一些预期性能指标的性能测试。通过开发阶段的性能测试可以发现一些核心算法问题,最大限度地排除由软件本身引起的问题。

对于系统类软件或特殊应用系统的性能测试,解决其性能问题可能很耗时,所以应该较早地组织硬件资源进行各类性能测试,例如疲劳强度与大数据量测试、服务器性能测试等。

用户现场性能测试的实施 用户现场的性能测试有验收测试的味道,是开发阶段性能测试工作的延续。这一阶段的性能重点是关注性能测试的整体表现。

可以看出,用户现场的性能测试主要是为了验收与调优。因此对于系统软件和特殊应用系统,性能测试应该尽可能全方位覆盖。而对于一般应用系统,由于风险较低,所以测试范围可以适当缩小以节省成本。用户现场的性能测试主要基于投产环境,测试对象多是即将准备投产的系统,甚至可能是已经投产的系统。投产环境的硬件资源配置通常较高,各类性能测试基本都可以开展。

对于系统软件和特殊领域的应用系统,这一阶段的性能测试主要包含预期指标性能测试、并发用户性能测试、各类服务器性能测试、疲劳强度与大数据量性能测试等内容,基本覆盖了全面性能测试模型的各个方面。与开发阶段的性能测试相比,本阶段执行的性能测试用例数量可能会少一些,但是测试用例覆盖的范围与开发阶段的性能测试基本一致。

一般应用系统在用户现场的性能测试通常包含预期指标性能测试与用户并发性能测试,可能也会对服务器进行一定的测试,不过内容通常比较简单。一般应用系统发生性能问题的风险通常不会太高,因此只要通过验收测试即可。

这两个阶段的性能测试都应该按照需求分析规划与设计执行调优验证的顺序来执行。

提高测试人员在性能测试方面的技能

很多时候,由于性能测试人员水平较低,即使进行了测试也不能发现系统潜在的问题,而最终把问题留给了用户。因此,测试执行人员首先要提高自己的素质和技能。

根据作者多年的经验,一个有竞争力的测试人员要具备以下3方面的素质:

计算机专业技能 计算机领域的专业技能是测试工程师应该必备的一项素质,这是做好测试工作的前提条件。尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或持久竞争力的测试工程师,计算机专业技能是必不可少的。计算机专业技能主要包含3个方面:

1)测试专业技能。现在,软件测试已经成为一个很有潜力的专业。要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础,这也是本书的编写目的之一。测试工程师应该努力学习测试专业知识,告别简单的点击式的测试工作,让测试工作以自己的专业知识为依托。

测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理自动化测试技术等知识。

2)软件编程技能。测试人员是否需要学会编程?这是测试人员经常提出的问题之一。实际上,由于在我国开发人员待遇普遍高于测试人员,因此能写代码的几乎都去做开发了。很多人是因为做不了开发或者不能从事其他工作才被迫从事测试工作。最终的结果则是很多测试人员只能从事相对简单的功能测试,能力相对强一点的则可以借助测试工具进行简单的自动化测试(主要进行脚本录制与修改、回放测试脚本等)。

软件编程技能应该是测试人员的必备技能之一。在微软,很多测试人员都拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能够进行测试开发,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。

此外,对于软件测试人员的编程技能的要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其要体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据作者的经验,测试工程师至少应该掌握JavaC#C++之中的一门语言以及相应的开发工具。

3)网络、操作系统数据库、中间件等知识。与开发人员相比,测试人员掌握的知识要求更博,艺多不压身是个非常形象的比喻。由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等方面的知识。

在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理。尤其要掌握一些网络环境的配置知识,这些都是测试工作中经常用到的知识。

操作系统和中间件方面,应该掌握基本的使用及安装、配置等技能。例如,很多应用系统都是基于Unixlinux来运行的,这就要求测试人员掌握其基本的操作命令以及相关工具软件的使用。而WebLogicWebsphere等中间件的安装与配置方法也需要掌握一些。

数据库知识则是更应该掌握的基础知识。现在的应用系统几乎离不开数据库。因此,不但要掌握基本的安装、配置,还要掌握SQL。测试人员至少应该掌握MysqlMS SqlserverOracle等常见数据库的使用。

作为一名测试人员,尽管不能精通所有的知识,但要想做好测试工作,应该尽可能地去学习更多的与测试工作相关的专业知识。

行业知识 所谓行业主要指测试人员所在企业涉及的领域。例如很多IT企业从事石油、电信、银行、电子政务、电子商务等行业领域的产品开发。行业知识即专业业务知识,是测试人员做好测试工作的又一个前提条件。只有深入了解了产品的业务流程,才可以判断出开发人员实现的功能项是否正确。

很多时候,软件运行起来没有异常,但是功能不一定正确。只有掌握了相关的行业知识,才可以判断出用户的业务需求是否得到了实现。

行业知识与工作经验有一定关系,只有通过一定的时间积累才能达到较高的水平。

个人素养 作为一名优秀的测试工程师,首先要对测试工作有兴趣,因为测试工作在很多时候多少显得有些枯燥。因此,先要热爱测试工作,才能做好测试工作。在个人素养方面,除了具有前面介绍的专业技能和行业知识外,测试人员还应该具有一些基本的品质,即下面的五心

1)专心:主要指测试人员在执行测试任务的时候不可一心二用。经验表明,高度集中精神不但能够提高效率,还能发现更多的软件缺陷。团队中业绩最棒的往往是做事精力最集中的那些成员。

2)细心:主要指进行测试工作时要认真执行测试,不可以忽略一些细节。如果不细心,则很难发现某些缺陷,例如一些界面的样式、文字等。

3)耐心:很多测试工作有时候显得非常枯燥,需要很大的耐心才可以做好。如果做事情浮躁没有耐心,就不会做到专心细心,就会让很多软件缺陷从眼前逃过。

4)责任心:责任心是做好工作必备的素质之一,测试工程师更应该高度负责。如果测试中没有尽到责任,敷衍了事,甚至把测试工作交给用户去完成,这样很可能引起非常严重的后果。

5)自信心:自信心是目前多数测试工程师都缺少的一项素质,尤其在面对测试开发等工作时,往往认为自己做不到。要想获得更好的职业发展,测试工程师们应该努力学习,建立能解决一切测试问题的信心。性能测试人员的要求通常要高于普通测试人员,因此更应该努力去学习相关知识,把测试工作做得更好。

企业良好的管理流程、测试工程师的高技术水平仅仅是做好性能测试的必要条件。实际工作中,性能测试会受其他诸多方面的影响,例如进度与成本压力、测试资源支持度等。但是,只要我们有信心并为之不懈努力,相信一定能够做好性能测试工作!

 

 

1.5 本章小结

开展性能测试工作,仅有LoadRunner是远远不够的,深入地理解性能测试理念是做好性能测试工作的前提。因此在开始学习LoadRunner前,应该先搞清楚性能测试是怎么一回事,并学会如何设计与组织性能测试。

本章首先从性能测试的基本概念入手来介绍性能测试的相关知识,接着介绍了根据作者多年经验总结的全面性能测试模型。借助本模型,可以更加合理地开展性能测试工作。本章还介绍了性能测试调整方面的一些知识,以掌握性能测试调优的

在本章最后,又对如何做好性能测试进行了一些探讨——性能测试不但需要高超的技能,更需要规范的企业管理流程。

掌握了性能测试的基础知识后,我们将逐步踏入LoadRunner的性能测试世界!

 


TAG: 软件测试技术

阳光的味道 引用 删除 wangna2002na   /   2008-07-23 17:57:23
请问这本书去哪里买呀?我目前正在学习呢,很需要一本书。谢谢
 

评分:0

我来说两句

Open Toolbar