产品质量的标准

 功能性 Functionality 

 非功能特性

- 性能 Performance
- 容量 Capacity
- 安全性 Security
- 易用性 Usability
- 可伸缩性 Scalability
- 可靠性 Reliability
- 兼容性 Compatibility
- 可扩展性 Extensibility


性能问题外部表现内因

外部表现:

启动系统、打开页面越来越慢
 查询数据,很长时间才显示列表

 网络下载速度很低,如5k/s

内因:

 资源耗尽,如CPU使用率达到100%
 资源泄漏,如内存泄漏 ,最终会导致资源耗尽

 资源瓶颈,如线程、GDI、DB连接等资源变得稀缺


性能测试(performance test)就是为了发现系统性能问题或获
取系统性能相关指标而进行的测试。一般在真实环境、特定负载
条件下,通过工具模拟实际软件系统的运行及其操作,同时监控性能各
项指标,最后对测试结果进行分析以确定系统的性能状况。
 获取系统性能某些指标数据
 为了验证系统是否达到用户提出的性能指标
 发现系统中存在的性能瓶颈,优化系统的性能


    性能基准测试:在系统标准配置下获得有关的性能指标数

据,作为将来性能改进的基线(Baseline),之后的就是对这个

指标之上;

性能验证测试:验证系统是否达到事先已定义的系统性能

指标、能否满足系统的性能需求

性能规划测试:在多种特定的环境下,获得不同配置的系

统性能指标,从而决定系统部署的软硬件配置选型,可以先

用两台服务器,可以再加两台,来看性能是否提高,确定应该

怎么配置软硬件

容量测试可以看作性能的测试一种,因为系统的容量可以

看作是系统性能指标之一;能支持多少并发用户

要做性能测试,需要知道性能需求,所以需要知道需要关注哪些性能表现?

确定性能需求

1、最终用户的体验,如2-5-10原则  

两秒的时候打开一个页面,正常时候也需要5秒内,最慢不超过十秒,用户体验差;

2、商业需求,如“比竞争对手的产品好”

3、技术需求,如CPU使用率不超过70%

内部资源的使用效率不高,那样性能不会好

4、标准要求,如数据通信延时<80ms

 用户关注系统的外部表现,如响应时间
 业务部门关注系统的容量和数据吞吐量

 技术团队关注系统资源占用率、或使用效率

例子:

软件测试:性能测试

性能测试的指标

 系统/事务平均响应时间(Average System/Transaction Response Time)

 事务/交易处理效率(Transactions per second,TPS)

 Page View (PV): 用户向Server发送请求,Server处理这样一次真实的请求

 连接时间(Connect Time)、发送时间(Sent Time)

 处理时间(Process Time)、页面下载时间

 吞吐率(Throughput)每秒服务器处理的HTTP申请数

 每秒点击次数(Hits per Second) 每秒SSL连接数 (SSLs Per Second)

 内存和CPU使用率

负载的组成,三部分:

 每次请求发送的数据量 (Request Per Second, RPS)

 并发连接数 (Simultaneous Connections, SC) 

 思考时间(thinking time),用户发出请求之间的间隔时间

RPS + SC + Thinking Time = Concurrent users

负载的模式:

加载的循环次数或持续时间

加载的方式或模式,如均匀加载、峰值交替加载等

软件测试:性能测试

关键业务选择(性能测试范围)20%80%
不需要对应用系统的所有功能进行性能测试,而是根据业务

操作和技术分析(资源使用) ,选择关键业务进行性能测试

比如淘宝,用的比较多的就是首页,登录,搜索,排序,订单等功能

测试环境:逼近真实的运行环境
 网络及其配置
 服务器硬件选型
 被测试系统部署
 数据库数据量
 测试机器池

 SUT监控

软件测试:性能测试

选择测试工具后 脚本录制 验证回放 脚本参数化 脚本调试 加载模式

测试执行和监控

① Web/应用/数据库服务器资源(CPU、内存)

② 响应时间:请求发送时间、网络传输时间和服务器处理时间

③ 服务器处理时间:web连接、数据库连接、数据库执行时间

④ 数据库执行时间:解析时间,执行时间、读取时间、其时间,如绑定时间

找平均值、最值、拐点等关键的点,找异常数据来分析性能瓶颈

相关文章: