【经验贴】性能需求该怎么提

转载 2015年07月07日 09:36:36
  近期接到一些性能测试项目,各种各样的项目类型,有接口、网站不一而足,但是往往没有一个明确的性能需求。需求方最常见的一句话就是:“这个需要性能测试”或者“项目上线前要压一压”,等我发了邮件去问具体性能需求,才匆匆忙忙的抛出比如“网页7秒内打开”之类的话,这样的需求,首先不准确,比如这个7秒,是在什么样的带宽多少用户并发返回的结果呢?

在项目开始之前
一般来讲,在软件(网站)调研阶段,需求分析人员与业务人员进行沟通,此时就需要明确的提出性能指标,比如并发用户量交易频度业务数据量网络要求等等。然后对系统的响应时间用户数资源进行分析,最终提供一份性能需求给测试人员,进行性能测试。

测试需求是一切的基石
在公司,我们做性能测试基本是以运营统计数据为准,说白了,是以TPS为基础建模,响应时间是后续结果,建场景的基础都是以TPS为主,然后需要提供网络拓扑。比如Booking接口每天交易200000笔,根据2/8原则,80%的访问发生在20%的时间,集中的交易数:200000*80%=160000,集中访问时间:24*20%=17280秒,计算可得160000/17280=9.3TPS。那么如果是新项目,没有现成的TPS怎么办?此时就需要需求方进行确认,期望项目达到什么样的支撑量。

打个比方,我们的客户管理系统,可能需要支撑同时2000人访问,那么对于测试人员需要去做的就是通过模拟线上的压力,把这个情景进行压测出来,甚至有些时候我们需要模拟一个极限的数字,比如以我们现有的环境条件,我们是否可以支撑200%甚至300%这样的数字?

所以,作为测试人员,期望提过来的需求是相对清晰跟合理的。比如你项目生产环境最多只有20人使用或者数据存量只有寥寥,那么是否有必要进行这个压力测试,则需要另行商榷。正常来讲,需要进行压测的网站访问量肯定是比较大的,那么我们需要根据经验,结合具体的功能去定义一些压测点,例如:

1、 首页访问
2、 个人中心展示
3、 用户登录功能
……

经过确认这些测试点,我们又可以进行下一步,确认具体测试参数。比如上文提到的需要支撑2000人,又或者页面需要在3秒钟内返回。

有些情况是在特定要求下的,比如百万级的业务数据条件、100用户并发执行10小时、每次访问数据量大于1M等等,对于特殊需求,需求方在项目初期就要尽可能的挖掘出来,因为要创建符合的模拟场景是很耗费时间和资源的。

常见的性能需求
首页打开速度3秒以下;
接口返回在300毫秒以下;
系统在200%的压力下可以稳定运行12小时;
20用户并发,接口处理能力至少达到50TPS。

一些其他的方法
首先是提问,问测试同事和架构师,可以得到很多有用信息,例如接口响应时间不要超过300毫秒啦,网页访问要低于3秒等等,这些数据都可以是确认新项目性能的一些参考。

其次是找以前项目的历史数据,进行横向比较。一般来说公司对项目的性能要求会保持一致性,所以用公司的历史数据参考是非常靠谱的事情。

最后要注意一些特殊场景,比如刚刚过去的双十一。我们平时测试注重的是一个平均值,那么这种时刻就是峰值。在双十一的时候,公司页面可能会承受平时十倍的访问量。类似情况还有寒暑假前期、重大节假日、火车票抢票开始等等,这些都是需要业务人员提供具体生产数据,然后进行计算和转换的。

相关文章推荐

《LoadRunner没有告诉你的》之六——获取有效的性能需求

版权声明:本文可以被转载,但是在未经本人许可前,不得用于任何商业用途或其他以盈利为目的的用途。本人保留对本文的一切权利。如需转载,请在转载是保留此版权声明,并保证本文的完整性。也请转贴者理解创作的辛劳...

性能需求驱动下架构的改变

产品的发展需要架构的稳定,但是从一个小用户量的软件逐步发展到动辄数千万注册用户的大型互联网应用,没有人会忽视性能需求(或者隐性的性能需求)在其中起了多大的作用。且看一些这方面的分类归纳,从易入繁:  ...

满足极高读写性能需求的Key-Value数据库

满足极高读写性能需求的Key-Value数据库 高性能Key-Value数据库的主要特点就是具有极高的并发读写性能,Redis,Tokyo Cabinet, Flare,这3个Key-Value D...

性能测试知多少---性能需求分析

需求分析是个繁杂过程,它并非我们想象的那么简单,而性能测试需求除了要对系统的业务非常了解,还需要有深厚性能测试知识。才能够挖掘分析出真正的性能需求。   如何获得有效的需求   1、客户方提出...
  • fnngj
  • fnngj
  • 2013年02月21日 09:44
  • 666

【虫师--系列12】性能测试知多少---性能需求分析

来自:http://www.cnblogs.com/fnng/archive/2012/08/18/2645490.html     作者:虫师 需求分析是个繁杂过程,它并非我们想象的那么简...

数据中心性能指标采集及汇总需求开发经验

在这次开发中吸取到的最重要的经验就是 关于软件架构的设计,及面向对象的思想。 在最开始的设计中,我将数据中心的存储,CPU,内存的使用率当作对象去设计,而没有考虑到他们本身是数据中心的属性,而我最终...

公司中javaweb开发经验,更加适应需求变更!

1.项目开发预估不准,导致之前只针对当前情况的开发需要在做更改。 解决办法:对需求进行核实,并增加项目的灵活性。 2.项目后期修改,原本项目继承太多,总是在底部的继承里面处理所有的子类的方...
  • Jam_T
  • Jam_T
  • 2017年03月23日 10:45
  • 138

需求编写的经验之谈

  • 2008年08月21日 15:58
  • 39KB
  • 下载

创业经验谈:满足用户的“真正需求”

产品做出来就给人用的,需求是第一位,不管什么样的需求。国内很多从需求出发的团队,豌豆夹就是其中之一。他们刚好最近举办了新版本的发布会,CSDN记者在会后对豌豆夹创始人进行了采访,最大感受就是:豌豆夹在...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【经验贴】性能需求该怎么提
举报原因:
原因补充:

(最多只允许输入30个字)