软件性能的组织与管理_第1页
软件性能的组织与管理_第2页
软件性能的组织与管理_第3页
软件性能的组织与管理_第4页
软件性能的组织与管理_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第3章软件性能的组织与管理1.软件性能测试过程模型1.1Segue性能测试过程模型1.2HP性能测试过程模型1.3PTGM性能测试过程模型1.4APTM性能测试过程模型1.5SPTM系统性能测试过程模型1.1Segue性能测试过程模型Segue公司是专注于发展并提供软件质量优化解决方案的软件企业,后被Borland公司收购。该模型是在使用Silk Performer工具进行系统性能测试时推荐使用的过程模型与工具耦合度高,缺乏对测试计划、测试设计、测试执行和测试总结的支持,不具有指导通用性能测试的能力。1.2HP性能测试过程模型Mercury Interactive 公司是一家商务管理软件和自动

2、化测试工具提供商,后被惠普公司收购。该性能测试过程涵盖了性能测试工作的大部分内容,但过于紧密地与LoadRunner工具集成,没有兼顾使用其它工具,并不是一个普适性的测试过程。1.3PTGM性能测试过程模型软件性能测试过程详解与案例剖析教材中,提出了一种性能测试过程通用模型PTGM(Performance Test General Model)该模型不仅刻画了性能测试的重要阶段,还对每个阶段中的活动进行了详细说明,给出了参考模板和工作指南,是一个具有实践指导意义的性能测试过程模型。1.4APTM性能测试过程模型敏捷开发近年来被越来越多的开发组织所接受,已经成为一种比较主流的软件工程开发方法。敏

3、捷开发鼓励协作、交互,欢迎变化,通过不断迭代的方式实现小步快跑,以最快的速度向用户交付满足用户需求的软件产品。敏捷测试模型APTM(Agile Performance Test Model)不仅仅适用于指导敏捷开发过程中测试工作的开展,也同样适合非敏捷环境下尽早建立性能测试,尽早发现系统中可能存在的性能问题。1.5SPTM系统性能测试过程模型系统级性能测试的过程模型SPTM(System Performance Test Model)2.组件性能测试团队2.1组织团队成员2.2安排工作分工2.3进行技能培训2.1组织团队成员一个强有力的测试团队是高质量完成性能测试的重要保障。性能测试工作是一项

4、复杂的系统工作,需要具有各种专业技能的管理人员和技术人员协调配合才能完成。性能测试团队中,需要有多种角色人员参与相关测试工作,每种角色要承担相应的职责及具有专业的技能。2.1组织团队成员2.1组织团队成员2.1组织团队成员作为一名优秀的测试工程师,要对测试工作有浓厚的兴趣,热爱测试工作,才更容易做好测试工作。测试人员应该具有“五心”:专心:执行测试任务时注意力高度集中。细心:执行测试工作时候要细心,认真执行测试,不可以忽略一些细节。耐心:执行测试工作有时候非常枯燥,需要很大的耐心。责任心:测试人员要具有高度的责任心,责任心是做好工作必备的素质之一。自信心:测试人员需要建立强大的自信心,面对测试

5、过程中各种难题。作为测试人员,还需要具有良好的沟通表达能力、洞察力、好奇心、反向思维能力和记忆力。还需要具有一定的服务器技术、操作系统知识、数据库知识、中间件知识、编程能力、网络基础、IT素质和测试经验。2.2安排工作分工在组件好性能测试团队后,需要根据每个成员的能力情况,为其分配角色,例如:某个测试经理可以作为项目的测试负责人;某个高级性能测试工程师,可以在性能测试项目中承担性能测试设计人员和性能测试分析人员;某个中级性能测试工程师可以承担性能测试配置人员;某个初级性能测试工程师,可以在性能测试项目中承担性能测试脚本开发人员和性能测试执行人员。2.2安排工作分工在分配了角色后,每个团队成员需

6、要承担的工作内容就基本明确了,每个人需要根据自己的情况开展相关工作,例如:测试负责人可以开始制定性能测试计划;性能测试设计人员可以开始了解系统情况和性能需求;性能测试配置人员可以进行工具和环境的准备工作;性能测试执行人员可以学习相关测试工具的使用方法。在性能测试负责人明确了项目进度计划后,每个团队成员按照计划开展相关工作。2.3进行技能培训性能测试团队中每个成员的工作能力对于测试项目能否取得成功具有重要的影响。性能测试人员要想完成某项目的性能测试工作,需要掌握以下几方面知识:系统功能需求和性能需求系统性能相关知识性能测试基础知识性能测试工具的使用性能分析方法等2.3进行技能培训在选择团队成员时

