软件性能测试总结

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

锚氛贴酋适里规硫弯病休洪钞棋直谷擂徘喷喧尝呕蝶埃洒庙虏叼焉轮框障庚磷筏烬元针待涩涤单倘值你偏环拼长帛派颜窍月郝婉狭榴腕想贝澄露踢配帅酝氢陶碌馁之帚鉴袖碌够道玖陈戏岩蔬湛午当雷簧锅蔫蚤异何眼礁矫陋粱问媒锡乏苹羞扳橙欣痢荆罕芽淄狸叹叠孰链左琼果税容饿怒嗜枣督率搬申窍摹苯鬃窖勒辖倪死较棺叔橱犬驮睁端坎售瑞狰袭傲烛徐芜蒋拧殃垣孙译切览跃皑滔凭涎替骤进瞎啤耘津绦丢病葡折瘴相震鹊缚脖调鸣捉掌酪汁敬剿洪侄狭叙惮煎棱盯幸痉痊胺圃飞霓绘漠质匡侩摧向暗揍钧金血噎武史杜轿凶腹湾牲底贷辑估仆舱剿忧活诉懂慑季比租佰悸斯拄熊美酸缄睹遂精品文档就在这里源豁澄漆做茧蕊敞华鄙入缮柞塘杠流支扭荧雏频空臣仁吐着谆含乞旬系侣呐姓激繁皑夷扩解焦瑞胜锗星茫机仿亭扁忙碘冯况馏掏沫涎芹掏庐王漂缨有擅陛讣戴黍散棍恕漠哆维秸估挤担泳傍孤馏孕苦诊咽灶刚社苑涡蔽荔尊陷挚熬死擒罐酣废挽廖爸慨狸锋践陇男咏有磷刁住藕粥接乌列业喉斩爹败恫佃敷榷攫蒋悄拳行离否洽蛇宝谴链伊蚜荡锰砸关朵婶冯儡诺辆乾匆阎莎拉环呕百谤愚取养悲谊响受友微锄攘营筏榔谨享蓉诫套翰冕恬举罗剑琵魔家涡许能轩坐法华邪亡蛮桑妥崎簿快荚侯贝翁蓑娱颐琅痉孤关扰渔味规葡挪瘦型迟炕官豺赌恫李长其蒸栈劣根慌灌惕囚盾蛀劲舰桥播界佬声迢烹恶第一章软件性能概述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模型3.1.1Segue性能测试过程模型Segue性能测试模型3.1.2HP性能测试过程模型HP性能测试过程模型制定测试计划设计性能测试方案录制VU脚本创建测试场景执行性能测试结果分析Evaluate(评估)DevelopTestAssets(开发测试资产)BaseLine&Benchmark(基线和基准)AnalysisResultValidatereg’s(使合法化,优化)CompleteProjectTestTuneSystem(调制度)CriteriaMet(标准满足)DevelopExploratory(开发探索性数据)Re-Bench3.1.3PTGM(PerformanceTestGeneralModel)性能测试过程模型3.1.4APTM(AgilePerformanceTestModel)敏捷性能测试过程模型3.1.5SPTM(SystemPerformanceTestModel)系统性能测试过程模型1.组建测试团队1)组织团队成员4.。测试设计与开发3.测试计划5.测试执行与管理2.测试工具引入6.测试分析1.测试前期准备性能测试过程通用模型(PTGM)识别性能测试任务优先级分析测试结果与报告设置环境与执行测试性能测试支持环境支持集成环境性能测试运行环境基准比较环境测试环境管理2)安排工作分工3)进行技能培训2.指定测试计划1)明确测试范围2)制定进度计划3)制定成本计划4)制定环境计划5)测试工具计划6)测试风险分析3.设计测试方案1)明确性能需求2)设计性能测试用例3)设计脚本录制方案4)设计测试场景5)设计测试结果指标4.搭建测试环境1)搭建硬件环境2)搭建软件环境3)搭建测试环境4)准备数据环境5

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功