一、性能测试
1、
- WHY: 为什么要进行性能测试
应用程序是否能够很快的响应用户的要求?
应用程序是否能处理预期的用户负载并有盈余能力?
应用程序是否能处理业务所需要的事务数量?
在预期和非预期的用户负载下,应用程序是否稳定?
是否能确保用户在真正使用软件时获得舒服的体验?
问题的根源是什么?
在多种平台上的数百个服务器
异构系统、多种应用
数千个工作站
局域网、广域网和其他分类型的分布式网络体系结构
交错的故障点 - WHAT: 关注的性能测试内容
并发用户数/吞吐量
平均响应时间
服务器资源占用情况
可靠性、可扩展性 发现引起系统问题的原因,关注采用何种技术提高系统性能 软、硬件配置是否合适(容量规划/硬件选型) - WHO: 哪些人员关注性能
开发、系统管理人员、用户、业务人员、测试人员 - WHERE: 性能测试的关注领域
能力验证、规划验证、性能调优、发现缺陷 - WHEN: 何时进行性能测试
功能验证中后期
2、概念和术语介绍
- 并发数:
系统用户数:简单地说就是该系统的注册用户数。
在线用户数:即登录系统的用户。
并发用户数:是对服务器产生压力的用户。
严格意义的并发用户数:同一时间进行同一操作的用户数 - 响应时间
又叫请求响应时间:TTLB(time to last byte)
对请求作出响应所需要的时间 网络传输(请求)时间+服务器处理(一层或多层)时间+网络传输(响应)时间。 - 事务响应时间(该数值对用户的意义更直观)
事务是指一组密切相关的操作组合 - 每秒事务通过数
TPS 是指每秒系统能够处理的事务数。它是衡量系统处理能力的重要指标 - 点击率
每秒向服务器发送的http请求的个数 - 吞吐量
单位时间内服务器处理的信息量 - 思考时间
用户两个操作之间停留的时间 - 资源利用率
不同系统资源的使用情况。CPU,Memory,磁盘,网络。
2、性能测试模型
- 曲线拐点模型
- 地铁模型
3、性能测试分类介绍
-
压力测试
压力测试是测试系统在一定饱和状态下,例如cpu、内存等在饱和使用状态下,系统能够处理的会话能力,以及系 统能否会出现错误。压力测试与负载测试有些类似,经常把负载测试描述成压力测试的一种场景-例如增加用户数 对系统进行压力测试。压力测试的目的是为了揭露高负载下的问题,例如资源竞争、同步问题、内存泄漏等。
-
基准测试:
有基础的标准,这样能通过对比发现系统的不同点与变化。 -
狭义性能测试
是通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能能否满足生产系统要求。Performance Testing是一种常见的测试方法,就是在特定的运行条件下验证系统的能力情况。该测试是一种正常的测试,主要 是测试系统正常使用时是否满足要求。 -
负载测试
负载测试是在被测系统上不断增加压力,直到各项指标达到饱和,例如“响应时间”超过预定指标或者某种资源使用
已经达到饱和状态。这种测试方法可以找到系统的处理极限,为系统调优提供数据。
负载测试和压力测试两者可以