7、,首先考虑选择已经具有工作经验的性能测试工程师。但是在某些情况下,并无法做到全部团队成员都具有经验。所以需要根据实际情况,对团队成员进行相应的培训工作。这种准备阶段的培训包括:专业基本理论培训被测系统基本情况培训性能测试相关技能的培训等3.制定性能测试计划3.1明确测试范围3.2制定进度计划3.3制定成本计划3.4制定环境计划3.5制定工具计划3.6测试风险分析3.1明确测试范围明确测试范围就是弄清楚本次性能测试的工作内容是什么,即明确工作目标,这是测试工作能够顺利开展和取得成功的前提。测试范围明确方法:需求中性能指标验证系统容量评价系统可靠性检验如果用户未对系统性能要求进行明确要求,在该环节

8、要首先完成性能指标要求的分析。明确的测试范围必须经过双方评审,确认后作为双方安排工作和检查工作的依据。3.2制定进度计划制定进度计划就是为性能测试的关键工作进行分析,落实工作责任人,并明确各工作所需时间以及各阶段的里程碑。制定进度计划的两种途径:一是根据提供软件产品的最后期限从后往前倒推安排各阶段时间时间安排受限,实际中常见二是根据项目和资源情况制定性能测试初步计划时间安排合理,完成测试工作效果能够得到保障3.2制定进度计划进度计划的表示工具:甘特图网络活动图3.3制定成本计划项目成本指项目进展过程中所耗用的全部费用的总和。项目成本和项目收益是项目决策的重要依据,在批准的预算内完成项目是测试负

9、责人的重要职责之一。在制定成本计划时需要根据项目人员、进度安排、环境工具要求、测试活动、日常办公等方面制定切实可行的成本预算,在项目执行过程中需要按照预算进行项目费用的支出。成本计划需要经过专门的审批小组审批后方可执行。3.4制定环境计划系统级性能测试需要在一定软硬件环境下才能得到执行,不同的测试环境对测试的成本和测试的效果有非常明显的影响。性能测试会对系统产生大量的压力和测试数据,所以一般情况下:对于新上线的系统,还没有真正业务在上边运行,可以在上线之前,在生产环境下开展性能测试工作对于已经运行中的系统,每天都有大量的生产作业任务,为了防止性能测试对系统产生的压力影响,一般不允许在生产环境下

10、开展性能测试工作,此时需要部署与生产环境一模一样的软硬件环境作为测试环境。3.4制定环境计划测试环境计划中需要明确:服务器硬件环境:包括服务器数量、部署结构、配置等内容。测试客户端环境:在执行性能测试时,根据负载量的不同,可能需要1台或多台测试客户端机器,在进行环境计划时,需要根据测试的基本要求,提出测试客户机数量及配置的要求。操作系统环境:明确操作系统类型,版本号等。数据库环境:需要明确数据库类型,版本号等。中间件环境:需要明确中间件类型,版本号,配置等。数据环境:需要分析系统典型的数据量情况。3.5制定工具计划性能测试工具在性能测试项目中发挥着不可替代的作用制定测试工具计划:选择合适的工具

11、确定测试工具的使用范围规定和规范测试工具的使用方法明确工具负责人3.5制定工具计划选择性能测试工具时,从以下方面进行规划:被测系统环境测试工具功能需求建议操作系统环境测试工具是否能运行在本操作系统上?测试工具是否支持对本操作系统的监控?应用服务器环境测试工具能否支持对本应用服务器的监控?数据库环境测试工具能否支持本数据库的监控?应用使用的协议本系统使用了哪些协议?哪些协议需要在性能测试中通过工具进行录制和产生负载?测试工具能否支持我们需要进行录制和产生负载的协议?网络环境是否需要测试工具支持防火墙?是否需要测试工具支持负载均衡?测试管理支持测试工具是否能够提供方便的测试结果分析和管理?3.6测

12、试风险分析项目风险是指可能导致项目损失的可能性。项目风险管理是为了最好地达到项目目标,识别、分配、应对项目生命周期内风险的管理方法,是一种综合性的管理活动。在制定项目计划阶段,需要对测试工作中有可能遇到的风险进行预测,确定可能会遇到哪些风险,才能够进一步分析这些项目的性质和后果。3.6测试风险分析在测试风险分析中,首先要全面分析测试项目的各种影响因素,从中找出可能存在的各种风险,分析风险发生的可能性及风险发生的危害程度,整理汇总成项目风险清单针对各种风险,制定切实可行的应急措施。在项目执行过程中,要进行不间断的风险监控,一旦风险发生,按照指定的风险应急措施对风险加以应对,避免对项目造成更加严重

13、的影响。4.设计性能测试方案4.1明确性能需求4.2设计性能测试用例4.3设计脚本录制方案4.4设计测试场景4.5设计测试结果指标4.1明确性能需求性能测试的设计是针对性能需求的要求来完成的。在制定性能测试计划时,已经明确了系统的性能要求,在设计具体的性能测试方案之前,需要对性能需求进行进一步明确。性能需求是否明确直接影响性能测试的充分性和测试结果的有效性。性能需求主要从响应时间、并发用户数、吞吐量及资源利用率等角度对系统的性能提出具体的要求,性能测试方案设计人员需要针对每个性能指标要求,制定具有针对性的性能测试用例。4.2设计性能测试用例性能测试用例是性能测试方案设计结果的体现。性能测试用例

14、与功能测试用例的作用是类似的,其中明确了测试内容。性能测试人员在执行性能测试时,只需要按照测试用例的要求,完成具体测试就可以了。4.2设计性能测试用例用例编号唯一编号用例名称描述该性能测试用例的名称,体现本次测试的主要目标测试性能指标描述需求中定义的性能指标要求前置条件此处说明进行该性能操作时,是否需要登录,登录用户需要具有哪些权限,系统需要具有什么样的数据环境等测试脚本此处说明测试该项指标时,需要选用系统哪些功能来进行脚本录制,录制脚本中哪些操作归属于一个事物,脚本需要进行哪些开发工作等。测试场景针对性能指标的要求,设计测试场景,包括场景调用的脚本、并发用户数、系统加压方法、测试时间等性能结

15、果指标根据性能指标的要求,明确本次测试过程中需要采集的性能结果指标,以便通过结果的分析得到系统性能是否满足需求要求的用例设计人张三用例审核人李四4.2设计性能测试用例用例编号DS-RT-0001用例名称忙时商品查询响应时间测试性能指标要求在忙时查询商品响应时间指标在6S内前置条件执行该操作不需登录,在网站首页直接执行查询操作即可测试脚本1、访问系统首页;2、在查询区输入“软件性能测试”关键字;3、单击“查询”按钮;注意,在以上脚本中,首页加载需要一段时间,不属于商品查询事务,所以在定义事务时,需要将首页显示部分定义为单独的事务,称为T1,将查询请求定义为一个事务,称为T2。测试场景在验证该响应

16、指标时,设置对应的VU脚本,设置并发用户数为20,加压过程为每5秒增加5个用户,测试时间为10分钟。性能结果指标本性能测试主要关注响应时间,所以性能结果指标重点分析响应时间指标即可。结果中T2事务的平均响应时间作为比较参数,与需求指标6S进行比较,以检验系统是否达到了该性能指标要求用例设计人王欢用例审核人赵红4.3设计脚本录制方案脚本是性能测试中模拟用户访问系统行为的实体,是性能测试过程中非常宝贵的成果,需要进行认真的设计、精心的录制(开发)和细心的维护。脚本的设计:设计脚本操作过程、事务划分方式、运行逻辑设计、参数化设计、检查点设计、思考时间设计、关联设计、集合点设计等。脚本的录制:在工具中

17、按照设计方案完成脚本的录制、开发、调试、回放,提供能够成功运行的脚本。脚本的维护:对脚本保存路径、命名方式、内容说明、创建人、最新修改时间等进行记录4.3设计脚本录制方案脚本可以应用在多个测试用例中。所以在设计测试用例时,首先要看已有的脚本是否能够满足本次测试的要求,如果已经有可用的脚本,则不需要再进行脚本的设计;如果尚未有可用的脚本,再设计新的脚本。4.3设计脚本录制方案脚本设计遵循以下一些原则:目标明确,脚本主要为哪项测试目标服务粒度适度,不要录制过大脚本,以利于调试和维护事务的划分要合理思考时间设定灵活选择参数化等提高脚本适用范围4.4设计测试场景测试场景是每个测试用例都要设置的测试执行

18、环境。测试场景尽量模拟软件系统实际应用的特点,包括:测试时执行的脚本每种业务执行的用户数量模拟的总用户数用户执行方式执行过程中的相关参数设定测试执行中需关注或监测的资源指标等,如设备资源利用率、响应速度、吞吐量等。4.4设计测试场景4.5设计测试结果指标在性能测试过程中,测试工具可以自动化记录很多指标数据,例如事务平均响应时间、每秒通过事务总数、每秒点击次数、吞吐量、每秒HTTP响应数、每秒连接数、各种性能计数器等。通过对这些数据的分析可以得到系统的性能状况。针对某个性能测试用例,需要采集哪些性能指标,以供性能测试结果分析使用,就需要进行合理的设计。指标的选择一般与测试目标一致,如果性能指标是

19、响应时间,则测试过程中采集事务平均响应时间指标;如果性能指标是吞吐量,则测试过程中采集相应的吞吐量指标;如果对资源利用率指标有特殊要求,则在测试过程中可以采集资源利用率相关指标。5.搭建性能测试环境5.1搭建硬件环境5.2搭建软件环境5.3搭建测试工具环境5.4准备数据环境5.1搭建硬件环境搭建硬件环境指根据系统的物理部署方案,将服务器、测试机、路由器等硬件设备搭建好,为系统提供运行的物理设备环境。5.2搭建软件环境软件环境包括操作系统环境、编译环境、应用服务器中间件环境、应用程序、数据库环境等。在该步骤需要按照环境计划中指定的各种软件环境进行相应软件的安装和配置,使系统能够正常运行。5.3搭

20、建测试工具环境性能测试一般在性能测试工具的支持下完成,所以在环境搭建阶段,需要搭建测试工具环境。测试工具一般作为系统访问客户端,向被测试系统发送大量并发访问,所以需要在准备的客户端计算机上安装相应的测试工具。在并发量大的情况下,有可能需要多台安装测试工具的计算机,此时需要按照多机测试的策略,完成客户端测试环境的部署工作。5.4准备数据环境系统性能受到数据环境的制约,所以在进行性能测试时,系统中需要存在具有代表性的数据量。在制定性能测试计划阶段已经明确了性能测试所需要的数据环境,在搭建测试环境阶段,需要按照计划的要求,采用自动或手动的方式,将测试数据准备就绪。6.执行性能测试6.1脚本录制与开发

21、6.2场景设置6.3测试执行6.4测试监控6.1脚本录制与开发VU脚本是执行性能测试时自动执行的对象,所以在执行性能测试时,首先就是将VU脚本录制好,并根据测试的需要,对脚本进行再次开发。在录制脚本时,需要根据被测试系统的类型,选择对应的脚本录制协议,按照之前设计的脚本方案,在测试工具的支持下完成脚本的录制和开发工作。6.2场景设置场景设置是测试执行的前提在测试场景中需要明确本次性能测试执行的脚本、并发用户数,用户增加方案、执行时长、测试监测指标等内容。在方案设计阶段,针对每个测试用例的测试场景要求已经设计好,在执行环节,只需要在测试工具中进行相应配置即可。6.3测试执行当测试场景设置好之后,

22、在工具中单击“执行”按钮功能,就可以触发本次性能测试的执行。性能测试工具会自动调用对应的VU脚本,按照测试场景设置的参数,自动完成测试过程的模拟,完成性能指标的采集。6.4测试监控为了更加直观反映性能测试过程中系统中各种指标的表现,可以在测试工具中设置测试执行过程中需要监控的性能指标,在测试过程中随时关注指标的情况。如果出现指标劣化非常严重时,可以考虑停止本次性能测试,重新调整测试方案后,再次投入运行。7.分析性能测试结果7.1测试结果分析7.2系统瓶颈分析7.3制定优化方案7.4性能测试总结7.1测试结果分析性能测试的分析需要借助各种图表,一般的性能测试工具都提供了报表模块来生成不同的图表。

23、报表模块同时还允许用户通过叠加、关联等方式处理和生成新的图表。测试结果分析是一项技术含量非常高的工作,很多性能测试人员能够完成性能测试,获得一系列测试数据,但是这些性能数据反映了系统性能状况如何,却讲不清楚。在进行测试结果分析时,需要根据测试目标,找到与指标要求对应的测试结果数据,通过对比给出系统性能测试结果,并在此基础上完成系统性能瓶颈的定位和调优工作。7.2系统瓶颈分析对性能测试结果的分析,如果发现系统性能未达到性能需求的要求,则测试人员与开发人员和相关专家需要对系统瓶颈进行分析。系统瓶颈的分析是一项非常困难的工作,需要具有丰富的性能测试经验,才能准确分析出系统可能出现性能瓶颈的问题。性能

24、瓶颈的定位往往需要通过更多的计数器指标才能够完成,如果之前测试中采集的指标数据不足,则需要修改测试场景设置,再次执行性能测试,以得到足够的分析数据。7.3制定优化方案明确了性能瓶颈后,相关专家会根据应用经验,给出系统优化的方案。开发人员或工程实施人员根据优化方案对系统进行优化之后再次对优化完成的性能进行性能回归测试,直到系统性能满足了要求为止。7.4性能测试总结在完成了系统性能测试工作之后,需要给出一个全面的性能测试总结报告报告需要将本次性能测试的目标、方法、工具、环境、测试用例、脚本设计方案、测试场景、测试结果、测试结论等内容进行全面阐述。8.性能测试支持环境8.1评审8.2沟通8.3管理8

