出版时间:2009-8 出版社:人民邮电出版社 作者:朱少民 页数:242
Tag标签:无
前言
在过去半个世纪,软件获得了空前的发展,逐渐渗透到各个领域,从最早的科学计算、文字处理、数据库管理、银行业务处理,到工业自动控制和生产、办公自动化、新闻媒体、通信、汽车、消费电子、娱乐等,软件无处不在,改变了人类的生活与生产方式。随着计算机软件在各行各业的普及应用,人们对软件质量的要求也越来越高,软件的专业化和多样化特点越来越显著。但同时,我们看到软件产业目前还不够成熟,软件质量的现状不容乐观,软件在运行和使用过程中出现的问题还比较多。例如,2008年互联网Web发展十大失败事件中,90%都是由质量问题造成的,与"宕机"、"停机"、"崩溃"等一系列严重的质量问题联系在一起。软件质量一直是软件工程中的一个焦点,成为人们几十年来不断研究、探索的领域。为了改善软件质量,人们不仅从企业文化、软件过程模型、需求工程、设计模式等不同方面来获取有效的方法和实践,而且开始重视软件测试,在软件测试上有更多的考虑和投入。虽然质量是内建的,但软件测试依旧承担着非常重要的作用。软件测试自身也在发生变化,已经不再只充当门卫——仅在软件发布之前进行检验,而是正在形成一个持续的反馈机制,贯穿软件开发的整个过程,以便尽早地发现问题,降低开发成本,提高软件开发生产力。软件测试人员不再是软件开发的辅助人员,而是软件开发团队的主体之一、积极的参与者。从项目开始的第一天,测试人员就参与项目需求和设计的讨论、评审等各种活动,尽早发现软件需求定义和设计实现上的问题,及时发现软件项目中存在的质量风险。软件开发团队必须尽可能地在交付产品之前控制未来的质量风险,这就必然需要依赖于卓有成效的软件测试。将传统的程序测试的狭义概念扩展到今日业界逐渐认可的、广义的软件测试概念,测试涵盖了需求验证(评审)、设计验证(评审)等活动。软f牛测试贯穿整个软件生命周期,从需求评审、设计评审开始,就介入到软件产品的开发活动或软件项目的实施中,和其他开发团队相互协作、相互补充,共同构成软件生命周期中的有机整体。软件测试不是一项简单的工作,它远比人们所直观想象的要复杂。高效、高质量地完成一个软件系统的测试,涉及的因素很多,也会碰到各种各样的问题,并且要在测试效率和测试风险之间找到最佳平衡点和有效的测试策略,这些都需要测试人员一一克服。要做好软件测试,测试人员不仅需要站在客户的角度思考问题,真正理解客户的需求,具备良好的分析能力和创造性的思维能力,完成功能测试和用户界面的测试,而且要能理解软件系统的实现机理和各种使用场景,具备扎实的技术功底,能通过测试工具完成相应的性能测试、安全性测试、兼容性测试和可靠性测试等更具挑战性的任务。软件测试的主要目的是发现软件中的缺陷;坚持"质量第一"的原则,就会在实际操作中遇到一些阻力,这都需要测试人员去克服。从这些角度看,相对设计、编程人员,对一个优秀的测试工程师的要求要高得多,不仅要体现高超的技术能力,如系统平台设置、架构设计分析、编程等方面的能力,而且要展示自己的业务分析能力、对客户需求的理解能力和团队沟通协作的能力。
内容概要
软件测试是一门新兴的学科,同时,又是一门越来越重要的学科。本书首先从软件测试的产生和定义出发,描述了一个完整的软件测试知识体系轮廓,让读者从全局来把握软件测试;然后,针对软件测试不同的知识点展开讨论。 本书在内容组织上力求创新,尽量使软件测试知识具有很好的衔接性和系统性,使需求和设计评审、软件测试用例设计、自动化测试和各个阶段的实际测试活动有机地结合起来,使读者更容易领会如何将测试的方法和技术应用到单元测试、功能测试、系统测试和本地化测试中去。本书提供了丰富的实例和实践要点,更好地体现软件测试学科的特点,使读者掌握测试方法的应用之道和品味测试的极佳实践。 本书条理清晰、语言流畅、通俗易懂,内容丰富、实用,理论和实践能有效地结合。本书可作为高等学校的软件工程专业、计算机软件专业和相关专业的教材,也可作为软件测试工程师以及其他各类软件工程技术人员的参考书。
书籍目录
第1章 软件测试概述 1.1 一个真实的故事 1.2 为什么要进行软件测试 1.3 软件缺陷的由来 1.4 软件测试学科的发展历程 1.5 软件测试的定义 1.6 软件测试和软件开发 小结 思考题 第2章 需求和设计评审 2.1 软件评审的方法与技术 2.2 产品需求评审 2.3 设计评审 小结 思考题 第3章 测试用例设计 3.1 什么是测试用例 3.2 为什么需要测试用例 3.3 测试用例的质量 3.4 测试用例的组织和使用 小结 思考题 第4章 软件测试自动化 4.1 测试自动化的内涵 4.2 自动化测试的原理 4.3 测试工具的分类和选择 4.4 自动化测试的引入 小结 思考题 第5章 单元测试和集成测试 5.1 什么是单元测试 5.2 单元测试的方法 5.3 白盒测试方法的用例设计 5.4 代码审查 5.5 集成测试 5.6 单元测试工具 小结 思考题 第6章 功能测试 6.1 功能测试 6.2 功能测试用例的设计 6.3 可用性测试 6.4 功能测试执行 6.5 功能测试工具 小结 思考题 第7章 国际化和本地化测试 7.1 国际化和本地化的概念 7.2 国际化测试 7.3 本地化测试 7.4 I18N和L10N测试工具 小结 思考题 第8章 系统测试 8.1 什么是系统测试 8.2 概念:负载测试、压力测试和性能测试 8.3 负载测试技术 8.4 性能测试 8.5 压力测试 8.6 性能测试工具 8.7 兼容性测试 8.8 安全性测试 8.9 容错性测试 8.10 可靠性测试 小结 思考题 第9章 缺陷报告 第10章 测试计划和管理 附录A 软件测试术语中英文对照附录B 测试计划简化模板 附录C 测试用例设计模板 附录D 软件缺陷模板 附录E 软件测试报告模板 参考文献
章节摘录
插图:2.缺乏相应的人才有些软件公司舍得花几十万元去买测试工具软件,但缺乏具有良好素质、经验的测试人才。软件测试自动化并不是简简单单地使用测试工具,需要建立良好的自动化测试框架、开发测试脚本,这就要求测试人员不仅要熟悉产品的特性和领域知识,而且要掌握开发平台构建技术和具备较高的编程能力。3.测试脚本的质量低劣有些软件组织对待测试脚本,不像对待软件产品自身的源代码,既没有将脚本进行有效的配置管理,也没有遵守设计原则和编码规范,测试脚本存在很多问题,例如结构混乱、变量命名不规范、缺少注释等,从而导致测试脚本的质量低劣。测试脚本的质量将直接影响到测试执行过程,脚本执行不稳定,并导致测试结果不准确、不可靠。4.缺乏培训在引入测试工具前后,有些组织缺乏对测试人员的培训,其结果,测试人员对测试工具了解的深度和广度都不够,从而导致测试工具的使用效率低下,不能达到管理者的期望。测试自动化的培训是一个长期的实践过程,不是通过一两次讲课的形式就能达到效果,而应该提供具有实际项目背景的系列培训,从头开始,逐步深入,直至掌握主要的方法和技巧等。5.没有考虑到公司的实际情况。盲目引入测试工具有一点很明确,不同的测试工具面向不同的测试目的、具有各自的特点和适用范围,所以不是任何一个优秀的测试工具都能适应不同公司的需求。某个公司怀着美好的愿望花了不小的代价引入测试工具,半年一年以后,测试工具却成了摆设。究其原因,就是没有能够考虑公司的现实情况,不切实际地期望测试工具能够改变公司的现状,从而导致了失败。例如,许多软件公司是针对最终用户进行一次性的项目开发,而不是产品开发。项目开发周期短,不同的用户需求不一样,而且在整个开发过程中需求和用户界面变动较大,这种情况下就不适合引入功能测试工具,因为需求、界面变化比较大,测试脚本的开发和维护工作量很大,而脚本的复用频率不高,从而导致投入产出率很低,不但不能减轻工作量,反而加重了测试人员的负担。
编辑推荐
《软件测试》条理清晰、语言流畅、通俗易懂,内容丰富、实用,理论和实践能有效地结合。《软件测试》可作为高等学校的软件工程专业、计算机软件专业和相关专业的教材,也可作为软件测试工程师以及其他各类软件工程技术人员的参考书。内容与软件测试行业实际需求相吻合理论和实践有机结合简单易懂、循序渐进、案例丰富《软件测试》从软件测试的基本概念出发,对单元测试、集成测试到功能测试、性能测试进行全面介绍,深入讲解其中涉及到的测试方法。《软件测试》将软件测试自动化作为重点内容进行介绍.包括测试工具的介绍、使用以及脚本的开发和维护。软件测试是一门实践性很强的课程,这对其教材的编写有更高的要求,《软件测试》充分吸收软件业界的经验和最佳实践,并力求简单易懂、循序渐进,配以丰富的案例。
图书封面
图书标签Tags
无
评论、评分、阅读与下载