做充分的压力测试,在软件上线后是否就不存在性能问题?(2010-1-26)获奖名单已公布
背景描述:压力测试是对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。例如测试一个 Web 站点在大量的负荷下,何时系统的响应会退化或失败。那么做了充分的压力测试,在软件上线后是否就不存在性能问题了呢?
如果你也有矛盾的问题想提出来和大家一起讨论,请点击此处>>
说不定下期PK的话题就是由你提出的哦,请快快参与吧
奖项获奖名单奖励答案连接最佳话题PK手云层50手机话费充值卡+最佳PK手勋章34# 压力测试并不能代表整个性能测试
性能测试毕竟还包括稳定性测试,压力测试,效率测试,安全测试等等其他类型的测试,单单的一个压力测试即时在充分也不能保证上线后不出现性能问题,即时该软件能承受很大的压力但是不能保证他在该压力下的稳定等等其他性能方面的状况,并且在充分的测试也有疏忽的地方,所以这个观点是不正确的。
[ 本帖最后由 angle-ying 于 2010-2-22 16:21 编辑 ] 只能说降低,达不到绝对的程度。
非要说绝对,需要规定特定的场景。 压力测试只是性能测试的一部分,所以即使压力测试再完美,也不能保证性能不出问题,毕竟性能测试还包括强度测试,负载测试。。。
建议修改这个题目,完全没有辩论的意义了
测试怎么能发现所有的error? 从入门就明白的道理……命题过于一边倒了,没什么意思
支持angle-ying的观点
我绝觉得也是这样的 压力测试是考察软件最的吞吐量测试峰值性能测试是测试稳定是 性能测试范围要广 包括安全性啊 实用性啊等等...就好比物理学中的 一个测质量 一个迅速度似的 性能是质量压力是速度 即使达到所谓“充分”的压力测试,也不可能没有问题。1、大家都要明白,虚拟的场景和真实的场景是存在差异的,也就是说测试场景设计的再如何逼近真实场景,还是存在误差(系统部署架构和测试环境部署架构的差异、正式部署服务器和测试服务器的差异、网络环境差异、虚拟用户场景和真实用户场景的差异、各种突发情况等);所以,光测试充分,考虑到位,也只能减少误差;我们能做的只能是尽力保证没有问题。
2、另外,如上述朋友所说,压力测试只是性能测试的一种,只能验证目前系统中的性能临界点而已,不能保证正常负载一段时间后,系统的性能属性仍然没有问题。
3、瓶颈无法逾越。系统所能承受的压力始终是有瓶颈的,超过瓶颈难道不是性能问题吗?你设计3000人在线并发系统没问题,实际上用户使用的时候爆发了,轻松上5000人后你服务挂了,那么这也是性能问题哈。
……
影响性能的因素很多很多,这个论题即使到了地球毁灭2012了,我也是死忠的反方。 任何都是相对的,没有问题也是不可能的,无论是前期的作为未雨绸缪的设计架构还是作为亡羊补牢的测试,都不可能消灭所有问题。能做到的就是尽量减少问题。
我觉得吧,这个命题有些偏颇
例如楼上所说:“压力可以代表整个性能吗?”,又例如楼上所说:“虚拟的场景和真实的场景是存在差异的”。很明显的命题对反方有利,因此,命题偏颇。我支持反方论点,但是我觉得更多的是这个命题应该谨慎和平衡。我没做过性能测试,没做过压力测试,我只了解过一点这个领域的知识,所以没有什么发言权。怎么可能,或许是存在的问题不能被发现呢?
我们是做测试的,所以我们知道每个软件就算上线后,肯定还存在没有被发现的问题,所以不能说“不存在问题”。这个主要取决于你对充分的定义吧
所以此题无解。。。太过理论化
没有100%的充分,这个世界根本就不存在这样的前提假设 现实中充分是没有上限的,只有理论上这么说性能测试是一个比较复杂而系统的测试,不仅仅只是压力测试
性能测试是一个比较复杂而系统的测试,不仅仅只是压力测试,所以说即使是再充分的压力测试也不能囊括性能测试的全部,而系统上线以后想保证不出性能问题就是根本不可能的。性能测试
性能测试包括都很多的方面1. 服务器的性能
2. 数据库的性能
3.中间件的性能
4.网络环境配置
5.整体的性能
所以 性能一个整体的综合的性能. 每一个部分都有可能会出现问题,所以上线后, 建议做一次全面的性能测试.以防万一.
做充分的性能测试,在软件上线后是否就不存在性能问题?
命题建议改一下,改为“做充分的性能测试,在软件上线后是否就不存在性能问题?”不能这么绝对的吧?
线下的性能测试能模拟线上的用户行为,这样能发现一些性能问题,但线下做了性能测试没问题不能保证上线了就一定不会有问题,主要有两个影响因素:1.线下,线上硬件,软件环境可能不完全一致
2.模拟的用户场景有一定的代表性,但局限性也很明显。 ::xizao::: 谁出的这个题啊,明显者就是有问题的题嘛,那个软件做过充分的压力测试,就能确保不存在性能问题,负载呢。08奥运门票时间,09火车票系统。
只要能足够‘充分’,就能保证质量
先要扣题:‘充分’的压力测试,何为充分的压力测试呢?‘充分’体现在:测试环境需要与线上环境保持一致。包括硬件,软件环境。这点是可以做到的,
现在很多预发布环境其实就是真实的环境。
另外‘充分’还体现在:虚拟的场景需要考虑到真实场景的方方面面。作为一名测试人员,应该考虑到也能考虑到所有可能发生的情况。
一个产品,如果经过测试人员之手后,都不能保证质量的话,那只能说明测试还得努力。
基于上面2点,我认为做了‘充分’的压力测试后,是能保证软件上线后不存在性能问题的。
仅仅发表一下自己观点而已,大家轻点拍砖。:)