图书前言

大数据时代的Web应用什么最重要?性能!

  近些年来,互联网行业经历了深刻的变革,现在的网站与10年前的网站已经今非昔比。这其中很大的原因是由于人们生活和工作节奏的加快:对于Web应用的开发过程,人们希望时间越来越短,新产品新应用能够尽早投向市场,于是采用了快速开发、敏捷开发、项目管理、.NET、ORM(对象关系映射)等诸多技术、规范和平台来保证开发速度与质量。而对于已经上线的Web应用,人们又希望它能够更迅速有效地与用户交互。因此,对于Web应用的性能要求越来越高。有越来越多的网站和软件开发公司在招聘性能测试人员,而且鉴于工作内容的独特性,起薪较一般测试人员要高。

  在国内,近年来软件测试逐渐成为热门的职业,如果再具备性能测试的特色,将对今后的职业发展有很好的促进作用。

性能测试工程师是什么样的人?

  作为一名合格的性能测试工程师,应该具备如下的专业素质:

* 软件使用经验丰富,对于软件的不正常行为很敏感。

* 乐于探索未知,追根溯源。对于一个Bug,必须有追根溯源的精神,才能够发现它的产生原因。

* 有耐心,不轻言放弃。测试工程师在工作中经常会试图复现一个软件中的Bug,这需要细心、耐心和坚持。

* 必须具备一定的创造性。测试工程师是无法模拟出用户使用软件的所有场景的,因此必须具备一定的创造性,测试过程中讲究策略、抓住重点,通过测试软件经常使用的功能、性能瓶颈,发现被测软件多数的问题。

* 具备一定的沟通和交流技巧,能够理解开发人员的思路,并能将自己的想法清晰地表达出来。

* 具备基本的数据结构、操作系统等方面的知识,还要有一定的程序开发经验。

  如果你喜欢和这样的人一起工作,或者你就是这样的人,那么很好,通过本书的学习,很快你也能成为一名优秀的性能测试工程师。

性能测试的大致过程

  描述了性能测试工程师的大致样子后,下面再来了解他们所从事的工作内容。性能测试的大致过程如下图所示。

  在右图中,有很多步骤与其他类型的测试:比如功能测试等是非常类似的。但是,性能测试的工作内容有自己的特点。

  1. 确认性能测试达标标准,与功能测试清晰的标准不同,性能测试标准需要结合实际情况和项目阶段、必要时大家讨论制定。本书前几章介绍了如何确认标准,以及业内普遍接受的标准是什么这些问题。

  2. 配置测试环境,Web应用的性能测试环境要尽可能地接近真实生产环境,这才能保证测试数据的有效性。本书介绍了目前很热门的虚拟化技术在准备测试环境中的贡献,具备很强的实用性。

  分析性能测试也是性能测试工程师比较独特的工作内容之一,这是由于进行性能测试的重要目的就在于为优化性能服务。实际上,不限于以上列举出的这几点,右图中的每一个步骤本书都有专门的章节介绍,非常全面。

如何快速掌握性能测试的技巧——资深测试工程师的心得共享

  如何学好Web应用的性能测试,除了读专业书籍这一途径之外,不妨听听下面这些资深测试工程师的心得。

  试装测试工具软件。借助工具软件的逻辑来侧面了解性能测试,这是学习新技术的不二法门。测试工具软件是为了方便测试的目的开发的,它肯定要遵循测试的规范、术语,采用主流技术。安装测试工具的试用版并实际执行一次简单的性能测试,就好像驾校学车时的第一次上路,是必经的阶段,而一本较好的入门书,则起到了教练的作用。

  多看测试工具的帮助文档。这是进入测试领域后深入理解测试工具的捷径。测试工具能做什么?怎么做更有效率?只有仔细浏览帮助文档,才能成为掌握测试工具的高手。

  多看“课外书”。所谓课外书,就是指与性能相关的计算机操作系统、数据结构和计算机语言等方面的书籍。性能是Web应用综合实力的体现,硬件、软件和网络都会对性能有影响,因此,在成为高手的路途中,光拘泥于测试工具是不够的。

  成为测试高手的标志是:

  脱离了测试工具的束缚,结合实际工作,开发适用于本地的测试工具。测试工具有一定的局限性,而且,每一个Web应用也有自己的特点,期望一个工具作为万灵药是不可能的。这一个步骤是最难的,因为它需要对测试与开发都有很好的经验与理解。在开发自定义测试工具的道路上,会遇到很多的困难,而一旦克服了这些困难,就可以称为测试的真正高手。好比武林中的“飞花摘叶,俱可伤人”。

  如果能完善自定义的测试工具,使之成为平台,就能够适应更多的情况。能做到这一步,又可以称为高手中的高手,正是“无招即有招”。

