自动化软件测试实施指南

出版时间:2010-4  出版社:机械工业出版社  作者:Elfriede Dustin Thom Garrett Bernie Gauf  页数:228  译者:余昭辉,范春夏  
Tag标签:无  

前言

在项目交付之后,客户不断地抱怨系统经常莫名其妙出错,系统性能低下,有时甚至直接崩溃。我知道,这都是由于没有经过全面的测试造成的。虽然我们有测试,但那只是在界面上点点看看,使用了一些工具进行所谓的“自动化测试”。一切都显得那么业余,我们急切地需要一本全面讲解如何筹划和实施自动化测试并帮助成功交付软件产品的书,而不是一本自动化测试工具的手册。本书分为两部分。第一部分主要讲解什么是自动化测试以及为什么要进行自动化测试。作者以自身的经验向我们阐释自动化测试的重要性以及好处。我们可以利用这里的内容说服领导实施自动化测试。第二部分用6个要点来讲解实施自动化测试过程中的各种方法和需要注意的问题,从需求收集到制定自动化测试的策略,开发自动化测试框架(主要是开发原则),制定测试计划以及人员安排都样样俱到。即使是附录也一样精彩。附录A是一个测试阶段一览表,可以用来验证你的自动化测试是否偏离了正轨。附录B快速地讲解了各种类型的测试以及在这些测试中如何应用自动化。如果你觉得本书没有给你介绍任何测试工具,那你就错了。附录C用了大量的篇幅介绍各种主流测试工具,以及评估这些工具的方法。附录D是一个真实的自动化框架的案例研究。好了,我也不免落俗套,下面是致谢时间。首先要感谢华章公司的陈冀康编辑给了我翻译本书的机会。其次要感谢我的搭档范春霞,在这里说声辛苦了。还要感谢可爱的张璜,谢谢你不厌其烦地回答我那多如牛毛的语法问题。还有王雄和王宏征,感谢你们细心的审稿,改进了本书的质量。感谢一切关心和帮助过我的人。还要感谢李芳和游小燕两位美女辛苦地审读部分内容。本书第一部分以及附录A、B、D由范春霞翻译,我翻译了本书的第二部分以及附录C,最后全书由我统稿。由于时间和水平有限,书中译文不当之处,统祈各位读者赐正。

内容概要

  本书讲解什么是自动化测试,为什么要进行自动化测试,以及实施自动化测试过程中的各种方法和需要注意的问题。  全书分为两部分。在第一部分,作者以自身的经验向我们阐释自动化测试的重要性以及好处。第二部分用6个要点来讲解需求收集、制定自动化测试的策略、开发自动化测试框架(主要是开发原则)、制定测试计划以及人员安排。附录A是一个测试阶段一览表,附录B快速地讲解了各种类型的测试以及在这些测试中如何应用自动化。附录C用了大量的篇幅介绍各种主流测试工具,以及评估这些工具的方法,附录D是一个真实的自动化框架的案例研究。  本书适合软件测试人员、质量评估人员、项目管理人员和软件开发人员阅读。  测试占新软件开发的时间和成本的百分比越来越大。使用自动化软件测试(AST),开发人员和软件测试人员可以优化软件测试生命周期,从而减少成本。随着技术和开发发展得越来越复杂,AST将变得不可或缺。本书是根据一些已经证明的实践和自动化测试生命周期方法学(ATLM)而写,提供了更新的实践,为成功实施AST提供了全面指导。  在本书中,三位权威专家详细地阐释了AST,系统地回顾了AST的组成元素、能力以及限制。他们利用在防御系统和商业中部署AST的经验,带领你浏览整个实施过程——确定最佳实践、关键的成功因素、关键隐患,以及避免这些隐患的解决方案。  本书内容  ·为AST构建实际可行的商业案例,使用AST获取主动权  ·澄清测试需求,并开发一个自动化策略反映这些需求  ·构建高效的测试环境,为该环境选择合适的自动化工具和技术  ·使用经过证明的指标持续地跟踪过程,并做出相应的调整  不管你是测试专业人员、QA专家、项目经理还是开发人员,本书都会带给你前所未有的有效测试,然后使用AST改进整个开发生命周期。

作者简介

