首页>参考读物>计算机科学与技术>综合

Visual Studio 2010软件测试指南
作者 : (美)Jeff Levinson 著
译者 : 赵卓 译
出版日期 : 2011-10-21
ISBN : 978-7-111-35931-9
定价 : 49.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 258
开本 : 16
原书名 : Software Testing with Visual Studio 2010
原出版社: Pearson Education Asia
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书介绍如何使用Visual Studio 2010中的突破性测试工具,以节省时间、降低成本并改善整个软件生命周期质量。本书还展示了微软的新工具如何帮助读者克服长期存在的沟通、协调和管理问题。

图书特色

测试和测试人员,总是得不到应有的重视。本书从“做什么,为何做,如何做”这3个方面描述了基于Visual Studio 2010的测试。这绝对有助于改变这种现状。更重要的是,它有助于使我们的软件变得更好。
—Chappell & Associates总监 David Chappell
  Jeff Levinson写了一本不同寻常的书。之所以不同寻常,是因为他将大量的信息,融合在了一本清晰、易读的书当中,这本书将告诉您如何最好地使用Visual Studio 2010测试工具。
—Northwest Cadence创始人 Steven Borg
  使用Visual Studio 2010和Team Foundation Server 2010,明显有助于您的测试和应用程序生命周期管理(Application Lifecycle Management,ALM)。
—Microsoft ALM MVP 和高级技术开发人员、 Infront咨询小组成员Mickey Gousset

  Visual Studio 2010 Ultimate、Visual Studio Test Professional 2010、Lab Management 2010和Team Foundation Server给基于微软平台的开发人员提供了一套最先进、最易集成的软件测试解决方案。
  微软MVP、Visual Studio测试专家Jeff Levinson,贯穿于整个软件开发的生命周期,介绍了应当如何使用微软的新工具来节省时间、降低成本,并提高软件质量。
  无论您是开发人员、测试人员,还是分析人员,本书都能够帮您显著改善效率,以及您要交付的结果——无论是对于个人,还是对于整个项目团队的成员。

 本书主要内容
 ● 使用微软测试管理器(MTM)对测试进行计划
 ● 建立测试设置,组织测试用例,管理测试过程
 ● 通过微软测试管理器和测试运行器,执行手动测试
 ● 提交和解决bug,并自定义bug报告过程
 ● 将测试用例自动化,并将其关联到需求
 ● 通过 Visual Studio和Microsoft Test Manager,执行自动化测试用例
 ● 在生成过程中集成自动化测试
 ● 使用微软的Lab Management虚拟平台来测试应用程序,对环境进行快照,并重现bug
 ● 收集详尽的指标,用于评估软件质量,并明确如何改善

图书前言

作为一个过程改进的专业人员,我经历了很多团队的挑战—巨大的挑战。现实中很少看到有哪个团队在非常完美地进行协作,常常是大家缩在自己的小圈子里,很少真正地合作。产品受到影响,客户受到影响,最终连关系也损害了。当微软推出了一套新工具,用于确保质量,并通过一种渐进的方式促进团队协作的时候,我曾经持怀疑的态度,但现在不会了。
  从一个公司到另一个公司,从一个组织到另一个组织,甚至在每一个团队内,都存在同样的问题。当然,要解决这些问题需要面临很大的挑战,而且,总是可以发现以下几个问题:
   开发人员和测试人员沟通不畅。
   将一些相同的东西,修复了一遍又一遍,影响了进度。
   组织结构存在问题,破坏了质量工作,不能有效地管理资源。
   管理人员只在乎交付日期,而没有考虑到质量问题所带来的长期成本。
   缺乏行之有效的工具来最大限度地提高团队生产力和工作效率。
  进入Microsoft Test Manager(微软测试管理器)。现在,团队只需要关心一个问题:质量。Microsoft Test Manager引出了一个命题:您想要在短时间内减少返工和减少分歧,创建一个质量更好的产品吗?如果是这样,那么您想要怎样实现这一目标呢?答案似乎很简单:
   创造一个基本过程,融入一些好的思想。
   使用公有的工具。
   共享数据。
  根据我的经验,有一套工具可以做到:Team Foundation Server、Visual Studio以及Microsoft Test Manager。已经证实这些工具能够突破重重阻碍,让团队进行沟通,解决前面所提到的那个问题。我的目标就是让更多的人知道如何做到这一点。使用微软提供的这些工具,只需要很少的付出,就可以换来很大的好处。这些工具是否适用于每一个人?如果您使用各种各样的工具和平台,我不能做出任何保证。但是,在大多数情况下,如果测试的平台和语言在一定程度上可以共用,那么您就可以通过使用这套工具来获取收益。
  很有趣的是,我们在项目中所扮演的角色不同,对过程的理解也不同。我曾经担任过多种角色。作为开发人员,我不喜欢测试人员,因为他们不知道该怎样使用程序,以致经常弄坏我的代码。作为测试人员,我也不喜欢开发人员,因为他们不知道该怎么写代码。作为架构师,我看到一个过程中拥有太多不可避免的痛苦。作为过程改进专家,我意识到(尽管这可能是显而易见的),没有测试人员,我就得不到我需要进行改进的指标。作为一个作者,我希望沟通,让测试人员和开发人员协作,让所有人都在一个愉快且融洽的环境中工作。通过客观评估和学习微软的这些独一无二、极具价值的工具,我们可以真正做到这一点。
  感谢您阅读本书,我希望它能够有助于您提高软件的质量。如果在阅读时有任何问题、勘误、建议、补充或者不同的意见,请发邮件到jeffstuff@jtlevinson.com。
