性能测试八大类:性能,负载,压力,配置,并发,容量,可靠性,失败
性能指标:
1)响应时间:指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回结果的响应结束,结果信息展现在客户端整个过程所耗费的时间。
响应时间=网络传输时间+web应用服务器处理延迟时间+数据库服务器处理延迟时间+客户端处理延迟时间。
一般而言,响应时间是指平均响应时间
2)吞吐量:指单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力。通常用 请求数/秒 或者 页面数/秒 来衡量。吞吐量是大型门户网站以及各种电子商务网站衡量自身负载能力的一个很重要的指标,一般吞吐量越大,系统单位时间内处理的数据越多,系统的负载能力也就越强
3)并发用户数量:最简单描述就是指多个同时发生的业务操作,例如,100个用户同时单击登录页面的‘登录’按钮操作
4)点击数:衡量WEB服务器处理能力的一个重要指标。它的统计根据客户端向web服务器发了多少次HTTP请求计算的。点击数不是通常一般人认为的访问一个页面就是1次点击,点击数是该页面包含的元素(如图片,链接,框架等)向web服务器发出的请求次数
5)性能计数器:是描述相关服务器(如数据库服务器,应用服务器)或操作系统,中间件等性能的一些数据指标。
6)系统稳定性:是在进行性能测试时,用户经常提出的一项重要指标。特别是涉及人身安全,财产等方面的重要系统,基于系统本身的重要性,通常要求非常高,要求365*24小时无故障运行,通常系统稳定性关注的内容是稳定运行时间,该指标表示系统在标准压力(系统的预期日常压力)情况下,能够稳定运行的时间
吞吐量公式:F=VU*R/T F表示吞吐量,VU表示并发虚拟用户数,R表示每个VU(虚拟用户)发出的请求数量,T表示性能测试所用时间-处理这些请求所花费时间
R可以用时间T和用户思考时间TS来计算: R=T/TS
平均并发用户数的计算:C=nL / T
其中C是平均的并发用户数,n是平均每天访问用户数(login session),L是一天内用户从登录到退出的平均时间(login session的平均时间),T是考察时间长度(一天内多长时间有用户使用系统)
并发用户数峰值计算:C^约等于C + 3*根号C
其中C^是并发用户峰值,C是平均并发用户数,
所谓响应时间的“2-5-8原则”,简单说,就是
当用户能够在2秒以内得到响应时,会感觉系统的响应很快;
当用户在2-5秒之间得到响应时,会感觉系统的响应速度还可以;
当用户在5-8秒以内得到响应时,会感觉系统的响应速度很慢,但是还可以接受;
而当用户在超过8秒后仍然无法得到响应时,会感觉系统糟透了,或者认为系统已经失去响应,而选择离开这个Web站点,或者发起第二次请求。
软件测试理论中,常提到2-8原则
所谓2-8原则,即80%的bug多发生在软件的20%的模块。所以,在回归测试的时候,这20%的高发地带是关注的重点!
二八原则还指:80%的业务量在20%的时间里完成。
如何理解,下面我们来个例子吧
用户登录场景:早高峰时段,8:50---9:10,5000坐席上线登陆。
业务量:5000个
时间:20x60=1200秒
吞吐量=80%x业务量/(20%*时间)=4000/240=16.7/秒
而并非5000/1200=4.1/秒
实际上,登录请求数分布是一个正态分布,最高峰时肯定比4.1/秒更高,高峰段实际上完成了80%的业务量,却只花了20%的时间。
温馨提示:
1.二八原则计算的结果并非在线并发用户数,是系统要达到的处理能力(吞吐量),初学者容易被误导,拿着这个数据就去设置并发数,这是错误滴。
2.如果你的系统性能要求更高,也可以选择一九原则或更严格的算法,二八原则比较通用,一般系统性能比较接近这个算法而已,大家应该活用。
二八原则还指:
1、80%的错误是由20%的模块引起的
-----> 站在用户角度,并非研发实现的角度,正确地选择重要模块作为测试重点,从而不偏离方向。
2、80%的测试成本花在20%的软件模块中
-----> 设计用例时需要将时间花倾斜在复杂的20%核心模块上,从而设计更高效的测试用例。
3、80%的测试时间花在20%的软件模块中
------> 软件测试执行过程中需要将时间倾斜在重要模块的测试用例中,从而使测试更加有效,发现bug。
1.pv(访问量):即 Page View,具体是指网站的页面流量或者点击量,页面被刷新一次就计算一次。如果网站被刷新了1000次,那么流量统计工具显示的pv就是1000.
2.uv(独立访客):即 Unique Visitor,访问您网站的一台电脑客户端为一个访客。0:00-24:00内相同的客户端只被计算一次。
一个UV可以用很多PV,一个PV也只能对应一个IP。比如,今天访问了一次你的网站,你的UV就加了1,我这次访问浏览了两个页面,你的PV就加2,我访问同一页面,但刷新了一次,PV也是2
TPS:每秒请求/事务的数量 (每秒事务处理量(TransactionPerSecond))