持续测试主要讲的是什么

计算机与互联网 陈磊 编著
简介: 本书结合代码和工具,全面讲述通过持续测试交付可靠的系统。

附录A

性能测试并发用户数估算方法

在性能测试中,并发用户数不是随便决定的,在估算并发用户数时,应秉承“系统证据大于数学估算”的原则。也就是说,如果被测系统主要对外提供服务,系统当前的最大并发用户数可以从系统入口设备或入口服务的日志系统中获取,基于真实可靠的数据,再根据性能测试的需求进行扩大,才是并发用户数的最优估算方法。但是,这种估算方法很少采用,因为测试工程师在做性能测试时,面对的通常是全新的系统,此时的系统尚未对外提供服务。

面对全新的系统,测试工程师最需要收集的就是对估算并发用户数有用的那些数据,如系统上线后可能的用户数、是否有集中“抢购”模型和“抢购”人员的规模等。在收集到大量有助于估算并发用户数的数据后,我们便可以通过下面要介绍的估算方法计算并发用户数。但是,下面这些行业内通用的估算方法也不完全正确,n级别的并发是否支持m级别的用户是由被测系统的逻辑、环境部署方式及硬件等综合因素决定的。

A.1

和Little定律等价的估算方法

若一种估算方法基于某种数学原理,大家会觉得这种估算方法的可信度非常高。Eric Man Wong在2004年发表的文章“Method for Estimating theNumber of Concurrent Users”中提出了一种和Little定律等价的估算方法。

平均并发用户数(C)和并发用户数的峰值(C')的计算公式分别如下。

C = nL/T

其中,n表示登录会话的数量,L表示登录会话的平均长度,T表示考察的时间长度。

例如,假设系统A有3000个用户,平均每天有400个用户访问系统A(可从系统日志中获得)。一天之内,用户从登录到退出系统A的平均时间为4小时,并且用户使用系统A的时间不会超过8小时。此时,平均并发用户数C = 400×4/8 = 200,并发用户数的峰值C' = 243。

A.2

影响因子

在绝大多数场景下,使用影响因子(用户总数/统计时间,一般为3)估算并发用户数。以乘坐地铁为例,假设地铁每天的客流量为5万人次,每天早高峰是7~9点,晚高峰是18~19点。

根据二八原则,80%的乘客会在高峰期间乘坐地铁,因而每秒到达地铁检票口的人数为

50 000×80%/10800≈3.70≈4

考虑到安检、地铁入口关闭等因素,实际每秒聚集在检票口的乘客不会少于4名,假定每名乘客需要3s时间才能进站,那么实际的平均并发用户数C =4×3 =12。影响因子可以根据实际情况适当增大。

A.3

二八原则

假设一个网站每天的PV(Page View,页面浏览量)为1000万,根据二八原则,1000万PV中的80%是在一天的9小时内完成的(人的精力有限),因此TPS(Transactions Per Second,每秒事务数)为

10 000 000×80%/32400≈246.91

影响因子取3,平均并发用户数为

C=246.91×3=740.76≈741

A.4

经验评估法

一些经验丰富的性能测试工程师依据自己的经验统计,给出了平均并发用户数(C)与系统最大在线用户数的关系:平均并发用户数等于系统最大在线用户数的8%~12%。

假设某系统的最大在线用户数是1000,在进行性能测试时,可结合该系统提供的业务服务,设置平均并发用户数介于80和120,这样就可以实现该系统1000人同时在线的性能评估了。

上面介绍的每一种估算方法并不是估算并发用户数的万能方法。在使用过程中,测试工程师仍需要结合项目的真实情况,找出更适合自己系统的估算方法,从而更客观地评估系统性能,在不过度测试的同时保障系统的质量。

附录B

HTTP代理工具

B.1

Fiddler

B.1.1

截获HTTPS请求

启动Fiddler,在菜单栏中选择Tools→Options选项,打开Options对话框,选择HTTPS选项卡,按照图B-1进行设置。

版权:人民邮电出版社