标题：软件生命周期质量保证与测试
图书信息
作　者：张向宏主编  
中国软件评测中心组编
出 版 社： 电子工业出版社
出版时间： 2009-5-1
页　数：436页
开　本： 16开
ISBN 9787121085611
分类： 图书[1] >> 计算机>软件工程
估价：55.00元
内 容 简 介
随着软件规模的日益增大，软件质量问题日显突出。本书从软件生命周期的角度着重介绍软件质量、质量保证和软件测试的基本概念和技术方法。首先介绍了软件生命周期、软件质量等一般性的概念，针对软件生命周期的各个阶段的质量度量问题，提出相应的质量度量指标和度量方法，然后对软件质量保证的定义、工作过程、主要任务等进行阐述，并从软件生命周期的各个阶段分别论述了如何进行软件的质量管理，最后提出软件测试是保证软件质量的有效手段。本书除了介绍软件测试理论及当前前沿测试技术外，还对软件生命周期的各个阶段提供的测试类型进行了详细论述，并提供了大量的典型测试实例，便于帮助读者分析掌握软件质量保证的测试手段。
本书主要面向从事软件质量保证、软件开发和软件测试领域的技术人员和管理人员，以及任何对软件开发、软件质量保证和软件测试等各种实践感兴趣的人员阅读。同时，还可以作为软件测试培训课程的参考教材。
前    言
本书编写背景
软件产业作为信息产业的核心和灵魂，在促进国民经济和社会发展信息化中具有重要的地位和作用，是国家的基础性、战略性产业。随着软件规模的日益增大，软件质量问题在近年也日益突出，由于软件存在质量缺陷而引发的事故频频发生，它不仅会造成软件交付延期、开发成本递增，甚至会威胁到生命和社会安全。这再一次向我们提出了警告，必须立即重视和认真解决软件质量问题。
软件生命周期是软件的产生直到报废的生命周期，包括问题的定义及规划、需求分析、软件设计、程序编码、软件测试和运行维护6个阶段。事实上，软件生命周期的各个阶段都会涉及质量问题。通常来说，软件开发过程中的缺陷发现得越晚，所需付出的代价就越高。必须提前对软件生命周期的每个阶段进行质量管理，通过测试手段实现各个阶段的质量保证。
本书既有软件质量领域的理论与实践，又有软件测试领域的理论与实践，从整个软件生命周期的角度，把软件质量保证与软件测试结合起来，实现软件质量的提升。本书对于刚进入IT领域的软件质量保证人员和软件测试人员具有理论的指导意义和实践的借鉴意义。对于有一定工作经验的人士来说，本书知识面广，也是一本提升境界、扩展思路的宝典。
本书特色
本书逻辑层次清晰、知识面涵盖广、理论与实践结合紧密，使读者能够迅速掌握软件质量保证与测试的相关理论与实践方法。本书的特色如下。
1．强调对“过程”的软件质量保证
本书强调“软件生命周期”，分别从软件生命周期的各个阶段去分析与论述软件的质量保证与测试，纠正了国内对软件质量保证“重结果轻过程”的认识。
2．加强理论与实践的紧密结合
本书对于软件生命周期质量保证与测试的论述，不仅有深入的理论分析，还有实际项目的实践经验分享；不仅介绍了软件生命周期的质量度量、质量管理、质量保证、测试实施，还详细介绍了典型测试案例，包括功能测试、性能测试、可靠性测试等多个领域，都是一些实际的项目经验，具有很大的借鉴意义。
3．详细解析软件生命周期的测试实施
本书对于软件生命周期的测试实施进行了十分详细的论述，在软件生命周期的每个阶段，对于测试的对象、测试的策略、测试的方法及一些测试的工具都有详细的阐述。
4．本书的思路地图
问    题    答    案
需要理解的软件质量与软件测试的基础知识有哪些    软件质量概述（第1章）
软件测试（第5章）
如何在软件生命周期各阶段进行质量度量    软件生命周期的质量度量（第2章）
如何在软件生命周期各阶段进行质量管理    软件生命周期的质量管理（第3章）
如何在软件生命周期各阶段进行质量保证    软件质量保证（第4章）
如何在软件生命周期各阶段进行软件测试    软件生命周期的测试实施（第6章）
有哪些典型的测试案例可以借鉴    典型测试实例（第7章）
目前软件测试技术的发展动态如何    前沿测试技术介绍（第8章）
实际测试实施中会用到哪些测试工具    常用测试工具介绍（第9章）
5．你能从本书得到什么
 提升全局的眼界，从软件生命周期各个阶段去考虑各种问题；
 增加知识的积累，围绕“软件质量”，丰富各个方面的知识；
 了解软件生命周期各阶段的测试工作，加深测试的思想；
