关于性能测试的讨论!

大家各述己见,讨论一下应该怎样做行能测试呀?  
---------------------------------------------------------------  
 
1.确定系统的并发用户数;  
2.设计性能测试用例,原则以在高峰时期并发情况较多的操作作为用例基础。  
3。硬件环境准备,这和性能测试的结果有直接关系。做性能测试的目的之一就是要知道我们的软件系统在特定的硬件环境下最多能承受多少并发用户,当然这要在多次调整各方面性能参数才能定下来。  
4。专业的测试工具嘛做大项目是需要的。商业的有Loadrunner,QALoad(我常用的压力测试工具),免费的就更多了。他们一般都可录制测试脚本,但这不算完。我们需要监控服务器端的性能参数变化,比如Oracle数据库的缓存命中率.....Unix服务器。。。。windows服务器,应用服务器.....还要将录制脚本填写表单的数据做参数化,即商业测试工具所谓的数据池功能---目的是不要使数据重复(数据表中的主键等限制),而且可以真正的模拟不同用户作不同操作的情况。  
5。根据测试结果调整服务器及程序使应用性能最佳。这个过程最长,需要整个团队的配合(开发测试,网络,数据库DBA).  
6.预测性能(你的硬件测试环境可能没有客户那里好),不要到客户现场去做第一次性能测试,切记!!。  
7。测试用服务器必须使用多CPU的(至少两个),因为从我们的经验来看,应用服务器上线程死锁和内存泄漏是遇到最多的问题。这里大家要明白一个概念,你用的应用服务器不管有多么的优秀,只要你的代码很烂,那结果可能比不上最差劲的服务器上测的效果。  
 
...  
 
写的很乱,暂时想到这些  
---------------------------------------------------------------  
 
3  x  24不间断,  更多地这是稳定性测试的范畴.当然不排除性能测试的时间也可能会这么长.  
 
围绕着这个中心去做,性能测试是基于统计分析的结果.因此需要收集大量的数据,大部分性能测试的结果都表现为正态分布,比如需要测试某时延指标,那么性能测试的数据通常会有最小时延,最大时延,平均时延,X%分布时延.这些指标都是性能测试真正关心的指标.  
 
但是这么做性能测试总是有前提条件的,就是在一定的测试环境下,确定压力和负载.  
在性能测试的时候,很多情况下压力与负载是恒定的.  
 
而压力不断变化的测试,更多也是稳定性测试的范畴,需要模拟真实的情况,比如拿我国窄带拨号的处理系统稳定性测试来说,就需要模拟3峰的压力(上午,下午,夜里三次达到用户使用高峰).  
 
再者,不管采用现成的工具也好,开发性能测试程序也好,大部分目的都是为了采集足够的性能分析数据,最后的结果一定是通过统计分析得到的.另外,性能测试一定需要建立在功能测试通过的前提之下,否则意义不大.  
---------------------------------------------------------------  
 
to  smilefox(笑面狐):  
>>  此话不敢苟同,我们是并行的。  
 
这类的事情没有绝对的真理,也无所谓对错,我之所以那么说只是代表个人的一个观点而已.  
 
不过也可以解释我的看法.我是敏捷开发方法的追求者,不会把测试留在编码的后面,而是测试驱动开发,在每次迭代的过程中,我的主要目标都是关心功能测试.性能的优化我并不非常看重,我相信一句话:"只有在需要优化的时候才考虑优化,而且只优化性能的瓶径"  
这就是我为什么坚持要功能正确才考虑性能的原因.  在功能不正确的情况下,不考虑性能因素.  
---------------------------------------------------------------  
 
我从事企业级平台应用软件开发已经有四年多了,很多我的观点都是在这个过程中总结出来的.也可能换了别的领域就不对了,毕竟没有真正的尝试.  
但是有一点我相信是没有错的,就算不同行业在中国,现在不可避免的存在的一种现象:"甲方市场",而且甲方不知道他们要什么.  这就决定了我们(或者我所参与的行业)开发的软件是处在一个需求不明确而且不断在变化的环境之中.  我们为了应付功能需求已经疲于奔命了,这不否定性能,问题是在于,往往性能问题都会在功能问题被解决之后才会体现出来.  
我尝试过多种开发方法,我现在觉得敏捷方法是有可能解决我所处的环境的问题,所以我还是会把测试优先,一定要测试驱动开发.或者说,测试和开发没有严格的界限.  
至于性能测试,还是那句话,等到功能用户可以接受了再考虑.用户也只有那个时候才会开始考虑性能.我参与过5个省级项目的开发,所接触到的用户都是这样,无一例外.  
---------------------------------------------------------------  
 
怎样提高性能测试的效率和质量    
 
摘要  
在信息技术日新月异的今天,顺应世界经济一体化的潮流,中国软件行业加强了与世界同行的沟通与交流,基于本身提高软件质量的迫切需要,在国外优秀的软件企业中被证明为提高软件质量行之有效的途径,软件测试开始越来  
越受国内软件行业重视。各种各样的测试工具和测试理论,也都逐渐被我们所熟知。软件测试也开始成为人们平时谈论和网上探讨的热点话题。  
在软件测试倍受注目的情况下,身为一名软件测试人员,如何高质量的完成公司交给的测试任务,无疑是我们应该考虑首要问题。从事软件测试已近两年,从刚开始的一脸茫然,到如今的手到擒来,期间也经历了很多曲折,总  
结这两年来的经念教训,我认为有必要就软件性能测试这个话题和大家展开探讨,与大家共同分享软件测试的得失,为提高我们的测试水平尽一分薄力。  
 