本书读者对象
  本书主要是针对软件测试人员或者一些以测试软件为主要工作的从业人员(专业测试人员、开发人员或者需要关注软件质量的业务分析人员等)。
  在某种程度上,Microsoft Test Professional 2010 和 Visual Studio 2010 Ultimate 的测试过程,一般是测试人员执行手动测试,而开发人员执行自动测试。出于这个原因,开发人员阅读本书也是有益的。此外,本书大量提及了开发人员与测试人员协同工作的最佳做法。尤其第6章和第7章强调了这个话题。
  对于测试新人来说,第2章介绍了测试的目标、测试的方法以及测试时需要考虑的内容。这些都针对初级人员,对测试流程很熟悉的读者可以直接跳过这一章。
  对于测试和开发的管理者,尤其是那些想要更好地理解整个软件开发过程或者那些想要使用Team Foundation Server提供的报告的读者,也可以从本书中获益。理解这些报告,有助于解决那些表面看上去很复杂的问题。同时,还可以配合质量指标的使用,不断进行改进。对于管理人员来说,这是一个强大的工具。第1章、第3章以及第9章都适用于管理人员。
  衷心希望本书能有助于您组织的发展,能够引领您的测试团队走向胜利的道路。
本书未涉及的内容
  未涉及的话题之一就是运行Lab Management所需要的虚拟设施。该实验室基础设施需要网络管理员和熟悉虚拟化技术(包括硬件和软件)的人员。这些内容太过复杂,并且超出了本书的范围。这些信息包含System Center Virtual Machine Manager和Hyper-V。Test Agent(测试代理)、Test Controller(测试控制器)以及Build Hosts(生成主机)的安装都有讨论,因为测试人员或者开发人员可能会用到这些—尤其是在团队需要反复进行用户界面测试和单元测试的时候。
  此外,本书没有包括关于负载测试、压力测试、Web性能测试的相关内容,手动测试和单元测试的信息有提及,但内容很少。其中,提及单元测试的时候,大多都是如何执行自动化测试,或者将它们关联到需求,而没有对其进行深入的讨论。
本书使用的应用程序
  本书使用的应用程序是BlogEngine.NET,因为它是一个流行的、真实的应用程序,很多人都在对它进行研究。它也是开源的程序,在一个比较活跃的社区里经常有人对它进行讨论。BlogEngine.NET是由Al Nyveldt和Mads Kristensen建立的。可以从dotnetblogengine.net找到更多相关的信息,并且可以在blogengine.codeplex.com下载它的源代码。
  本书使用的版本稍微进行了修改,因为它移植到了Visual Studio 2010上,并且通过Team Build转换为了一个Web应用程序,可以从这里下载源代码:informit.com/title/ 9780321734488。它包含一个readme文件,描述了如何对这个应用程序进行设置。这样,您就可以单独进行实验了。除此之外再没有其他大的改动了。此外,增加了数据库项目和MSDeploy项目,以支持演示工具的不同功能。
  书中的例子还要求其他应用软件的支持。您必须拥有Visual Studio Ultimate或者Premium,用于建立编码的UI测试。您还必须拥有Microsoft Test Professional或者Visual Studio Ultimate,以获得Microsoft Test Manager。虽然配置没有经过测试,但您可以通过微软的Lab Management虚拟机运行这些例子。虚拟机可以在这里下载:www.microsoft.com/downloads/details.aspx   FamilyID=592e874d-8fcd-4665-8e55-7da0d44b0dee&displaylang=en。