Elfriede Dustin、Thom Garrett和Bernie Gauf是IDT(www.idtus.com)的同事。IDT是专门设计、开发和实现自动化软件测试解决方案的公司。Elfriede Dustin领导IDT的自动化软件测试研究工作,她根据多年自动化软件测试的经验编写过多本软件测试著作。Thom Garrett在规划、开发、

书籍目录

译者序 序一 序二 前言 第一部分 什么是自动化软件测试和为什么需要自动化  第1章 自动化软件测试概述    1.1 自动化测试定义    1.2 自动化测试的方法    1.3 AST技术的发展    1.4 各种自动化测试类型    1.5 提供基于AST的产品支持     1.5.1 按照需要对定位和修复产品问题提供支持     1.5.2 对确定出修正给特定程序组件造成的影响提供支持     1.5.3 校验产品修正的准确性和质量     1.5.4 支持产品的STR分类方法    1.6 自动化评估标准    小结   第2章 为什么要使用自动化    2.1 当今测试软件面临的挑战    2.2 减少软件测试的时间和成本     2.2.1 自动测试计划和开发—初始测试的工作量增加     2.2.2 生成测试数据—测试工作/计划减少     2.2.3 测试的执行—测试工作的减少/测试进度的加快     2.2.4 测试结果分析—测试工作的减少/测试进度的加快     2.2.5 错误状态/更正监测—测试工作的减少/测试进度的加快     2.2.6 报告的创建—测试工作的减少/测试进度的加快     2.2.7 其他需要考虑的降低因素    2.3 影响软件质量    2.4 改进软件测试程序     2.4.1 改进构建验证测试(冒烟测试)     2.4.2 改进回归测试     2.4.3 多平台兼容性测试和配置测试     2.4.4 改善日常测试的执行     2.4.5 改进重点关注的高级测试问题     2.4.6 完成手动测试无法完成的工作     2.4.7 重现软件缺陷的能力     2.4.8 加强系统专业知识     2.4.9 下班后“无人值守”测试     2.4.10 改进需求定义     2.4.11 改进性能测试     2.4.12 改进压力测试和耐力测试     2.4.13 质量度量和测试优化     2.4.14 改进系统开发生命周期     2.4.15 改进文档和可跟踪性     2.4.16 分布式工作负载和并发测试    小结   第3章 商业案例    3.1 商业案例的定义    3.2 确定业务需要    3.3 在成本和收益方面调整自动化     3.3.1 评估ROI     3.3.2 自动化测试的总节省     3.3.3 测试环境建立的时间节省     3.3.4 测试开发的时间节省     3.3.5 测试执行时间的节省     3.3.6 测试评估/诊断时间节省     3.3.7 ROI的其他几点考量     3.3.8 更多ROI指标    3.4 风险    3.5 其他考虑    小结   第4章 自动化测试失败的原因以及需要避免的陷阱    4.1 通常R&D不重视自动化测试或手动测试的工作    4.2 自动化测试的神话与现实     4.2.1 自动测试计划的生成     4.2.2 测试工具适合所有场景     4.2.3 测试工作立即减少     4.2.4 计划立即缩减     4.2.5 工具的易用性     4.2.6 任何应用都可以使用AST     4.2.7 %测试覆盖率     4.2.8 捕获/回放等同AST     4.2.9 AST是手动测试活动     4.2.10 忘记了测试的目的是找出缺陷     4.2.11 侧重于系统测试自动化而非自动化单元测试    4.3 软件开发时缺乏针对AST的考虑     4.3.1 在应用中构建可测试性     4.3.2 遵循开放架构标准     4.3.3 遵循标准文档格式     4.3.4 标准化的文档测试用例     4.3.5 遵循编码标准     4.3.6 使用OMG的IDL     4.3.7 GUI测试建议     4.3.8 GUI对象命名标准     4.3.9 代码重用的库概念    4.4 只见树木不见森林—不知道如何选择工具    4.5 缺少工具供应商都遵循的自动化标准    4.6 缺乏企业案例    小结  第二部分 如何实现自动化:获得自动化回报最重要的6个要点  第5章 要点1:了解需求   第6章 要点2:开发自动化测试策略   第7章 要点3:测试自动化软件测试框架(ASTF)   第8章 要点4:持续跟踪过程,并作相应调整    第9章 要点5: 实施AST过程   第10章 要点6:人尽其才  附录  附录A 过程一览表   附录B 将AST应用到的各种测试类型   附录C 工作中的利器   附录D 案例研究:自动化软件测试  框架(ASTF)示例 2

