作者简介
作者长期从事软件工程、网络安全、密码应用领域科研与实践工作,主持和参与制订多项国家标准和行业标准,编著多本著作,参与多项国家重点科研项目的立项论证、过程监督和验收评审,完成多项国家重点科研项目,指导多名研究生课题工作。
目录
第1章 软件测试概述
1.1 软件测试的起源及发展
1.2 软件测试的现状及前景
1.3 软件测试工程师应具备的素质
第2章 软件测试基础
2.1 软件测试的定义
2.1.1 软件测试的狭义和广义观点
2.1.2 软件测试的辩证观点
2.1.3 软件测试的风险观点
2.1.4 软件测试的经济学观点
2.1.5 软件测试的标准观点
2.2 软件测试原则
2.3 软件测试目标
2.4 软件测试分类
2.4.1 从是否关心内部结构划分
2.4.2 从是否执行程序划分
2.4.3 从软件开发过程阶段划分
2.5 软件测试标准
2.5.1 国家标准
2.5.2 国家军用标准
第3章 非嵌入式软件测试分析
3.1 概述
3.1.1 基本定义
3.1.2 开发过程
3.1.3 运行和开发平台
3.1.4 特点
3.2 主要测试内容
3.2.1 重难点分析
3.2.2 常见测试类型
3.2.3 测试策略与方法
3.3 测试环境与工具
3.3.1 测试环境
3.3.2 测试数据
3.3.3 测试工具
3.4 常见问题
3.4.1 软件规范问题
3.4.2 业务规范问题
3.4.3 逻辑控制问题
3.4.4 数据控制问题
3.4.5 报表和查询问题
3.4.6 打印相关操作问题
3.4.7 接口及数据交互问题
3.4.8 权限及安全问题
3.4.9 备份与恢复问题
3.4.10 并发问题
3.4.11 升级问题
第4章 嵌入式软件测试分析
4.1 概述
4.1.1 基本定义
4.1.2 开发过程
4.1.3 运行和开发平台
4.1.4 特点
4.2 主要测试内容
4.2.1 重难点分析
4.2.2 常见测试类型
4.2.3 测试策略与方法
4.3 测试环境与工具
4.3.1 测试环境
4.3.2 测试数据
4.3.3 测试工具
4.4 常见问题
4.4.1 余量问题
4.4.2 中断问题
4.4.3 运算符优先级问题
4.4.4 常数符号问题
4.4.5 移位问题
第5章 测试设计与实现
5.1 测试需求分析
5.1.1 测试需求分析内容
5.1.2 测试需求分析重点
5.1.3 测试需求提取方法和步骤
5.1.4 测试项编写
5.1.5 测试项充分性追踪
5.1.6 测试需求评审
5.2 测试策划
5.2.1 测试策划内容
5.2.2 测试策划编写
5.2.3 测试策划评审
5.3 测试设计和实现
5.3.1 测试用例框架设计
5.3.2 典型用例设计分析
5.3.3 测试用例管理
5.3.4 测试环境搭建
5.3.5 测试说明评审
5.4 测试执行
5.4.1 测试就绪评审
5.4.2 测试用例执行
5.4.3 测试结果记录
5.4.4 测试问题记录
5.4.5 回归测试执行
5.5 测试总结
5.5.1 测试工作分析
5.5.2 测试结果分析
5.5.3 测试报告编写
5.5.4 测试总结评审
第6章 测试过程管理
6.1 配置管理
6.1.1 配置管理概念
6.1.2 配置管理计划
6.1.3 基线管理
6.1.4 四库管理
6.1.5 变更控制
6.1.6 配置状态报告
6.2 质量监督
6.2.1 需求分析与策划阶段的质量监督
6.2.2 设计与实现阶段的质量监督
6.2.3 执行阶段的质量监督
6.2.4 总结阶段的质量监督
6.3 成果评审
6.3.1 阶段评审的作用
6.3.2 测试需求规格说明书评审
6.3.3 测试计划评审
6.3.4 测试说明评审
6.3.5 测试就绪评审
6.3.6 测试记录评审
6.3.7 测试报告评审
6.3.8 测试总结评审
第7章 测试项目实践
7.1 被测软件介绍
7.1.1 功能性需求
7.1.2 用户界面需求
7.1.3 系统接口需求
7.1.4 计算机资源需求
7.1.5 其他需求
7.2 测试需求分析与策划
7.2.1 被测软件分析
7.2.2 测试项分析
7.2.3 测试项示例
7.2.4 测试环境
7.3 测试设计与实现
7.3.1 文档审查
7.3.2 功能测试
7.3.3 性能测试
7.3.4 接口测试
7.3.5 人机交互界面测试
7.3.6 强度测试
7.3.7 余量测试
7.3.8 安全性测试
7.3.9 恢复性测试
7.3.10 边界测试
7.3.11 数据处理测试
7.3.12 安装性测试
7.3.13 容量测试
7.3.14 兼容性测试
7.4 测试执行
7.4.1 严重问题
7.4.2 一般问题
7.5 测试总结
7.5.1 测试结果
7.5.2 评价结论与改进意见
参考文献
内容摘要
1.1软件测试的起源及发展软件测试作为软件研发过程中旨在发现软件缺陷的一种活动,伴随着软件研发的出现而出现,只不过在早期的软件研发活动中,软件产品的总体规模都比较小,软件结构也都比较简单,软件研发过程相对比较随意,没有严格的研发过程管理手段和要求,所以软件测试的含义就比较狭窄,基本等同于软件调试,大部分情况下也是由软件研发人员自己完成的,目的是发现并纠正软件中存在的各种故障。在早期的软件研发过程中,没有对软件测试的专门投入,也没有独立的软件测试人员,软件测试通常介入得也比较晚,常常是在软件编码完成之后进行简单的验证而已。直到1957年,软件测试才逐渐与软件调试区别开来,作为一种独立的活动以发现软件缺陷。但是,软件测试工作由于未受到足够的重视,通常被视为软件生命周期中的最后一项活动,加之当时软件测试技术不够先进,缺乏有效的测试方法,主要依靠错误推测法寻找软件中的缺陷,因此大量软件交付后,仍存在很多问题,软件产品的质量无法保证。到了20世纪70年代,这个阶段开发的软件仍然不复杂,但人们已经开始思考软件开发流程的问题了,尽管当时对软件测试的重视程度依然不够,对其真正含义也缺乏共识,但软件测试这一词条已经频繁出现,一些软件测试的探索者建议在软件生命周期的开始阶段就根据软件需求制定测试计划,这时也涌现出一批软件测试的宗师,如Bill Hetzel博士就是其中的领导者。1972年,Bill Hetzel博士在美国的北卡罗来纳大学组织了历史上第一次正式的关于软件测试的会议。1973年,BillHetzel博士首先给出了软件测试的定义:建立一种信心,认为程序能够按预期的设想运行(Establish confidence that a program does what it issupposed to do)。1983年,他又将软件测试的定义修订为:评价一个程序和系统的特性或能力,并确定它是否能达到预期的结果,软件测试就是以此为目的的任何行为(Any activities aimed at evaluating an attribute or capability of a program orsystem)。在他的定义中,“设想”和“预期的结果”其实就是我们现在所说的用户需求或功能设计。另外,他还把软件的质量定义为“符合要求”。他的核心观点就是软件测试是试图验证软件是能够正常工作的。后来,GlenfordJ.Myers针对软件测试的定义提出了新的观点,他认为软件测试不应该着眼于验证软件是能够正常工作的,相反,应该首先认定软件是有错误的,然后用逆向思维发现尽可能多的错误。他还从人的心理学的角度进行了论证,如果将“验证软件是能够正常工作的”作为测试目的,那么会非常不利于测试人员发现软件的错误。于是他于1979年提出了软件测试的定义:测试是为发现错误而执行的一个程序或系统的过程(The process of executing a program orsystem with the intent of finding errors)。这个定义得到了业界的广泛认可,经常被引用。Myers 提出的“软件测试的目的是证伪”这一概念推翻了过去“为表明软件正确而进行测试”的错误认识,为软件测试的发展指明了方向,软件测试的理论、方法在之后得到了长足的发展。到了20世纪80年代初期,软件和IT行业进入了发展时期,软件产品的规模不断增大,软件结构日趋复杂,软件产品的质量越来越重要。相应地,有关软件测试的基础理论和实用技术开始逐步形成,人们也开始为软件研发过程设计各种流程和管理方法,软件研发过程也逐渐由混乱无序向规范化方向发展,软件工程思想得以提出。软件测试作为软件工程全生命周期的独立活动,地位和作用逐渐得到提升。软件测试的定义也开始有了行业标准(IEEE/ANSI),1983年,IEEE提出的《IEEE软件工程标准术语》中给软件测试下了定义:使用人工或自动的手段来运行或测定某个软件系统的过程,目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。这个定义明确指出软件测试的目的是检验软件系统是否满足规定的需求。它再也不是一次性的、只是开发后期的……
主编推荐
本书从实际出发,通过典型案例系统地介绍了软件测试的流程和相应的测试技术。
精彩内容
本书从实际出发,通过典型案例系统地介绍了软件测试的流程和相应的测试技术。其中,第1、2章的主要内容是软件测试的起源及发展、现状及前景,以及软件测试的定义、分类、标准等;第3章、第4章的主要内容是软件测试的重点与难点分析、常见测试类型、测试策略与方法、常见软件问题等;第5章主要讲述的是软件测试5个典型阶段的工作要点;第6章的主要内容是测试过程管理的配置管理、质量监督和成果评审;第7章的主要内容是测试项目实践。本书内容丰富,论述深入浅出,有较强的实用性和可操作性,可供软件测试、软件工程等专业的大学生、研究生及工程技术人员学习和参考。
以下为对购买帮助不大的评价