引言  
作为评价产品性能的重要手段,性能测试在软件测试工作中占的比重一直很大,要最终提供一份准确,权威的测试报告,测试人员的努力工作自然不可或缺,但更重要的是测试人员清晰的工作思路,简洁的测试流程和良好的测  
试方法。  
 
目前性能测试存在的问题  
 
总结以往进行的性能测试,虽然测试人员自始至终对测试工作都做到了认真负责,但测试报告出炉后,大家总觉得美中不足,对测试结果都心存疑虑,尤其在那些时间跨度较长、针对不同的测试对象的性能对比测试中,或多或少  
都存在以下几个方面的问题:  
1.  测试准备不充分,测试目标不明确,测试计划不详细;  
2.  缺乏测试以及针对测试对象的技术储备;  
3.  测试环境的稳定性及前后一致性不足;  
4.  测试数据精确性和代表性不足;  
5.  测试描述不精练;  
下面,我们就剖析以上问题的同时,探讨一下如何解决这些问题。  
 
性能测试准备  
 
这是一个经常被测试人员忽略的环节,在接到测压任务后,基于种种其它因素的考虑,测试人员往往急于进度,立即投入到具体的测试工作去了,测试、记录、分析,忙的不亦乐乎,工作进行了一半才发现,或是硬件配置不符  
合要求,或是网络环境不理想,甚至软件版本不对,一时弄得骑虎难下,这都是没有做好测试准备惹的祸。  
那么我们应该如何做好性能测试的准备工作呢?  
做软件项目有需求调查、需要分析,我们做测试也一样。在拿到测试任务后,我们首要的任务就是分析测试任务,在开始测试前,我们至少要弄清以下几个问题:  
a)  要测试什么或测试的对象是谁?  
b)  要测试什么问题或我们想要弄清楚或是论证的问题?  
c)  哪些因素会影响测试结果?  
d)  需要怎样的测试环境?  
e)  应该怎样测试?  
只有在认真调查测试需求和仔细分析测试任务后,才有可能弄清以上一系例的问题,只有对测试任务非常清楚,测试目标极其明确的前提下,我们才可能制定出切实可行的测试计划。  
明确测试目标,详尽测试计划  
在对测试需求充分了解的基础上,制定尽可能详细的测试计划,对测试的实施是大有裨益的。测试计划的制定,大多专业的测试书籍多有详述,故本文不再鏊述。  
 
测试技术准备  
 
在目前的大环境下,要求测试人员在短时间撑握所有的软、硬件知识是不太现实的,但平时测试人员应抓紧对测试工具和测试理论的研究,在测试计划中,应给研究测试对象和测试工具分配充足的学习时间,只有在充分撑握测  
试工具,完全了解测试对象的前提下,我们才能够实施测试。建力在错误的认识上的测试,既使你再努力,结果也是背道而驰,也很难证明问题,更不用说用这样的测试报告去说服用户。  
 
配置测试环境  
 
只有在充分认识测试测试对象的基础上,我们才知道每一种测试对象,需要什么样的配置,才有可能配置一种相对公平、合理的测试环境(这在性能对比测压中尤其重要)。  
考虑到其它因素,如网络锁、网速、显示分辩率,数据库权限、容量等对测试结果的影响。如条件允许,我们最好能配置几组不同的测试环境。  
 
测试数据的获取和处理  
 
在所有的测试中,测试数据的收集工作都是较为困难的,Gis软件更是如此,每一种软件都有它的文件格式,有的软件还有几种格式。在这种情况下,我们只能把第三方格式的数据转换成每一种被测试软件自已的格式。同时,  
还应对数据作一定的处理,如处理数据冗余,处理显示风格等。如在测试时会更新数据,操作前一定要备份数据。  
其外,还应评估数据格式和数据量对测试的影响,如有必要,应准备多组数据。  
最后,一定要检查测试数据的有效性,避免损坏数据对测试结果的影响。  
 
如何开展性能测试  
 
测试前期的准备工作纷繁复杂,做好测试准备工作,已是完成了测试工作的一大半,但要产生一份具有说服力的测试报告,还应正确把握测试的强度,保持测试的一致性,提高测试的精度。  
判断软件的好坏,要看软件解决实际应用的能力,只有在一定的测试强度下,才能测试出各种软件资源的消耗率,软件运行的速度,软件的稳定性。通过对比在不同的测试强度下,不同软件每一个功能模块解决实际问题的能力和  
软件运行的效率,我们才可能判断出不同软件的每一个模块的强弱,甚至于整个软件的优劣。  
 
性能测试开始后,所有参数的输入都应遵循统一的标准,无论是哪一个环节,哪怕是一点点偏差,都应立即纠正,觉不能心存侥幸。要特别注意外部环境对测试结果的影响,如果在整个测试过程中,外部境不一致,如网速、机器  
内存使用率不一样,就有可能导制测试结果与实际情况有出入。  
 
如何总结性能测试  
 
对测试的终结,实际就是对测试数据的分析和处理。我们测试工作做的再好,如最终到用户手中的是一堆杂乱无章的数据,那也是美中不足。  
首先
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值