新書推薦:
《
经纬度丛书·州县之民:治乱之间的小民命运
》
售價:NT$
440.0
《
女性史:古代卷(真正意义上的女性大历史)
》
售價:NT$
560.0
《
跨代伴侣治疗
》
售價:NT$
440.0
《
精华类化妆品配方与制备手册
》
售價:NT$
990.0
《
经纬度丛书:出祁山:诸葛亮北伐得与失
》
售價:NT$
440.0
《
心理治疗中的真意:心理治疗师的心灵之旅
》
售價:NT$
440.0
《
心理咨询与治疗技术经典入门(第3版)
》
售價:NT$
650.0
《
无冕之王:齐桓公与齐国崛起
》
售價:NT$
290.0
|
編輯推薦: |
覆盖等价类、边界值、决策表、因果图以及各种基于控制流的覆盖方法涵盖多重继承、异常、多态、装饰器等面向对象测试的高级话题。详细阐述了当前组合测试的各种技术,介绍各种经典的成对组合测试策略,如CATS、AETG、IPO、GA等。全面涵盖有限状态机FSM的测试方法,如T方法、D方法、W方法、U方法等。所有的源码相关例子都给出完整的可运行的Python代码,方便读者学习。详细介绍基于UML、CPN等模型的测试方法。其他高级主题包括:蜕变测试、基于变异测试、故障树测试。
|
內容簡介: |
本书系统地介绍了软件测试的主要技术和方法,全书共分为8章。在讨论黑盒测试时介绍了边界值、等价类、决策表、因果图等方法,而基于控制流的测试则介绍了语句覆盖、判定、条件覆盖、修正判定覆盖和基本路径覆盖;在组合测试方面包括拉丁方阵、正交表等方法,重点讨论了成对组合测试方法;基于有限自动机的测试涵盖了T方法、D方法、W方法、U方法;面向对象语言测试方面包括类属性、对象属性测试,基于对象创建和销毁、装饰器、多态的软件测试;基于UML的软件测试介绍了基于用例图、类图、活动图、序列图、状态图等的测试方法;最后,本书讨论基于Petri网的软件测试、蜕变测试、基于变异的软件测试以及基于故障树的软件测试。
本书结合当前技术发展的特点和工程实践的需求而编写,内容新颖,实操性强,既适合于软件测试和软件质量保障相关的技术人员在从事软件测试时参考,也适合作为软件工程专业的本科生、研究生学习软件测试课程的教科书。
|
目錄:
|
目录
第1章绪论1
1.1 软件测试的历史和发展1
1.1.1软件测试的起源1
1.1.2软件质量问题2
1.1.3软件测试的发展3
1.2软件测试术语5
1.3软件缺陷管理9
1.3.1缺陷生存周期9
1.3.2缺陷的描述及属性10
1.4软件质量模型的发展12
1.4.1GBT 162601996软件质量模型12
1.4.2GBT 162602006软件质量模型12
1.4.3ISOIEC 250102014软件质量
模型14
1.4.4基于质量模型的软件测试标准16
1.5软件测试模型17
1.5.1V模型17
1.5.2W模型18
1.5.3X模型19
1.5.4H模型19
1.6软件测试的局限性20
1.6.1软件测试的覆盖问题20
1.6.2穷举测试的局限性22
1.6.3缺陷的隐蔽性23
1.6.4软件测试的杀虫剂效应25
1.7软件测试的分类27
1.7.1软件功能测试分类27
1.7.2根据测试阶段分类28第2章传统的黑盒测试33
2.1边界值分析33
2.1.1边界值分析概念33
2.1.2边界值分析原则34
2.1.3边界值确定和分析法35
2.1.4边界值测试举例44
2.2等价类47
2.2.1等价类的概念48
2.2.2等价类的划分及依据49
2.2.3等价类测试举例51
2.3决策表54
2.3.1决策表的概念54
2.3.2决策表的建立54
2.3.3决策表的简化55
2.3.4决策表规则数统计57
2.3.5决策表特性59
2.3.6决策表测试用例设计60
2.4因果图62
2.4.1因果图的概念62
2.4.2因果图设计63
2.4.3利用因果图设计测试用例63第3章基于控制流的测试67
3.1概述67
3.2图论基础72
3.3流程图结构以及表示74
3.4Python中的条件和判定76
3.4.1条件与布尔值认定76
3.4.2判定与短路计算79
3.5语句覆盖80
3.5.1语句覆盖定义及其测试81
3.5.2语句覆盖的优缺点84
3.5.3语句覆盖与死代码86
3.6判定覆盖88
3.6.1判定覆盖简介88
3.6.2两路分支覆盖89
3.6.3多路分支覆盖89
3.6.4不可达分支91
3.6.5异常处理多分支覆盖92
3.6.6复合判定覆盖96
3.7条件覆盖99
3.7.1简单条件覆盖99
3.7.2条件判定覆盖102
3.7.3条件组合覆盖106
3.8修正条件判定覆盖107
3.8.1修正条件判定覆盖的定义107
3.8.2唯一原因法生成MCDC测试
用例109
3.8.3屏蔽法生成MCDC测试用例111
3.8.4二叉树法生成MCDC测试用例112
3.8.5MCDC的进一步讨论115
3.9路径覆盖117
3.9.1程序和控制流图表示117
3.9.2独立路径和圈复杂度121
3.9.3基本路径覆盖126第4章组合测试130
4.1多参数的故障模型130
4.2利用正交表实现测试132
4.2.1拉丁方阵132
4.2.2正交表135
4.2.3正交表的性质138
4.2.4正交表测试139
4.3组合测试的数学基础和定义143
4.4成对组合测试用例的生成策略146
4.4.1CATS算法147
4.4.2AETG法150
4.4.3IPO法151
4.4.4GA法155
4.5可变强度和具有约束的组合测试157
4.5.1混合强度的组合测试158
4.5.2参数值之间的约束160
4.5.3种子组合和负面测试162第5章基于有限状态机的测试167
5.1有限状态机的定义167
5.1.1有限状态机167
5.1.2确定有限状态机和非确定有限
状态机170
5.1.3确定有限状态机和非确定有限
状态机的转换172
5.1.4带状态输出的有限自动机175
5.2基于有限状态机测试的假设和特性180
5.3有限状态机的故障模型181
5.4基于有限状态机的测试183
5.4.1概述183
5.4.2状态覆盖测试184
5.4.3迁移覆盖测试186
5.4.4周游法(T方法)187
5.4.5区分序列法(D方法)189
5.4.6特征序列法(W方法)193
5.4.7唯一输入输出序列(U方法)202第6章面向对象结构的软件测试209
6.1Python面向对象209
6.2Python面向对象编程基础210
6.3基于类属性和对象属性的测试213
6.4基于对象创建和销毁的测试220
6.4.1基于类创建和继承测试220
6.4.2基于多重继承初始化方法的测试223
6.4.3多重继承方法解释顺序的测试228
6.4.4基于对象销毁的测试229
6.5基于装饰器的测试233
6.6基于多态的测试240第7章基于UML的软件测试246
7.1UML概念和建模246
7.2基于用例的软件测试248
7.2.1用例图的概念248
7.2.2用例图的覆盖准则250
7.2.3用例图的测试用例设计255
7.3基于类图的软件测试260
7.3.1类图的概念260
7.3.2类图的覆盖准则264
7.3.3类图的测试用例设计265
7.4基于活动图的软件测试268
7.4.1活动图的概念268
7.4.2活动图的覆盖准则270
7.4.3活动图的测试用例设计274
7.5基于序列图的软件测试282
7.5.1序列图的概念282
7.5.2序列图的覆盖准则285
7.5.3序列图的测试用例设计290
7.6基于状态图的软件测试方法296
7.6.1状态图的概念296
7.6.2状态图的覆盖准则299
7.6.3状态图的测试用例设计301第8章其他测试技术309
8.1基于Petri网的测试用例生成309
8.1.1Petri网的定义309
8.1.2着色Petri网311
8.1.3几种常见的系统结构模型314
8.1.4Petri网的行为性质316
8.1.5基于Petri网的测试318
8.2蜕变测试327
8.2.1蜕变测试的出发点327
8.2.2蜕变测试的基本理论328
8.2.3蜕变测试的过程329
8.2.4蜕变测试的例子330
8.3基于变异的软件测试方法337
8.3.1变异测试的概念337
8.3.2变异算子338
8.3.3变异测试的过程345
8.4基于故障树的软件测试方法350
8.4.1故障树的概念351
8.4.2故障树的建立和分析351
8.4.3基于故障树的测试用例设计354附录358
附录A软件测试大事记358
附录B常见正交测试表360
附录CPICT工具指南363
附录Dpytest测试简介364
附录E最长公共子序列示例371
参考文献373
|
|