|
|
|
|
移动端

软件测试基础教程 目录

《软件测试基础教程》本书基于实例讲述不同规模软件项目中的测试生成、选择、最小化和增强方面的最佳工程实践。全书还覆盖了基于数据流的测试充分性和基于变异的测试充分性,这些是可用的最有效的测试充分性准则。本节为目录部分。

作者:王峰/郭长国/陈振华 等译来源:机械工业出版社|2011-09-16 20:38

技术沙龙 | 6月30日与多位专家探讨技术高速发展下如何应对运维新挑战!


目录

出版者的话
译者序
前言
第一部分预备知识
第1章软件测试的基本知识
1.1人、错误和测试
1.1.1错误、故障和失效
1.1.2测试自动化
1.1.3开发人员与测试人员是两种角色
1.2软件质量
1.2.1软件质量特性
1.2.2软件可靠性
1.3需求、运行结果和正确性
1.3.1输入域与软件正确性
1.3.2有效输入与无效输入
1.4正确性与可靠性
1.4.1正确性
1.4.2可靠性
1.4.3软件使用与操作剖面
1.5测试与调试
1.5.1制订测试计划
1.5.2构造测试数据
1.5.3运行被测软件
1.5.4指定被测软件的行为
1.5.5评价被测软件运行结果的正确性
1.5.6测试预言的构造
1.6测试度量
1.6.1组织级度量
1.6.2项目级度量
1.6.3过程级度量
1.6.4产品级度量:通用度量
1.6.5产品级度量:面向对象软件
1.6.6进度跟踪与趋势
1.6.7静态度量与动态度量
1.6.8可测试性
1.7软件测试与硬件测试
1.8测试与验证
1.9缺陷管理
1.10执行历史
1.11测试生成策略
1.12静态测试
1.12.1走查
1.12.2审查
1.12.3在静态测试中使用静态代码分析工具
1.12.4软件复杂性与静态测试
1.13基于模型的测试与模型检测
1.14控制流图
1.14.1基本块
1.14.2流图的定义与图形表示
1.14.3路径
1.15决定者与后决定者
1.16程序依赖图
1.16.1数据依赖性
1.16.2控制依赖性
1.17字符串、语言与正则表达式
1.18测试的类型
1.18.1分类因子C1:测试生成的依据
1.18.2分类因子C2:软件生命周期阶段
1.18.3分类因子C3:目标导向的测试
1.18.4分类因子C4:被测软件制品
1.18.5分类因子C5:测试过程模型
1.19饱和效应
1.19.1信赖度与真实可靠性
1.19.2饱和区间
1.19.3信赖度的错觉
1.19.4降低偏差Δ
1.19.5对测试过程的影响
小结
参考文献注释
练习
第二部分测试生成
第2章基于需求的测试生成
2.1引言
2.2测试用例选择问题
2.3等价类划分
2.3.1缺陷定位
2.3.2关系与等价类划分
2.3.3变量的等价类
2.3.4一元化分与多元化分
2.3.5等价类划分的完整过程
2.3.6基于等价类的测试用例设计
2.3.7GUI设计与等价类
2.4边界值分析
2.5类别划分法
2.6因果图分析
2.6.1因果图中的基本符号
2.6.2创建因果图
2.6.3从因果图生成判定表
2.6.4避免组合爆炸的启发式方法
2.6.5从判定表生成测试用例
2.7基于谓词的测试生成
2.7.1谓词和布尔表达式
2.7.2谓词测试中的故障模型
2.7.3谓词约束
2.7.4谓词测试准则
2.7.5生成BOR、BRO和BRE充分性测试用例
2.7.6因果图与谓词测试
2.7.7故障传播
2.7.8谓词测试实践
小结
参考文献注释
练习
第3章基于有穷状态模型的测试生成
3.1软件设计与测试
3.2有穷状态机
3.2.1用输入序列激活FSM
3.2.2转换函数和输出函数的表格表示
3.2.3FSM 的特征
3.3符合性测试
3.3.1重置输入
3.3.2测试的难题
3.4故障模型
3.4.1FSM的变体
3.4.2故障覆盖率
3.5特征集
3.5.1k等价划分的构造
3.5.2特征集的构造
3.5.3等价集
3.6W方法
3.6.1假设
3.6.2最大状态数
3.6.3转换覆盖集的计算
3.6.4构造集合Z
3.6.5导出测试集
3.6.6采用W方法测试
3.6.7错误检测过程
3.7部分W方法
3.7.1采用m=n的Wp方法测试
3.7.2采用m>n的Wp方法测试
3.8UIO串方法
3.8.1假设
3.8.2UIO串
3.8.3核心行为与非核心行为
3.8.4生成UIO串
3.8.5区分符号
3.8.6测试生成
3.8.7测试优化
3.8.8故障检测
3.9自动机理论与基于控制流的技术
3.9.1n路径覆盖
3.9.2自动机理论方法的比较
小结
参考文献注释
练习
第4章基于组合设计的测试生成技术
4.1组合设计
4.1.1测试配置和测试集
4.1.2输入空间与配置空间建模
4.2组合测试设计过程
4.3故障模型
4.4拉丁方阵
4.5相互正交的拉丁方阵
4.6对偶设计:二值参数
4.7对偶设计:多值参数
4.8正交矩阵
4.9覆盖矩阵与混合取值覆盖矩阵
4.9.1覆盖矩阵
4.9.2混合取值覆盖矩阵
4.10强度大于2的矩阵
4.11生成覆盖矩阵
小结
参考文献注释
练习
第5章回归测试的选择、最小化和优先级排序
5.1什么是回归测试
5.2回归测试过程
5.2.1测试重确认、选择、最小化和优先级排序
5.2.2测试准备
5.2.3测试排序
5.2.4测试执行
5.2.5输出比较
5.3回归测试选择问题
5.4回归测试选择方法集
5.4.1全测试策略
5.4.2随机选择测试
5.4.3选择遍历修改测试用例
5.4.4测试最小化
5.4.5测试优先级排序
5.5利用执行轨迹进行回归测试的选择
5.5.1获取执行轨迹
5.5.2选择回归测试用例
5.5.3处理函数调用
5.5.4处理声明中的变化
5.6利用动态切片进行回归测试的选择
5.6.1动态切片
5.6.2计算动态切片
5.6.3选择测试用例
5.6.4潜在依赖
5.6.5计算相关切片
5.6.6语句的添加和删除
5.6.7标识切片变量
5.6.8简化的动态依赖图
5.7测试选择算法的可扩展性
5.8测试最小化
5.8.1集合覆盖问题
5.8.2测试最小化过程
5.9测试优先级排序
5.10回归测试工具
小结
参考文献注释
练习
第三部分测试充分性评价与测试增强
第6章基于控制流和数据流的测试充分性评价
6.1测试充分性基础
6.1.1什么是测试充分性
6.1.2测试充分性的度量
6.1.3通过度量充分性来增强测试
6.1.4无效性和测试充分性
6.1.5错误检测和测试增强
6.1.6单次和多次执行
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复合条件的MC/DC充分测试
6.2.10MC/DC覆盖的定义
6.2.11最小MC/DC测试
6.2.12错误检测和MC/DC充分性
6.2.13短路计算和无效性
6.2.14测试集对需求的追踪
6.3数据流概念
6.3.1定义和使用
6.3.2cuse和puse
6.3.3全局和局部的定义与使用
6.3.4数据流图
6.3.5defclear路径
6.3.6defuse对
6.3.7defuse链
6.3.8优化
6.3.9数据上下文和有序的数据上下文
6.4基于数据流的测试充分性准则
6.4.1cuse覆盖
6.4.2puse覆盖
6.4.3alluse覆盖
6.4.4kdr链覆盖
6.4.5使用kdr链覆盖
6.4.6无效的cuse和puse
6.4.7上下文覆盖
6.5控制流与数据流
6.6包含关系
6.7结构性测试与功能性测试
6.8覆盖度量的可量测性
小结
参考文献注释
练习
第7章基于程序变异的测试充分性评价
7.1导引
7.2变异和变体
7.2.1一阶变体与高阶变体
7.2.2变体的语法与语义
7.2.3强变异和弱变异
7.2.4为什么?湟?
7.3用变异技术进行测试评价
7.3.1测试充分性评价的步骤
7.3.2测试充分性评价的替代过程
7.3.3被区分的变体与被杀掉的变体
7.3.4区分变体的条件
7.4变异算子
7.4.1算子类型
7.4.2变异算子的语言依赖性
7.5变异算子的设计
7.5.1评判变异算子优良的准则
7.5.2指导准则
7.6变异测试的基本原则
7.6.1称职程序员假设
7.6.2耦合效应
7.7等价变体
7.8通过变异进行错误检测
7.9变体的类型
7.10C语言的变异算子
7.10.1什么没有被变异
7.10.2线性化
7.10.3执行序列
7.10.4执行序列的影响
7.10.5全局标识符集和局部标识符集
7.10.6全局引用集与局部引用集
7.10.7程序常量变异
7.10.8运算符变异
7.10.9语句变异
7.10.10程序变量变异
7.11Java语言变异算子
7.11.1传统变异算子
7.11.2继承
7.11.3多态与动态绑定
7.11.4方法重载
7.11.5Java特有的变异算子
7.12综合比较:Fortran 77、C与Java变异算子
7.13变异测试工具
7.14低成本变异测试
7.14.1划分变异函数的优先级
7.14.2选择使用部分变异算子
小结
参考文献注释
练习

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Fedora Core 5 Linux系统安装与管理

以Linux为代表的自由软件及其稳定性,逐渐在全世界崭露头角且备受重视。由于可以支持多种网络环境,因此在采用Linux系统之前,必须熟悉各种...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