出版时间:2008-11 出版社:清华大学出版社 作者:郁莲 页数:219
Tag标签:无
前言
在高度信息化的今天,信息技术已经成为社会发展的第一生产力,软件则是信息技术中最重要的组成部分。近年来,软件产业在很多国家都成为了国民经济的主导产业。但随着软件的规模和复杂性的大幅度提升,软件不可靠性的矛盾也变得日益突出,因此如何保证软件的质量成为了必须解决的问题。在20世纪,由于需求和认识等方面的原因,更多的人只是关注软件开发,而软件测试一直没有得到足够的重视,发展比较缓慢。随着软件质量保证理论与技术的快速发展,软件测试逐渐受到越来越广泛的重视,并正在形成一种产业,从业人员的数量也在大幅度增加。目前中国有一千多家软件评测中心,从事软件测试的人员有数万人,但仍然有约二十万的人才空缺。这些紧缺人才并不是只会点点鼠标的测试操作者,而是具有与开发人员相同甚至更高能力的测试设计师和分析员。本书既可作为初次接触软件测试的读者系统学习的入门教材,也可作为具有一定经验的测试人员随时翻阅的工具书。本书难度适中,希望读者通过阅读和学习,能够了解软件测试的重要性,掌握基本的软件测试技术。不论是哪类读者,要深入理解本书的内容,软件工程的基础知识都是必需的。另外,最后两章涉及面向对象的应用测试和Web应用软件测试,如果读者具有一定的面向对象开发基础和Weh应用开发基础,便能够更加透彻地理解这两章的内容。当然.这并不是必需的,即使没有这方面的经验,读者也可以利用章节最后列出的进一步阅读材料了解相关的知识。
内容概要
本书系统介绍现代软件测试的基本原理与一般方法。全书共分10章,内容包括软件测试概述、白盒测试、黑盒测试、软件测试覆盖分析、单元测试与集成测试、JUnit测试工具、回归测试、基于状态的软件测试技术、面向对象的应用测试、Web应用软件测试技术。各章均有总结、思考与练习题、课后作业和进一步阅读材料、以便巩固加深所学的知识。 本书可作为计算机科学软件工程专业的本科高年级学生及研究生的教科书,以及从事软件测试工作的技术人员的参考书。
书籍目录
第1章 软件测试概述 1.1 什么是软件测试 1.2 软件测试目的 1.3 软件测试原理 1.4 软件测试过程 1.5 软件测试类型 1.5.1 按照开发阶段划分 1.5.2 按照测试技术划分 1.5.3 按照执行状态划分 1.5.4 按照执行主体划分 1.6 软件测试的注意事项(Tip) 1.7 软件测试的现状和趋势与面临的挑战 1.7.1 现状和趋势 1.7.2 面临的挑战 1.8 测试人员职业发展与具备的素质 1.8.1 从测试T程师的市场角度来分析 1.8.2 从测试工程师的自身素质提高的角度来看 1.9 总结 1.10 参考文献 1.11 思考与练习 1.12 进一步阅读 1.13 课后作业 第2章 白盒测试 2.1 基本路径测试 2.1.1 流图符号 2.1.2 独立程序路径 2.1.3 环形复杂性 2.1.4 导出测试用例 2.1.5 图矩阵法 2.2 控制结构测试 2.2.1 条件测试 2.2.2 数据流测试 2.2.3 循环测试 2.3 代码检查法 2.3.1 代码审查 2.3.2 桌面检查 2.3.3 走查 2.4 总结 2.5 参考文献 2.6 思考与练习 2.7 进一步阅读 第3章 黑盒测试 3.1 基于图的测试方法 3.2 等价划分 3.3 边界值分析 3.4 因果分析法 3.4.1 因果图——图形符号 3.4.2 因果图——举例 3.5 正交数组测试 3.6 测试插桩 3.6.1 测试预言 3.6.2 随机数据生成器 3.7 总结 3.8 参考文献 3.9 思考与练习 3.10 进一步阅读 第4章 软件测试覆盖分析 4.1 代码覆盖分析 4.2 控制流覆盖 4.2.1 语句覆盖 4.2.2 判定覆盖 4.2.3 条件覆盖 4.2.4 条件判定组合覆盖 4.2.5 多条件覆盖 4.2.6 修正条件/判定覆盖 4.2.7 路径覆盖 4.3 数据流覆盖 4.3.1 Rapps和Weyuker的标准 4.3.2 Ntafos的标准 4.3.3 Ural的标准 4.3.4 Laski和Korel的标准 4.4 其他覆盖标准 4.4.1 数据域覆盖 4.4.2 统计或可靠性覆盖 4.4.3 风险覆盖 4.4.4 安全覆盖 4.4.5 状态模型的覆盖标准 4.4.6 覆盖标准有关问题、局限性 4.4.7 实际应用的建议 4.5 总结 4.6参考文献 4.7思考与练习 4.8进一步阅读 第5章 单元测试与集成测试 5.1 单元测试 5.1.1 单元测试考虑事项 5.1.2 单元测试规程 5.1.3 单元测试局限性 5.2 集成测试 5.2.1 自顶向下集成 5.2.2 自底向上集成 5.2.3 混合式集成 5.2.4 端到端集成测试 5.3 总结 5.4 参考文献 5.5 思考与练习 5.6 进一步阅读 第6章 JUnit测试工具 第7章 回归测试 第8章 基于状态的软件测试技术 第9章 面向对象的应用测试 第10章 Web应用软件测试技术
章节摘录
软件测试是软件质量保证的重要手段。有研究数据显示,国外软件开发机构40%的工作量花在软件测试上,软件测试费用占软件开发总费用的30%~50%。对于一些要求高可靠、高安全的软件,测试费用可能相当于整个软件项目开发所有费用的3~5倍。由此可见,要成功开发出高质量的软件产品,除了从思想上重视软件测试工作,还必须掌握测试技术,有效地实施测试工作。本章的内容包括软件测试基本概念、软件测试目的、软件测试类型、软件测试原则、软件测试现状与挑战以及测试人员职业发展与素质。快速阅览:什么是软件测试?Myers (1979)定义测试(Testing)是执行程序的过程,其目的是发现错误。IEEE 610.12标准(1990)给出了两个测试定义:(1)在特定的条件下运行系统或构件,观察或记录结果,对系统的某个方面做出评价。(2)分析某个软件项以发现现存的和要求的条件之差别(即错误)并评价此软件项的特性。由谁来负责软件测试?在测试初期,由软件工程师实施所有测试。然而,随着测试过程进行,测试专业人员应该加入进来。为什么软件测试如此重要?没有经过测试的软件产品,无法知晓该软件产品运行时是否满足用户功能、性能需求,甚至导致最终用户生命、财产的损失。为了在把软件产品交付给用户之前尽可能多地发现错误(Error),必须使用专业技术设计测试用例,进行系统化测试。软件测试步骤各是什么?软件测试过程主要包括4个步骤:制定测试计划、生成测试用例、执行测试和分析测试结果。有哪些工件形成?在一些情况下,会生成测试计划、测试用例和测试结果报告。测试结果存档以便将来软件维护时使用。
编辑推荐
《软件测试方法与实践》由清华大学出版社出版。
图书封面
图书标签Tags
无
评论、评分、阅读与下载