软件测试基础教程 版权信息
- ISBN:9787111351887
- 条形码:9787111351887 ; 978-7-111-35188-7
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 所属分类:>
软件测试基础教程 本书特色
Aditya P.Mathur的《软件测试基础教程》基于实例讲述不同规模软件项目中的测试生成、选择、*小化和增强方面的*佳工程实践。全书还覆盖了基于数据流的测试充分性和基于变异的测试充分性,这些是可用的*有效的测试充分性准则。本书精选了由全世界数百位测试研究人员和实践人员发明和总结的测试知识及技术,采用通俗易懂的表述方式,使读者更容易理解和掌握。
测试生成、选择、优先排序和评估是测试过程中所有技术活动的基础。在此基础上合理部署各项组件,才能有效地测试不同类型的软件应用,包括面向对象系统、Web服务、图形用户接口、嵌入式系统以及与安全、性能和可靠性有关的各种属性。本书采用大量的实例和习题,循序渐进地介绍各种测试技术(包括有限状态模型、组合设计和回归测试的*小化等)。
软件测试基础教程 内容简介
本书全面介绍了软件测试的相关理论、测试方法、测试生成技术等内容。
全书分为三个部分:**部分是预备知识,介绍软件测试技术的相关术语等基础知识;第二部分介绍软件测试的生成技术,不仅包括基本的等价类划分、边界值分析、因果图、谓词测试等技术,还涵盖了从有穷状态模型自动生成测试的技术、基于组合设计的测试生成技术,以及用于回归测试中测试选择、优先级排序、*小化的一些基本技术;第三部分介绍软件测试中既重要又广泛适用的理论,即通过测试充分性的度量来加强测试,包括基于控制流、数据流的代码覆盖标准,以及*有效的基于程序变异的测试充分性度量标准。每章的结尾都有参考文献注释和练习题,帮助读者深入体会软件测试的过程,并熟练掌握测试生成的方法。
本书适合作为计算机、软件工程及相关专业软件测试课程的教材,也可作为软件测试技术人员的参考书。
软件测试基础教程 目录
出版者的话
译者序
前言
**部分预备知识
第1章软件测试的基本知识
11人、错误和测试
111错误、故障和失效
112测试自动化
113开发人员与测试人员是两种角色
12软件质量
121软件质量特性
122软件可靠性
13需求、运行结果和正确性
131输入域与软件正确性
132有效输入与无效输入
14正确性与可靠性
141正确性
142可靠性
143软件使用与操作剖面
15测试与调试
151制订测试计划
152构造测试数据
153运行被测软件
154指定被测软件的行为
155评价被测软件运行结果的正确性
156测试预言的构造
16测试度量
161组织级度量
162项目级度量
163过程级度量
164产品级度量:通用度量
165产品级度量:面向对象软件
166进度跟踪与趋势
167静态度量与动态度量
168可测试性
17软件测试与硬件测试
18测试与验证
19缺陷管理
110执行历史
111测试生成策略
112静态测试
1121走查
1122审查
1123在静态测试中使用静态代码分析工具
1124软件复杂性与静态测试
113基于模型的测试与模型检测
114控制流图
1141基本块
1142流图的定义与图形表示
1143路径
115决定者与后决定者
116程序依赖图
1161数据依赖性
1162控制依赖性
117字符串、语言与正则表达式
118测试的类型
1181分类因子C1:测试生成的依据
1182分类因子C2:软件生命周期阶段
1183分类因子C3:目标导向的测试
1184分类因子C4:被测软件制品
1185分类因子C5:测试过程模型
119饱和效应
1191信赖度与真实可靠性
1192饱和区间
1193信赖度的错觉
1194降低偏差Δ
1195对测试过程的影响
小结
参考文献注释
练习
第二部分测试生成
第2章基于需求的测试生成
21引言
22测试用例选择问题
23等价类划分
231缺陷定位
232关系与等价类划分
233变量的等价类
234一元化分与多元化分
235等价类划分的完整过程
236基于等价类的测试用例设计
237GUI设计与等价类
24边界值分析
25类别划分法
26因果图分析
261因果图中的基本符号
262创建因果图
263从因果图生成判定表
264避免组合爆炸的启发式方法
265从判定表生成测试用例
27基于谓词的测试生成
271谓词和布尔表达式
272谓词测试中的故障模型
273谓词约束
274谓词测试准则
275生成BOR、BRO和BRE充分性测试用例
276因果图与谓词测试
277故障传播
278谓词测试实践
小结
参考文献注释
练习
第3章基于有穷状态模型的测试生成
31软件设计与测试
32有穷状态机
321用输入序列激活FSM
322转换函数和输出函数的表格表示
323FSM 的特征
33符合性测试
331重置输入
332测试的难题
34故障模型
341FSM的变体
342故障覆盖率
35特征集
351k等价划分的构造
352特征集的构造
353等价集
36W方法
361假设
362*大状态数
363转换覆盖集的计算
364构造集合Z
365导出测试集
366采用W方法测试
367错误检测过程
37部分W方法
371采用m=n的Wp方法测试
372采用m>n的Wp方法测试
38UIO串方法
381假设
382UIO串
383核心行为与非核心行为
384生成UIO串
385区分符号
386测试生成
387测试优化
388故障检测
39自动机理论与基于控制流的技术
391n路径覆盖
392自动机理论方法的比较
小结
参考文献注释
练习
第4章基于组合设计的测试生成技术
41组合设计
411测试配置和测试集
412输入空间与配置空间建模
42组合测试设计过程
43故障模型
44拉丁方阵
45相互正交的拉丁方阵
46对偶设计:二值参数
47对偶设计:多值参数
48正交矩阵
49覆盖矩阵与混合取值覆盖矩阵
491覆盖矩阵
492混合取值覆盖矩阵
410强度大于2的矩阵
411生成覆盖矩阵
小结
参考文献注释
练习
第5章回归测试的选择、*小化和优先级排序
51什么是回归测试
52回归测试过程
521测试重确认、选择、*小化和优先级排序
522测试准备
523测试排序
524测试执行
525输出比较
53回归测试选择问题
54回归测试选择方法集
541全测试策略
542随机选择测试
543选择遍历修改测试用例
544测试*小化
545测试优先级排序
55利用执行轨迹进行回归测试的选择
551获取执行轨迹
552选择回归测试用例
553处理函数调用
554处理声明中的变化
56利用动态切片进行回归测试的选择
561动态切片
562计算动态切片
563选择测试用例
564潜在依赖
565计算相关切片
566语句的添加和删除
567标识切片变量
568简化的动态依赖图
57测试选择算法的可扩展性
58测试*小化
581集合覆盖问题
582测试*小化过程
59测试优先级排序
510回归测试工具
小结
参考文献注释
练习
第三部分测试充分性评价与测试增强
第6章基于控制流和数据流的测试充分性评价
61测试充分性基础
611什么是测试充分性
612测试充分性的度量
613通过度量充分性来增强测试
614无效性和测试充分性
615错误检测和测试增强
616单次和多次执行
62基于控制流的测试充分性准则
621语句覆盖和块覆盖
622条件和判定
623判定覆盖
624条件覆盖
625条件/判定覆盖
626多重条件覆盖
627线性代码序列和跳转覆盖
628改进的条件/判定覆盖
629复合条件的MC/DC充分测试
6210MC/DC覆盖的定义
6211*小MC/DC测试
6212错误检测和MC/DC充分性
6213短路计算和无效性
6214测试集对需求的追踪
63数据流概念
631定义和使用
632cuse和puse
633全局和局部的定义与使用
634数据流图
635defclear路径
636defuse对
637defuse链
638优化
639数据上下文和有序的数据上下文
64基于数据流的测试充分性准则
641cuse覆盖
642puse覆盖
643alluse覆盖
644kdr链覆盖
645使用kdr链覆盖
646无效的cuse和puse
647上下文覆盖
65控制流与数据流
66包含关系
67结构性测试与功能性测试
68覆盖度量的可量测性
小结
参考文献注释
练习
第7章基于程序变异的测试充分性评价
71导引
72变异和变体
721一阶变体与高阶变体
722变体的语法与语义
723强变异和弱变异
724为什么要变异
73用变异技术进行测试评价
731测试充分性评价的步骤
732测试充分性评价的替代过程
733被区分的变体与被杀掉的变体
734区分变体的条件
74变异算子
741算子类型
742变异算子的语言依赖性
75变异算子的设计
751评判变异算子优良的准则
752指导准则
76变异测试的基本原则
761称职程序员假设
762耦合效应
77等价变体
78通过变异进行错误检测
79变体的类型
710C语言的变异算子
7101什么没有被变异
7102线性化
7103执行序列
7104执行序列的影响
7105全局标识符集和局部标识符集
7106全局引用集与局部引用集
7107程序常量变异
7108运算符变异
7109语句变异
71010程序变量变异
711Java语言变异算子
7111传统变异算子
7112继承
7113多态与动态绑定
7114方法重载
7115Java特有的变异算子
712综合比较:Fortran 77、C与Java变异算子
713变异测试工具
714低成本变异测试
7141划分变异函数的优先级
7142选择使用部分变异算子
小结
参考文献注释
展开全部
软件测试基础教程 作者简介
(美国)马瑟(Aditya P.Mathur),普度大学计算机系主任、教授,印度BITS Pilani大学计算机系创始人之一。他是一位成果颇丰的学者,在国家期刊和会议上发表了100多篇论文。他的重要学术成果包括多语言计算机、软件测试的饱和效应、软件控制论、软件可靠性估算的新技术等。