2023年软件性能测试过程详解与案例剖析学习笔记.doc





《2023年软件性能测试过程详解与案例剖析学习笔记.doc》由会员分享,可在线阅读,更多相关《2023年软件性能测试过程详解与案例剖析学习笔记.doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章 性能测试基本概念1.1软件性能 从用户的角度,软件性能就是软件对用户操作的响应时间。 从管理员的角度,软件性能一方面表现在响应时间上。还涉及资源运用率、可扩展性、系统容量(并发等)和系统稳定性等。为了保证系统的稳定运营和连续的良好性能。 对于开发人员而言,最想知道“如何通过调整设计和代码实现,或是如何通过调整系统设立等方法提高软件的性能表现”和“如何发现并解决软件设计和开发过程中产生的由于过多用户访问引起的缺陷”,也就是性能瓶颈和大量用户访问时的缺陷。关注的是系统架构、数据库设计、代码和设计。 所以在性能测试时,既要关注响应时间,还要关注软件可扩展性、并发能力等指标,还要为性能问题定位
2、。1.2术语1、响应时间 系统响应时间为应用系统从发出请求开始到客户端接受到响应所消耗的时间。 合理的响应时间取决于实际用户的需求。2、并发用户数 有两种理解,一种是同一时间段访问系统的用户数量,一种是服务器所能承受的压力(同时发出请求的客户)。在性能测试中我们更关注前者,业务并发用户数。 公式c=nL/T,计算平均并发用户数,还可用c=n/10还做简朴的估计。n为天天访问系统的用户数。 还可以通过度析服务器的日记来了解用户的使用状态。3、吞吐量 单位时间内系统解决的客户请求的数量,请求数/秒,页面数/秒,访问数/天,业务数/小时,字节数/天。可用于衡量是否达成了预期设计目的,协助分析性能瓶颈
3、。4、性能计数器 描述服务器或操作系统性能的一些数据指标。例如,内存数、进程时间。用于监控和分析。常与资源运用率进行横向对比,例如cpu占用率68%。5、思考时间(休眠时间) 用户在进行操作时,每个请求之间的间隔时间。1.3方法1、SEI负载测试计划过程 关注于负载测试计划的方法,目的是产生清楚、易理解、可验证的负载测试计划。关注目的、用户、用例、生产环境、测试环境和测试场景。2、RBI方法 rapid bootleneck identify,用于快速辨认系统性能瓶颈的方法。3、性能下降曲线分析法 描述性能随用户数量增长而出现下降趋势的曲线。4、LoadRunner的性能测试过程 涉及计划测试
4、、测试设计、创建VU(virtual user)脚本、创建测试场景、运营测试场景、分析结果。5、Segue提供的性能测试过程 先拟定性能基线,然后设定可接受的性能目的,用不同的并发用户数等反复测试。适合性能调优和性能优化,通过不断的try-check过程,逐渐找到也许导致性能瓶颈的地方并对其优化。6、PTGM模型 performance testing general model。分为测试前期准备、测试工具引入、测试计划、测试设计与开发、测试执行和管理以及测试分析。第2章 性能测试的应用领域2.1 性能测试的方法1、性能测试(performance testing) 模拟生产运营的业务压力量和
5、使用场景组合,测试系统的性能是否满足生产性能的规定。2、负载测试(load testing) 通过在系统上不断增长压力,直到性能指标超过预定或某种资源的使用达成饱和。找到系统的解决极限。3、压力测试(stress testing) 测试系统在一定饱和状态下,系统可以解决的会话能力,以及系统是否会出现错误。常用于测试系统的稳定性。4、配置测试(configuration testing) 通过对被测软件的软/硬件环境的调整,了解各种不同环境对系统性能的影响的限度,从而找到系统各项资源的最优分派原则。5、并发测试(concurrency testing) 模拟用户的并发访问,测试多用户并发访问同一
6、个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题。 关注内存是否有太多临时对象、超过设计生命周期的对象、数据库死锁、经常出现长事务、是否出现线程/进程同步失败、资源争用导致死锁、未解决异常导致死锁。6、可靠性测试(reliability testing) 通过给系统加载一定的业务压力的情况下,让应用系统连续运营一段时间,测试系统在这种条件下能否稳定运营。7、实效恢复测试(failover testing) 针对冗余备份和负载均衡的系统。检查假如系统局部发生故障,用户是否可以继续使用系统,假如这种情况发生,用户将受多大限度影响。2.2 应用领域分析1、能力验证 performance
7、 testing,reliability testing,stress testing,failover testing2、能力规划 load testing,configuration testing,stress testing3、性能调优 configurationg testing,load testing,stress testing,failover testing4、缺陷发现 concurrency testing,stress testing,failover testing第3章 性能计数器及性能分析方法 用来衡量被测系统当前的状况和进行性能测试结果分析。可在操作系统级、应用
8、服务器级和数据库级别上查看和记录性能计数器的数值。3.1 操作系记录数器及分析1、Windows Memory:available mbytes,pages/sec,pages read/sec,page faults/sec,cache bytes Process:%processor time,page faults/sec,work set,private bytes Processor:%processor time,%user time,%privileged time,%dpc time Physical Disk:%disk time,average disk queue len
9、gth,average disk read/write queue length,disk reads(writes)/sec,average disk sec/read,average disk sec/transfer Network Interface:bytes total/sec System:%total processor time,file data operation/sec,processor queue length2、unix3、内存分析方法 用于分析系统有无碰到内存瓶颈,是否需要通过增长内存等手段提高系统性能表现。 一方面查看memory/available mbyt
10、es;注意pages/sec,pages read/sec,page faults/sec(反映进行磁盘互换的频率);根据physical disk分析。4、解决器分析方法 先看system%Total processor time,然后看每个cpu的指标,最后分析。5、磁盘I/O分析方法 计算每个磁盘的I/O数;然后与processorprivileged time合并分析;最后根据disk sec/transfer分析。6、进程分析方法 察看%processor time,反映进程消耗的解决其时间;然后查看每个进程产生的页面失效,对于产生最多页面失效的进程要重点分析;了解进程的proces
11、s/private bytes,看是否存在内存泄露。7、网络分析方法 network interfacebytes total/sec 为发送和接受字节的速率,与当前带宽进行比较。3.2 应用服务器计数器1、IIS2、J2EE应用服务器计数器 weblogic: JVM:heap size;heap free JDBC connection pool:waiting for connection current count;connection total count;max capacity;active connections current count execute queue:exe
12、cute thread current idle count;pending request oldest time;serviced request oldest time;serviced request total count;pending request current count;3、数据库计数器第4章 性能测试工具原理4.1 性能测试工具模型 性能测试工具只能帮助您实行性能测试,并不能帮助您完毕性能测试的需求; 性能测试工具可以根据您的规定以各种方式提供报表,这些报表是分析的基础。 性能测试工具一般涉及虚拟用户脚本产生器;压力产生器;用户代理;压力调度和控制系统;压力结果分析工具
13、。4.2 性能测试脚本录制时的协议类型 对于j2ee,建议选择http/https协议。4.3 性能测试工具的选择与评估 工具支持被测系统运营的平台吗? 支持被测系统使用的协议吗? 可以支持我们的特殊规定? 可以提供对我们关心的服务器、应用服务器或是数据库类型计数器的监控吗? 工具使用的脚本语言功能完善吗? 常用的涉及Loadrunner和silk performer。第5章 性能测试的组织5.1 人员构成 经理、测试设计、测试开发、测试执行、测试分析、支持5.2 过程模型 基于ATLM和TMap模型。1、前期准备 保证系统稳定、建立合适的测试团队、测试工具需求确认。2、测试工具引入 选择;培
14、训;应用过程。3、测试计划 测试目的(应用领域,测试目的);用户活动剖析与业务建模(系统日记与用户调查分析);拟定性能目的;制定计划。4、测试设计与开发 测试环境设计;测试场景设计;测试用例设计;脚本和辅助工具开发活动。5、测试执行与管理 建立测试环境;部署测试脚本和测试场景;执行测试和记录结果。6、测试分析 根据测试的目的和目的给出测试结论。第8章 案例三某通信公司的web业务系统性能测试8.1 背景 该系统用于管理公司的备品和备件,涉及网络设备的库存管理、库存流转、备品备件的查询记录。 测试的重要目的是验证系统的性能是否达成用户规定。8.2 项目特点 采用J2ee,tomcat,strut
15、s+ejb+hibernate。一台unix服务器用作数据库服务器,一台unix服务器用作应用服务器。性能体现重要是响应时间。协议为http/https。8.3 测试过程1、前期准备 5人:一个数据库工程师、一个性能测试设计和分析人员、三名性能测试开发和实行人员。 工具需要支持Http/https协议,监控unix/windows服务器的重要性能计数器值,支持oracle数据库计数器值监控,支持tomcat应用服务器的jvm内存使用状况监控。2、测试工具引入 选择LoadRunnder;tomacat的jvm自行开发工具来实现。3、测试计划 (1)测试目的:验证系统是否达成预期性能指标 (2)
16、用户活动剖析与业务建模:得到典型用户活动分析表,并发用户数和吞吐量 用户活动分析表 - 业务名称 实际使用用户数量 业务发生数(笔/天) - 备件信息 200 1500 - 库存流转-申请单 200 4000 - 库存流转-审批 100 4000 - 库存流转-借用 150 3000 - 库存流转-还库 150 3000 - 库存流转-报废 100 200 - 查询记录-备件查询 200 5000 - 查询记录-申请单查询 100 2023 - 导入备件Excel文献 20 80 - 平均天天该系统的用户为600;平均每个用户天天使用4小时;平均每个用户进行500个业务操作; 所以并发用户数:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 软件 性能 测试 过程 详解 案例 剖析 学习 笔记

限制150内