`
javatoyou
  • 浏览: 1019151 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

性能测试常见误区

阅读更多

性能测试常见误区

选自《Web性能测试实战》

配套性能测试课程:

1、LoadRunner性能测试入门与虚拟用户开发基础(点击进入)

2、LoadRunner Controller使用基础(点击进入)


请看下面一个性能测试小案例:

某公司OA产品的新版本即将发布。为了看看系统的性能,决定安排测试工程师A君执行性能测试任务。A君做法如下:<?xml:namespace prefix = o />

1. 找到一台PC机,CPU主频1G,内存512M,……;

2. 在找到的PC机上搭建了测试环境:安装了Oracle9i、Weblogic等系统软件;

3. 在自己的工作机上安装了LoadRunner7.8;

4. 然后录制了登陆、发布公告等功能;

5. 开始设置30、50、100、500不同的并发用户数目进行并发;

6. 最后得出结论:系统只能运行80个左右的并发用户……。

无疑上面的做法存在很多不合理的地方,例如测试内容太少、测试服务器配置太低等。现实工作中,尽管性能测试以其在测试中独特的地位越来越为软件测试人员、开发人员和用户所重视,但是不管是测试人员还是开发人员,仍然在认识上存在这样或者那样的误区。

误区1:提高一下硬件配置就可以提高性能了,因此性能测试不重要。

这是以前系统规模不大时期留下来的认识。DOS时代以及后来Windows操作系统流行的初期,软件规模一般较小,而硬件的更新却是日新月异,软件性能一般不是突出问题,因为只要升级一下硬件,很容易就解决了性能问题。

现在随着软件规模的扩大,提高硬件配置只是解决性能问题的一个基本手段。因为如果软件自身存在性能问题,再多的资源可能也不够用,例如内存泄漏问题,随着时间的增加,内存终究会被耗尽,最后导致系统崩溃。

因此,如果用户对软件的性能要求较高,这将意味着不但要从硬件方面来提供性能,还要从数据库、WebServer、操作系统配置等方面入手来提高性能,同时开发的软件系统本身也要进行优化,以便全面提高性能。

误区2:性能测试在所有其它测试完成后,测试一下看看就可以了。

这是目前特别普遍的一种现象,例如前面的A君,这种现象主要是没有意识到性能测试的重要性。这种做法最严重的后果是如果性能问题是由软件系统本身产生的,可能会无法根治性能问题。例如架构设计方面的失误,可能意味着软件系统将被废掉。

当然这并不意味所有的性能测试都要尽早进行,性能测试的启动时间要由软件特点来决定。性能测试策略的制定问题可以参考《程序员》20051011期的《治疗软件亚健康》。

误区3:性能测试独立于功能测试。

功能测试可以发现性能问题,性能测试也能发现功能问题。性能测试和功能测试是紧密联系在一起的,原因之一是由于很多性能问题是由软件自身功能缺陷引起的。如果应用系统功能不完善或者代码运行效率低下,通常会带来一些性能问题。功能测试通常要先于性能测试执行或者同步进行,软件功能完善可以保证性能测试进行得更加顺利。

误区4:性能测试就是用户并发测试。

仍然有很多人(尤其是开发人员和部分项目实施人员)一提到性能测试,就会联想到并发用户测试,进而认为性能测试就是“测试一下多用户的并发情况”。严格地讲,性能测试是以用户并发测试为主的测试。实际性能测试还包含强度测试、大数据量测试等许多内容。

误区5:在开发环境下进行一下性能测试就可以了。

很多时候,在软件开发完成后会进行性能测试,看一看软件的性能。实际上大多数的开发环境因为硬件条件比较差,所以反映不了过多的性能问题。

因此性能测试要尽量在高配置的用户投产环境下进行。但是有两种可以例外的情况:一种是为了发现某些功能方面的问题,例如为了发现并发算法的一些缺陷;另外一种就是有非常好的硬件资源或者实验室作为开发环境。

误区6:系统存在瓶颈,不可以使用。

系统发现了瓶颈,的确是很让人担心的一件事情。不过不要紧,很多的瓶颈可以不必去理会。发现瓶颈的目的主要是为了掌握系统特性,为改善和扩展系统提供依据。因此在性能方面给系统留有30%左右的扩展空间就可以了。

例如,1000个用户并发时发现了系统瓶颈,而客户的最大并发用户数量在500左右,这样的性能问题完全没有必要处理,要是550或者600个并发用户出现性能问题就应该认真地调整系统性能了。

误区7:不切实际的性能指标。

这种现象主要归结于对软件应用需求的不了解。很多时候,尤其是用户会提出很多不切实际的性能指标,例如,针对500个用户使用的OA系统,可能有的用户负责人会提出要满足100个甚至500个用户并发的性能目标,而实际并发数量不会高于50。这种情况只有和用户进行沟通才可以解决。

上面列举的都是日常性能测试工作中相关人员常犯的错误,这些观点只在极其特殊的情况下才正确。希望读者了解这些常见的性能测试误区后,能在以后的工作中避免类似的情况。

分享到:
评论

相关推荐

    性能测试常见误区.doc

    性能测试常见误区.doc 性能测试常见误区.doc 性能测试常见误区.doc

    软件测试性能测试常见误区[1]

    软件测试性能测试常见误区[1]软件测试误区1:提高一下硬件配置就可以提高性能了,因此性能测试不重要。这是以前系统规模不大时期留下来的认识。DOS时代以及后来Windows操作系统流行的初期,软件规模一般较小,而硬件...

    性能测试常见误区[2]

    性能测试常见误区[2]软件测试误区5:在开发环境下进行一下性能测试就可以了。很多时候,在软件开发完成后会进行性能测试,看一看软件的性能。实际上大多数的开发环境因为硬件条件比较差,所以反映不了过多的性能问题...

    性能测试常见误区[1]

    性能测试常见误区[1]软件测试请看下面一个性能测试小案例:某公司OA产品的新版本即将发布。为了看看系统的性能,决定安排测试工程师A君执行性能测试任务。A君做法如下:1.找到一台PC机,CPU主频1G,内存512M,……;2...

    Web性能测试实战

    本书第1章介绍了性能测试基础知识和性能测试常见的误区。第2章专门针对Web性能测试提出了“Web全面性能测试模型”,把制订性能测试策略、编写测试用例计划以及使用模型的方法融会在一起,提供了规划与设计性能测试的...

    基于场景的性能测试设计

    很多企业在性能测试工作中存在一些常见误区,其中部分企业选择基于场景的设计性能测试来避免这些误区,因为这样可以大幅度降低执行成本,同时提高性能测试执行效率。性能测试常见误区请看下面一个性能测试小案例:某...

    如何做性能测试-性能测试过程详述

    3 性能测试的误区 做性能测试主要就是测试工具的使用 测试工具可以自动生成我所需要的报表 我做不好性能测试,是因为对测试工具不熟悉 4 常见问题 主管要我做性能测试(或压力测试、负荷测试),我该怎么办? ...

    软件项目包测试-web性能测试

    关于Web性能测试基础,Web性能测试种类,性能测试常见认识误区,性能调整基础知识等

    系统性能优化的常见八大误区

    系统的吞吐量反映了一个系统的容量,可承受的负载,很多系统都以这样一个指标来衡量系统的性能。...我们是否经常出现线下性能测试非常好,线上性能很差问题,或者是A环境好,B环境性能差。这种情况大部份是系

    软件测试入门(必看)

    十四 性能测试原理及性能测试实例分析 73 14.1 软件测试中的性能测试 73 14.1.1 性能测试的含义 73 14.1.2 性能测试的分解 73 14.2 一个性能测试实例 74 14.2.1 被测系统 74 14.2.2 对被测系统进行性能...

    软件测试必看 入门级的教程

    十四 性能测试原理及性能测试实例分析 73 14.1 软件测试中的性能测试 73 14.1.1 性能测试的含义 73 14.1.2 性能测试的分解 73 14.2 一个性能测试实例 74 14.2.1 被测系统 74 14.2.2 对被测系统进行性能...

    电源滤波器使用的三大误区,你都知道吗?

    下面是一些常见的滤波器错误安装方式对滤波器性能影响的实例。输入线太长许多设备的电源线进入机箱后,经过很长的导线才接到滤波器的输入端。例如,电源线从机箱后面板输入,走行到前面板的电源开关,又回到后面板...

    软件的非功能需求及测试方法探讨

    本文论述了非功能需求的分类和其在软件架构中的重要性,阐述了非功能性测试的重要步骤,并从内存占用、CPU利用率、磁盘空间、网络流量等指标对性能测试结果进行了探讨,最后还介绍了非功能性测试的常见误区。

    Mycat从入门到精通视频教程

    MySQL常见误区 第11课 Mycat eye Mycat eye的规划方向 Mycat eye功能介绍 第12课 Mycat开发入门 Mycat项目编译与运行 Mycat主要模块分析 第13课 Mycat源码分析 NIO源码分析 连接池源码分析 SQL路由...

    mycat从入门到跑路

    命令行工具指南 第4课 Mycat分片规则详解 Mycat 几种分片规则的使用说明以及例子 第5课 Mycat跨分片问题 Mycat跨分片聚合处理、Mycat跨分片JOIN、Mycat分布式事务 第6课 Mycat性能测试 与调优 Mycat性能参数及调优 ...

    oracle数据库性能优化

    文档包括:测试数据库的建立 ,常见索引介绍 , 有效的利用索引 , 谈索引使用的误区 ,其他索引经验总结 等

    自动化测试在功能测试中的应用[3]

    2.3.3记录bug 3性能测试的误区 自动化测试一定能提高测试效率,缩短测试时间 自动化测试一定能降低测试成本 自动化测试令测试工作变得简单易行,谁都可以来做 做自动化测试,会录制脚本就够了 4常见问题 我们...

Global site tag (gtag.js) - Google Analytics