本书结构
  本书的结构,不仅可以作为一个参考,而且可以作为一个步步为营的指南。本书将引导您实现一个应用程序的整个测试过程。首先,本书会提及这个行业所面临的问题,然后迅速转移到开发方法与测试人员的角色中。从那里开始,您将学到如何通过Microsoft Test Manager计划测试过程,编写测试用例初稿,并执行这些测试用例。在测试执行的过程中,可以提交bug,开发人员可以修复这些bug。测试人员需要验证bug是否修复,并决定需要将哪些测试用例自动化。开发人员可以将测试用例自动化,然后便可以在物理或虚拟环境中执行。最后,本书末尾介绍了报告和指标的使用,并提供了一些思路,您可以将这些思路应用到您的过程中,以提高质量。
   第1章,“软件测试的现状”—本章从质量的角度,介绍了软件开发团队当前面临的问题。其中覆盖了劣质质量软件消耗的成本,由于质量低下所采取的法律行动,以及其他已知但常常忽视掉的问题。本章还讨论了作者对于软件测试的理念以及本书的目标。最后,本章提及了一些基本的软件开发方法,以及在这些方法中软件测试应如何介入。另外,本章还对微软的技术堆栈和端对端流程进行了概述。
   第2章,“软件质量和测试概述”—本章对软件测试进行了介绍,包括为什么需要测试、测试的目标是什么、测试的类型有哪几种以及测试的技术有哪些,向读者展示了测试人员所看到的世界。
   第3章,“规划您的测试”—首先,您必须对测试进行规划。本章介绍了微软测试管理器(Microsoft Test Manager, MTM)的使用,同时详细描述了如何使用MTM,建立测试设置,组织测试用例,并介绍了如何使用测试用例工作项类型和需求对测试过程进行管理。
   第4章,“执行手动测试”—本章介绍了如何通过Microsoft Test Manager和Test Runner(测试运行器)来执行测试。您可以学到如何创建测试用例、重用测试步骤、执行手动测试并提交bug,这些都是团队使用MTM的一些日常工作。本章还提及了探索性测试。
   第5章,“解决问题”—提交一个bug后,bug的处理过程与生命周期对减少返工和提供报告数据来说,是相当重要的。本章将讨论bug工作项类型,您可能还需要对其进行一些自定义,并将其作为开发人员和测试人员的沟通机制。本章还讲述开发人员如何在第一时间使用bug类的工作项来修复软件,以及测试人员如何进行验证。同时,还介绍了Test Impact Analysis(测试影响分析)。
   第6章,“自动化测试用例”—本章很大程度上是开发人员应该关注的内容。这些测试用例可以手动(测试人员可进行录制)或者自动化(单元测试或者其他类型的测试)建立。本章有一个重点,就是将任何类型的自动化测试都关联到需求上。这个功能需要Studio 2010 Premium或者Ultimate才能够实现。
   第7章,“执行自动化测试用例”—在测试用例自动化以后,团队需要去执行这些自动化测试。本章描述了所有执行自动化测试的方法。本章既有开发人员应当关注的内容(使用Visual Studio执行测试),还有测试人员应当关注的内容(使用Microsoft Test Manager来执行测试)。您也可以学到如何将自动化测试作为生成过程的一部分来执行。
   第8章,“Lab Management”—这一章主要讲述了Lab Management的功能,并配合Microsoft Test Professional 2010和Visual Studio 2010 Ultimate来使用。你将学到如何使用虚拟化平台来测试应用程序,并对环境进行快照以帮助开发人员重现bug。本章也包含了开发人员和测试人员都关注的内容:开发人员可以学到如何把代码部署到实验室环境中,然后通过生成过程来执行;测试人员可以学到如何在虚拟环境下执行手动/自动测试,并提交可操作的bug。
   第9章,“报告与指标”—本章主要介绍了报告和指标。如果遵循本书中提到的流程,那么团队就可以收集到详细指标,确定他们产品的质量,并且对测试过程进行改进。您将会见证TFS提供的内置报告,同时还可以在数据立方体的基础上,对报告进行自定义,以获得与测试相关的信息。同时,本章也简短地提到了您要对测试用例工作项进行怎样的自定义才可以获取更详细的信息。

上架指导

计算机\程序设计

封底文字

测试和测试人员,总是得不到应有的重视。本书从“做什么,为何做,如何做”这3个方面描述了基于Visual Studio 2010的测试,这绝对有助于改变这种现状。更重要的是,它有助于使我们的软件变得更好。
——Chappell & Associates总监 David Chappell
Jeff Levinson写了一本不同寻常的书。之所以不同寻常,是因为他将大量的信息,融合在了一本清晰、易读的书当中,这本书将告诉您如何最好地使用Visual Studio 2010测试工具。
——Northwest Cadence创始人 Steven Borg
使用Visual Studio 2010和Team Foundation Server 2010,明显有助于您的测试和应用程序生命周期管理(Application Lifecycle Management,ALM)。
——Microsoft ALM MVP 和高级技术开发人员、 Infront咨询小组成员Mickey Gousset

