当前位置:首页 > 计算机网络 > 软件工程/开发项目管理 > 捉虫记
出版社:清华大学出版社
出版日期:2010-6
ISBN:9787302222316
作者:施迎
页数:394页
章节摘录
第1篇 Web测试背景知识 第1章 什么是软件测试 1.2 关于虫子的故事 在熟悉了公司的结构、开发流程,参与了部门例会之后,小白要开始从事具体的软件测试工作了,对于他来说,这一领域陌生而令人兴奋。 在刚上班的一周内,小白不断地听到周围的测试工程师高兴得喊道:“又发现Bug了!”,看着他们那兴奋的样子,小白也有点跃跃欲试,想赶紧在捉虫的战场上大展身手。那么,什么是Bug呢,它为什么这么重要,发现Bug为什么这样兴奋? 1.2.1 虫子的来世今生 在本章的序幕部分,我们已经了解了很多由于软件代码的问题使得事情失败的案例了。它们有的后果真的很严重,甚至能够造成对生命的威胁。这肯定不是软件设计者和开发者想要达到的目标,因此,出现这样的情况可以说是软件的错误。 细细的分起来,软件的错误有如下几个词语来描述: 缺陷、偏差、错误、问题、事故、异常。在这一堆词语当中,除了偏差之外,其他的词语所造成的后果给人的感觉都相当严重。所谓偏差,就是软件在使用过程中,和软件设计说明(product specification)所不一致的行为。 那么为什么将这样的软件问题称为Bug呢?这里面还有一个故事。 [史上第一个软件Bug] 该词的原意是“臭虫”或“虫子”。1947年9月9日,正值计算机刚刚被发明的时候,哈佛大学的某个计算机实验室正在做实验。由于当时的原始计算机由很多庞大且昂贵的真空管组成,运行时会产生光和热,在下午15点45分的时候,一个飞蛾(英文是Moth)钻入了真空管内,导致整个计算机无法工作。当把这只小虫子从真空管中取出后,计算机又恢复正常。后来,虫子的泛称Bug这个名词就沿用下来,而那个被拍死的飞蛾也成为了历史上发现的第一个Bug。
前言
不轻言放弃,一切皆有可能! 21世纪的Web应用什么最重要?性能! 进入21世纪以来,互联网行业经历了深刻的变革,现在的网站与10年前的网站已经今非昔比了。这其中很大的原因是由于人们生活和工作节奏的加快:对于Web应用的开发过程,人们希望时间越来越短,新产品新应用能够尽早投向市场,于是采用了快速开发、敏捷开发、项目管理、.NET、ORM(对象关系映射)等诸多技术、规范和平台来保证开发速度与质量。而对于已经上线的Web应用,人们又希望它能够更迅速有效地与用户交互。因此,对于Web应用的性能要求越来越高。有越来越多的网站和软件开发公司在招聘性能测试人员,而且鉴于工作内容的独特性,起薪较一般测试人员要高。 下图显示了英国计算机职业发展网站,从2004年4月开始至2009年5月截止,对测试人员和性能测试人员薪酬进行统计的变化曲线,图上方曲线为性能测试人员薪酬,下方是一般测试人员薪酬。可见,两者的差别还是很明显的。 在国内,近年来软件测试逐渐成为热门的职业,如果再具备性能测试的特色,将对今后的职业发展有很好的促进作用。 性能测试工程师是什么样的人? 作为一名合格的性能测试工程师,他(她)应该具备如下的专业素质: ·软件使用经验丰富,对于软件的不正常行为很敏感。性能测试工程师有时需要要是个“急性子”,反应慢的软件在这里将是“零容忍”。 ·有好奇心,乐于探索软件功能,乐于尝试新的软件产品。 ·乐于探索未知,追根溯源。对于一个Bug,必须有追根溯源的精神,才能够发现它的特点,这个性格特征在判断Bug的产生原因,以及是否与其他Bug重复等日常的工作内容中都会展现。 ·有耐心,不轻言放弃。测试工程师在工作中经常会试图复现一个软件中的BUS,这需要细心、耐心和坚持。 ·必须具备一定的创造性。测试工程师是无法模拟出用户使用软件的所有场景的,因此必须具备一定的创造性,通过测试更多情况下软件的不同表现,发现被测软件更多的问题。 ·具备一定的沟通和交流技巧。 ·具备基本的数据结构,操作系统等方面的知识,还要有一定的程序开发经验。性能测试工程师要和软件及其所处的操作系统环境打交道,没有前述这些知识是很难在职业发展中获得很大成绩的。 如果你喜欢和这样的人一起工作,或者你就是这样的人,那么很好,经过本书的学习,很快你也能成为他们中的一员。 性能测试的大致过程描述了性能测试工程师的大致样子,下面再来了解他们所从事的工作内容。性能测试的大致过程如下图所示。 在上图中,有很多步骤与其他类型的测试:比如功能测试等是非常类似的。但是,性能测试的工作内容有自己的特点。 确认性能测试达标标准就是其一:与功能测试清晰的标准不同,性能测试标准需要结合实际情况和项目阶段、必要时大家讨论制定。本书前几章介绍了如何确认标准,以及业内普遍接受的标准是什么这些问题。 配置测试环境是其二:Web应用的性能测试环境要尽可能地接近真实生产环境,这才能保证测试数据的有效性。本书介绍了目前很热门的虚拟化技术在准备测试环境中的贡献,具备很强的实用性。 分析性能测试也是性能测试工程师比较独特的工作内容之一。这是由于进行性能测试的重要目的就在于为优化性能服务。实际上,不限于以上列举出的这几点,上图中的每一个步骤本书都有专门的章节介绍,非常全面。 性能测试的乐趣 有不少人有这样的看法:“测试工作是枯燥、乏味的,没有什么前途”。笔者在这里却要说这种看法是一种误解。与开发工作相比,测试工作考察的是更为全面的IT领域知识,虽然在某一点上不必很深入,但是知识和能力一定要尽可能全面。如果一直用这样的标准要求自己并努力做到,读者会发现经验在逐步地积累,灵感越来越多,最终可以成为资深的专家,完全可以打破“IT人士吃青春饭”的年龄怪圈。君不见,在微软等大企业的员工之中,有很多年长的高级测试工程师依然在从事自己喜欢的测试工作吗?实践证明,测试完全可以成为一个终身的职业。 从角色来说,测试工程师更是开发人员和最终用户的中间人:在黑盒测试的时候,测试工程师可以说是用户的化身;在白盒测试的时候,测试工程师可以说是开发人员的帮手。同一个身份,能够扮演两种角色,不是很有意思的工作吗? “快乐地工作,快乐地玩”。性能测试作为各类测试中相对高端的一部分,更是一个可以快乐起来的工作。它能增进读者对软件、操作系统乃至硬件的综合理解,每次运行测试都会学到新的知识,获得新的见解。当亲爱的读者在软件中发现第一个性能方面的Bug,一定会很激励自己,一定会博得同事和老板的尊重。当亲爱的读者了解到操作系统各组件的原理、优点、不足乃至技术内幕,进而对某些似是而非的流行观点发表独立的看法,甚至指出专家的错误时,一定会有一种专业人士的成就感。当亲爱的读者具备了一定的性能测试经验,形成自己在整个测试职业生涯中的特色,一定能够在竞争激烈的职场中脱颖而出,成为公司内不可替代的人。 总之,性能测试是一个非常具有前途、急需人们去开拓的领域。性能测试,充满乐趣。如何快速掌握性能测试的技巧——资深测试工程师的心得共享 如何学好Web应用的性能测试,除了读专业书籍这一途径之外,不妨听听下面这些资深测试工程师的心得。 试装测试工具软件。借助工具软件的逻辑来侧面了解性能测试,这是学习新技术的不二法门。其实很简单,测试工具软件是为了方便测试的目的开发的,它肯定要遵循测试的规范、术语,采用主流技术。安装测试工具的试用版并实际执行一次简单的性能测试,就好像驾校学车时的第一次上路,是必经的阶段,而一本较好的入门书,则起到了教练的作用。 多看测试工具的帮助文档。这是进入测试领域后深入理解测试工具的捷径。测试工具能做什么?怎么做更有效率?只有仔细浏览帮助文档,才能成为掌握测试工具的高手。 多看“课外书”。所谓课外书,就是指与性能相关的计算机操作系统、数据结构、计算机语言等方面的书籍。性能是Web应用综合实力的体现,硬件、软件、网络都会对性能有影响,因此,在成为高手的路途中,光拘泥于测试工具是不够的。 成为测试高手的标志是: 脱离了测试工具的束缚,结合实际工作,开发适用于本地的测试工具。测试工具有一定的局限性,而且,每一个Web应用也有自己的特点,期望一个工具作为万灵药是不可能的。这一个步骤是最难的,因为它需要对测试与开发都有很好的经验与理解。在开发自定义测试工具的道路上,会遇到很多的困难,而一旦克服了这些困难,就可以称为测试的真正高手。好比武林中的“飞花摘叶,俱可伤人”。 如果能完善自定义的测试工具,使之成为平台,就能够适应更多的情况。能做到这一步,又可以称为高手中的高手,正是“无招即有招”。 本书有何特色? 性能测试的知识、方法较繁杂,与软硬件的结合也较紧密,作为初学者,能否在有限的时间内快速学好呢?这恐怕是每一位朋友在读本书之前都要问的问题。 为了方便读者阅读和学习,本书精心地安排了各章内容,由浅入深,循序渐进,具备如下鲜明的特点: ·本书覆盖面宽,涉及性能测试的诸多方面,如理论、软硬件选型、测试报告编写技巧、测试数据分析、虚拟化技术在测试中的应用等,相比同类书籍中较为全面。 ·书中充分考虑到一般测试与性能测试的区别,着重培养读者将软硬件相结合来考虑性能问题的习惯和意识。 ·书中所有实例都采用图示、文字详细说明相结合的方式,做到了明确直观。 ·对于菜单和软件功能的介绍,并不限于按照菜单顺序,而是具备一定的逻辑性,循序渐进,有利于读者理解。 ·对每个需要注意的识点,如核心要点、使用技巧等,都特别注明,使阅读者能够明确重点。 ·内容不限于介绍LoadRunner本身,有利于读者脱离某个工具软件的束缚,真正将性能测试的知识掌握得更好。 ·书中介绍的软件版本较新,如Load Runner、Virtual Box、Visual Studio等软件均为截至本书完稿时的最新版本,保持了时效性。 ·本书理论结合实践,讲解图文并茂,步骤详细而直观,并且将IT技术与生活场景结合起来,阅读起来生动形象。 ·另外,为了让读者更加直观、高效地学习,作者专门为本书录制了大量多媒体教学视频。这些视频收录于本书的配书光盘中。 希望读过本书之后,读者都能够自豪地对开头的问题做肯定的回答:“性能测试知识,我真的可以有!” 本书的知识结构体系 本书共17章,分为5篇。 第1篇Web测试背景知识(第1~3章):本篇主要介绍了软件测试的定义、方法和过程等基础知识,为读者打下一个测试领域的良好基础,为性能测试做准备。 第2篇Web性能测试入门(第4~6章):本篇主要介绍了Web应用和Web性能测试的诸多分类,除此之外,还详细讲解了实用性较强的基本硬件知识、Web应用所用服务器的选型方法、各操作系统(Windows、Mac OSX、Linux等)性能计数器的获取等重要内容,以便让性能测试领域的新手也能快速入门。 第3篇使用LoadRunner进行Web应用性能测试(第7~13章):本篇基于之前的性能测试知识,全面讲解了LoadRunner9的使用方法。本篇可分为3小部分:通过脚本模拟单个真实用户行为:通过场景模拟多个真实用户的行为及通过分析器进行性能分析。同时,按照性能测试的流程,本篇对部署和准备测试环境、撰写测试报告等都进行了专门讲解。 第4篇Web性能测试提高(第14~15章):本篇主要介绍了通用性能测试结果分析方法和其他性能测试工具,便于测试工程师可以不受LoadRunner工具的限制,拥有更广阔的视野。 第5篇Web性能测试实战(第16-17章):本篇主要介绍了大容量Web应用性能测试实战案例及Web性能优化等内容。本篇是对本书内容的全面总结,便于进一步深化读者所掌握的性能测试的观念、理论和方法。 本书适合哪些读者阅读? ·网站测试人员; ·Web应用性能测试人员; ·广大性能测试爱好者; ·想学习Load Runner的人员; ·想进入软件测试行业,并希望拥有特色知识结构的职场新人; ·已经工作,希望有所提高的初级性能测试工程师; ·目前从事一般测试工作,但希望转做性能测试的人员。 本书作者及编委会成员 本书主要由微软(中国)测试工程部总工程师施迎编写,其他参与编写和资料整理的人员有陈世琼、陈欣、陈智敏、董加强、范礼、郭秋滟、郝红英、蒋春蕾、黎华、刘建准、刘霄、刘亚军、刘仲义、柳刚、罗永峰、马奎林、马味、欧阳防、蒲军、齐凤莲、王海涛、魏来科、伍生全、谢平、徐学英、杨艳、余月、岳富军、张健和张娜。在此一并表示感谢。 本书编委会成员有欧振旭、陈杰、陈冠军、顼宇峰、张帆、陈刚、程彩红、毛红娟、聂庆亮、王志娟、武文娟、颜盟盟、姚志娟、尹继平、张昆、张薛。
媒体关注与评论
本书让我们不仅对LoadRunner的具体使用有了全面的了解,更对性能测试的基础知识,尤其是对实际测试中经常会用到的知识有了更进一步的理解,实用性非常强。对于性能测试的初学者,本书有很强的指导意义。对于有一定性能测试工作经历的工程师,本书可以帮助其提高。总之,本书是一本非常有价值的图书,值得推荐。 ——HoodBook公司CTO,美国芝加哥大学博士Sheldon S. 与其他测试类书籍相比,本书讲解很有特点,有明确的脉络,而且很实用,不仅适合自学,也适合相关教学。书中的知识不仅局限在性能测试方面,而且对性能测试所涉及的相关硬件和流程等也有所涉猎。本书能够尽快消除入门人员对性能测试工作的不适应,也可以让他们对大型企业软件测试的风格有所了解。 ——欧鹏互动电视软件公司资深测试工程师 曹悦 本书较全面地讲述了测试和性能测试的概念,有理论;同时,本书的重点在于利用LoadRunner测试工具进行实际的性能测试,有实践;不仅如此,本书还对其他测试工具和不同操作系统下获取性能等知识进行了讲述,有提高。这很有意义:通过学习本书内容,初学者可以获得较为全面的测试知识和技能,具备融会贯通的能力,避免知识结构单一,对职业生涯很有裨益。 ——文思创新软件技术有限公司 潘志勇
内容概要
微软(中国)测试工程部总工程师。本科毕业于华东理工大学,硕士毕业于中国科学院研究生院计算与通信学院。从事Web应用开发与测试近10年,有很丰富的测试经验。熟悉多种Web开发技术和软件测试工具。参与了多个大中型网站及一些世界500强企业的产品开发和测试。承担过功能测试、测试配置管理、性能与安全测试、测试工具开发等多项工作,经历了多个项目的完整软件周期。业余时间喜欢旅游、看电影和阅读历史书籍。
书籍目录
第1篇 Web测试背景知识 第1章 什么是软件测试 第2章 测试方法与过程 第3章 Web应用与Web测试第2篇 Web性能测试入门 第4章 起点:Web性能测试概述 第5章 Web性能测试方法 第6章 性能测试计数器第3篇 使用LoadRunner进行Web应用性能测试 第7章 LoadRunner的基本使用 第8章 编写测试计划 第9章 配置测试环境 第10章 LoadRunner中的场景 第11章 运行前准备:监控图表与函数 第12章 执行场景 第13章 分析结果第4篇 Web性能测试提高篇 第14章 通用性能测试结果分析 第15章 更多的性能测试工具第5篇 Web性能测试实成 第16章 大容量Web应用性能测试实例 第17章 Web性能优化附录A 主要性能测试工具下载网址附录B 部分性能测试网站列表
编辑推荐
让我们不仅对LoadRunner的具体使用有了全面的了解,更对性能测试的基础知识,尤其是.对实际测试中经常会用到的知识有了更进一步的理解,实用性非常强。对于性能测试的初学者,《捉虫记:大容量Web应用性能测试与LoadRunner实战》有很强的指导意义。对于有一定性能测试工作经历的工程师,《捉虫记:大容量Web应用性能测试与LoadRunner实战》可以帮助其提高。总之,《捉虫记:大容量Web应用性能测试与LoadRunner实战》是一本非常有价值的图书,值得推荐。 与其他测试类书籍相比,《捉虫记:大容量Web应用性能测试与LoadRunner实战》讲解很有特点。有明确的脉络,而且很实用,不仅适合自学,也适合相关教学。书中的知识不仅局限在性能测试方面,而且对性能测试所涉及的相关硬件和流程等也有所涉猎。《捉虫记:大容量Web应用性能测试与LoadRunner实战》能够尽快消除入门人员对性能测试工作的不适应,也可以让他们对大型企业软件测试的风格有所了解。 《捉虫记:大容量Web应用性能测试与LoadRunner实战》较全面地讲述了测试和性能测试的概念,有理论;同时,《捉虫记:大容量Web应用性能测试与LoadRunner实战》的重点在于利用LoadRunner测试工具进行实际的性能测试,有实践;不仅如此,《捉虫记:大容量Web应用性能测试与LoadRunner实战》还对其他测试工具和不同操作系统下获取性能等知识进行了讲述,有提高。这很有意义:通过学习《捉虫记:大容量Web应用性能测试与LoadRunner实战》内容,初学者可以获得较为全面的测试知识和技能,具备融会贯通的能力。避免知识结构单一,对职业生涯很有裨益。 什么是软件测试(26分钟视频) 测试方法与过程(14分钟视频) Web应用与Web测试(15分钟视频) Web性能测试概述(11分钟视频) Web性能测试方法(19分钟视频) 性能测试计数器(23分钟视频) LoadRunner基本使用(59分钟视频) 编写测试计划(11分钟视频) 配置测试环境(22分钟视频) LoadRunner中的场景(48分钟视频) 监控图表与函数(15分钟视频) 执行场景(36分钟视频) 分析结果(43分钟视频) 通用性能测试结果分析(20分钟视频) 更多性能测试工具(17分钟视频) 大容量Web应用性能测试实例(6分钟视频) Web性能优化(4分钟视频) 内容全面:涵盖性能测试的理论、测试工具及测试方法等方方面面 注重实用:结合操作实例和完整的案例引导读者学习,提高动手能力 重点突出:详细介绍了如何使用 LoadRunner进行Web应用性能测试 情景教学:将IT技术与生活场景结合起来,生动形象,轻松有趣 图文并茂:讲解时采用图示和文字相结合的方式,明确直观 技巧性强:对需要注意的核心要点和使用技巧等都做了重点说明 视频教学:每章都有配套的多媒体语音教学视频,高效、直观
作者简介
《捉虫记:大容量Web应用性能测试与LoadRunner实战》主要讲解大容量Web性能测试的特点和方法,以及使用业内应用非常广泛的工具——Load Runner 9进行性能测试的具体技术与技巧。《捉虫记:大容量Web应用性能测试与LoadRunner实战》共17章,分为5篇。第1篇介绍软件测试的定义、方法和过程等内容:第2篇介绍Web应用、Web性能测试的分类、基本硬件知识、Web应用服务器选型、各操作系统性能计数器的获取等内容:第3篇介绍如何使用Load Runner进行Web应用性能测试,包括Load Runner基础、编写测试计划、配置测试环境、Load Runner中的场景、监控图表与函数、执行场景和分析结果等:第4篇介绍通用性能测试结果分析及其他性能测试工具;第5篇介绍大容量Web应用性能测试实战案例及Web性能优化等内容。
《捉虫记:大容量Web应用性能测试与LoadRunner实战》理论结合实践,讲解图文并茂,并且将IT技术与生活场景结合起来,生动而又形象。另外,为了让读者更加直观、高效地学习,作者专门录制了大量多媒体教学视频。这些视频收录于《捉虫记:大容量Web应用性能测试与LoadRunner实战》的配书光盘中。
《捉虫记:大容量Web应用性能测试与LoadRunner实战》既适合网站测试人员和Web应用性能测试人员阅读,也可供其他相关测试人员和大中专院校相关专业的学生学习和参考。
图书封面