性能测试常见的误区
在日常性能测试工作中相关人员常犯认识下的错误,这些观点只在极其特殊的情况下才正确。希望大家了解这些误区后,能在以后的工作中避免。
误区1:提高一下硬件配置就可以提高性能了,因此性能测试不重要。
现在随着软件规模的扩大,提高硬件配置只是解决性能问题的一个方面。因为如果软件自身存在性能问题,再多的资源可能也不够用。例如内存泄漏问题,随着时间的增加,内存终究会被耗尽,最好导致系统崩溃。
因此,如果用户对软件的性能要求较高,这将意味着不但要从硬件方面来提供性能,还要从数据库、web server、操作系统配置等方面入手来提高性能,同时开发的软件系统本身也要进行优化,以便全面提高性能。
误区2:性能测试再所有其他测试完成后,测试一下看看就可以了。
这是目前特别普遍的一种现象,主要是忽略了性能测试的重要性造成的。这种做法最严重的后果是如果性能问题是由软件系统本身产生的,可能会无法根治性能问题。例如架构设计方面的失误,可能意味着软件系统将被废掉。
误区3:性能测试独立于功能测试
性能测试和功能测试是紧密联系再一起的,原因之一是很多性能问题是由软件自身功能缺陷引起的。如果应用系统功能不完善或者代码运行效率低下,通常会带来一些性能问题。功能测试通常要先于性能测试或者同步进行,软件功能完善可以保证性能测试进行得更加顺利。
误区4:性能测试就是用户并发测试。
仍然有很多人一提到性能测试,就会联想到并发用户测试,进而认为性能测试就是“测试一下多用户的并发情况”。严格地讲,性能测试是以用户并发测试为主的测试。性能测试还包含强度测试、大数据量测试等许多内容 。
性能测试是一项工作,应该按照“PDCA”的模式运行,而不是简单地做一做其中一部分内容的测试就完成任务了。
误区5:在开发环境下进行一下性能测试就可以了。
很多时候,在软件开发完成后进行性能测试,看一看软件的性能。实际是大多数的开发环境因为硬件条件比较差,所以放映不了过多的性能问题!
性能测试主要是为了发现软件问题和硬件瓶颈。软件问题通常依赖于硬件,例如软件响应时间缓慢,硬件配置高些就可以解决了,但如果通过修改程序来解决,那么需要发费的成本可能会很高。
因此,性能测试要尽量在高配置得用户投产环境下进行。但是有两种可以例外得情况,一种是为了发现某些功能方面得问题,例如为了发现并发算法得一些缺陷;另外一种就是有非常好得硬件资源或者实验室作为开发环境。
误区6:系统存在瓶颈,就不能使用。
系统发现瓶颈,的确是很让忍担心的一件事情。不过不要紧,很多的瓶颈可以不必去理会。发现瓶颈的目的主要是为了掌握系统特性,为改善和扩展系统提供依据。
举个例子:1000个用户并发时发现了系统瓶颈,而客户的最大并发用户数量在500左右,那么这样的性能问题完全没有必要去处理。要是550个或者600个用户并发出现性能问题就应该认真地调整系统性能了。
通常在性能方面给系统留有30%左右的扩展空间就可以了。
误区7:不切实际的性能指标。
这种现象主要归结于对软件应用需求的不了解。很多时候,尤其是用户会提出很多不切实际的性能指标,例如,针对500个用户使用的OA系统,可能有的用户负责人会提出要满足100个甚至500个用户并发的性能目标,而实际并发数量不会高于50。这种情况只有和用户进行沟通才可以解决。
总之,对待性能问题要根据实际情况来决定,系统性能满足用户现在以及未来一定时间的使用需求就可以了,因为软件有其生命周期,没有一个软件系统能够永远地使用下去,此外,在整个软件生命周期内,还可以通过升级等手段来解决系统性能问题。因此,对于软件性能把握一个适量的“度”即可。

浙公网安备 33010602011771号