章节摘录

插图:自动化的问题应该基于ROI的计算,确定有些测试不能自动化有某些理由,比如,通过对ROI的评估,也许会证明(自动化该测试)不合算e。尽管AST通常是基于对手动软件测试工作的改进,但(自动化)测试已开发的软件,需要软件开发。我们开发软件来测试软件,因为当前没有更好的方法。人们已经在这个方向上作出了努力,如IBM的自主计算(autonomic computing)@项目,这有可能在不久的将来提供自我测试(self-testable)组件,虽然已经取得了一些进展,然而截止撰写本书的时候只有少数几家公司已经实施并应用了自主计算这个概念。鉴于目前AST的状态和需要开发软件来测试软件的要求,有效的自动化测试应包括减少人工的参与,尽可能地自动化工作。开发软件测试软件的工作需要有效地改进。使用自动化来实现软件测试自动化是一种有效的方式,可以消除对人工交互的需求和由于手动而造成的错误。改进自动化测试的部分目标就是自动化进行测试自动化。例如,很多公司经常花费时间从零开始开发测试框架,虽然已经有很多框架提供了这些功能,但还是为批处理测试、分布式测试或E-mail提醒创建功能。为了复用和简化功能集成,节约时间和资金,就应该充分利用提供所需功能的开源组件或自由/共享软件。在开发测试框架的新功能之前,查看开源社区,那里往往有许多我们所需要的已经开发好并可以直接下载的东西。我建议,任何自动化测试工作都应该考虑使用开源组件来设计和开发测试自动化框架。当考虑使用开源工具时,请记住开源许可的有效性。一些被认可的开源许可可以在网页上进行核实。自动化测试人员都知道,自动化测试需要有自己的开发生命周期,所以我们借用软件开发社区已经研究出的方法:使用工具帮助自动化生命周期的所有阶段,从需求到设计、实现、测试和缺陷跟踪。作为测试框架的一部分,对于测试过程的开发,可以遵循模型驱动设计(Model-Driven Design,MDD)。

媒体关注与评论

本书弥补了我埘软件测试知识的欠缺。它很好地描述了自动化测试与其他测试活动的不同,清晰地讨论了自动化测试所需要的技能力知识。本书是学习自动化软件测试的基础读物,也是实践嚣的权威教材。  ——Jleft Offutt,乔治梅淼人学软件工程教授本书是软件从业人员在其开发工作中应用自动化软件测试的最佳参考。它是软件测试专业人员的必备读物。  ——left Rashka,PMP,《Automated Software Testing and Quality Web Systems》的作者之一

图书封面

图书标签Tags

评论、评分、阅读与下载


    自动化软件测试实施指南 PDF格式下载


用户评论 (总计12条)

 
 

  •   这本书的目标读者是大规模测试自动化的领导和骨干。它所定义的测试自动化是:以改进软件测试生命周期的效率和有效性为目标,贯穿整个周期的软件技术实施。其内容涵盖:为什么需要测试自动化,测试自动化的成本和收益,测试自动化失败的原因,测试自动化的生命周期(需求获取、自动化策略、自动化测试框架、度量跟踪、实施过程、人才培养)。作为测试组织的负责人,仔细地思考其中的问题,谨慎的实践,方能提升测试组的整体效率,优化整个软件开发过程。据我观察,大多数测试自动化的中文图书聚焦于具体的自动化技术,在组织、战略层面的思考较少。测试自动化往往是录制、回放、脚本、框架的代名词,而没有上升到需求、测试、汇报、度量、优化的持续改进。此书在高层策略上分享了一些专家经验,值得思考、借鉴。
  •   前段时间我评价了这本书,我认为这本书内容一般,糟糕的翻译影响阅读,但是这条评论已经被删掉了
  •   感觉翻译不是很理想。很多地方很生硬。不过书中还是有很多值得学习的地方。就是读起来比较费力。
  •   内容全面,不过有些深,适合有经验的人。
  •   书刚到,还没有看呢。
  •   内容还行,推荐一下
  •   入门自动化测试的书籍
  •   测试自动化,看看怎么样
  •   书还没有看,不知内容
  •   不错的书,还未仔细看
  •   书不错,做自动化测试必读书
  •   主要是价格优势
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7