出版时间:2008 出版社:清华大学出版社 作者:Gerald D. Everett,Raymond 页数:214 译者:郭耀
Tag标签:无
前言
软件测试是软件开发过程中不可或缺的阶段,自20世纪70年代开始,业界就公认,在一个典型的编程项目中,测试会占到一半乃至更多的时问和资源。30多年来编程语言和软件开发技术的发展日新月异,今天我们拥有了更成熟更丰富的手段来便利地构造精妙复杂的软件,但是测试依然扮演着同样重要的角色。并且,随着计算机软件技术在各行各业的普及运用,人们对软件质量的要求也越来越分业化和多样化。软件开发团队必须尽可能地在交付产品之前控制未来的质量风险,这就必然需要依赖于卓有成效的软件测试。软件测试远比人们所直观想象的要复杂,哪怕是测试一个简单的系统,也会是一个潜在的旷日持久的任务。在经费和进度紧张的情况下,测试者需要切合实用的技术,亲自实践的经验和正确的策略来有效而高效地进行软件测试。在现实生活中,有效而高效的软件开发技能常常成为业界人员的热门话题和追逐日标,有效而高效的软件测试技能却相对为人们所冷落。正如软件测试泰斗Glenford Myers在其经典著作《软件测试艺术》中所言,“我们的学生每年毕业进入业界,几乎全无软件测试方面的知识,甚至,我们几乎从未指导过学生应该如何来测试和调试他们写下的课程程序。”《软件测试》作者在对美国21所大学进行的一个调查中发现,其中18所大学均没有开设任何软件测试方面的课程。这说明软件测试的培训与教育并无法满足当今IT产业的需求。这个现象在中国的软件产业中也有所反映,尽管客户对高质量可靠度软件产品的需求日益增加,尽管软件测试愈来愈为国内业界重视,高效的软件测试工程师依然是各开发团队争相网罗的人才。另一方面,随着敏捷开发方法等新一代软件工程概念的风靡,软件编码和测试过程多次迭代,测试人员更积极地参与到软件生命周期的各个阶段中,使得整个项目团队收取事半功倍的成效。编码和测试人员越来越紧密地协同工作,优秀的程序必然需要了解测试的方法和概念,优秀的测试人员所具备的技能也不再是仅仅是对现成的程序进行直观的功能测试,软件测试的涵义和策略日益复杂,软件质量风险控制涉及到愈来愈多的方面。故而软件企业对员工进行测试概念、过程、技巧、工具等方面的培训,能显著地提高整个团队的工作效率。。
内容概要
在过去的10年中,已经有无数知名的计算机软件故障成为杂志的精彩封面故事。劣质软件导致的软件故障依然不断地在前台或后台发生。这些故障每年造成了巨大的损失。软件测试的重要性毋庸置疑。 市场上很多优秀的教材深入地探讨了软件开发中某些很窄的特定阶段的测试方法。但这些教材都没有从整个软件开发生命周期的角度来探讨软件测试。《软件测试:跨越整个软件开发生命周期》首次全面阐述了针对21世纪的开发中或修改中的软件从测试规划到测试实施的各个阶段的测试活动。《软件测试:跨越整个软件开发生命周期》介绍了软件测试的基础性概念和方法,为读者提供了一个完整的软件测试概览:包括当前的实践技术、未来的实践技术以及作为选择职业生涯的指导。 《软件测试:跨越整个软件开发生命周期》不仅可作为计算机科学专业和信息管理系统专业的高年级学生的软件测试教材,对软件专业人员和商业系统分析师也很有参考价值。
作者简介
作者:(美国)爱弗里特 (Everett G.D.) (美国)Raymond MCleod 译者:郭耀
书籍目录
第1章 测试概述1.1 概述1.2 测试的目标与局限性1.2.1 测试人员的思维1.2.2 用户级别的非软件测试-买车1.2.3 开发人员级别的非软件测试-造车1.2.4 测试的4个主要目标1.2.5 开发公理-质量必须在开发时考虑,而不是测试时1.3 测试的价值与开销1.3.1 市场级别的非软件测试-车辆安全与销售额1.3.2 估算失败的开销1.3.3 Basili和Boehm的指数定律1.3.4 Internet上的“淘金潮”1.3.5 电子商务的致命弱点1.4 测试与软件开发生命周期的关系1.4.1 软件测试作为一项技术职业的发展史1.4.2 好的软件测试的10个准则1.4.3 “GOSSIP”游戏1.5 软件测试中的测试人员和开发人员的角色1.5.1 软件质量期望的简史-“天堂的迷失”1.5.2 测试人员在软件开发中的角色1.5.3 测试工具专家在软件开发中的角色1.5.4 测试组中都有谁1.6 关于软件测试的观点讨论1.7 本章 小结1.7.1 4个主要的测试目标1.7.2 开发公理-质量必须在开发时而不是测试时考虑1.7.3 软件测试作为一项技术职业的发展史1.7.4 好的软件测试的10个准则第2章 软件开发生命周期2.1 概述2.2 方法和工具2.3 软件开发生命周期的发展2.3.1 经典的SDLC2.3.2 原型化方法2.3.3 快速应用程序开发2.4 逐步开发方法2.4.1 生命周期阶段2.4.2 系统开发步骤2.4.3 在各阶段中的软件测试2.5 初始调研阶段2.5.1 进行企业分析2.5.2 定义系统目的、目标和性能标准2.5.3 评估系统和项目风险2.5.4 评估系统和项目的可行性2.5.5 通过JAD会议确认初始结论2.5.6 获得批准2.6 分析阶段2.6.1 分析功能需求2.6.2 分析已有系统文档2.6.3 访谈2.6.4 调查研究2.6.5 举行JAD会议2.6.6 观察现有系统2.6.7 记录功能需求2.7 设计阶段2.7.1 寻找可行的设计方案2.7.2 评估可行的设计方案2.7.3 举行JAD会议确定并评估设计方案2.7.4 选取最优的设计方案2.8 初始构建阶段2.8.1 构建每个模块的软件2.8.2 向用户和项目投资方演示新的系统模块2.9 最终构建阶段2.9.1 构建并测试可投产的软件2.9.2 构建并测试可投产的数据库或数据仓库2.9.3 安装必要的新硬件和网络连接2.9.4 准备好所需的物理设施2.9.5 测试硬件配置2.9.6 完成所有文档2.9.7 争取用户同意开始运行2.9.8 培训参与人员和用户2.10 安装阶段2.10.1 安装系统组件2.10.2 移交新系统2.10.3 进行实施后评估2.11 关于PDM的观点讨论2.12 本章 小结第3章 结构化测试概述3.1 概述3.2 软件测试人员的清单3.3 SPRAE-一个通用的结构化测试方法3.3.1 规约3.3.2 预先策划3.3.3 可重复性3.3.4 责任说明3.3.5 经济性3.4 关于结构化测试的观点讨论第4章 测试策略4.1 概述4.2 测试策略中的“棋子”4.2.1 静态测试4.2.2 白盒测试4.2.3 黑盒测试4.2.4 性能测试4.3 二维测试策略棋盘4.4 三维测试策略棋盘4.5 关于测试策略的观点讨论第5章 测试计划5.1 概述5.2 测试计划5.3 测试用例5.3.1 测试用例细节5.3.2 动作5.4 在现实世界中编写测试计划与测试用例5.5 测试文档标准5.6 关于测试计划的观点讨论第6章 静态测试第7章 功能测试第8章 结构(非功能)测试第9章 性能测试第10章 测试环境第11章 自动化测试工具第12章 分析并解读测试结果第13章 一个全软件开发生命周期的测试项目第14章 复杂应用测试第15章 测试的未来发展方向参考文献
章节摘录
在过去的10年中,已经有无数知名的计算机软件故障成为杂志的精彩封面故事。尽管有这些看得见的教训,劣质软件导致的软件故障依然不断地在前台或后台发生。这些故障每年据估计会对美国经济造成高达595亿美元的损失。有估计认为通过在软件开发各个阶段适当地进行测试将可以减少其中每年222亿美元的损失。《软件测试》首次全面阐述了针对21世纪的开发中或修改中的软件从测试规划到测试实施的各个阶段的测试活动。此书的作者相信,那些封面故事中的软件灾难可以通过实施全面的软件测试来避免。作者还相信,常规而持续的测试可以提高软件开发人员所能提供的软件质量以及客户对质量的预期。通过采用一种全面的测试方法,软件测试人员可以将主要商业损失的负面风险转化为正面的竞争力。很多市场上优秀的教材深入地探讨了软件开发中某些很窄的特定阶段的测试方法。例如本书作者推荐一本可以作为本书后续的中级读本,就是由James A.Whittaker博士所著的《测试实用指南(Practical Guide to Testing)》。但是这些教材都没有从整个软件开发生命周期的角度来探讨软件测试,这应该包括在软件开发的每个阶段中的测试规划、测试完成和理解测试结果等方面的问题。将会从这本书中获益最大的读者是那些软件专业人员,商业系统分析师,以及高年级的计算机科学专业和信息管理系统专业的学生。这些貌似不同背景的读者群体的共同点就是他们都很关注软件开发过程中的技术挑战。正是在软件开发中的这一共同经验使得这些读者能够很快的对软件测试带来的好处有一个现实的预期,并且可以认清好的软件测试的界限。
编辑推荐
《软件测试:跨越整个软件开发生命周期》包括了对于一个专业技术人员想要成为一个软件测试人员所需的知识的全面介绍。《软件测试:跨越整个软件开发生命周期》的表述包括了由浅入深的赏例。《软件测试:跨越整个软件开发生命周期》中所采用的描述和例子更多是针对实践者,而非学术研究人员。
图书封面
图书标签Tags
无
评论、评分、阅读与下载