Visual Studio 2010 Ultimate、Visual Studio Test Professional 2010、Lab Management 2010和Team Foundation Server给基于微软平台的开发人员提供了一套最先进、最易集成的软件测试解决方案。
微软MVP、Visual Studio测试专家Jeff Levinson,贯穿于整个软件开发的生命周期,介绍了应当如何使用微软的新工具来节省时间、降低成本,并提高软件质量。
无论您是开发人员、测试人员,还是分析人员,本书都能够帮您显著改善效率,以及您要交付的结果——无论是对于个人,还是对于整个项目团队的成员。

本书主要内容
•使用微软测试管理器(MTM)对测试进行计划
•建立测试设置,组织测试用例,管理测试过程
•通过微软测试管理器和测试运行器,执行手动测试
•提交和解决bug,并自定义bug报告过程
•将测试用例自动化,并将其关联到需求
•通过 Visual Studio和Microsoft Test Manager,执行自动化测试用例
•在生成过程中集成自动化测试
•使用微软的Lab Management虚拟平台来测试应用程序,对环境进行快照,并重现bug
•收集详尽的指标,用于评估软件质量,并明确如何改善

作者简介

(美)Jeff Levinson 著:作者简介 Jeff Levinsion,Northwest Cadence的一位资深应用程序生命周期管理顾问,专门帮助团队、组织以及公司采用更具效率的过程,提高质量,并降低软件开发的相关成本。微软应用程序生命周期管理方向的最具价值的专家(MVP)。他还著有其他3部关于软件开发的著作,并且是《Visual Studio Magazine》的Visual Studio编辑。在业界中,定期在TechEd、VSLive以及DevConnections上发表讲座。曾是波音公司的企业架构师,他获得了MCAD、MCSD、MCDBA、MCT、SCJP、ITIL、Security+以及CTT+认证。

译者简介

赵卓 译:暂无简介

译者序

2011年上半年,当机械工业出版社华章分社的陈冀康先生把这本书介绍给我,询问我是否愿意翻译它的时候,我爽快地答应下来。因为我自己之前也研究过微软的这一套新技术,对其拥有相当浓厚的兴趣,所以自然是非常愿意的。
  在翻译的过程中,我开始感到惊奇,我曾看过许多测试的书籍,要么通篇都是理论化而不切实际的内容,要么就是几乎都描写具体的工具,却忽视了测试的基本原理,很少看见像这本书一样,能够将理论、实践、工具三者结合得如此好的。
  本书由浅至深、循序渐进,系统而详细地介绍测试的现状、基本概念以及如何使用微软的工具,从CMMI和敏捷两个不同的角度,描述如何进行测试计划、组织测试用例、编写自动化测试、执行测试、处理bug,以及采集指标、分析报告,对整个测试过程进行优化,以提高软件质量、降低开发成本。相信无论是测试人员还是开发人员、设计人员、架构师、项目管理人员,都能从中获益。
  作者深厚的技术功底和丰富的实践经验让我由衷折服,也使我受益良多。他的思维灵活,不被常识束缚,总是持有怀疑的精神。在翻译的过程中,我明显感觉到他实事求是的务实态度:任何事物,只有适合我们才是最好的,如果并非完全适合,我们则要想办法来扬长避短。
  最后,感谢陈冀康先生在本书翻译过程中给予我的信任、支持和鼓励。
  受译者的水平所限,本书翻译中的疏漏或不当之处在所难免,敬请广大读者及同行批评指正。

赵卓
2011年9月

图书目录

对本书的评价
译者序

