性能需求怎么提

前言:网络

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

 

在项目开始以前:并发

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

 

测试需求是一切的基石:测试

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

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

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

一、 首页访问资源

二、 我的中心展现io

三、 用户登陆功能

……

通过确认这些测试点,咱们又能够进行下一步,确认具体测试参数。好比上文提到的须要支撑2000人,又或者页面须要在3秒钟内返回。

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

 

常见的性能需求:

首页打开速度3秒如下;

接口返回在300毫秒如下;

系统在200%的压力下能够稳定运行12小时;

20用户并发,接口处理能力至少达到50TPS

 

一些其余的方法:

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

其次是找之前项目的历史数据,进行横向比较。通常来讲公司对项目的性能要求会保持一致性,因此用公司的历史数据参考是很是靠谱的事情。

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

相关文章
相关标签/搜索