读书人

软件测试

发布时间: 2010-03-03 02:11:24 作者:

 软件测试


基本信息出版社:高等教育出版社
页码:216 页
出版日期:2005年12月
ISBN:7040136988
条形码:9787040136982
版本:第1版
装帧:平装
开本:16
正文语种:中文
丛书名:新世纪高职高专教改项目成果教材

内容简介 《软件测试》是教育部新世纪高职高专教育人才培养模式和教学内容体系改革与建设项目成果,是组织有关教育部高职高专教育专业教学改革试点院校编写的。主要内容包括:绪论、软件测试实质、软件测试策略、黑盒测试、白盒测试、集成测试与系统测试,验证测试和确认测试,测试计划与测试文档、面向对象的软件测试。《软件测试》适合于高等职业学校、高等专科学校、成人高校、示范性软件职业技术学院、本科院校及其举办的二级职业技术学院、继续教育学院以及民办高校使用,也可供计算机专业人员和爱好者参考使用。
编辑推荐 《软件测试》由高等教育出版社出版。
目录
第1章 绪论
1.1 计算机系统中软件的可靠性问题
1.2 软件测试与软件可靠性
1.3 软件测试的发展历史、现状和展望
小结
第1章习题

第2章 软件测试的实质
2.1 软件测试的基本概念
2.1.1 软件测试的目的
2.1.2 软件测试涉及的关键问题
2.1.3 软件测试与软件质量保证
2.2 软件故障
2.2.1 故障定义
2.2.2 软件故障分类
2.2.3 软件故障的修复费用
2.3 测试的复杂性与经济性
2.4 测试的充分性问题
2.5 测试原则
2.6 停止测试的标准
2.6.1 五类常用的停止测试标准
2.6.2 第四类停止测试标准
小结
第2章习题

第3章 软件测试策略
3.1 软件开发模型
3.2 软件测试过程
3.2.1 单元测试
3.2.2 集成测试
3.2.3 确认测试
3.2.4 系统测试
3.2.5 验收测试
3.3 黑盒测试与白盒测试
3.3.1 黑盒测试
3.3.2 白盒测试
3.3.3 黑盒测试与白盒测试的比较
3.4 静态测试与动态测试
3.5 验证测试与确认测试
小结
第3章习题

第4章 黑盒测试
4.1 3个被测程序
4.1.1 三角形问题
4.1.2 NcxtDate函数
4.1.3 雇佣金问题
4.2 等价类划分测试
4.2.1 等价类划分
4.2.2 常见的等价类划分测试形式
4.2.3 等价类划分测试举例
4.2.4 等价类划分测试的指导方针
4.3 边界值分析
4.3.1 边界条件
4.3.2 次边界条件
4.3.3 边界值分析测试
4.3.4 健壮性测试
4.3.5 边界值分析举例
4.3.6 边界值分析的局限性
4.4 决策表测试
4.4.1 决策表
4.4.2 决策表在黑盒测试中的应用
4.4.3 决策表测试的指导方针
4.5 其他黑盒测试方法
4.5.1 因果图
4.5.2 特殊值测试
4.5.3 故障猜测法
4.6 黑盒测试效率
小结
第4章习题

第5章 白盒测试
5.1 程序控制流图
5.2 逻辑覆盖
5.3 路径分析
5.3.1 程序路径表示
5.3.2 程序中路径数的计算
5.3.3 Z路径覆盖
5.3.4 独立路径测试
5.4 数据流测试
5.4.]数据流分析
5.4.2 定义/使用测试
5.5 符号测试
5.6 域测试策略
5.7 程序变异
5.7.1 程序强变异
5.7.2 程序弱变异
5.8 程序插装
小结
第5章习题

第6章 集成测试与系统测试
6.1 集成测试
6.1.1 增式集成测试与非增式集成测试
6.1.2 自顶向下集成测试与自底向上集成测试
6.2 系统测试
6.2.1 性能测试
6.2.2 强度测试
6.2.3 安全性测试
6.2.4 恢复测试
6.2.5 安装测试
6.2.6 可靠性测试
6.2.7 配置测试
6.2.8 可用性测试
6.2.9 兼容性测试
6.2.10 文档资料测试
6.2.11 网站测试
小结
第6章习题