前言
致谢
关于作者
第1章  软件测试的现状 1
1.1  软件测试面临的挑战 1
1.2  测试人员的需求 3
1.3  另一种方式 4
1.3.1  解决沟通问题 5
1.3.2  提高项目的透明度 5
1.3.3  工具的作用 6
1.4  指标 9
1.5  总结 10
1.6  参考文献 10
第2章  软件质量和测试概述 11
2.1  软件质量 11
2.1.1  需求 11
2.1.2  商业价值 12
2.1.3  期望 12
2.1.4  非功能需求 13
2.1.5  从何处开始打造质量 14
2.1.6  过程与质量 16
2.2  软件测试 16
2.2.1  测试的心态 16
2.2.2  软件测试的方法 17
2.2.3  软件测试的类型 18
2.2.4  测试管理 22
2.2.5  产品出厂或部署之后 22
2.3  总结 22
第3章  规划您的测试 25
3.1  Microsoft Test Manager 26
3.1.1  测试计划 31
3.1.2  属性 33
3.1.3  内容 37
3.1.4  将套件和测试用例添加到测试
计划中 39
3.2  测试配置 41
3.2.1  管理测试配置 42
3.2.2  指派测试配置 44
3.3  指派测试人员 46
3.4  测试用例的规划流程 47
3.4.1  分析和初始设计 49
3.4.2  实施 52
3.4.3  用户验收测试 53
3.5  普遍的情况 54
3.5.1  计划并跟踪测试用例的编写
与执行 54
3.5.2  功能驱动开发 55
3.5.3  从一个迭代进行到另一个迭代 57
3.5.4  处理不同的测试配置 58
3.6  总结 58
第4章  执行手动测试 59
4.1  使用测试用例类型的工作项 60
4.1.1  共享步骤 62
4.1.2  数据驱动的测试用例
(测试参数) 64
4.2  运行第一个测试 66
4.3  分析测试结果 78
4.3.1  测试运行的结果 78
4.3.2  详细测试结果 80
4.4  通过测试管理器进行探索性测试 85
4.5  总结 88
第5章  解决问题 91
5.1  bug的生命周期 91
5.1.1  客户提交的bug 93
5.1.2  测试团队提交的bug 93
5.1.3  评审bug 94
5.1.4  重新激活 94
5.2  bug之间的差异和变化 94
5.3  引起的bug 98
5.4  开发人员应如何使用IntelliTrace 101
5.5  修复bug 104
5.5.1  关联的变更集 105
5.5.2  关联的工作项 105
5.5.3  受影响的测试 106
5.6  设置生成质量 106
5.7  指派一个新的生成 108
5.8  验证bug是否修复 110
5.9  处理受影响的测试 112
5.10  总结 113
第6章  自动化测试用例 115
6.1  是否进行自动化 116
6.2  自动化测试框架 118
6.3  根据手动测试建立自动化测试 120
6.4  添加验证 134
6.5  添加额外录制的操作 140
6.6  编码的UI测试的参数化 141
6.6.1  处理由于不一致而导致的
问题 143
6.6.2  解决数据不一致的情况 144
6.7  处理动态的值 146
6.8  组合多个测试 152
6.9  将编码的UI测试与测试用例关联 152
6.10  总结 155
第7章  执行自动化测试用例 157
7.1  通过Visual Studio执行自动化
测试 157
7.1.1  本地执行 158
7.1.2  带有远程收集的本地执行 158
7.1.3  远程执行 158
7.2  通过命令提示行执行自动化测试 162
7.3  在测试管理器中执行自动化测试 164
7.3.1  创建一个自动生成 164
7.3.2  建立物理环境 165
7.3.3  通过测试管理器运行编码
的UI测试 168
7.4  通过团队生成执行自动化测试 173
7.5  自动化测试的初始化与清理 176
7.5.1  自定义对话框 176
7.5.2  清理您的测试 179
7.6  总结 179
第8章  Lab Management 181
8.1  通过测试管理器来管理虚拟环境 182
8.2  完成虚拟环境的配置 187
8.3  自动化测试设置 191
8.4  执行实验室生成 200
8.5  通过测试管理器运行自动化测试 201
8.6  在虚拟环境中进行手动测试 202
8.7  总结 206
第9章  报告与指标 207
9.1  报告的结构 207
9.2  内置的报告 209
9.2.1  bug状态 211
9.2.2  bug趋势 212
9.2.3  重新激活 213
9.2.4  生成质量指标 214
9.2.5  生成在各个时间的状态 215
9.2.6  生成摘要 215
9.2.7  情景概览 216
9.2.8  测试用例准备情况 217
9.2.9  测试计划进度 218
9.3  Excel服务报告 219
9.4  通过Microsoft Excel进行报告 220
9.4.1  创建一个生成的报告 220
9.4.2  测试指标 222
9.5  指标 231
9.5.1  测量什么 233
9.5.2  首次缺陷率 234
9.5.3  重新激活的bug 237
9.5.4  一般bug数 238
9.6  总结 241

教学资源推荐
作者: [德] 史蒂文·S. 斯基纳(Steven S.Skiena) 著
作者: [澳] 约翰逊·I. 阿比尼亚(Johnson I. Agbinya) 著
作者: (英)George K.Batchelor
参考读物推荐
作者: 《越玩越野》杂志社
作者: (美)Steven B. Zwickel William Sanborn Pfeiffer 著
作者: (美)Vincent Bumgarner 著