查看完整版本: 如何判断是否需要对一个软件进行性能测试?(08-04-25)(获奖名单已公布)

51testing 2008-4-25 17:22

如何判断是否需要对一个软件进行性能测试?(08-04-25)(获奖名单已公布)

有的软件没做性能测试,客户反馈了很多性能问题;有的软件没做性能测试,客户从没抱怨性能有问题;有的软件做了性能测试,客户依然反馈了很多性能问题;有的软件做了性能测试,客户从没抱怨性能有问题。到底要不要做性能测试,这是一个大问题。如何判断你的软件是否需要做性能测试?欢迎大家讨论交流!


[color=#0000ff]如果你也有问题想提出来和大家一起讨论,[/color][url=http://bbs.51testing.com/thread-129915-1-1.html][color=red]请点击此处>>[/color][/url]
[color=#0000ff]说不定下期讨论的问题就是由你提出的哦,请快快参与吧![/color]
[color=#0000ff][/color]
非常感谢各位会员积极参与,截止至5月9日17:30分,从该贴所有评论中选出部分作出精彩评论的会员予以奖励。礼品和积分将在下周内送出。

[table=371][tr][td=4,1,371][align=center][font=宋体][size=2][color=#ff0000]获奖名单[/color][/size][/font][/align][/td][/tr][tr][td][align=center][font=宋体][size=2][color=#0000ff]奖项[/color][/size][/font][/align][/td][td][align=center][font=宋体][size=2][color=#0000ff]获奖名单[/color][/size][/font][/align][/td][td][align=center][font=宋体][size=2][color=#0000ff]奖励[/color][/size][/font][/align][/td][td][align=center][font=宋体][size=2][color=#0000ff]答案链接[/color][/size][/font][/align][/td][/tr][tr][td][align=center][font=宋体][size=2][color=#000000]一等奖[/color][/size][/font][/align][/td][td][align=center][font=宋体][size=2][color=#000000]godn_1981[/color][/size][/font][/align][/td][td][align=center][font=宋体][size=2][color=#000000]当当购物卡50元[/color][/size][/font][/align][/td][td][font=宋体][size=2][color=#000000][url=http://bbs.51testing.com/viewthread.php?tid=113138&page=1#pid957380][align=center][font=宋体][size=2][color=#000000]11#[/color][/size][/font][/align][align=center][/url][/color][/size][/font][/align][/td][/tr][tr][td=1,2][align=center][font=宋体][size=2][color=#000000]二等奖[/color][/size][/font][/align][/td][td][align=center][font=宋体][size=2][color=#000000]huior[/color][/size][/font][/align][/td][td=1,2][align=center][font=宋体][size=2][color=#000000]300论坛积分[/color][/size][/font][/align][/td][td][font=宋体][size=2][color=#000000][url=http://bbs.51testing.com/viewthread.php?tid=113138&page=2#pid962565][align=center][font=宋体][size=2][color=#000000]37#[/color][/size][/font][/align][align=center][/url][/color][/size][/font][/align][/td][/tr][tr][td][align=center][font=宋体][size=2][color=#000000]cityyard[/color][/size][/font][/align][/td][td][font=宋体][size=2][color=#000000][url=http://bbs.51testing.com/viewthread.php?tid=113138&page=2#pid963011][align=center][font=宋体][size=2][color=#000000]40#[/color][/size][/font][/align][align=center][/url][/color][/size][/font][/align][/td][/tr][tr][td=1,3][align=center][font=宋体][size=2][color=#000000]三等奖[/color][/size][/font][/align][/td][td][align=center][font=宋体][size=2][color=#000000]duola1119[/color][/size][/font][/align][/td][td=1,3][align=center][size=2][color=#000000][font=宋体]100论坛积分
[/font][/color][/size][/align][/td][td][font=宋体][size=2][color=#000000][url=http://bbs.51testing.com/viewthread.php?tid=113138&page=2#pid960906][align=center][font=宋体][size=2][color=#000000]21#[/color][/size][/font][/align][align=center][/url][/color][/size][/font][/align][/td][/tr][tr][td][align=center][font=宋体][size=2][color=#000000]清风随雨[/color][/size][/font][/align][/td][td][font=宋体][size=2][color=#000000][url=http://bbs.51testing.com/viewthread.php?tid=113138&page=2#pid961096][align=center][font=宋体][size=2][color=#000000]24#[/color][/size][/font][/align][align=center][/url][/color][/size][/font][/align][/td][/tr][tr][td][align=center][font=宋体][size=2][color=#000000]vivian2008[/color][/size][/font][/align][/td][td][font=宋体][size=2][color=#000000][url=http://bbs.51testing.com/viewthread.php?tid=113138&page=3#pid963345][align=center][font=宋体][size=2][color=#000000]41#[/color][/size][/font][/align][align=center][/url][/color][/size][/font][/align][/td][/tr][/table]

maplezaibj 2008-4-25 19:54

这个还是要从用户的角度上考虑吧.看看用户对性能是不是关注的.性能在整个软件中的地位.

firlove 2008-4-25 23:00

这要根据软件的实际用途和在现实中的应用来做要求,比如说163邮箱的登陆,无论从现实中的应用和实际用途,做性能测试都是很必要的,一些简单环境下用的软件windows自带计算器,画图程序等之类的单用途,非网络环境下应用,可以不做性能测试,象基于B/S,C/S之类的,性能测试就显得非常重要
    其他的就还有一些用户需求,成本等因素在内,毕竟,测试也是个经济学概念

[[i] 本帖最后由 firlove 于 2008-4-25 23:02 编辑 [/i]]

leaveall 2008-4-26 03:21

不成熟的意见

在一些软件中如果软件的性能占据着很重要的作用的话或者说软件在一些大的数据基础下进行的话,我们就很有必要做软件的性能测试。同意楼上的观点在一些现在的C/S和B/S的软件系统中进行性能的测试。以前在这些方面我们的软件做不是很好。记得我们在学校进行选课的时候大家都想早点选吗结果最后一般都是弄得大家都选不了,这是一个明显没有做性能测试的用例。
还有一些软件虽然没有一般的C/S, B/S结构但是是对数据的大量数据的操作或者同样有必要进行测试。
性能测试有的时候也要联系软件的功能因为有的功能本身就需要一个长时间的运行或者多个用户的同时操作,这些就是要求软件在工作的时候我们要考虑它的时间和用户的数量。
假如有的时候做软件测试需要很高的成本考虑靠市场和成本的因素,可以取消对软件的进行性能测试。
总之来说不要要进行软件测试是根据软件用户和软件自己本身的结构有关的。这是自己一点想法希望个大家交流。

msnshow 2008-4-26 18:50

根据实际情况来,具体情况具体分析了

puchonghui 2008-4-27 00:25

很早以前就跟朋友讨论过这个问题

其实并不是是否要做性能测试,而是用户对性能的需求到底是什么

我的看法是:事实上相当一部分情况下,用户对实际性能的要求可能并不高。很多时候系统性能是否过关并不完全由系统的实际性能决定,很大程度上其实是取决于最终用户对系统的体验。
呃,这话说的有点抽象。 打个比方吧: 学计算机的人都知道,在进行一个占资源比较多时间比较长的操作时,理论上说设计一个进度条(或者其他表示进度的东西)总比没有进度条的速度要慢,因为占的资源更多。 但是通常总会有这方面的设计,原因在于有了一个反应进度的标识以后给用户的感觉会比没有进度标识的感觉好得多,虽然实际性能是下降了。
为什么会这样呢?  因为用户把原先唯一的一个最终期待目标分解成了一系列短期的期待目标。 比如说原先10秒的响应时间,由于有了进度条,用户期待的目标成了10%,20%,。。。每个目标只需要一秒时间。 这样一来总共10秒的等待时间可能他觉得可以接受。 但是如果没有进度指示让他傻等10秒可能他就会不耐烦了。
所以首要问题是: 良好的设计-----从最终用户体验的角度出发进行整个系统设计。

当然,我并不是说传统的性能测试或者性能调优之类的工作不重要,我只是觉得有些工作的开展方式可能不是很合适。比如有不少主管或者pm希望用户告诉他们量化的性能指标。 我承认有些情况下这是可行的并且是必要的(比如说银行或者证券的数据库之类的,这个性能需求肯定要做严格的论证的),但是更多情况下,用户需要做的只是给你一个定性的要求。 如果你非要让他决定响应时间要多少秒的话,他肯定认为越快越好:比如说原先的设计可以做到0.5s内响应,但是他现在要你做到0.4s内响应。 也许对于最终用户来说根本感觉不到0.5s和0.4s的区别,但是对你来说,20%的性能提高有可能是一个庞大的工程。

个人看法,仅供参考。

chenrong 2008-4-27 13:56

个人认为。
其实任何一款软件完成后都做一个性能测试的话,可以提高软件质量。但是有时候却因为时间和成本的问题,导致有些软件不做性能测试,还有可能就是在需求分析的时候没很好的和客户沟通,忽略了对性能这方面的测试。
判断性能测试的依据如下:
(1)该软件是在B/S或C/S架构中运行的情况下,需要进行性能测试。
(2)该软件是多任务。多进程和多用户的情况下,需要进行性能测试。
(3)该软件具有对实时性要求较高的情况下,需要进行性能测试。
(4)该软件需要对大量的数据进行处理的情况下。也需要进行性能测试。
暂时只考虑到这么几点。

风吹我走 2008-4-27 21:21

个人认为,  先看用户的需求, 如果涉及到大量数据的操作, 就一定要做性能测试, 如果涉及到数据库(现在仿佛都涉及到了) 也一定要做性能测试.   
    1. 一般, 都是软件或者B/S架构的服务器  处理海量数据的时候, 才会提现出性能方面的问题.  所以, 可以把处理海量数据来进行一个参考.
    2. 就是有时候性能测试过了, 但是用户还是抱怨有性能问题, 就要考虑到 实际环境下的问题了, 可能不是性能测试没有到位, 而是 用户使用环境出了问题, 这个也需要考虑进去的.

wangyong3552128 2008-4-28 10:22

公司开发的产品到底需不需要做性能测试,这确实是一个大问题。

当然要做性能测试,起码要根据自己的产品性能考虑过进行性能测试,因为IT公司是靠做软件吃饭的,软件的质量直接决定了公司的经济效益,所以说软件质量的好与坏直接决定了该IT公司的存在意义。

ami冰河 2008-4-28 10:50

任何一个软件都需要进行性能测试

任何一个软件都需要进行性能测试。
无论是B/S,或者是C/S的,甚至是单机版的软件都有进行性能测试的必要。尤其是对大数据量的性能测试。

godn_1981 2008-4-28 11:09

关于性能测试的看法

关于楼主的问题:有的软件没做性能测试,客户反馈了很多性能问题;有的软件没做性能测试,客户从没抱怨性能有问题;有的软件做了性能测试,客户依然反馈了很多性能问题;有的软件做了性能测试,客户从没抱怨性能有问题……
这确实是个问题。
其实我倒觉得问题不是要不要做的问题,而是怎么做,做多少的问题!
请注意,没有任何一个软件不需要做性能测试,而是说需要程度到底有多高,这个需求程度决定了花多少精力去做,并且怎么做的问题。
就算一个只有1000行代码的小程序,你怎么能保证它不需性能测试?你怎么知道它里面就没有内存溢出?你怎么知道它有没有耗费了不必要的资源?
所以问题不是做不做的问题,而是花多少代价,怎么做的问题。

一般性能测试有几个层次,或者说两个需求。
a.为了找出性能问题
b.为了给出性能指标
c.为了给出需要的配置
而我们国内现在常做的软件无非有几种:1.单机版应用程序 2.C/S或者B/S的项目(一般是外包项目或者政府软件,银行,医疗证券类软件)
对于单机版应用程序来说,一般作性能测试是比较简单的,一般需求是两个,
第一,你要测试一下有没有内存泻漏,或者深情况下内存溢出,或者有没有申请一些没必要的资源。这个一般要用一些分析工具
第二,一般一个单机版应用程序,你总要给出,最低配置或者建议配置什么的,那么你给客户这个东西 就需要性能测试,测试一下在各种配置下面的运行情况,给出理想的建议值
对于C/S或者B/S结构的软件就比较复杂了,一般是必须要做性能测试的。这个性能测试一般从以下方面考虑:
第一,优化
这个还是去考虑性能有没有问题,这个是起码的要求。特别是B/S系统,有没有多余请求,资源有没有释放之类的问题,要先考虑的。这类的问题,一般用网络分析工具就可以搞定。
第二,时间
这个是一般性能测试的重点。一般是用性能测试工具LR或WAS之类的做,这个叫负载测试。一般你测试一个软件,总要给老大一个结论,500人并发时,响应时间大概是几秒,300人并发时,是几秒。这个是每个客户都会要的。
第三,配置
这个也是性能测试的重点。这个一般叫压力测试。譬如一般客户会向你要一个数据:我想500人同时并发,响应时间在3秒之内,那么我的服务器要求最低配置是多少?这个嘛,你就只管压吧!压垮了,升级服务器,再压,又垮了,继续升级,到客户要求的性能指标达到为止,呵呵~~~~~~~~~~~~
总结一下,不是要不要做的问题,而是怎么做,按照客户要求哪些需求,哪些指标做的问题!

godn_1981 2008-4-28 14:16

再补充一点哦

当然在具体执行的时候,还是要根据具体情况。
这个一般是在项目开始阶段都和客户约定好的,如果是自己的产品,需要自己制定哪些需要进行性能测试。
那么B/S,C/S一般都是要进行性能测试的。除非用户量特别小。
一般被测系统也不是每一个模块都要进行性能测试的。选择其中交互频繁,数据检索量比较大,用户即时响应要求高等模块。

wangjcltj 2008-4-30 08:59

乍一看,为什么这一期回答的人这么少呀.

再一看,为什么这一期的题目出成这样呀.

仔细了再一看.得,偶可以说的全让前面的人儿给说完了.

顶一下吧.其实这个问题本身还是有问题的,就像10.11楼说的,每个软件都要进行性能测试,不过力度不同而已.

tengmy 2008-4-30 10:58

任何软件都要进行性能测试

这个问题在实践中我们也有遇到过。
其实我对提出这个问题的人感到很奇怪。
或许,在n年前,也有人提出过,什么样的软件需要进行测试?

任何软件都需要性能测试。功能测试只是保证了这个软件的可用,易用,但是不能保证这个软件真的可以长期的使用。
一个软件研发出来,测试的周期再长,也不会有用户在手里长年累月的用来的长久。一旦出现了问题,损失很多,受伤的不仅仅是使用端的用户,还有测试,研发这个软件的人以及最终是生产这个软件产品的商家。质量不高带来的信誉问题是很难消除的。
很多问题如果不用性能测试是很难排查的。特别是多用户多条件的复杂使用情况下。
所以我的观点是任何软件都是需要性能测试。

但是客户坚持肯定没有问题,为了节省成本,别说不做性能测试,不需要测试团队参与都无所谓。只要后果他自己承担起就好。

godn_1981 2008-4-30 14:50

美女真多啊~

14#是个美女~~
斑竹,不要删我的帖子哦,对于这个问题前面我已经回答过了,~~~~本回帖和技术无关,吼吼………………

唐人 2008-4-30 16:56

凡是对性能有要求的地方,都要对性能进行测试。只是程度不同而已。
这就跟衣服啦,鞋子啦,碗啦等等是一个道理。1000块钱的鞋子跟10块钱的鞋子的质量不一样,出厂前做的测试肯定不一样。
软件在今后使用过程中对对性能的要求高,就需要严格、认真的测试,对性能没有要求,就不需要严格的测试。

BTW,现在好像都很注重质量问题了。听说黑手机的质量比行货都牛了。估计他们的测试也做的不错。呵呵~~~

newlijia 2008-5-1 17:04

试着回答

我是个正在学习软件测试的新人。
我认为何时采取性能测试取决于以下几种情况:
         1、当遇到多用户,多进程的情况要进行性能测试。
         2、对于金融行业和通信行业开发的软件要进行性能测试。
         3、当要处理大量数据时,要进行性能测试。

wjb-test 2008-5-2 19:28

回复 7# 的帖子

很同意你的观点

microtester 2008-5-3 23:43

很多人都站在珠峰的高度来讨论这个问题,说一些假大空的套话。说任何一个软件都需要做性能测试的答复,我认为是无效答案。
真的是任何一个软件都需要进行性能测试吗?你果真对你所负责的每个软件都做了性能测试吗?
臭名昭著的奥运订票系统做过性能测试吗?
我接触过的项目80%都没考虑过性能问题,更别提进行性能测试了。我在外包公司做,这种情况相当具有普遍性。

我的经验是如果我的客户明确提出性能要求了就做,如果没有明确提出就不做。

godn_1981 2008-5-4 09:11

楼上的也太无知了

任何一个软件都需要做性能测试的,只是你做没做的问题,不能因为你没做,就是不需要做啊。
你没做,只能说明你们不规范,没做好而已。

duola1119 2008-5-4 13:41

性能测试如果从其性质上区分,可以分为以下3种不同的测试
1.诊断性质的测试
2.调优性质的测试
3.检测性质的测试
如何确定软件需要做性能测试,分开来讲就是如何确定软件需要诊断性质、调优性质、检测性质的测试。
诊断性质的测试一般发生在软件系统出现性能瓶颈之后,由开发人员要求测试方进行性能测试,通过性能测试诊断一下性能瓶颈的位置。
上面我有说到,是由开发方提出的测试要求给测试方,这种性质的测试是测试方针对开发方这样的客户做的测试,做不做诊断性质的性能测试就由开发方做决策。如果开发方提出需求那么这个软件就需要执行此种性能测试。
调优性质的测试可以分为配置上的调优测试和程序上的调优测试
配置上的调优测试可以是测试方在开发方的配合下调整各种服务器上的参数,例如数据库系统分配内存大小、CPU数量等又如weblogic上的线程数、JDBC链接池等获得应用系统在性能方面最优的配置。
这种性质的测试通常情况下在软件的集成阶段和验收阶段,由用户提出的对系统性能测试的需求,所以根据客户需求而定,通常情况下这方面的测试都容易被忽略。
程序的调优测试可以是测试方告知开发方大致确定的性能瓶颈的位置,由开发人员调整程序,再交由测试方进行性能的回归测试,确认调优的效果。
程序的调优测试同样根据客户的需求而定,根据检测结果确定软件性能与客户需求的差距确定是否需要此种测试。
检测性质的性能测试仅仅是通过性能测试确定系统响应时间、CPU处理能力、资源利用率等数据,判断是否符合已经确定的性能指标。
根据经验检测性质的性能测试不应跟需求有关系,而是每个软件都应该执行的,其结果应作为软件的规格交付客户,就像一个充电器的电流,大小,重量一样。
另外测试方可以通过了解开发方当前处在某个阶段时,可以初步判定开发方提出的性能测试工作需求是否合适或合理。
例如:开发方在集成测试阶段提出检测性质的工作需求时,测试方可以初步判定这样的性能测试工作需求是不合理的。
因为在集成测试阶段,软件的开发尚未完成,代码在后续的测试过程中还需要大量的修改因此此时测试方可以建议开发方在此阶段执行诊断性质的或者调优性质的性能测试。

yolander 2008-5-4 13:57

[quote]原帖由 [i]godn_1981[/i] 于 2008-5-4 09:11 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=960668&ptid=113138][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
任何一个软件都需要做性能测试的,只是你做没做的问题,不能因为你没做,就是不需要做啊。
你没做,只能说明你们不规范,没做好而已。 [/quote]
这话说的有点过了
任何一个软件……这话说的也有点空
说到底测试需求来源于用户的要求以及被测产品的行业标准或法律法规的相关规定,如果上述要求都没有,被测软件又是一个单机版且功能简单的小软件,测试人员却非要强调性能测试,那就有点矫枉过正了
当然,在我们的测试规范中,也有关于性能测试方面的相关说明,如,在做测试需求分析时,规定了如何对系统需求中的性能指标的提取;在测试设计时,如何设计测试用例、测试脚本或测试方法,以满足对系统性能指标测试的覆盖;对产品行业标准以及法律法规中的寿命和可靠性指标的测试设计和测试执行相关标准……
这一切的前提都在于我们测试的系统是一个被测需求清晰明确的系统,因为测试并不是空穴来风,它一定是有所依据的

archonwang 2008-5-4 15:45

如存在性能需求,就需要做相关测试——听起来是正确的。

其实,就自己的经验,即使有时候存在性能需求,只要其影响面不大,不足以影响全局时,基本上都是忽略不做的。况且,现在很多系统都是基于中间件构建或者组件构建,而这些组件或中间件都是由第三方厂商提供的,相应的,其组件的性能风险就会被押在厂商身上。

作为一个产品而言,其性能风险始终存在,即使购买了第三方的产品作为研发的基准。但作为一个项目,其性能风险往往是隐性存在的,有时候客户没有提供任何性能需求,却在最后阶段以性能表现差把项目拦下的情况也时有发生。所有的测试都有基准和依据。至于规不规范,也仅是一家之言,对于企业而言,能在有限的时间内,达成双方的最大利益即意味着成功(即客户满意,公司的成本又相对低)

清风随雨 2008-5-4 17:07

回答:如何判断是否需要对一个软件进行性能测试

如何判断是否需要对一个软件进行性能测试,我认为这个判断的依据就是用户的需求以及用户的潜在需求.软件就是用户的业务管理流程的计算机语言化的体现.因此,脱离了用户的需求的软件就是失败的软件.判断是否需要对一个软件进行性能测试,归根结底就是要判断用户的业务管理流程以及实际运行环境是否有性能测试的需求,再具体点就是用户的哪些业务需求需要进行性能测试或者说软件的哪些模块需要进行性能测试。当然,为了开发一个好的软件,不仅仅需要考虑用户的当前需求,还要考虑用户的潜在需求,一般在设计软件的性能指标时,应至少考虑两到三年后的用户业务增量。
   在分析用户的需求时,应注意以下几个方面:
   1、系统使用人员的数量;
   2、系统使用的频率;
   3、系统不同业务之间的使用频率以及实际运行环境的高峰时的使用频率;
   4、服务器部署模式;
   5、系统是否属于实时系统;
   6、系统是否属于大数据量系统(读操作、写操作、读/写操作);
   7、系统运行的实际环境(软件环境、硬件环境以及网络环境);
   8、系统的业务增量以及增加速度(测试强度估算)。
   以上为个人意见,有错误或疏漏的地方请大家及时指正和补充。

lucky_snow 2008-5-5 09:47

根据测试需求的显示需求和隐含需求来判断

xhj104 2008-5-5 10:39

测试不仅要考虑质量,也要考虑与商业利益的平衡

测试不仅要考虑质量,也要考虑与商业利益的平衡,软件购买商其最终目的是为企业创造价值利益,软件提供商的最终目的也是软件的利润创造。所以是否做性能测试最终要考虑到质量与利益的平衡。这也是一些小型项目通常不进行性能测试的根本原因

june_zhuhui 2008-5-5 13:51

理论是实际相结合

从理论的角度来分析:所有的软件都需要做性能测试;
从实际的角度来分析:根据实际性能需求来做性能测试;
至于怎么来衡量,楼上的各位都已经讲了很多。

june_zhuhui 2008-5-5 13:54

用户需求和潜在需求

1、可以从用户需求中提炼性能测试需求和潜在性能测试需求;
2、没有用户需求的情况下,在实际条件允许的前提下发掘潜在性能测试需求;

yglg0003 2008-5-5 15:40

用户要做就做,不要做跟他说明利害关系,不要做就不做,合同上说好了的事

f84248860 2008-5-5 17:06

性能测试,当然这里我说的是产品可以使用,但需要对产品的性能进行深一步评判的这种性能测试,我会考虑三个因素:
1.客户需求中的优先级,并确定我们要做什么样的性能测试,要做到一个什么样的程度。
2.做这次性能测试的成本。
3.测试的时间是否足够,计划是否能够安排跟得上。

即成本,进度,范围这三个方面作考虑。

杀手太冷 2008-5-5 17:21

如果软件公司对自己开发的软件有责任心的,自己不用客户提出就会做的~~~要等到客户提出才做,说明公司是没有责任心的,最自己的软件也是不负责任的~~

godn_1981 2008-5-5 17:53

要有责任心

楼上有N多位说性能测试居然不要做,或者根据客户的要求。
个人认为这是不负责任的,对自己公司,对客户都是不负责任的。
一般软件都是要性能测试的,特别是一些交互操作比较多的系统。
如果客户不要求就不做,明明知道有性能隐患,却视而不现,对软件测试人员来说是有悖职业原则的。
我觉得,这个东西事先要给客户讲清楚的,有些客户压根不懂,根本不懂性能为何物,到时候上线之后发现不行了,再来找麻烦,会更郁闷。

scepteryang 2008-5-6 09:37

软件性能测试是软件项目很重要的一个不能忽略的环节

以前对软件性能测试没有清晰的认识,只是在做项目时感觉那块运行比较慢,就研究一下,对代码进行调优或对数据库进行调优。后来做一些数据量比较大、交互比较频繁、实时性要求较高的项目,才真正开始引入压力测试工具,对项目进行认真的性能测试。经过大家对这个问题的讨论,从理论上对性能测试有了更深刻的认识。当然,具体到实践中,还需要大家仔细的揣摩、体会。

riddlestraw 2008-5-6 10:16

弄清客户想要的结果!

<客户的项目需求规格>可作为我们是否进行性能测试或者说做性能测试的标准。不同的终端客户要求肯定不一样,打个比方,同一个OEM厂家,但是终端客户不同(比如分别为SONY, JVC, Philips),它们的性能测试标准肯定不一样。有句话说:请给我结果!我想客户想要的最终结果就是符合它们一贯的产品规格和理念!只有对客户需求有充分的了解和分析,才能做到让客户满意的质量!

yuanjun612 2008-5-6 10:55

责任所在

我们应该知道我们测试人员的根本目的是什么?测试是为了干什么?
      性能测试是必不可少的,一个软件它之所以成功,那它的前提无疑是经过了很多的测试。不管是什么测试,做了总比不做的好,虽然成本不一样,但是小的成本可以换来以后的利益。客户看的不是你的片面之词,他们要的只是结果。所以所有的测试都是必不可少的,尤其是性能测试!

[[i] 本帖最后由 yuanjun612 于 2008-5-6 10:57 编辑 [/i]]

贱王之王 2008-5-6 12:15

参考依据:
1.实际情况;
2.用户需求;
3.公司人力,财务资源;
4.在做功能测试时发现有些地方性能的确不够好的地方可以考虑做下性能测试;
5.风险和以后的软件扩展情况;

huior 2008-5-6 14:08

本以为该题目已经结束了,没想到竟然还在,呵呵。

简单说一下我的看法
[url]http://www.51testing.com/?10851/action_viewspace_itemid_81556.html[/url]

bingdu520 2008-5-6 14:29

回复 1# 的帖子

个人认为任何一个人家都是做性能测试的,只不过区别在于性能测试做的是否专业,是否深入罢了

dulong 2008-5-6 17:39

站在公司与用户的立场我说些不一样的吧。
我以前公司的产品是卖给用户使用,在签合同时有明确要求进行性能测试的我这都要安排进行,另一种情况是开发的产品实在太差,必须通过某些途径获知该产品是否存在哪些瓶颈,这时,进行相关的性能测试成了一种解决的途径。
现在的公司是产品开发了自己用,类似于门户网站那样的。这时客户对象发生了变化,‘上帝’不高兴不满意就会发怒,所以一般都有做性能测试。
当然,做到何种程度这个我想取决于这个团队的技术力量。:lol
其实,这里很多时候都是一种观念在起冲突:利润、成本、质量、信誉。

cityyard 2008-5-6 20:39

最近忙,好久没来这里看了,上来看到关于性能测试刚好我也做过,随便说两句。

性能测试应该是要做的,不做性能测试那么几乎必然会在客户那里出性能问题。

第一种情形性能测试最主要的依据也就是客户需求和市场定位。客户需求和市场定位体现在产品设计书里面,就是说产品应该有什么样的性能设计时就应该写明,比如读写速度不低于100M同时访问量可达到5000以上等等。测试本来就是依据设计的,设计书里有还能不测么。这种测试一定要在交给用户前测完,并且必须合格。

第二种情况,系统扩展的性能,比如一个网络管理系统,管理若干节点,当管理10个节点的时候,系统响应正常,但是系统扩展到20个节点时,可能会由于内部某些逻辑导致性能意想不到地迅速下降从而影响系统扩展。这种测试是否要做可以根据开发计划来看,比如目前可能暂时不会有用户要求支持20个节点,那么10个节点反正是正常的20个可以暂缓测试。

第三种情形,就是异常系的性能,还说我们的网络管理系统,管理10台机器,每次发送某个命令会对这10台机器进行查询,一般情况下这个查询是半秒内就可完成,但是比如说查询使用了rsh,而碰巧rsh遇到某种网络错误时会卡死并10秒不返回,命令一直接不到返回值也被卡住,如果不处理,用户那里看到的就是有时候突然性能低下。这种问题比较容易出。

第四,性能测试进行参数调整。性能测试还有一个重要的目的就是参数调整。很多软件开发会用到一些现成工具包或者工具,这些写工具一般有很多参数可以选,假设我们的管理系统借助samba来实现win-linux之间的文件传输,就存在一个samba自身的参数怎么选取的问题,为了给samba找到一个合适的参数组合配合自己的软件使用,做几百上千次不同参数组合的性能测试并不奇怪。当然了自己开发的软件里面的许多参数也同样要调整,比如一次发送的网络包的大小,再考虑和samba参数互相配合,这个测试是极其复杂繁琐的,但是不得不作,将来用户手册里写的请打开xxx文件把xxx相改为xxx之类的话,都是靠这些测试得来的。
页: [1] 2
查看完整版本: 如何判断是否需要对一个软件进行性能测试?(08-04-25)(获奖名单已公布)