第7章 验证测试和确认测试
7.1 验证的基本方法
7.1.1 软件审查
7.1.2 走查
7.1.3 伙伴检查
7.1.4 建议
7.2 验证活动
7.2.1 审查单
7.2.2 需求验证
7.2.3 功能设计验证
7.2.4 详细设计验证
7.2.5 代码验证
7.3 通用代码审查单
7.4 确认测试
7.4.1 确认任务
7.4.2 确认测试策略
7.4.3 确认测试活动
7.4.4 累进测试和回归测试
7.4.5 测试执行
小结
第7章习题

第8章 测试计划与测试文档
8.1 测试计划
8.2 软件测试文档
8.3 主测试计划
8.4 验证测试计划
8.4.1 制定验证测试计划
8.4.2 验证执行
8.5 确认测试计划
8.5.1 制定确认测试计划
8.5.2 测试结构设计
8.5.3 详细测试设计
8.5.4 测试执行和事故报告
8.6 测试评估
8.7 用户手册
8.8 IEEE/ANSI测试文档概述
8.9 软件生存周期各阶段的测试任务与可交付的文档
8.9.1 需求阶段
8.9.2 功能设计阶段
8.9.3 详细设计阶段
8.9.4 编码阶段
8.9.5 测试阶段
8.9.6 运行/维护阶段
小结
第8章习题

第9章 面向对象的软件测试
9.1 面向对象的概念
9.1.1 对象、
9.1.2 消息
9.1.3 接口
9.1.4 类
9.1.5 继承
9.1.6 动态绑定
9.2 面向对象的测试与传统软件测试的区别
9.3 面向对象的软件测试
9.4 类测试
9.5 面向对象的集成测试
小结
第9章习题

第10章 软件测试自动化和测试工具
10.1 测试与测试自动化
10.2 测试工具
10.2.1 白盒测试工具
10.2.2 黑盒测试工具
10.2.3 测试设计和开发工具
10.2.4 测试执行和评估工具
10.2.5 测试管理工具,
10.2.6 测试工具的选择
10.3 常用测试工具简介
10.3.1 ParasoftC++Tast测试工具简介
10.3.2 白盒工具——NuMegaDecPartner Studio
10.3.3 黑盒测试工具——QACenter
10.3.4 数据库测试工具
10.3.5 测试管理工具——TestDirector
10.4 测试自动化和测试工具的好处
10.5 测试自动化和测试工具存在的问题
小结
第10章习题

第11章 软件质量保证
11.1 软件质量保证
11.2 软件测试管理技术
11.3 测试的组织方式
11.4 能力成熟度模型CMM
11.4.1 CMM的等级
11.4.2 CMM等级3
11.5 ISO9000标准
小结
第11章习题

