描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302480662丛书名: 软件开发与测试丛书
本书定位于一本软件测试方法和技术的实用指南,适用于软件从业人员了解软件测试的基础知识、一般流程、实用技术方法和常用测试工具,帮助软件从业人员提高技术能力和过程能力水平,也适用于软件测试机构建立测试能力体系,规范软件测试管理。
第1章软件测试概述1
1.1软件测试简史1
1.2软件测试定义3
1.3软件测试原则4
1.4软件的可测试性6
1.4.1可测试性定义与内涵6
1.4.2可测试性设计与实现7
1.4.3可测试性度量与评估9
1.5软件测试模型9
1.5.1V模型9
1.5.2W模型10
1.5.3H模型11
1.6软件测试级别与测试类型12
1.6.1软件测试级别12
1.6.2软件测试类型13
1.6.3软件关键等级16
1.7软件测试标准规范18
1.7.1相关标准概述18
1.7.2GB/T 9386—2008《计算机软件测试文档编制规范》21
1.7.3GB/T 15532—2008《计算机软件测试规范》21
1.7.4GB/T 25000.51—2010《软件工程软件产品质量要求和评价
(SQuaRE)商业现货(COTS)软件产品的质量要求和测试细则》21
1.7.5ISO/IEC 29119 Software Testing22
1.8软件测试人员能力素质要求26
1.9术语与缩略语27
第2章静态测试技术29
2.1文档审查29
2.1.1实施要点30
2.1.2组织与流程30
2.1.3成果形式31
2.2代码审查34
2.2.1实施要点34
2.2.2组织与流程35
2.2.3成果形式35
2.3静态分析38
2.3.1实施要点38
2.3.2组织与流程39
2.3.3成果形式40
2.4代码走查40
2.4.1实施要点40
2.4.2组织与流程40
2.4.3成果形式41
2.5静态测试技术分析41
〖1〗软件测试实用方法与技术〖1〗目录
第3章动态测试技术43
3.1白盒测试43
3.1.1概述43
3.1.2白盒测试基础46
3.1.3基本路径测试51
3.1.4控制结构测试53
3.1.5其他白盒测试技术61
3.2黑盒测试64
3.2.1概述64
3.2.2等价类划分65
3.2.3边界值分析68
3.2.4因果图与决策表法70
3.2.5组合测试75
3.2.6基于场景测试77
3.2.7错误推测法81
3.2.8黑盒测试技术分析84
3.3灰盒测试85
3.3.1概述85
3.3.2实施步骤86
3.3.3灰盒测试技术分析86
3.4动态测试技术分析87
第4章单元测试89
4.1概述89
4.1.1单元测试的定义89
4.1.2单元测试的目的89
4.1.3单元测试的重要性90
4.2单元测试原则92
4.3单元测试环境92
4.4单元测试策略94
4.4.1自顶向下94
4.4.2自底向上94
4.4.3独立单元95
4.5单元测试内容95
4.5.1功能测试96
4.5.2性能测试96
4.5.3接口测试96
4.5.4局部数据结构测试96
4.5.5边界条件测试97
4.5.6独立执行路径测试97
4.5.7错误处理测试97
4.6单元测试方法98
4.6.1静态测试98
4.6.2动态测试99
4.7单元测试用例设计100
4.8单元测试过程101
4.8.1测试策划102
4.8.2静态测试103
4.8.3动态测试111
4.8.4测试总结113
第5章集成测试114
5.1概述114
5.1.1集成测试的定义114
5.1.2集成测试的目的115
5.1.3集成测试的重要性116
5.2集成测试原则117
5.3集成测试环境117
5.4集成测试策略118
5.4.1大爆炸式集成119
5.4.2自顶向下集成120
5.4.3自底向上集成122
5.4.4三明治式集成123
5.4.5核心系统先行集成124
5.4.6分层集成125
5.4.7基于功能的集成126
5.4.8高频集成127
5.4.9基于进度的集成128
5.4.10基于使用的集成128
5.4.11基于风险的集成129
5.4.12客户/服务器系统的集成129
5.5集成测试内容130
5.6测试方法131
5.6.1体系结构分析131
5.6.2模块分析131
5.6.3接口分析132
5.6.4可测试性分析133
5.6.5集成测试策略分析133
5.7集成测试用例设计133
5.8集成测试过程134
5.8.1测试策划135
5.8.2测试设计与实现137
5.8.3测试执行138
5.8.4测试总结138
第6章配置项测试140
6.1概述140
6.1.1配置项测试的定义140
6.1.2配置项测试的目的140
6.1.3配置项测试的重要性141
6.2配置项测试原则141
6.3配置项测试环境142
6.4配置项测试策略143
6.5配置项测试内容143
6.6配置项测试方法144
6.6.1功能测试145
6.6.2性能测试146
6.6.3接口测试147
6.6.4人机交互界面测试148
6.6.5强度测试149
6.6.6余量测试149
6.6.7安全性测试150
6.6.8恢复性测试151
6.6.9边界测试152
6.6.10数据处理测试152
6.6.11安装性测试153
6.6.12容量测试154
6.7配置项测试用例设计154
6.7.1概述154
6.7.2SFME&FTA综合分析155
6.7.3建立软件测试用例设计模式158
6.7.4应用实例159
6.8配置项测试过程161
6.8.1测试策划162
6.8.2测试设计与实现163
6.8.3测试执行164
6.8.4测试总结164
第7章系统测试166
7.1概述166
7.1.1系统测试的定义166
7.1.2系统测试的目的166
7.1.3系统测试的重要性167
7.2系统测试原则167
7.3系统测试环境168
7.4系统测试策略168
7.5系统测试内容169
7.6系统测试方法169
7.6.1可靠性测试169
7.6.2互操作性测试172
7.6.3兼容性测试173
7.7系统测试用例设计174
7.7.1概述174
7.7.2系统形式化模型175
7.7.3基于模型的系统测试178
7.7.4实例182
7.8系统测试过程184
第8章回归测试185
8.1概述185
8.1.1回归测试的定义185
8.1.2回归测试的目的186
8.1.3回归测试的重要性186
8.2回归测试策略187
8.3软件更动影响域分析方法187
8.3.1黑盒测试更动影响域分析187
8.3.2白盒测试更动影响域分析191
8.4回归测试用例设计195
8.4.1回归测试用例设计原则195
8.4.2已有测试用例的选取195
8.5回归测试过程198
第9章面向对象软件测试200
9.1面向对象软件简介200
9.2面向对象软件测试概述203
9.2.1面向对象软件的特点对测试的影响203
9.2.2面向对象软件测试和传统测试的不同204
9.2.3面向对象软件测试分类205
9.3面向对象软件测试模型205
9.3.1面向对象分析测试206
9.3.2面向对象设计测试208
9.3.3面向对象编程测试208
9.3.4面向对象单元测试209
9.3.5面向对象集成测试212
9.3.6面向对象系统测试215
第10章FPGA测试218
10.1FPGA测试概述218
10.1.1可编程逻辑器件的基本概念218
10.1.2硬件描述语言的发展历程219
10.1.3VHDL语言219
10.1.4Verilog HDL语言220
10.1.5面向可编程逻辑器件的开发过程220
10.1.6可编程逻辑器件软件与传统软件的不同222
10.1.7全过程域的可编程逻辑器件测试框架223
10.2静态测试223
10.2.1文档审查224
10.2.2代码审查227
10.2.3编码规则检查229
10.2.4跨时钟域分析230
10.2.5等效性验证235
10.2.6静态时序分析239
10.3仿真测试243
10.3.1仿真测试的特点244
10.3.2仿真测试平台的组成245
10.3.3仿真测试的流程245
10.3.4功能仿真测试247
10.3.5门级仿真测试248
10.3.6时序仿真测试248
10.3.7仿真测试支持工具249
10.4软硬协同验证250
10.4.1验证环境构成250
10.4.2支持工具251
10.5板级验证251
10.5.1作用251
10.5.2板级验证的典型环境252
10.5.3板级验证的流程252
第11章测试工具254
11.1概述254
11.2静态测试工具255
11.2.1Logiscope255
11.2.2PRQA257
11.2.3SpyGlass259
11.2.4PrimeTime261
11.2.5Formalpro261
11.2.6其他静态测试工具262
11.3动态测试工具262
11.3.1QACenter262
11.3.2WinRunner265
11.3.3JUnit266
11.3.4Testbed268
11.3.5CodeTest270
11.3.6QuestaSim271
11.3.7其他动态测试工具272
11.4测试管理工具272
11.4.1TestCenter272
11.4.2TPManager274
11.4.3其他测试工具278
第12章软件测试文档279
12.1概述279
12.2制定测试计划280
12.2.1测试计划内容280
12.2.2测试计划模板281
12.2.3测试计划常见问题284
12.3测试设计与实现285
12.3.1测试设计与实现的内容286
12.3.2测试说明模板287
12.3.3测试设计与实现常见问题288
12.4测试执行290
12.4.1测试执行的内容290
12.4.2测试执行模板290
12.4.3测试实施常见问题292
12.5测试总结293
12.5.1测试总结的内容293
12.5.2测试总结模板294
12.5.3测试总结常见问题296
参考文献298
为应对“软件危机”的挑战,人们在20世纪60年代末提出借鉴传统行业在质量管理方面的经验,用工程化的思想来管理软件,以提高复杂软件系统的质量和开发效率,即软件工程化。40多年以来,软件已广泛应用到各个工程领域乃至生活的各个方面,极大地提高了社会信息化水平,软件工程也早已深入人心。质量是产品的生命,对软件尤其如此。软件的直观性远不及硬件,软件的质量管理相对困难得多;但与传统行业类似,大型复杂软件的质量在很大程度上取决于软件过程质量。质量评估是质量管理的关键,没有科学的评估标准和方法,就无从有效地管理质量,软件评测是质量评估的有效和重要的手段之一。北京跟踪与通信技术研究所软件评测中心是从事软件评测与工程化管理的专业机构,是在我国大力发展航天事业的背景下,为保障载人航天工程软件质量,经原国防科工委批准,国内早成立的第三方软件评测与工程化管理的技术实体组织之一。自成立以来,软件评测中心出色地完成了以载人航天工程、探月工程为代表的数百项重大工程关键软件评测项目,自主研发了测试仿真软件系统、测试辅助设计工具、评测项目与过程管理软件等一系列软件测试工具,为主制订了GB/T 15532—2008《计算机软件测试规范》、GB/T 9386—2008《计算机软件测试文档编制规范》、GJB 141《军用软件测试指南》等软件测试标准,深入研究了软件测试自动化、缺陷分析与预测、可信性分析与评估、测试用例复用等软件测试技术,在嵌入式软件、非嵌入式软件和可编程逻辑器件软件等不同类型软件测试领域,积累了丰富的测试经验和强大的技术实力。为进一步促进技术积累和对外交流,北京跟踪与通信技术研究所组织编写了本套丛书。本丛书是软件评测中心多年来技术经验的结晶,致力于以资深软件从业者和工程一线技术人员的视角,融会贯通软件工程特别是软件测试、质量评估与过程管理等领域相关的知识、技术和方法。本丛书的特色是重点突出、实用性强,每本书针对不同方向,着重介绍实践中常用的、好用的技术内容,并配以相应的范例、模板、算法或工具,具有很高的参考价值。本丛书将为具有一定知识基础和工作经验、想要实现快速进阶的从业者提供一套内容丰富的实践指南。对于要对工作经验较少的初入职人员进行技术培训、快速提高其动手能力的单位或机构,本丛书也是一套难得的参考资料。
丛书编审委员会 2015年5月6日软件测试是保障软件质量的重要手段,是构建高可信软件的关键环节。随着软件应用的日益广泛,人们对软件测试重要性的认识越来越深刻。20世纪80年代以来,特别是在近一二十年间,软件测试无论是作为一项技术、一门学科还是作为一个行业,都得到了快速蓬勃的发展。本书定位于一本软件测试方法和技术的实用指南,紧扣软件测试实际和标准规范要求,结合行业内软件测试现状,系统地介绍软件测试相关的知识、方法、技术和软件工具,给出较为详细的软件测试过程技术文档模板。本书旨在帮助软件从业人员了解软件测试的基础知识、一般流程、实用技术方法和常用测试工具,提高技术能力和过程能力水平,以及帮助软件测试机构建立测试能力体系,规范软件测试过程管理。本书是作者多年从事软件测试工程实践和技术方法研究的经验总结,与其他公开教材相比,主要特色有: 实用性强,本书紧扣软件测试实际和标准规范要求,着重介绍测试实践中常用和好用的知识、技术和方法;视角特殊,本书从第三方测评的角度,系统地阐述适用于工程实践的测试方法和技术,反映行业实际需求和技术发展动态。本书共有12章,可分为5大部分。部分(第1章)是软件测试概述,简要介绍软件测试发展历程、软件测试典型定义、软件测试一般原则、常用软件测试模型、常见软件测试级别与测试类型、软件测试相关的标准规范等基本内容。第二部分(第2、3章)是软件测试技术,结合程序实例,分别介绍静态测试技术和动态测试技术,并对典型技术进行比较分析。第三部分(第4~7章)按照不同的测试级别,从测试原则、测试环境、测试策略、测试内容、测试方法、测试过程等方面分别介绍单元测试、集成测试、配置项测试和系统测试中的实用测试方法与技术。第四部分(第8~10章)以独立章节分别介绍回归测试、面向对象软件测试和FPGA测试等专门测试类别中的实用测试方法与技术。第五部分(第11、12章)主要内容是测试实践,第11章分别介绍了在静态测试、动态测试和测试管理中常用的软件工具。第12章着重介绍测试策划、测试设计、测试实施和测试总结等测试过程中常用的技术文档,给出通用技术文档模板。软件测试包含大量相关的活动,有些是技术性的,有些是管理性的,还有些是相互交织的。例如,单元测试、集成测试、配置项测试、系统测试、回归测试中测试用例、测试数据和测试期望结果的设计是典型的技术性活动;人员计划、成本预算以及配置管理、项目监控中的大部分内容是典型的管理性活动。如前所述,本书偏重于讲述软件测试的技术性活动,软件测试的管理性活动将在本套丛书的另一本书《软件测试管理》中重点介绍。本书第1~3章由张卫祥编写,第4~7章和第12章由刘文红编写,第8章由陈青编写,第9章由齐玉华编写,第10章由司倩然编写,第11章由马贤颖和司倩然编写。全书由刘文红、杜会森统稿。赵辉、张卫民、杨宝明、李国华、牛胜芬等专家审阅了初稿并提出了许多宝贵意见。在本书编写过程中,得到了北京跟踪与通信技术研究所,特别是软件评测中心的大力支持,还得到了编者同事、朋友和家人的关心与帮助,在此一并表示感谢!由于水平有限,本书肯定还存在不少问题,敬请大家批评指正。
编者 2017年4月
评论
还没有评论。