性能测试概念及相关
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试,包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等等。主要是针对系统的性能指标制定性能测试方案-执行测试用例-得出测试结果来验证系统的性能指标是否达到既定值,系统的性能指标包括系统各个方面的能力,如系统并发处理能力、系统响应时间、批量业务处理能力等。性能测试主要用来保证产品上线或发布后系统的性能满足用户需求。
并发数 系统用户数:简单地说就是该系统的注册用户数。例如,BestTest论坛里存在6666个注册用户,他们可以是活跃 的,也可以是僵尸的。 在线用户数:即登录系统的用户。例如,其中有666个用户的状态为在线,但在线用户并不一定都会对服务器产生 压力,因为有的用户登录后什么都不干。 并发用户数:是对服务器产生压力的用户。例如,可能在线的666个用户中,只有20%的用户对服务器产生了压 力,这20%的用户数就是并发用户数。 严格意义的并发用户数:同一时间进行同一个操作的用户数。
- 平均并发用户数 = (login session的数量 × login session的平均长度 / 值考察的时间长度) (C = n×L/T)
- 并发用户峰值 = (平均并发用户数 + 3× √平均并发用户数)(C’ = C + 3×√C )
- 并发数 = 页面浏览量 / 页面浏览量统计时间 × HTTP响应时间 × 因数 / Web服务器数量
响应时间(response time),又称请求响应时间(TTLB,time to last byte) 即,网络传输(请求)时间 + 服务器处理时间 + 网络传输(响应)时间
事务响应时间(transaction response time),事务是指一组密切相关的操作组合。
每秒事务通过数(TPS,transaction per second),是指每秒系统 能够处理的事务数。当压力加大时,TPS曲线如果变化缓慢或者有平坦的趋势,很有可能是服务器开始出现瓶颈了。如果环境没有发生大的变化,对于同一系统会存在一个最大处理事务能力,它并不随着并发用户的增减而改变。
点击率(hit per second),代表用户每秒向Web服务器提交的HTTP请求输,点击率越大,服务器压力越大。
吞吐量(throughput),单位时间内系统处理的客户请求的数量,直接体现软件系统的性能承载能力,一般用每秒请求数或者每秒页面数来衡量,从业务的角度可以用每天访问人数或者每小时处理的业务数来衡量,从网络的角度可以用每天字节数来衡量。
思考时间(think time),指用户进行操作时。每个请求或者操作之间的间隔时间,是为了更加真实地模拟用火的操作场景。
资源利用率
性能测试分类
基准测试(benchmark testing),指对一类测试对象的某项性能指标进行定量的和可对比的测试,有基础的标准,这样能通过对比发现系统的不同点与变化。
狭义性能测试(performance testing),是通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产系统要求,在特定的运行条件下验证系统的能力情况。
负载测试(load testing),是在系统上不断增压指导各项指标饱和,可找到系统的处理极限,为系统调优提供数据。
压力测试(stress testing),是测试系统在一定饱和状态下系统能够处理的会话能力以及系统是否会出现错误。
并发测试(concurrency testing),是通过模拟用户的并发访问,测试多用户并发访问同一应用,同一模块或者数据记录时是否存在死锁或者其他性能问题。
配置测试(configuration testing),是通过对系统的软硬件环境的调整,了解各种不同环境对系统性能影响的程度,从而找到各项资源的最优分配原则。
可靠性测试(reliability testing),是让系统加载一定的业务压力的情况下,让应用系统持续运行一段时间,测试系统在这种条件下是否能够稳定运行。
失效恢复测试(failover testing),是针对有备份和负载均衡的系统设计的,可以用来检验如果系统局部发生故障,用户能否继续使用系统,以及如果这种情况发生,用户将受到多大程度的影响。一般的关键业务系统都会采用热备份或是负载均衡的方式来实现。这种业务系统一般要求有一台或几台服务器出现问题,应用系统仍然可以正常执行业务。该方法就是在测试中模拟设备故障,验证预期的恢复技术是否可以正常发挥作用。不是所有的系统都需要进行这种类型的测试,尤其是并没有明确给出系统需要持续运行指标的系统。
大数据量测试,包括针对某些业务进行大数据量测试的独立数据量测试,与压力、负载、并发、可靠性测试相结合的综合数据量测试。
性能测试实施与管理
性能测试前期准备 测试工具 测试方案 测试设计与开发 测试执行与管理 测试分析与调优 测试报告
性能测试报告
测试目标 指标要求,TPS、ART、交易成功率、并发数等
测试概要描述 系统结构,测试时间,测试地点和人员,测试工具和环境,测试过程简介
测试结果与分析 测试场景,测试结果,结果分析
测试结论 遗留问题,缺陷列表,测试结论,建议,测试结果的限制
性能测试模型
|