第12章 软件测试职业指导
12.1 软件测试职位
12.2 优秀软件测试工程师应具备的素质
12.3 软件测试信息资源
12.3.1 正规培训
12.3.2 因特网
12.3.3 专业组织
小结
第12章习题
附录 软件工程的测试标准
参考文献
参考网站
……
序言 从计算机技术与各项科学技术比较来看,计算机技术无疑是当代发展最为迅猛的科学技术之一。无论是文化领域、科技领域、金融领域还是军事领域,计算机技术的应用非常普遍,计算机技术已渗透到生产、生活的各个方面。
随着对计算机需求和依赖的与日俱增,计算机系统的规模和复杂性急剧增加,其软件开发成本以及由于软件故障而造成的经济损失也不断增加,软件质量问题已成为人们共同关注的焦点。
软件开发商要想最大限度地占有市场,必须把软件质量作为企业始终追求的重要目标之一,这样才能在激烈的竞争中不被淘汰出局。用户为了保证自己业务的顺利完成,当然也希望选用优质的软件。在一些关键应用中,如民航订票系统、银行结算系统、证券交易系统、自动飞行控制软件、军事防御和核电站安全控制系统等,都对软件质量提出了更高的要求。使用质量欠佳的软件,很可能造成灾难性的后果,如美国爱国者导弹防御系统、欧洲阿丽亚娜五型火箭发射失败问题、美国航空总署火星探测器坠毁灾难、千年虫问题、Intel芯片浮点除法软件故障等,都是因使用质量欠佳的软件而造成的。因此,许多科学家在展望21世纪计算机科学发展方向和策略时,都把软件质量放在优先于提高软件功能和性能的地位。
软件测试是对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤,是为了发现故障而执行程序的过程。随着软件系统规模和复杂性的增加,进行专业化、高效软件测试的要求越来越高,软件测试职业的价值越发显著,软件评测中心如雨后春笋般迅猛发展起来。可以预测,在未来3-5年内,软件测试技术将作为一门新兴产业而快速发展起来。
十分遗憾的是,在国内大量的出版物中,有关软件测试技术的书籍少之又少。近年来,我们在软件测试技术方面开展了一些调查、研究、分析和实践活动,对在软件测试当中可能遇到的一些关键问题进行了理论探讨并积累了一些宝贵的资料。在此基础上,着手编写本书,旨在介绍软件测试的基本概念、常用方法和技术,为普及我国的软件测试技术尽自己一份绵薄之力。同时希望读者能够以此为起点,学会如何选择有效的测试方法,学会如何迅速地找出软件中存在的故障,学会如何清楚地报告发现的软件问题,掌握软件测试的基本技术并能应用到具体实践中。
在本书的编写过程中,王雪莲同学做了部分翻译和辅助工作,科学院计算所闵应骅研究员在百忙中抽出时间审阅了全书,在此一并表示衷心的感谢。
文摘 插图:


对软件系统中可能出现的故障进行分类,有利于软件可靠性分析工作的进行。故障一般可分为:硬件故障、软件故障、操作故障和环境故障。硬件故障是由物理性能的恶化造成的;软件故障是由设计阶段的人为因素造成的;操作故障是指操作人员和维护人员的错误;环境故障则包括.电源、外界干扰、地震、火灾、病毒等各种外界因素引起的故障。故障可以形式化地定义为软件在其执行期间的表现偏离了事先规定的行为要求。如果规格说明书错了,尽管软件的实现与规格说明的要求相符,但它与用户的要求不吻合,从用户立场上来看,这也是对事先规定行为的偏离,它将直接影响到用户的使用。因此,只要用户有抱怨,就可以说,软件出现了故障。
实际上,对于软件来讲,不论采用什么样的技术和方法,软件中都会有故障存在。采用新的编程语言、先进的开发方式、完善的开发过程,可以减少故障的引入,但是不可能完全杜绝软件中故障的存在,这些软件故障需要靠测试来发现,软件中的故障密度也需要靠测试来估计。软件测试是对软件需求分析、设计规格说明和编码的终审,是软件质量保证的关键步骤。如果给软件测试下定义,可以这样讲:软件测试是为了发现故障而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些测试用例去执行程序,以发现软件故障的过程,其根本目的是以尽可能少的时间和人力发现并改正软件中潜在的各种故障及缺陷。实际上,测试工作一直对准软件中隐含的各种故障,所有的测试方法和手段都是以找出软件中隐含的故障为目的的。软件中隐藏的故障数目,直接决定软件的可靠性。如果不能将软件中隐含的故障及时排除,一旦暴露出来就会给使用者和维护者带来不同程度的严重后果。所以,软件测试必须在软件投入生产运行之前进行,以尽可能多地发现软件中存在的故障,提高软件可靠性。
软件可靠性模型利用软件测试所提供的有关软件系统的故障数据,估算软件的可靠性,对软件将来的故障行为进行预测,以协助开发人员监督软件开发过程,辅助软件过程管理,如过程评估、风险分析、项目估计与决策等。因此,软件测试是保证软件质量,提高软件可靠性的主要手段。
读书人网 >软件工程

热点推荐