本书有何特色?

  性能测试的知识、方法较繁杂,与软硬件的结合也较紧密,作为初学者,能否在有限的时间内快速学好呢?这恐怕是每一位读者在读本书之前都要问的问题。

  为了方便读者阅读和学习,本书精心地安排了各章内容,由浅入深,循序渐进,具备如下鲜明的特点:

* 本书覆盖面广,内容详尽。涉及性能测试的诸多方面,如基本测试理论、测试方法过程、相关硬件性能分析、Web性能测试目的与类型、测试用例编写、测试工具详细讲解、测试报告编写技巧、测试结果数据分析、虚拟化技术在测试中的应用等,相比同类书籍较为全面。

* 书中充分考虑到一般测试与性能测试的区别,着重讲解了两者的重要概念,性能测试的特色要求、注意事项、工具的准确使用,使读者能够清楚地理解性能测试的理论方法、设计要求、执行步骤与重点难点。

* 书中有丰富的实例,所有实例都采用图示和文字详细说明相结合的方式,明确、直观。软件使用过程介绍目的明确、层次清晰、步骤详细、通俗易懂。

* 对于菜单和软件功能的介绍,并不限于按照菜单顺序,而是把握重点、注重逻辑性,循序渐进,有利于读者理解。

* 对每个需要注意的知识点,如核心要点、使用技巧等,都特别注明,使阅读者能够明确重点。

* 内容不限于介绍LoadRunner本身,有利于读者脱离某个工具软件的束缚,把握性能测试的基本要点,真正将性能测试的知识掌握得更好,做到融会贯通。

* 本书理论结合实践,讲解图文并茂,步骤详细而直观,并且将IT技术与生活场景结合起来,阅读起来生动形象。

* 另外,为了让读者更加直观、高效地学习,作者专门为本书录制了大量多媒体教学视频。这些视频收录于本书的配书光盘中。

本书的知识结构体系

  本书共17章,分为5篇。

  第1篇  测试的背景知识(第1~3章):本篇主要介绍了软件开发过程、软件测试的定义与分类、测试用例概念与要素、软件的测试方法与过程、Web应用开发与测试等基础知识,为读者在测试领域打下一个良好的基础,为性能测试做准备。

  第2篇  Web性能测试入门(第4~6章):本篇主要介绍了Web性能测试的基础知识,详细讲解了实用性较强的基本硬件知识、Web性能测试的目的与方法,Web应用所用服务器的选型方法、各操作系统性能计数器的获取、对重要硬件的性能分析等内容,以便大家对影响Web性能的因素有一个深入的认识。

  第3篇  使用LoadRunner进行Web应用性能测试(第7~13章):本篇基于之前的性能测试知识,全面讲解了LoadRunner 11.0的使用方法。本篇可分为3小部分:通过虚拟用户生成器(Virtual User Generator)模拟单个真实用户行为;通过控制器(Controller)模拟多个真实用户的行为及通过分析器(Analysis)进行性能分析。同时,详细讲解了如何确认业务流程,确定性能测试标准,编写测试计划。本篇还对部署和准备测试环境进行了专门讲解。

  第4篇  性能测试提高(第14~15章):本篇主要介绍了通用性能测试结果分析方法、性能测试报告编写技巧和其他性能测试工具,便于测试工程师可以不受LoadRunner工具的限制,拥有更广阔的视野。

  第5篇  性能测试实战(第16~17章):本篇主要介绍了大数据时代Web应用性能测试实战案例:从测试设计、测试执行到测试结果与分析整个过程,以及Web性能优化等内容。本篇是对本书内容的全面总结,便于进一步深化读者所掌握的性能测试的概念、理论和方法。

本书适合哪些读者阅读?

* 网站测试人员;

* Web应用性能测试人员;

* 想学习LoadRunner的人员;

* 想进入软件测试行业,并希望拥有特色知识结构的职场新人;

* 希望有所提高的初级性能测试工程师。

本书作者

  本书主要由微软(中国)测试工程部总工程师施迎编写,由崔晓明进行修订,其他参与编写的人员有陈世琼、陈欣、陈智敏、董加强、范礼、郭秋滟、郝红英、蒋春蕾、黎华、刘建准、刘霄、刘亚军、刘仲义、柳刚、罗永峰、马奎林、马味、欧阳昉、蒲军、齐凤莲、王海涛,在此一并表示感谢。

  

  编著者