“通过权衡主要因素,在设计中对之加以考虑,然后仔细跟踪这些因素,就能够帮助应用软件取得良好的性能。因此,类似于本书的书籍,其最大的作用就是,帮助读者更加广泛地了解所有的影响因素,以便在实际测试的时候可以提供更多更好的选择。幸运的是,本书完全发挥了这样的作用。”
——Rico Mariani,Microsoft Visual Studio首席架构师
本书详细清楚地介绍了与性能测试相关的基础知识。通过学习这些知识,读者可以构建端对端的方法来实现性能测试。无论性能测试新手,还是寻求改进自己目前的性能测试方法的测试员,都可以在本书中找到适合自己需要的内容。
本书主要内容:
■在动态(如Agile)和结构化(如CMMI)环境中,管理和执行性能测试。
■性能测试,包括负载测试、压力测试和其他与性能相关的测试类型。
■性能测试的核心活动:确定目标、设计测试、执行测试、分析结果并作出报告。
这个团队为Microsoft平台提供经过Microsoft公司验证的建议,内容涉及如何设计、开发、配置以及运行结构合理健全的应用软件。
■理解经过验证的体系架构、设计以及实现模式。
■复用经过测试的、性能调整的源代码和应用软件块。
■进行安全性、性能以及可伸缩性工程实践。
■更快、更可信地构建企业级.NET应用软件。
要了解更多微软模式&实践团队的信息,请访问:http://msdn.microsoft.com/practices。
无
前言
本书提供了一种端对端的方法来实现性能测试。无论对于性能测试新手,还是对于希望改进自己的性能测试方法的熟练者来说,他们都可以直接了解到适合自己所需的内容。
本书中的“信息”来自于对客户场景的实际处理。它反映了从众多性能测试专业人员中所吸取的经验教训。本书采用了基于任务的章节结构,具体如下:
第一部分“性能测试简介”:简单介绍了性能测试的常见类型、关键概念以及在性能测试中使用的一系列常见术语。
第二部分“典型性能测试方法”:详细解释了性能测试的7种核心活动。本部分还介绍了如何在不同的软件开发方法中进行性能测试,包括Agile和CMMI软件开发方法。
第三部分“确定测试环境”:说明如何收集性能测试所需的项目信息。这些信息包括:系统架构、物理部署、用户活动以及相关的批处理过程。
第四部分“确定性能验收标准”:表明如何确定性能测试目标。从本章还可以了解到,如何从性能测试的角度,明确划分各种性能总目标和需求层次。
第五部分“计划和设计测试”:指导如何模拟工作负载和用户经验,以设计出更有效的性能测试。
第六部分“执行测试”:介绍实际性能测试中的主要活动。
第七部分“分析结果并作出报告”:说明如何根据报告的目的和受众,以一种有效的方式来组织和呈现所发现的内容。
第八部分“性能测试技术”:展示用于进行负载和压力测试的核心技术方法。
本书的应用范围
本书主要关注Web应用软件性能测试。本书针对以下几个方面提供了建议:
在动态(如Agile)和结构化(如CMMI)的环境中,管理和进行性能测试。
性能测试,包括负载测试、压力测试以及其他与性能相关的测试。
性能测试的核心活动:确定目标、设计测试、执行测试、分析结果以及提供报告。
虽然本书中所涉及的许多主题,都同样可以应用于其他类型的应用软件,但是为了保持规范性,所有的内容都是从Web应用软件的角度来阐述的,并且保证,对于绝大多数预期读者来说,所有的概念都是以一种最直觉的方式来呈现的。
本书并不将自己的范围限定于某个或某些工具软件。这意味着,虽然某些技术或者概念需要依赖于利用某些特定类型的工具软件,但是书中所呈现的任何概念都不是必须通过某一个特定的工具软件才能实现。
本书并没有直接具体介绍如何进行性能调整。性能调整在很大程度上是基于特定的应用软件和技术的,并不是非常适合本书的风格和格式,因此本书没有对其进行详细介绍。但是,围绕着性能测试和性能调整活动的相互交叉和反馈,本书提供了一些更高级的方法。
编写本书的理由
我们编写本书想要达到如下目的:
吸取从现实中得到的、与性能测试相关的经验教训。
为端对端的性能测试工作提供一个指引。
缩小技术发展水平和实践经验水平之间的差距。
本书特点
性能测试方法。在本书中,将性能测试划分成各个不同的逻辑单元,以帮助读者在整个应用软件的生存周期中逐步采用性能测试方法。
原理和实践。原理和实践是本书的基础,为后面的具体操作建议提供了一个坚实的基础。同时也反映了在性能测试领域中所使用的成功方法。
过程和操作方法。过程和操作方法提供了管理和执行性能测试工作的步骤。出于简化和切实可行的目的,将它们划分为输入、输出和步骤。读者可以在了解这些步骤的基础上,确定自己的操作步骤。
生存周期法。对于如何在整个应用软件的生存周期中都持续管理性能测试工作,本书也提供了端对端的指导,可以降低风险并且减少总拥有成本(Total Cost of Ownership,TCO)。
模块化。本书中的每一章都可独立阅读。并不需要从头读到尾才能够有所收获。可以只看所需要的章节。
整体性。在编著本书时,我们充分考虑到了整体性要求。如果从头到尾阅读本书,就会发现,它的章节组织非常完备。整体阅读本书,其效果将远远大于单独阅读各章节。
相关专家经验。本书陈述了来自众多专家的真知灼见,这些专家包括Microsoft公司各个部门的专家以及性能测试领域内的客户。
本书的读者
本书主要定位是:为那些急需进行有效性能测试工作的个人提供资源、模式以及实践经验。
如何阅读本书
读者既可以从头到尾阅读本书,也可以只阅读相关的部分或者章节。既可以在测试团队中完全利用本书作为指南,也可以只截取本书中的关键部分来满足高级需求。
本书使用方式
可以通过多种方式来使用这本全面的指南。下面给出一些建议:
作为指南。通过本书学习如何管理性能测试工作。本书汇集了诸多相关专家在实践中获取的经验和教训。
作为参考书。将本书作为参考书,通过它了解到在性能测试中什么该做,什么不该做。
将性能测试融合到应用软件的开发生存周期中。采纳本书中有用的方法和实践,并且将它们融合到应用软件的生存周期中。
利用本书设计性能测试。在设计应用软件时,充分利用本书中所提供的原理和最佳实践方法。这样可以吸取已有的经验教训。
开展培训。根据本书中所使用的概念和技术,进行相关培训。
本书的组织结构
读者既可以从头到尾阅读本书,也可以选择只阅读对自己的工作有所帮助的章节。
具体构成
本书分为8个部分:
第一部分,性能测试简介
第二部分,典型性能测试方法
第三部分,确定测试环境
第四部分,确定性能验收标准
第五部分,计划和设计测试
第六部分,执行测试
第七部分,分析结果并作出报告
第八部分,性能测试技术
第一部分性能测试简介
第1章Web应用软件性能测试基础知识
第2章性能测试类型
第3章性能测试所强调的风险
第二部分典型性能测试方法
第4章Web应用软件性能测试核心活动
第5章采用迭代法来调整性能测试
第6章管理敏捷性能测试周期
第7章管理可调控(CMMI)环境中的性能测试周期
第三部分确定测试环境
第8章评估系统以提高性能测试的有效性
第四部分确定性能验收标准
第9章确定性能测试目标
第10章量化最终用户响应时间目标
第11章确定性能验收标准的各种类型
第五部分计划和设计测试
第12章为应用软件的使用建模
第13章确定个别用户数据与变化
第六部分执行测试
第14章测试执行
第七部分分析结果并作出报告
第15章针对性能测试员的关键数学原理
第16章性能测试报告基础
第八部分性能测试技术
第17章Web应用软件的负载测试
第18章Web应用软件的压力测试
本书采用的方法
任何测试活动的主要任务都是收集信息,以帮助相关利益方对所测试应用软件的整体质量作出明智的决定。此外,性能测试还侧重于帮助确定系统中的瓶颈,调整系统,为将来的测试建立一个基准,并且确定符合性能总目标和需求。此外,在应用软件进入实际应用阶段时,从性能测试中得到的结果和分析可以帮助确立用于支持应用的硬件配置。
本书中采用的性能测试方法由下列活动组成:
活动1:确定测试环境。确定物理测试环境、生产环境以及测试团队可利用的工具和资源。物理环境包括硬件、软件以及网络配置。在测试开始时就对整个测试环境有一个全面的了解,可以使得测试设计和计划更加有效,并且有利于在项目初期就确定测试中的复杂问题。在某些情况下,在项目的整个生存周期中,都必须阶段性地重复这个过程。
活动2:确定性能验收标准。确定响应时间、吞吐量、资源利用总目标和限制。一般来说,响应时间是用户关心的焦点,吞吐量是业务关心的焦点,资源利用则是系统关心的焦点。此外,需要确定项目成功标准。这个标准可能并不包含在上面所确定的总目标和限制之中。例如,利用性能测试来评估怎样组合相关的配置设置才可以带来最佳性能特征。
活动3:计划和设计测试。确定关键场景;确定典型用户的可变性,以及如何模拟这种可变性;确定测试数据;确定需要收集的度量值。将这些信息整合到一个或者多个系统使用情况模型中,以进行实现、执行和分析。
活动4:配置测试环境。随着需要测试的功能和组件的完善,逐步为每个策略准备执行所需的测试环境、工具以及资源。确保测试环境已经配置妥当,可以进行资源监控。
活动5:实现测试设计。根据测试设计逐步展开性能测试。
活动6:执行测试。执行和监控测试。保证测试、测试数据以及结果收集有效。监控测试和测试环境,确保进行有效的测试以保障结果分析的正确性。
活动7:分析结果、报告以及重复测试。整合并共享结果数据。不仅要对单个数据进行分析,还要从一个功能交叉的测试团队的角度来分析数据。重新确定剩余测试的优先次序,如果需要的话,重新执行这些测试。如果所有度量都在可接受的范围内,没有违反任何预设阈值,并且收集到了所有需要的信息,就完成了基于特定配置的特定场景下的测试。
信息反馈
我们已经进了最大努力来保证本书及其附件中所有内容的精确性。如果你对本书有任何意见和建议,敬请发送邮件到PerfTest@microsoftcom。
我们尤其希望收到下面两种反馈意见:
推荐特殊技术的问题
有效并具有可用性的问题
本书的作者团队
编写本书的所有作者如下所列:
JDMeier
Carlos Farre
Prashant Bansode
Scott Barber
Dennis Rea
撰稿人和审阅人
Alan Ridlehoover;Clint Huffman;Edmund Wong;Ken Perilman;Larry Brader;Mark Tomlinson;Paul Williams;Pete Coupland;Rico Mariani
外部撰稿人和审阅人
Alberto Savoia;Ben Simo;Cem Kaner;Chris Loosley;Corey Goldberg;Dawn Haynes;Derek Mead;Karen NJohnson;Mike Bonar;Pradeep Soundararajan;Richard Leeke;Roland Stens;Ross Collard;Steven Woody
反馈
如果本书对你有任何帮助,我们都将非常乐于知晓。可以通过一段简短的文字,告诉我们你遇到了什么样的问题,然后如何利用本书来解决问题。请发送邮件到:MyStory@Microsoftcom。
“通过权衡主要因素,在设计中对之加以考虑,然后仔细跟踪这些因素,就能够帮助应用软件取得良好的性能。因此,类似于本书的书籍,其最大的作用就是,帮助读者更加广泛地了解所有的影响因素,以便在实际测试的时候可以提供更多更好的选择。幸运的是,本书完全发挥了这样的作用。”
——Rico Mariani,Microsoft Visual Studio首席架构师
本书详细清楚地介绍了与性能测试相关的基础知识。通过学习这些知识,读者可以构建端对端的方法来实现性能测试。无论性能测试新手,还是寻求改进自己目前的性能测试方法的测试员,都可以在本书中找到适合自己需要的内容。
本书主要内容:
■在动态(如Agile)和结构化(如CMMI)环境中,管理和执行性能测试。
■性能测试,包括负载测试、压力测试和其他与性能相关的测试类型。
■性能测试的核心活动:确定目标、设计测试、执行测试、分析结果并作出报告。
这个团队为Microsoft平台提供经过Microsoft公司验证的建议,内容涉及如何设计、开发、配置以及运行结构合理健全的应用软件。
■理解经过验证的体系架构、设计以及实现模式。
■复用经过测试的、性能调整的源代码和应用软件块。
■进行安全性、性能以及可伸缩性工程实践。
■更快、更可信地构建企业级.NET应用软件。
要了解更多微软模式&实践团队的信息,请访问:http://msdn.microsoft.com/practices。
序言一
测试Web应用软件的性能并不难。但是,在测试过程中,很容易设计出不切实际的场景,当然也会经常收集到和测量出一些不相关的性能数据。甚至,即使想方设法设计出了全面的场景,并且收集到了正确的数据,也很容易使用错误的统计方法来总结和呈现结果。
从20世纪90年代末期开始,我历经整个Internet泡沫时代的高峰,花费了大量的时间来测试Web应用软件的性能。在此期间,我设计和领导实现了几个关键任务的Web性能测试工作,并且为一些著名的Internet公司提供了测试服务。我能与每个公司的性能专家一起工作,可以了解到一些内情,同时也非常担忧。参与Web应用软件性能测试的绝大多数工程师,都非常聪明、勤勉并且专心敬业。他们投资购买了昂贵的软件和硬件,阅读相关参考书籍,严格遵照当时所能提供的最佳方法。但是,不知何故,他们的性能测量和预报结果与真实情况并不相符。在某些情况下,他们高估了所测试的Web应用软件的性能和可伸缩性,从而导致在配置这个Web应用软件时,出现了令人为难且代价高昂的系统性事故;在另外一些情况下,可能又低估了应用软件的容量和可伸缩型,从而导致不必要的硬件和基础设备浪费。这些测试中所犯的错误影响巨大:某些测试高估或者低估实际性能和容量的范围超过了一个数量级,甚至更多!这怎么可能发生呢?
根据我的经验,在Web应用软件性能测试中出现的绝大部分严重问题,都是因为过度简化。更为确切地说,这些简化包括用户行为过度简化,以及在总结和报告测试结果时的过度简化。设想一下,如果一个交通工程师在估算某一段新建高速公路的流量模式时,假设绝大多数司机都以相同的速度行驶、以相同的加速度加速、休息同样长的时间,并且决不会改变路线,最后会产生怎样的后果。这是一个简单但又毫无意义的场景。或者,设想一下,这个交通工程师提供报告说,因为平均时速可以达到57英里/小时,所以不存在交通流量问题,但是他完全没有考虑,在交通高峰时期,平均速度只有25英里/小时。这是一个简单、但是完全错误的结果。遗憾的是,绝大多数Web应用软件性能测试员和这个假设的交通工程师一样,都犯下了过度简化的错误,或者比之更甚。
我完全赞成简化,但是正如阿尔伯特·爱因斯坦曾经说过的那样:“将任何事情做得尽可能的简单,但不是更简单”。在Web应用软件性能测试工作中,这就是我们需要学习的,非常重要并且必不可少的一课。本书的各位作者充分展现了他们的热情、经验以及通过辛苦努力所获得的知识,尽最大可能给读者提供广泛的、全面的、可扩展的知识基础,保证读者可以采用正确的方法来完成Web性能测试工作。本书并没有详细讨论各种不必要的细节,但是它保证读者肯定会了解并且决不会忽略,在设计、执行和分析测试的各个过程中所必须考虑的关键参数和变量。
对于Web性能测试新手来说,本书将会引导你走上一条正确的道路,避免浪费大量时间并且陷于窘境。即使对于经验丰富的Web性能测试老手来说,我也相信,本书将会提供一些新的见解。很可能,当读到某些常见和熟悉的错误时,你可能会多次扼腕叹息。总之,本书应当是每个Web性能测试工程师书架上的必备书之一。
Alberto Savoia是以下三本书的作者:《The Science and Art of Web Site Load Testing》、《Web Load Test Planning》和《Trade Secrets from a Web Testing Expert》。
Alberto Savoia
Agitar软件公司的创始人兼首席技术官
2007年7月
序言二
如果有什么工作可以视为比性能调整更为神秘的、令人不可思议的艺术,那一定就是性能测试。
如果你曾经在Microsoft公司内部的各个不同团队中都工作过,你就会发现,不同的做法将会带来不同程度的成功。几乎所有人都会发誓说,他们所采用的无疑都是最适合他们自己的做法,只有极少数诚实的人,可能会比较谦虚一些。某些人当然有足够的理由如此自信,因为他们真正在自己的研究领域下了一番功夫。至少就我自己的经验而言,其他公司中的情况和我所工作的Microsoft中的情况,似乎并没有什么两样,同样也是鱼龙混杂。
如果要求我必须用一个词来形容我在性能测试领域中最常见到的问题,那它就是缺乏权衡。在性能测试过程中,有许多需要考虑的因素,测试团队往往倾向于过度关注某些因素,因此常常会无视他们所忽略的那些因素。例如,也许只考虑了吞吐量,但是忽略了资源消耗;或者只考虑等待时间,但是忽略了通信畅通;又或者,只考虑成本,但是忽略了可伸缩性。
如果在设计过程中,仔细考虑各个关键因素,平衡其中的关系,并且在实施过程中不断跟踪调整,就可以获得良好的性能。因此,本书之类的书,它们的最大意义就在于,让读者可以全面了解到所有影响测试过程的因素,从而便于读者在实施具体的测试方案时,可以有一个详尽的、最好的选择。幸运的是,本书完全达到了这个目的。
本书非常详细地介绍了一些最重要的考虑因素,包括:如何理解和量化预期的终端用户体验,如何选择用于研究的关键资源,如何以更具统计学意义的方式来总结测试结果,以及如何在各个不同的软件生存周期中恰当地应用这些实践成果。虽然本书主要侧重于介绍Web应用软件的性能测试,但是实际上,它所提供的内容非常通用,易于适用其他各种类型的应用软件。
伟大的设计来自于以预期的代价取得预期的结果。实际上,我想说的是,如果不度量就不是设计。本书提供了足够的性能测试基础知识,足以满足读者未来进行的性能测试工作的需要。
Rico Mariani于1988年开始就职于微软公司,最初的工作是用Microsoft C version 60编写语言产品,直到Microsoft Visual C++ version 50 开发系统发布。1995年,Rico成为后来被称之为“Sidewalk”项目的开发经理。从此开始,在长达7年的时间内,他一直致力于各种MSN技术的研究。2002年夏天,Rico回到研发部门,成为CLR团队的性能架构工程师。他出色的工作表现使其荣任Visual Studio的首席架构师。Rico关注的领域和爱好包括:编译器和语言原理、数据库、3D艺术以及科幻小说。
Rico Mariani
Visual Studio首席架构师
微软公司
2007年7月
J.D.Meier;Carlos Farre;Prashant Bansode;Scott Barber;Dennis Rea:暂无简介
韩平 董启雄:暂无简介
随着Internet的迅速普及,网络已经完全融入了人们的日常生活中,从浏览新闻、购物到聊天,Web应用软件占据了越来越重要的地位。而Web应用软件的性能测试工作,因为在软件的质量保证中起着重要的作用,所以也日益受到项目管理者、开发人员等的重视。
性能测试的目的是验证应用软件是否能够达到开发人员、用户等所提出的性能指标,同时发现应用软件中存在的性能瓶颈,从而优化应用软件,最后达到优化系统的目的。
Web应用软件的性能测试涵盖了广泛的内容,包括容量测试、组件测试、耐力测试、压力测试、冒烟测试和部件测试等各种与性能相关的测试。在性能测试过程中,需要考虑诸多的因素,但是由于需要考虑的因素过多,常常会忽略某些没有引起足够重视的因素,从而导致性能测试工作的失败。本书从与性能测试相关的基本知识开始,详细介绍了各种性能测试类型、性能测试的7种核心活动、如何确定测试环境、如何确定性能验收标准,以及最终如何对性能测试获取的数据加以分析并写出最终报告等。本书层次清晰、结构完善、内容丰富,是作者们长期从事性能测试工作的经验和实践的总结和升华。无论刚涉足性能测试的新手,还是经验丰富的性能测试专家,都可以从中受益。
本书的翻译工作由韩平组织,主要由董启雄、韩平、卢敏、李波负责翻译。参加翻译工作的还有程永敬、张宝玲、汪顶武、张旭、安志琦、费玮、谷麦征等。
由于时间有限,加之译者的精力和能力所限,尽管我们已经尽了最大的努力,但书中仍然可能存在不少不尽人意之处,敬请读者不吝指正!您可以通过yeyuhan2001@sinacom与译者交流。
韩平
2008年5月
译者序
序言一
序言二
前言
第一部分性能测试简介
第1章Web应用软件性能测试
基础知识
11概述
12如何使用本章
13性能测试的核心活动
14为什么进行性能测试
15项目环境
16性能测试和调整之间的关系
161协同工作
162性能调整过程概述
17性能、负载和压力测试
18基准
19基准程序法
110术语
111小结
第2章性能测试类型
21概述
22如何使用本章
23性能测试
24性能测试的主要类型
25主要性能测试类型的优点总结表
26附加概念和术语
27小结
第3章性能测试所强调的风险
31概述
32如何使用本章
33不同性能测试类型可以降低的
风险一览表
34与速度相关的风险
35与可伸缩性相关的风险
36与稳定性相关的风险
37小结
第二部分典型性能测试方法
第4章Web应用软件性能测试
核心活动
41概述
42如何使用本章
43活动概述
44核心性能活动测试表
45核心性能测试活动执行顺序
46活动1:确定测试环境
47活动2:确定性能验收标准
48活动3:计划和设计测试
49活动4:配置测试环境
410活动5:实现测试设计
411活动6:执行测试
412活动7:分析结果、撰写报告以及
重复测试
413小结
第5章采用迭代法来调整性能测试
51概述
52如何使用本章
53方法介绍
54迭代性能测试活动
55与核心性能测试活动的关系
56活动1:了解项目愿景和环境
57活动2:确定进行性能测试的原因
58活动3:确定性能测试给项目带来
的价值
59活动4:配置测试环境
510活动5:确定和协调任务
511活动6:执行任务
512活动7:分析结果并作出报告
513活动8:重新审视活动1~3,考虑
性能验收标准
514活动9:重新确定任务的优先
次序
515小结
第6章管理敏捷性能测试周期
61概述
62如何使用本章
63方法介绍
64敏捷性能测试活动
65与核心性能测试活动的关系
66活动1:了解项目愿景和环境
661项目愿景
662项目周边环境
663理解系统
664理解项目环境
665理解性能构建时间进度
67活动2:确定执行性能测试的
原因
68活动3:确定性能测试给项目带来
的价值
69活动4:配置测试环境
610活动5:确定和协调任务
611活动6:执行测试
612活动7:分析结果和报告
613活动8:回访活动1~3,考虑性能
验收标准
614活动9:重新划分任务的优先级
615附加考虑
616小结
第7章管理可调控(CMMI)环境中的
性能测试周期
71概述
72如何使用本章
73方法介绍
74CMMI性能测试活动
75与核心性能测试活动之间的关联
76CMMI性能测试活动流程
77活动1:了解过程文档和规范性
标准
771确定过程
772确定规范性标准
78活动2:了解系统和项目规划
781理解系统
782重新审视项目计划
79活动3:确定性能验收标准
791性能需求
792性能目标
793性能测试指标
710活动4:规划性能测试活动
7101将工作内容与项目计划相
对应
7102添加期限
7103根据阶段确定工作项目的
优先级
7104细化计划
711活动5:设计测试
7111确定关键场景的导航通路
7112确定单个用户数据和差异
7113确定场景的相对分布
7114确定目标负载水平
7115确定执行测试期间需要捕捉
的度量
7116注意事项
712活动6:配置测试环境
713活动7:实现测试设计
714活动8:执行工作项目
715活动9:报告结果,归档数据
716活动10:修改计划,并就修改
取得一致意见
717活动11:返回活动5
718活动12:准备最终报告
719小结
第三部分确定测试环境
第8章评估系统以提高性能测试的
有效性
81概述
82如何使用本章
83评估系统的方法
84捕捉系统功能和(或者)业务过程
85捕捉用户活动
86捕捉逻辑和物理的体系架构
861逻辑体系架构
862物理体系架构
863系统体系架构
864注意事项
87小结
第四部分确定性能验收标准
第9章确定性能测试目标
91概述
92如何使用本章
93术语
94确定性能测试目标的方法
95确定性能测试目标
951确定综合目标
952审查项目计划
953检查结构
954询问团队成员
96捕捉或者估计资源利用指标和
极限
97捕捉或者估计资源预算
98确定度量
99交流结果
910留意变化的目标、指标和预算
911案例研究——确定性能测试
目标
9111案例研究1
9112案例研究2
9113案例研究3
912小结
第10章量化最终用户响应时间
目标
101概述
102如何使用本章
103术语
104量化最终用户响应时间的方法
105确定应用软件的功能和用法
106描述与捕捉性能需求和目标
1061检查项目文档与相关的
合同
1062会见可能会影响“开始运作”
决定的相关利益方
1063确定是否存在与该应用软件
有关的相关标准和(或者)竞
争底线
107量化性能需求和目标
1071区分要求与目标
1072量化捕捉的性能目标
1073量化捕捉的性能需求
108记录性能需求与目标
109小结
第11章确定性能验收标准的各种
类型
111概述
112如何使用本章
113术语
114确定验收标准的方法
115调研最终用户需求
116收集商业需求
117确定技术需求
118研究标准、规范性与合同
119建立性能测试目标
1110比较并整理性能特征
1111审查并更新实施计划
1112小结
第五部分计划和设计测试
第12章为应用软件的使用建模
121概述
122如何使用本章
123模拟应用软件使用情况的方法
124确定指标
125确定关键使用场景
126确定关键场景的导航路径
127确定个人用户数据与变化
128确定场景的相对分布
129确定目标负载水平
1291确定应用软件使用量:
理论
1292确定应用软件的使用量
1293整合模型变化
1294注意事项
1210准备实现模型
1211小结
第13章确定个别用户数据与变化
131概述
132如何使用本章
133用户延时
134对用户延时不正确建模的结果
1341第一步:确定用户延时
1342第二步:应用延迟范围
1343第三步:应用分布
135确定个体用户数据
136用户放弃
137小结
第六部分执行测试
第14章测试执行
141概述
142如何使用本章内容
143测试执行的方法
144确认测试环境
145验证测试
1451动态数据
1452测试验证
1453注意事项
1454询问的问题
146运行测试
1461有效并高效运行的关键
1462注意事项
1463询问的问题
147基准与基准程序方法
1471基准
1472基准程序方法
148归档测试
149小结
第七部分分析结果并作出报告
第15章针对性能测试员的关键
数学原理
151概述
152如何使用本章
153范例数据集
1531数据集摘要
1532数据集A
1533数据集B
1534数据集C
154平均值
155百分点
156中位数
157正常值
158标准偏差
159均匀分布
1510正态分布
1511统计显著性
1512统计学相等
1513统计学离群点
1514置信区间
1515小结
第16章性能测试报告基础
161概述
162如何使用本章
163有效报告原则
1631早报告,常报告
1632可视化报告
1633直觉的报告
1634使用正确的统计学
1635正确地整理数据
1636有效地汇总数据
1637为预期的用户定制报告
1638利用简洁的口头汇总
1639使数据可以利用
164经常报告的性能数据
1641最终用户响应时间
1642资源利用
1643容量、能力与速度
1644组件响应次数
1645趋势
165报告要回答的问题
1651全部规则
1652主要的相关利益方
1653项目级管理人员
1654技术团队成员
166共享结果的类型
1661原始数据显示
1662技术报告
1663相关利益者报告
167创建一个技术报告
1671样本结果图形
1672针对单一实例测量的样本
表格
1673样本工作负载模型图形
1674样本测试环境图形
1675样本汇总说明
1676样本参考部分
168创建一个相关利益方报告
1681样本条件说明
1682样本结果图形
1683单一实例测量的样本表格
1684基于标准的样本结果汇总
1685样本工作负载模型图形
1686样本测试环境图形
1687样本观察与建议说明
1688样本参考部分
169小结
第八部分性能测试技术
第17章Web应用软件的负载测试
171概述
172如何使用本章
173输入
174输出
175负载测试的方法
176第一步:确定性能验收标准
177第二步:确定关键场景
178第三步:创建一个负载模型
179第四步:确定目标负载水平
1710第五步:确定度量
1711第六步:设计具体的测试
1712第七步:运行测试
1713第八步:分析结果
1714小结
ⅩⅦ
第18章Web应用软件的压力测试
181概述
1811压力条件示例
1812压力相关征兆示例
182如何使用本章
183输入
184输出
185压力测试的方法
186第一步:确定测试目标
187第二步:确定关键场景
188第三步:确定工作负载
189第四步:确定度量
1810第五步:创建测试案例
1811第六步:模拟负载
1812第七步:分析结果
1813压力测试的使用场景
1814探索性压力测试
1815小结