……
关于本书作者
中国软件评测中心成立于1990年，作为国内最早开展测试工作的国家级计算机软件产品质量检测机构，具有国家级软件质量保证专家和一支多年从事软、硬件质量保证的技术队伍，承担了多项国家“八五”、“九五”、“863”、“十五”重点攻关课题，近二十年来，一直致力于软硬件测试、电子政务评估、信息工程咨询与监理、资质认证等领域的研究与实践，在软件测试理论及实践中积累了深厚的功底和丰富的经验。
主编张向宏，现任中国软件评测中心常务副主任。在2002年至2008年期间，受国信办委托，承担中国网站调查及“振兴软件产业行动纲要”、“国家电子政务总体框架”、“关于我国电子政务建设指导意见”、“全国电子政务全过程绩效评估指标体系和方法研究”等前期研究与规划工作；负责国家质检总局政府网站、上海政府网站、青岛政府网站、武汉政府网站、常州政府网站的功能设计及内容规划等；在担任中国软件评测中心常务副主任及赛迪监理公司总经理期间大胆改革，创新机制，整合中国软件评测中心测试理论和经验，使公司经营业绩连续增长，进一步提高了公司在业界的竞争能力。
目    录
第一篇  整体介绍
第1章  信息化建设及IT项目的面向
第1章  对象开发和管理概述    2
1.1  信息化建设及案例介绍    2
1.1.1  数字图书馆系统    2
1.2.2  电子政务系统    6
1.2  面向对象的开发及管理概述    11
第2章  IT项目开发流程与UML概述    14
2.1  项目开发流程    14
2.1.1  项目生命周期    15
2.1.2  项目开发阶段    16
2.2  UML概述    18
2.2.1  UML图    18
2.2.2  Rational Rose工具及使用    24
第二篇  面向对象的项目开发
第3章  软件需求分析    32
3.1  软件需求分析概述    32
3.2  软件需求分析过程    33
3.2.1  什么是软件需求    33
3.2.2  需求过程中的角色    34
3.2.3  需求过程的迭代    34
3.2.4  需求来源    34
3.2.5  需求获取方法    35
3.2.6  软件需求表达    35
3.2.7  需求评审    40
3.3  软件需求文档    42
第4章  系统分析设计    59
第1章  软件质量概论    1
1.1  概述    1
1.2  软件生命周期概述    2
1.2.1  软件生命周期    2
1.2.2  软件开发过程模型    3
1.3  软件缺陷    12
1.3.1  软件缺陷的定义    12
1.3.2  软件缺陷的来源    14
1.3.3  软件缺陷的属性    16
1.4  软件质量    19
1.4.1  软件质量的定义    19
1.4.2  影响软件质量的
主要因素    21
1.5  软件质量模型    23
1.5.1  McCall质量模型    23
1.5.2  Boehm质量模型    24
1.5.3  ISO 9126质量模型    25
1.6  软件质量需求    26
1.7  本章小结    28
第2章  软件生命周期质量度量    29
2.1  概述    29
2.1.1  度量的原则    30
2.1.2  软件开发生命周期的度量活动    30
2.1.3  软件度量的实施过程    32
2.2  需求分析模型的度量    32
2.2.1  基于功能的度量    33
2.2.2  规约质量的度量    34
2.2.3  需求稳定性的度量    35
2.3  设计模型的度量    35
2.3.1  体系结构设计度量    36
2.3.2  构件级设计度量    38
2.3.3  界面设计度量    41
2.4  源代码度量    42
2.4.1  Halstead度量法    42
2.4.2  McCabe度量法    43
2.5  对测试的度量    45
2.5.1  测试的度量    45
2.5.2  测试过程的度量    45
2.6  对维护的度量    48
2.6.1  软件维护度量    48
2.6.2  维护过程的度量    50
2.7  本章小结    51
第3章  软件生命周期质量管理    52
3.1  概述    52
3.2  需求分析阶段    54
3.3  概要设计阶段    58
3.4  详细设计阶段    60
3.5  代码开发阶段    62
3.6  集成测试阶段    65
3.7  确认测试阶段    68
3.8  系统联试阶段    71
3.9  本章小结    72
第4章  软件质量保证    73
4.1  概述    73
4.1.1  软件质量保证概念    73
4.1.2  质量保证的目标    74
4.2  质量保证内容    74
4.3  质量保证过程    76
4.4  质量保证任务    77
4.5  质量保证中的软件配置管理    78
4.5.1  软件配置管理的基本概念    79
4.5.2  软件配置管理实施的关注点    81
4.5.3  软件配置管理过程    83
4.5.4  软件配置管理计划的编写    85
4.6  质量保证中的评审和检查    87
4.6.1  评审和检查的作用与目标    87
4.6.2  检查    88
4.6.3  评审    90
4.6.4  软件生命周期内的
评审实施    94
4.6.5  评审问题清单    98
4.7  本章小结    100
第5章  软件测试    101
5.1  软件测试概述    101
5.1.1  软件测试的定义    101
5.1.2  软件测试的原则    102
5.1.3  软件测试的对象    104
5.1.4  软件测试过程模型    105
5.2  软件测试的作用    112
5.2.1  软件测试的目的——确保质量    112
5.2.2  软件测试与质量保证的关系    114
5.2.3  软件测试在软件开发过程中的质量保证工作    115
5.3  白盒测试技术    116
5.3.1  概述    116
5.3.2  基本技术    117
5.3.2.1  词法分析与语法分析    117
5.3.2.2  静态错误分析    118
5.3.2.3  程序插桩技术    119
5.3.3  静态白盒测试    124
5.3.3.1  代码检查法    124
5.3.3.2  静态结构分析法    137
5.3.3.3  静态质量度量法    140
5.3.4  动态白盒测试    145
5.3.4.1  逻辑覆盖法    145
5.3.4.2  基本路径测试法    150
5.4  黑盒测试技术    155
5.4.1  概述    155
5.4.1.1  黑盒测试的特点    156
5.4.1.2  黑盒测试的应用    157
5.4.2  黑盒测试用例设计    157
5.4.2.1  等价类划分法    158
5.4.2.2  边界值分析法    160
5.4.2.3  场景法    161
5.4.2.4  因果图法    164
5.4.2.5  正交试验法    166
5.4.2.6  判定表法    171
5.4.2.7  其他方法    174
5.4.3  编写黑盒测试用例    174
5.4.3.1  有效的测试用例    175
5.4.3.2  编写原则    177
5.4.3.3  测试用例构成    179
5.4.3.4  编写策略    180
5.5  本章小结    181
第6章  软件生命周期测试实施    182
6.1  概述    182
6.2  需求阶段的测试实施    185
6.2.1  概述    185
6.2.1.1  分析测试因素    185
6.2.1.2  执行需求的走读    188
6.2.1.3  执行需求跟踪    191
6.2.1.4  确保需求是可测试的    191
6.2.2  需求说明书的评测    192
6.2.2.1  需求说明书的编写原则    192
6.2.2.2  需求说明书的框架    193
6.2.2.3  需求说明书的评测内容    193
6.2.3  需求建模测试    195
6.2.3.1  统一建模语言    196
6.2.3.2  Use Case测试    197
6.2.3.3  MSC测试    199
6.2.3.4  建模分析工具介绍    201
6.2.4  基于原型的测试    203
6.2.4.1  原型的引入    204
6.2.4.2  原型在软件过程的地位    205
6.2.4.3  原型法的价值    206
6.2.4.4  原型的测试方法    207
6.2.5  小结    207
6.3  设计阶段的测试实施    208
6.3.1  概述    208
6.3.2  有效评分过程    208
6.3.3  设计的测试因素    210
6.3.4  设计评审    212
6.3.4.1  设计评审过程    212
6.3.4.2  检视设计    214
6.3.5  设计说明书的评测    214
6.3.5.1  设计说明书的框架    214
6.3.5.2  概要设计说明书评测的内容    215
6.3.5.3  详细设计说明书评测    218
6.3.6  SDL设计的测试    219
6.3.6.1  SDL介绍    219
6.3.6.2  SDL系统测试    226
6.3.7  硬件选型测试    233
6.3.7.1  TPC-C基准测试    235
6.3.7.2  TPC-E基准测试    238
6.3.7.3  TPC-H基准测试    246
6.3.7.4  TPC组织公布的测试报告读解    250
6.4  单元测试与软件质量    252
6.4.1  概述    252
6.4.2  测试的内容    254
6.4.3  单元测试过程    256
6.4.4  单元测试的数据要求    257
6.4.5  单元测试的测试技术    258
6.4.6  输入、输出    259
6.4.7  设计单元测试用例    259
6.4.7.1  测试用例设计步骤    260
6.4.7.2  用例设计的一般原则    261
6.4.8  单元测试实践    261
6.4.9  小结    262
6.5  集成测试与软件质量    263
6.5.1  集成测试的实施过程    263
6.5.2  常用集成测试方法    265
6.5.3  集成测试分析    270
6.5.4  小结    275
6.6  确认测试与软件质量    275
6.6.1  确认测试的关注点    275
6.6.2  确认测试的指导原则    276
6.6.3  确认测试的主要内容    276
6.6.4  确认测试的实施过程    277
6.6.5  小结    290
6.7  系统测试与软件质量    291
6.7.1  系统测试的内容    291
6.7.2  系统测试步骤    292
6.7.3  系统测试的方法与技术    293
6.7.3.1  遵循的方法与技术    293
6.7.3.2  系统测试过程    300
6.7.4  系统测试人员    301
6.7.5  小结    301
6.8  验收测试与软件质量    302
6.8.1  用户验收测试    303
6.8.1.1  用户验收测试的方法    303
6.8.1.2  用户验收测试的技术    303
6.8.1.3  输入、输出    305
6.8.2  操作验收测试    305
6.8.2.1  操作验收测试的方法    306
6.8.2.2  操作验收测试的数据要求    306
6.8.2.3  操作验收测试的技术    306
6.8.2.4  输入、输出    307
6.8.3  小结    307
6.9  本章小结    308
第7章  典型测试实例    309
7.1  功能测试实例    309
7.1.1 “xxx接处警”系统简介    309
7.1.2  测试需求分析    309
7.1.3  用例设计方法分析    313
7.2  性能测试实例    318
7.2.1  办公自动化系统的案例分析    318
7.2.2  工作流引擎的案例分析    322
7.2.3  数据库层应用测试    324
7.2.3.1  性能问题来源    324
7.2.3.2  性能优化    326
7.2.3.3  性能调优步骤    326
7.2.3.4  工具和实用程序    328
7.3  可靠性测试实例    329
7.3.1  操作系统可靠性对比测试    329
7.3.1.1  测评内容    329
7.3.1.2  测评模型    329
7.3.1.3  测评策略    334
7.3.2  某信息系统的可靠性测试    335
7.3.2.1  系统逻辑部署图    335
7.3.2.2  测试场景描述    336
7.3.2.3  测试结果    337
7.4  单元测试实例    339
7.4.1  静态测试    339
7.4.2  覆盖率测试    346
7.5  本章小结    358
第8章  前沿测试技术    359
8.1  敏捷测试技术    359
8.1.1  敏捷方法的特征    359
8.1.2  敏捷方法的质量    360
8.1.3  敏捷测试的引入    361
8.1.4  敏捷测试用例设计    362
8.1.5  敏捷测试的弱点    364
8.2  测试驱动开发    365
8.2.1  TDD的优势    365
8.2.2  TDD的原理    366
8.2.3  TDD的过程    367
8.2.4  TDD的原则    368
8.2.5  TDD测试技术    369
8.2.6  TDD测试案例    370
8.3  本章小结    371
第9章  常用测试工具    372
9.1  功能测试工具    372
9.2  性能测试工具（系统强度测试工具）    375
9.3  白盒、嵌入式测试工具    378
9.4  软件开发工具    383
9.5  其他    384
9.6  本章小结    387
附录A  测试文档模板    388
附录B  软件测试中的常见术语
附录A  中英文对照    407
参考文献    418