性能测试基础和Loadrunner简介
一、性能测试概述
典型的性能缺陷案例
2008年奥运会票务系统“瘫痪”
2012年11月11日,某企业双11活动正式启动,系统被“抢瘫”
2014年1月9日,12306火车票订票网站多次瘫痪
2014年11月6日亚马逊网站瘫痪
性能测试与功能测试
- 功能测试——“能不能用”
- 性能测试——“又好又快”
性能测试简介
性能测试:是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
性能测试的三个特点:
- 通常,性能测试需要借助工具来实现;
- 性能测试除了关注普通的正常情况外,还重点关注空间和时间上的很多峰值或异常的系统运行情况;
- 性能测试借助所监控和收集的各项指标来分析系统的性能。
性能测试分类
二、性能术语
虚拟用户
在测试环境中,Load runner和一些性能测试工具在物理计算机上使用Vuser来“虚拟”实际用户。
并发和并发用户数
- 并发,强调“大量用户”的“同时性”操作(该操作要求对服务器产生压力)
- 并发用户数,指的是在某一时刻同时进行了对服务器产生影响的操作的用户数量。
注意:与“系统用户数”和“在线用户数”之间的差异。
响应时间
包含“请求响应时间”和“事务响应时间”
每秒事务数
每秒事务数(Transaction Per Second,TPS)指每秒系统能够处理的交易或者事务的数量。
点击率
一般指每秒钟用户向服务器提交的请求数。(Web测试中特指HTTP请求数)
吞吐量与吞吐率
- 吞吐量:在单次业务中,客户端和服务器端进行的数据交互总量;受服务器性能和网络性能的影响。
- 吞吐率:吞吐量除以传输时间。衡量服务器性能和网络性能的重要指标之一;一般可以用“请求数/秒、页面数/秒、字节数/秒”等单位衡量。
思考时间
- 指用户操作时,每个请求的间隔时间
- 0 思考时间
可以理解为在做测试的时候的一个边界值,一个极限的操作
性能计数器
性能计数器是一系列用于描述各类型服务器或者操作系统性能的指标,在进行资源监控和系统瓶颈分析中起着重要的作用。
三、 不同角色看性能
- 黑盒测试的角度
- 开发的角度
- 系统管理员角度
- 性能测试角度
黑盒测试的角度
- 黑盒测试操作应用界面
- 数据请求经过网络发送
- 服务器前端接收处理
- 在数据库服务器获取相关数据
- 前端处理后返回数据
- 应用界面接收到数据响应
开发角度
- 结构合理性
- 数据库设计合理性
- 代码与算法
- 系统中内存的使用方式
- 系统中线程的使用方式
- 系统资源是否有恶性、不合理竞争
系统管理员角度
- 硬件资源利用率
- JVM
- DB(数据库)
- 换何种硬件可以提高系统性能
- 系统能否支持7*24的服务
- 扩展性、兼容性、最大容量、可能的瓶颈
性能测试角度
- 服务器硬件性能
- 根据需求和历史数据制定性能目标
- 建立性能通过模型
- 对开发代码框架和硬件框架进行性能分析
- 针对开发发布版本的基准测试
- 对软件进行性能验收和稳定性测试
- 生产环境的配置和优化
- 制定性能测试测试用例
- 制定性能测试场景设计
- 特定性能分析
四、性能测试职业技能
五、性能测试流程
性能测试流程
- 测试流程概述
- 性能测试成功与失败的要素
- 性能调优技能
- 性能测试通过标准
性能测试的难点
- 需求分析
- 场景设计
- 性能诊断调优
- 环境搭建和模拟
性能测试的重点
- 评估系统,需求分析
- 场景设计,用例设计
- 测试执行,是否通过
- 性能诊断优化
性能测试流程中要考虑的内容
性能测试中服务器指标的相关内容
六、性能测试工具选择
选择测试工具考虑的因素
- 专业、稳定、高效,如Load runner,工业级的性能负载工具;
- 简单且容易上手,在测试脚本上不用花太多时间;
- 有技术支持,文档完善,不用在软件使用的疑难问题上花费时间;
- 性价比与投入产出比
七、Loadrunner简介
LoadRunner是一款工业级性能测试软件;
通过模拟真实的用户行为,通过负载、并发和性能实时监控以及完成后的测试报告,分析系统可能存在的瓶颈;
LoadRunner最为有效的手段之一应该就是并发控制,通过在控制台的设置,以达到同一个业务同时模拟成千上万的用户进行操作;
Load runner支持的脚本语言是C语言。
八、性能测试测试用例设计
用例模板
用例1:
用例2: