资源预览内容
第1页 / 共72页
第2页 / 共72页
第3页 / 共72页
第4页 / 共72页
第5页 / 共72页
第6页 / 共72页
第7页 / 共72页
第8页 / 共72页
第9页 / 共72页
第10页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第3章 软件性能的组织与管理,焦忭忭 2017.4,本章目录,1.软件性能测试过程模型 2.组件性能测试团队 3.制定性能测试计划 4.设计性能测试方案 5.搭建性能测试环境 6.执行性能测试 7.分析性能测试结果 8.性能测试支持环境,1.软件性能测试过程模型,1.1Segue性能测试过程模型 1.2HP性能测试过程模型 1.3PTGM性能测试过程模型 1.4APTM性能测试过程模型 1.5SPTM系统性能测试过程模型,1.1Segue性能测试过程模型,Segue公司是专注于发展并提供软件质量优化解决方案的软件企业,后被Borland公司收购。 该模型是在使用Silk Performer工具进行系统性能测试时推荐使用的过程 模型与工具耦合度高,缺乏对测试计划、测试设计、测试执行和测试总结的支持,不具有指导通用性能测试的能力。,1.2HP性能测试过程模型,Mercury Interactive 公司是一家商务管理软件和自动化测试工具提供商,后被惠普公司收购。 该性能测试过程涵盖了性能测试工作的大部分内容,但过于紧密地与LoadRunner工具集成,没有兼顾使用其它工具,并不是一个普适性的测试过程。,1.3PTGM性能测试过程模型,软件性能测试过程详解与案例剖析教材中,提出了一种性能测试过程通用模型PTGM(Performance Test General Model) 该模型不仅刻画了性能测试的重要阶段,还对每个阶段中的活动进行了详细说明,给出了参考模板和工作指南,是一个具有实践指导意义的性能测试过程模型。,1.4APTM性能测试过程模型,敏捷开发近年来被越来越多的开发组织所接受,已经成为一种比较主流的软件工程开发方法。敏捷开发鼓励协作、交互,欢迎变化,通过不断迭代的方式实现小步快跑,以最快的速度向用户交付满足用户需求的软件产品。 敏捷测试模型APTM(Agile Performance Test Model)不仅仅适用于指导敏捷开发过程中测试工作的开展,也同样适合非敏捷环境下尽早建立性能测试,尽早发现系统中可能存在的性能问题。,1.5SPTM系统性能测试过程模型,系统级性能测试的过程模型 SPTM(System Performance Test Model),2.组件性能测试团队,2.1组织团队成员 2.2安排工作分工 2.3进行技能培训,2.1组织团队成员,一个强有力的测试团队是高质量完成性能测试的重要保障。 性能测试工作是一项复杂的系统工作,需要具有各种专业技能的管理人员和技术人员协调配合才能完成。 性能测试团队中,需要有多种角色人员参与相关测试工作,每种角色要承担相应的职责及具有专业的技能。,2.1组织团队成员,2.1组织团队成员,2.1组织团队成员,作为一名优秀的测试工程师,要对测试工作有浓厚的兴趣,热爱测试工作,才更容易做好测试工作。测试人员应该具有“五心”: 专心:执行测试任务时注意力高度集中。 细心:执行测试工作时候要细心,认真执行测试,不可以忽略一些细节。 耐心:执行测试工作有时候非常枯燥,需要很大的耐心。 责任心:测试人员要具有高度的责任心,责任心是做好工作必备的素质之一。 自信心:测试人员需要建立强大的自信心,面对测试过程中各种难题。 作为测试人员,还需要具有良好的沟通表达能力、洞察力、好奇心、反向思维能力和记忆力。 还需要具有一定的服务器技术、操作系统知识、数据库知识、中间件知识、编程能力、网络基础、IT素质和测试经验。,2.2安排工作分工,在组件好性能测试团队后,需要根据每个成员的能力情况,为其分配角色,例如: 某个测试经理可以作为项目的测试负责人; 某个高级性能测试工程师,可以在性能测试项目中承担性能测试设计人员和性能测试分析人员; 某个中级性能测试工程师可以承担性能测试配置人员; 某个初级性能测试工程师,可以在性能测试项目中承担性能测试脚本开发人员和性能测试执行人员。,2.2安排工作分工,在分配了角色后,每个团队成员需要承担的工作内容就基本明确了,每个人需要根据自己的情况开展相关工作,例如: 测试负责人可以开始制定性能测试计划; 性能测试设计人员可以开始了解系统情况和性能需求; 性能测试配置人员可以进行工具和环境的准备工作; 性能测试执行人员可以学习相关测试工具的使用方法。 在性能测试负责人明确了项目进度计划后,每个团队成员按照计划开展相关工作。,2.3进行技能培训,性能测试团队中每个成员的工作能力对于测试项目能否取得成功具有重要的影响。 性能测试人员要想完成某项目的性能测试工作,需要掌握以下几方面知识: 系统功能需求和性能需求 系统性能相关知识 性能测试基础知识 性能测试工具的使用 性能分析方法 等,2.3进行技能培训,在选择团队成员时,首先考虑选择已经具有工作经验的性能测试工程师。 但是在某些情况下,并无法做到全部团队成员都具有经验。 所以需要根据实际情况,对团队成员进行相应的培训工作。 这种准备阶段的培训包括: 专业基本理论培训 被测系统基本情况培训 性能测试相关技能的培训 等,3.制定性能测试计划,3.1明确测试范围 3.2制定进度计划 3.3制定成本计划 3.4制定环境计划 3.5制定工具计划 3.6测试风险分析,3.1明确测试范围,明确测试范围就是弄清楚本次性能测试的工作内容是什么,即明确工作目标,这是测试工作能够顺利开展和取得成功的前提。 测试范围明确方法: 需求中性能指标验证 系统容量评价 系统可靠性检验 如果用户未对系统性能要求进行明确要求,在该环节要首先完成性能指标要求的分析。 明确的测试范围必须经过双方评审,确认后作为双方安排工作和检查工作的依据。,3.2制定进度计划,制定进度计划就是为性能测试的关键工作进行分析,落实工作责任人,并明确各工作所需时间以及各阶段的里程碑。 制定进度计划的两种途径: 一是根据提供软件产品的最后期限从后往前倒推安排各阶段时间时间安排受限,实际中常见 二是根据项目和资源情况制定性能测试初步计划时间安排合理,完成测试工作效果能够得到保障,3.2制定进度计划,进度计划的表示工具:,甘特图,网络活动图,3.3制定成本计划,项目成本指项目进展过程中所耗用的全部费用的总和。 项目成本和项目收益是项目决策的重要依据,在批准的预算内完成项目是测试负责人的重要职责之一。 在制定成本计划时需要根据项目人员、进度安排、环境工具要求、测试活动、日常办公等方面制定切实可行的成本预算,在项目执行过程中需要按照预算进行项目费用的支出。 成本计划需要经过专门的审批小组审批后方可执行。,3.4制定环境计划,系统级性能测试需要在一定软硬件环境下才能得到执行,不同的测试环境对测试的成本和测试的效果有非常明显的影响。 性能测试会对系统产生大量的压力和测试数据,所以一般情况下: 对于新上线的系统,还没有真正业务在上边运行,可以在上线之前,在生产环境下开展性能测试工作 对于已经运行中的系统,每天都有大量的生产作业任务,为了防止性能测试对系统产生的压力影响,一般不允许在生产环境下开展性能测试工作,此时需要部署与生产环境一模一样的软硬件环境作为测试环境。,3.4制定环境计划,测试环境计划中需要明确: 服务器硬件环境:包括服务器数量、部署结构、配置等内容。 测试客户端环境:在执行性能测试时,根据负载量的不同,可能需要1台或多台测试客户端机器,在进行环境计划时,需要根据测试的基本要求,提出测试客户机数量及配置的要求。 操作系统环境:明确操作系统类型,版本号等。 数据库环境:需要明确数据库类型,版本号等。 中间件环境:需要明确中间件类型,版本号,配置等。 数据环境:需要分析系统典型的数据量情况。,3.5制定工具计划,性能测试工具在性能测试项目中发挥着不可替代的作用 制定测试工具计划: 选择合适的工具 确定测试工具的使用范围 规定和规范测试工具的使用方法 明确工具负责人,3.5制定工具计划,选择性能测试工具时,从以下方面进行规划:,3.6测试风险分析,项目风险是指可能导致项目损失的可能性。 项目风险管理是为了最好地达到项目目标,识别、分配、应对项目生命周期内风险的管理方法,是一种综合性的管理活动。 在制定项目计划阶段,需要对测试工作中有可能遇到的风险进行预测,确定可能会遇到哪些风险,才能够进一步分析这些项目的性质和后果。,3.6测试风险分析,在测试风险分析中,首先要全面分析测试项目的各种影响因素,从中找出可能存在的各种风险,分析风险发生的可能性及风险发生的危害程度,整理汇总成项目风险清单 针对各种风险,制定切实可行的应急措施。 在项目执行过程中,要进行不间断的风险监控,一旦风险发生,按照指定的风险应急措施对风险加以应对,避免对项目造成更加严重的影响。,4.设计性能测试方案,4.1明确性能需求 4.2设计性能测试用例 4.3设计脚本录制方案 4.4设计测试场景 4.5设计测试结果指标,4.1明确性能需求,性能测试的设计是针对性能需求的要求来完成的。 在制定性能测试计划时,已经明确了系统的性能要求,在设计具体的性能测试方案之前,需要对性能需求进行进一步明确。 性能需求是否明确直接影响性能测试的充分性和测试结果的有效性。 性能需求主要从响应时间、并发用户数、吞吐量及资源利用率等角度对系统的性能提出具体的要求,性能测试方案设计人员需要针对每个性能指标要求,制定具有针对性的性能测试用例。,4.2设计性能测试用例,性能测试用例是性能测试方案设计结果的体现。 性能测试用例与功能测试用例的作用是类似的,其中明确了测试内容。 性能测试人员在执行性能测试时,只需要按照测试用例的要求,完成具体测试就可以了。,4.2设计性能测试用例,4.2设计性能测试用例,4.3设计脚本录制方案,脚本是性能测试中模拟用户访问系统行为的实体,是性能测试过程中非常宝贵的成果,需要进行认真的设计、精心的录制(开发)和细心的维护。 脚本的设计:设计脚本操作过程、事务划分方式、运行逻辑设计、参数化设计、检查点设计、思考时间设计、关联设计、集合点设计等。 脚本的录制:在工具中按照设计方案完成脚本的录制、开发、调试、回放,提供能够成功运行的脚本。 脚本的维护:对脚本保存路径、命名方式、内容说明、创建人、最新修改时间等进行记录,4.3设计脚本录制方案,脚本可以应用在多个测试用例中。 所以在设计测试用例时,首先要看已有的脚本是否能够满足本次测试的要求,如果已经有可用的脚本,则不需要再进行脚本的设计;如果尚未有可用的脚本,再设计新的脚本。,4.3设计脚本录制方案,脚本设计遵循以下一些原则: 目标明确,脚本主要为哪项测试目标服务 粒度适度,不要录制过大脚本,以利于调试和维护 事务的划分要合理 思考时间设定灵活选择 参数化等提高脚本适用范围,4.4设计测试场景,测试场景是每个测试用例都要设置的测试执行环境。 测试场景尽量模拟软件系统实际应用的特点,包括: 测试时执行的脚本 每种业务执行的用户数量 模拟的总用户数 用户执行方式 执行过程中的相关参数设定 测试执行中需关注或监测的资源指标等,如设备资源利用率、响应速度、吞吐量等。,4.4设计测试场景,4.5设计测试结果指标,在性能测试过程中,测试工具可以自动化记录很多指标数据,例如事务平均响应时间、每秒通过事务总数、每秒点击次数、吞吐量、每秒HTTP响应数、每秒连接数、各种性能计数器等。 通过对这些数据的分析可以得到系统的性能状况。 针对某个性能测试用例,需要采集哪些性能指标,以供性能测试结果分析使用,就需要进行合理的设计。 指标的选择一般与测试目标一致,如果性能指标是响应时间,则测试过程中采集事务平均响应时间指标;如果性能指标是吞吐量,则测试过程中采集相应的吞吐量指标;如果对资源利用率指标有特殊要求,则在测试过程中可以采集资源利用率相关指标。,5.搭建性能测试环境,5.1搭建硬件环境 5.2搭建软件环境 5.3搭建测试工具环境 5.4准备数据环境,5.1搭建硬件环境,搭建硬件环境指根据系统的物理部署方案,将服务器、测试机、路由器等硬件设备搭建好,为系统提供运行的物理设备环境。,5.2搭
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号