25、.4支持8.1评审在性能测试开展过程中,有很多环节的输出必须经过评审后,方可进行实施。需要进行评审的内容包括:性能测试计划测试设计方案8.1评审性能测试计划评审:性能测试计划制定的合理性对于整个项目能够顺利开展具有重要影响。性能测试计划需要由专门的评审小组对计划内容进行评审。评审小组需要包括性能测试项目组成员、项目开发相关人员、性能测试专家、用户代表等。经过评审的性能测试计划具有更好的可操作性,原因是:一方面,方案制定得更加合理,具体操作时难度小;另一方面是相关干系人在评审环节对计划内容都有所了解,在实际操作过程中会给予资源的保障和支持,从而使计划推进起来更加容易。8.1评审性能测试方案评审:

26、性能设计方案是性能测试执行的依据,方案制定得是否科学对测试结果具有直接的影响。性能测试设计方案需要由专门的评审小组进行评审。评审小组需要包括性能测试项目组成员、性能测试专家、项目需求分析人员、用户代表等。评审小组需要在对系统性能需求进行深入理解的基础上,对性能测试设计方案进行论证,明确按照该设计方案开展的性能测试是否能够对系统的性能指标进行充分体现,按照该方案开展的性能测试能否达到验证系统性能的效果。经过评审的性能测试设计方案具有更好的合理性,为性能测试顺利开展提供了可靠性保障。8.2沟通在软件测试过程中,沟通行为随时可能发生,建立良好的沟通机制是测试顺利开展的保障。测试中的沟通包括:测试负责

27、人与测试设计人员的沟通测试负责人与测试执行人员的沟通测试设计人员与脚本开发人员的沟通测试设计人员与需求分析人员的沟通测试负责人与用户的沟通测试负责人与其他部门沟通针对不同的目标和对象,需要建立不同的沟通方式,以达到高效、方便、准确、响应及时的沟通效果。8.2沟通会议沟通适合在与项目组外人员进行沟通时采用这种方式比较正式,沟通效率高,对于解决与会多方需要共同决定的事项是非常理想的沟通手段。注意事项:明确会议主题、明确参会人员范围、控制会议时间、把握会议议程、注意会后总结、会议纪要共享等。 沟通适合不在一处办公的人员进行随机性沟通时采用。这种沟通方式灵活、不受时间和地点的制约,沟通效率高,需要时可

28、以建立多方会议,以达到多人讨论的目的。在进行 沟通时,需要注意一定要将沟通中达成的共识以文字的方式进行表达,并在相关干系人之间进行共享,防止事后由于理解的偏差或记忆不准确等问题造成不必要的分歧。8.2沟通邮件沟通适合类内容发布类内容的传达,例如会议纪要、通知、临时性文档等。邮件是办公场合最常用的沟通方式,但是不适合用来进行问题的讨论和重要文档版本的发布。采用电子邮件进行问题讨论效率低,效果差;进行重要文档版本的发布容易引起版本混乱,从而造成工作上的失误。配置管理平台沟通适合对某些版本非常敏感的资料进行沟通时使用。例如计划文档、设计方案文档、设计用例文档、测试报告、缺陷记录等。8.2沟通面对面沟

29、通适合在一处办公的人员进行随时问题讨论时采用,是一种非常高效和直接的沟通方式。面对面沟通具有较好的沟通效果,而且面对面讨论更能够促进人与人的了解,加深团队成员之间的友情,对于提升集体凝聚力和战斗力是非常好的手段。应该积极鼓励这种沟通方式。即时通信软件沟通即时通信软件能够给人们提供一个随时随地沟通的方式,适合于一些非正式问题讨论时使用。由于即时通信软件传输效率方面的制约,一般情况下更多采用文本进行交流,所以容易产生理解上的歧义,是一种辅助的沟通交流方式。8.3管理软件测试项目管理对于软件测试活动的全过程进行管理,对于性能测试工作的顺利开展有着非常重要的作用。性能测试过程中需要重点开展的管理活动包括:范围控制进度计划控制项目成本控制风险的管理团队建设采购管理8.3管理范围控制工作范围是性能测试开展的依据,是测试工作量的直接影响因素。在测试计划制定阶段,就需要明确测试范围。在项目进行过程中,不能随意变更工作范围。如果由于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论