软件性能测试地总结.docx
- 文档编号:1406936
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:26
- 大小:59.53KB
软件性能测试地总结.docx
《软件性能测试地总结.docx》由会员分享,可在线阅读,更多相关《软件性能测试地总结.docx(26页珍藏版)》请在冰豆网上搜索。
软件性能测试地总结
第一章软件性能概述
1.1软件性能基础
1.1.1软件性能的概念
软件性能是与软件功能相对应的一种非常重要的非功能特性,表明了软件系统对时间及时性与资源经济性的要求。
对于一个软件系统,运行时执行速度越快、占用系统存储资源及其他资源越少,则软件性能越好。
软件性能与软件功能是软件能力的不同体现,以一个人的工作能力来比喻,“功能”是某个人能够做的事情,“性能”指此人完成这件事情的效率。
在功能相同的情况下,性能是衡量事情完成效果的一个重要因素。
1.1.2不同角色对软件性能的理解
1)从系统用户角度看软件性能
系统用户指实际使用系统功能的人员。
系统用户看到的软件性能就是软件的响应时间,即当用户在软件中执行一个功能操作后,到软件把本次操作的结果完全展现给用户所消耗的时间。
系统响应时间的影响因素有:
功能的粒度、客户端网络情况、服务器当前忙闲情况等。
从系统用户角度看,软件响应时间越短,系统性能越好。
2)从系统运维人员角度看软件性能
系统运维人员指负责软件系统运行维护的工作人员。
运维人员在关注系统响应时间的同时,还需要关注系统的资源利用率、系统最大容量、系统访问量变化趋势、数据量增长幅度、系统扩展能力等,并在此基础上制定合理的系统维护计划,以保障系统能够为用户提供稳定可靠的持续服务。
运维人员关注的性能问题:
运维人员关心的问题
软件性能描述
服务器的资源使用情况合理吗
资源利用率
应用服务器和数据库服务器的资源使用状况合理吗
资源利用率
系统是否能够实现扩展
系统可扩展性
系统最多能支持多少用户的访问
系统容量
系统最大的业务处理量是多少
系统容量
系统性能可能的瓶颈在哪里
系统可扩展性
更换哪些设备能够提高系统性能
系统可扩展性
系统能否支持7X24小时的业务访问
系统稳定性
3)从系统开发人员角度看软件性能
系统开发人员指系统软件的设计和开发人员。
开发人员关注的性能问题:
开发人员关心的问题
问题所属层次
架构设计是否合理
系统架构
数据库设计是否存在问题
数据库设计
代码是否存在性能方面的问题
代码
系统中是否有不合理的内存使用方式
代码
系统中是否存在不合理的线程同步方式
设计与代码
系统中是否存在不合理的资源竞争
设计与代码
1.1.3软件性能的重要性
保障软件系统的性能具有十分重要的意义,具体体现在以下方面:
(1)系统性能越好,执行速度越快,用户使用系统的体验就越好
(2)系统性能越好,用户的等待时间越少,有利于提高软件操作效率。
(3)系统性能越好,处理能力越大,单位时间处理业务量越大。
(4)系统性能越好,在大量用户访问系统时系统稳定性越好,能够提供持续服务。
(5)系统性能扩展性越好,越容易提升系统的处理能力,以适应更多的访问需求。
能意味着重大的销售损失或用户流失,保持系统系统性能对于软件系统的运营企业具有非常重要性能的的意义,系统下降可良好的系能对于提高用户体验、提升站点声誉、提升客户忠诚度、增加系统收入等都具有重要作用。
1.2常用性能指标
1.2.1响应时间
响应时间指用户感受到的软件系统为其服务所耗费的时间。
一般情况下,需要定义三种情况下的系统的响应时间:
(1)闲时响应时间:
指系统中访问用户数量较少的情况下,用户访问系统的响应时间,也可理解为在不受其他用户干扰的情况下,系统应该具有的性能表现。
(2)忙时响应时间:
指在系统处理正常访问用户量的情况下,用户访问系统的响应时间。
该指标定义了系统在正常访问状态下应该具有的响应时间要求,体现了系统在正常访问状态下的性能表现。
(3)峰时响应时间:
指在系统具有大量并发用户的情况下,用户访问系统的响应时间。
该指标定义了系统在承载最大并发用户情况下应该具有的响应时间要求,体现了系统压力负荷最大情况下的性能表现,也可以理解为系统最大响应时间。
1.2.2并发用户数
并发用户数指系统能够同时处理的用户请求的数目,也可以理解为同时向系统提交请求的用户数目。
注册用户数指系统中全部注册用户的数量;在线用户数指在相同时间段内登录了系统,并在系统中进行操作的用户数量。
平均并发用户数:
指在系统正常访问量情况下的并发用户数。
最大并发用户数:
指在峰值访问情况下的并发用户数。
如何判断是否达到峰值访问情况:
(1)系统响应时间达到了峰值响应时间,即系统的响应时间已经达到了用户能够接收的上限。
(2)系统服务器资源利用率已经达到了上限,即服务器的CPU利用率、内存利用率等指标已经达到了需求规定的上限。
(3)系统请求成功率,即成功请求数/总请求数。
当系统压力过大时,某些用户请求就会执行失败,如果失败率过高,就说明系统已经达到了处理能力的上限,所以可以根据成功率来判断是否已经达到了最大并发用户数。
平均并发用户数仅反映了系统某个时刻的用户访问情况,并不反映系统的性能情况;而最大并发用户数反映了系统的处理能力,往往作为一项重要的性能指标在需求分析时进行定义。
1.2.3吞吐量
吞吐量指单位时间内系统处理的客户请求数量,体现系统的整体处理能力。
系统吞吐量越大,说明系统性能越好。
衡量吞吐量的常用指标内包括:
RPS:
请求数/秒,描述系统每秒能够处理的最大请求数量。
PPS:
页面数/秒,描述系统每秒能够现实的页面数量。
PV:
页面数/天,描述系统每天总的PageView数量。
TPS:
事务/秒,描述系统每秒能够处理的事务数量。
QPS:
查询/秒,描述系统每秒能够处理的查询请求数量。
1.2.4服务器性能计数器
服务器性能计数器指服务器或操作系统性能的一些数据指标,在性能测试中发挥着监控和分析的关键作用。
常用的操作系统性能计数器包括SystemLoad、进程与线程数、使用内存数、CPU使用率、磁盘I/O、网络I/O等。
资源利用率反映的是在一段时间内服务器资源平均被占用的情况,能够更加直观的反映系统当前的运行情况,例如CPU利用率如果达到80%,就说明当前CPU基本已经耗尽,系统处于满载状态。
所以在进行性能需求分析时,往往通过资源利用率指标来定义服务器性能要求。
第2章软件性能测试基础
2.1软件性能测试的概念
定义:
狭义的软件性能测试指为验证软件性能指标、评估系统服务能力、推荐系统软硬件配置、完成系统性能优化等而开展的测试活动;广义的软件性能测试是指测试过程中需要相关性能测试方法配合完成的系统测试活动,包括可靠性测试、可恢复性测试、稳定性测试、兼容性测试、可扩展性测试等。
2.2软件性能测试的目标
目标分为4个方面:
能力验证、缺陷发现、能力规划、性能优化
1、能力验证分为3个层面:
Ø验证性能指标与需求的符合情况
软件系统性能测试最主要的目标:
验证软件性能是否符合软件需求文档中的性能指标要求,是否符合预定的设计目标。
Ø获得系统服务能力
评价系统可靠性
6个质量特性:
功能性、可靠性、易用性、效率性、维护性、可移植性
可靠性一般用平均无故障时间(MTTF)来度量,三个子特性:
成熟性、容错性、可恢复性。
2、缺陷发现
缺陷发现性能测试的主要目的是:
通过性能测试的手段来发现系统中存在的缺陷,并不需要验证性能指标是否满足需求的要求。
3、能力规划
特点:
1、规划能力是一种探索新的测试2、配置规划可用于了解系统的性能以及获得扩展性能的方法。
4、性能优化
性能条有的前提:
进行性能瓶颈定位
特点:
1、确定基准环境、基准负载和基准性能指标2、调整系统运行环境和实现方法、执行测试
2.3常用性能测试方法
性能测试名称
定义说明
基准测试
通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某种性能指标进行定量的和可对比的测试。
主要目的是检验系统性能与相关标准的符合程度
压力测试
通过对软件系统不断施加压力,识别系统性能拐点,从而获得系统提供的最大服务级别的测试活动。
主要目的是检查系统处于压力情况下应用的表现。
负载测试
通过在被测系统中不断增加压力,直到达到性能指标极限要求。
主要目的是找到特定环境下系统处理能力的极限。
并发测试
并发测试主要指当测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题,如内存泄露、线程锁、资源争用问题。
主要目的并非为了获得性能指标,而是为了发现并发引起的问题。
疲劳测试
通过让软件系统在一定访问量情况下长时间运行,以检验系统性能在多长时间后会出现明显下降。
主要目的是验证系统运行的可靠性。
数据量测试
通过让软件在不同数据量情况下运行,以检验系统性能在各种数据量情况下的表现。
主要目的是找到支持系统正常工作的数据量极限。
配置测试
通过对被测系统的软/硬件环境的调整,了解各种不同环境对系统性能影响的程度,从而找到系统各项资源的最优分配原则。
主要目的是了解各种不同因素对系统性能影响的程度,从而判断出最值得进行的调优操作。
基准测试三大原则:
可测量、可重复、可对比
2.4软件性能测试范围
(1)服务器性能测试
(2)网络性能测试
(3)客户端性能测试
2.5性能测试面临的问题
主要包括:
1、没有明确的性能指标需求
2、不切实际的性能指标要求
3、在开发环境下做性能测试
4、走形式地进行性能测试
5、只测试、不分析
6、只测试、不优化
7、性能测试缺乏方法论的指导
8、缺乏高水平的性能测试人才
第三章性能测试的组织管理
3.1软件性能测试过程模型
非经典的软件开发模型:
瀑布模型、螺旋模型、增量模型、喷泉模型、原型模型、敏捷开发
软件测试相关模型:
V模型、W模型、H模型、X模型
Evaluate(评估)
DevelopTestAssets
(开发测试资产)
BaseLine&Benchmark
(基线和基准)
AnalysisResult
Validatereg’s
(使合法化,优化)
CompleteProject
Test
TuneSystem
(调制度)
CriteriaMet(标准满足)
DevelopExploratory(开发探索性数据)
Re-Bench
3.1.1Segue性能测试过程模型
Segue性能测试模型
3.1.2HP性能测试过程模型
制定测试计划
设计性能测试方案
录制VU脚本
创建测试场景
执行性能测试
结果分析
HP性能测试过程模型
3.1.3PTGM(PerformanceTestGeneralModel)性能测试过程模型
4.。
测试设计与开发
3.测试计划
5.
测试执行与管理
2.
测试
工具引入
6.测试分析
1.测试前期准备
性能测试过程通用模型(PTGM)
3.1.4APTM(AgilePerformanceTestModel)敏捷性能测试过程模型
3.1.5SPTM(SystemPerformanceTestModel)系统性能测试过程模型
1.组建测试团队
1)组织团队成员
2)安排工作分工
3)进行技能培训
2.指定测试计划
1)明确测试范围
2)制定进度计划
3)制定成本计划
4)制定环境计划
5)测试工具计划
6)测试风险分析
3.设计测试方案
1)明确性能需求
2)设计性能测试用例
3)设计脚本录制方案
4)设计测试场景
5)设计测试结果指标
4.搭建测试环境
1)搭建硬件环境
2)搭建软件环境
3)搭建测试环境
4)准备数据环境
5.执行性能测试
1)脚本录制与开发
2)场景设置
3)测试执行
4)测试监控
6.分析测试结果
1)测试结果分析
2)性
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 性能 测试 总结
![提示](https://static.bdocx.com/images/bang_tan.gif)