导图社区 软件测试
基于《软件测试》(郑人杰等著)这本书,总结概括了每章节重点。
编辑于2021-06-02 09:29:43软件测试
第一章 绪论
软件生存周期
计划
需求分析
设计
程序编写
测试
运行和维护
软件测试的意义
完整性检验
进展检验
适用性与充分性检验
软件测试的原则
穷尽测试是不可能的
测试工作具有创造性,但很困难
测试旨在防止错误发生
测试是有风险的
测试需要有计划性
测试需要有独立性
实施测试的三类信息
软件配置
测试配置
测试工具
第二章 软件测试策略
V模型

测试的生命周期
计划
安排进度
分配资源、人员
确定测试的起始点和结束点
设计
测试过程的设计
测试内容
尽可能发现系统中的BUG
评估系统的性能
测试顺序
测试用例的设计
输入
预期结果
类型
纯数据型
文件型
操作序列型
程序型
开发
准备测试脚本
测试数据的自动生成
测试流程自动化
执行
手动执行
自动执行
评估
错误数与时间的关系
错误数与功能点的关系
错误书与开发人员的关系
测试步骤
单元测试
程序的最小单位
大多为白盒测试
解决问题
模块接口
出错处理
覆盖条件
边界条件
局部数据结构
测试步骤
桩模块
驱动模块
集成测试
非增式测试
增式测试
自顶向下增式测试
自底向上增式测试
确认测试
确认测试准测
配置评审
系统测试
恢复测试
安全测试
强度测试
容量测试
性能测试
α测试
一个用户在开发环境下
β测试
多个用户在实际环境下
安装测试
可使用性测试
静态方法和动态方法
黑盒测试和白盒测试
黑盒测试
白盒测试
回归测试方法
改错性回归测试
增量性回归测试
人工测试与自动测试
人工测试
人工走查
提高编码质量
审查会
提高各阶段软件质量
收集数据
反馈
前馈
馈入
自动测试
测试数据自动生成
基于需求的测试设计
捕捉/回放
覆盖分析
第三章 黑盒测试
等价类划分
有效等价类
可以是一个,也可以是多个
无效等价类
至少有一个
等价类划分规则
数据个数
集合
符合某些规则的输入
取值范围
布尔值

设计测试用例
一条测试用例尽可能覆盖多的有效等价类
一条测试用例只能覆盖一个无效等价类
因果图
原因
结果
判定表
关系符号
恒等
非
或
与

约束符号
异(E)
或(I)
唯一(O)
要求(R)
强制(M)
正交实验设计法
因子状态表
因素分析表
正交表
布尔图
边值分析
五点法
七点法
有序集合的第一个元素和最后一个元素
单缺陷假设
使除一个以外的所有变量取正常值,对那个变量用五点法或七点法
判定表驱动分析
条件桩
动作桩
条件项
动作项

功能测试
数字型简单变量
离散数值
每一个点作为独立的测试点
区间数值
边值分析
数组、向量型变量
测试每一维数组
数组本身大小
多维数组
测试单位为复合分量
模块功能的分解测试
第四章 白盒测试
程序结构分析
控制流图
节点
控制流线或弧
程序结构的基本要求
结构分析
数据流分析
数据流问题
可达性定义
引用未定义变量
未曾使用的定义
信息流分析
逻辑测试
常用的逻辑覆盖测试方法
语句覆盖
判定覆盖
条件覆盖
判定-条件覆盖
路径覆盖
最少测试用例数计算
顺序结构
选择结构
循环结构
域测试
域指的是程序的输入空间
测试的理想结果是检验输入空间中的每一个输入元素是否都产生了正确的结果
步骤
画出域分割图
对每个一边界用on-off-on原则
选取测试点
划分分析
符号测试
路径分析
路径的表示
弧序列表示
结点序列表示
路径表达式
路径数的计算
路径表达式计算
程序复杂度计算
V=E+N-2
独立路径数
路径的树表示和路径编码
与或树
简化路径树

路径编码
对路径树的所有OR结点的出端进行编码
路径译码
测试路径枚举
Z路径覆盖
循环结构简化成选择结构
路径枚举
程序插装
断言语句
程序变异
程序强变异
程序弱变异
变量引用
变量定义
算术表达式
关系表达式
布尔表达式
第五章 集成测试
必要性
组件接口的错误
功能矛盾或不兼容
时序和资源竞争问题
误差问题
程序结构分析
驱动模块
桩模块
集成的方法
一次性集成
自顶向下集成
自底向上集成
协作集成
基干集成
三明治集成
层次集成
客户/服务器集成
分布服务器集成
高频集成
基于调用图集成
相邻集成
第六章 系统测试
非功能测试
安装测试
兼容性测试
软件兼容性
硬件兼容性
数据兼容性
安全性测试
恢复测试
性能测试
负载测试
压力测试
容量测试
其他测试
α测试
β测试
文档测试
界面测试
第七章 测试组织和管理
测试准备
测试需求分析和计划
测试哪些内容
测试到什么程度
5W原则
测试环境搭建
测试用例
测试实施
测试用例执行
测试数据记录
5W原则
测试沟通
测试用例验证
测试总结
测试数据整理
测试用例修订
用例库维护
配置管理
缺陷管理
缺陷描述
测试缺陷追踪
缺陷的状态
new
accepted
open
assign
fixed
reopen
closed
缺陷统计分析
寻找薄弱的环节
测试成熟度模型
CMM
初始级
定义级
集成级
管理和度量级
优化级
测试度量
第八章 测试工具
综述
白盒测试工具
静态测试工具
直接对代码进行语法扫描、分析,不需要运行代码
JProbe
Purify
动态测试工具
黑盒测试工具
功能测试工具
Robot
WinRunner
QTP
系统测试工具
测试管理工具
Rational TestManager
其他测试工具
CVS
SVN
VSS
FireFly
SmartDraw
TestBytes
JUnit(白盒测试工具)
测试单元继承TestCase
自动化单元测试
LoadRunner(黑盒测试工具)
负载性能测试
压力测试
虚拟用户
TestDirector(测试管理工具)
后台采用集中式数据库(Oracle、SQL Server等)
基于WEB
WAST(专用测试工具)
网站压力测试
用少量客户端模拟大量用户
Introscope(测试辅助工具)
WEB应用管理
核心
企业管理服务器
应用服务器代理
开源测试工具解决方案
第九章 软件评审
软件评审方法
概述
正确性
达到质量要求
软件验证
软件确认
软件生存周期的评审活动
初始概念评审
软件需求评审
概要设计评审
关键设计评审
开发结束评审
运行后评审

软件评审的定义
软件缺陷
软件或文档存在各种不希望出现的问题
预期属性的偏离现象
类别
错误
遗漏
额外的实现
目的在于发现软件中的缺陷
参加评审的人应以软件项目开发组以外的人员为主
评审对象是软件开发中的各种技术产品
软件评审的作用
意义
及时排除软件开发过程中引入的缺陷
提高软件生产效率,降低消除缺陷的成本
评审可为项目监控提供信息
找出软件测试中无法发现的缺陷
通过评审学习
代码评审的成功实例
Fagan的实例
Jones的实例
评审代码是很有意义的,也是查找软件缺陷最成功的方法
评审与其他验证方法的比较
Jones的比较
Olsen等人的观点
软件评审的实施
正式评审
评审组
召开评审会
不讨论如何解决问题
需求评审
设计评审
初步设计评审
关键设计评审
程序设计评审
代码评审
代码走查
代码检查

如何做好软件评审
明确评审的目的和意义
评审工作制度化
实施分类分级评审
指定评审计划等
第十章 软件质量与软件质量管理
任务
质量策划
质量控制
质量保证
质量改进
质量问题的挑战
原因分析
软件庞大
需求不明确
开发过程不可见
开发过程不成熟
测试技术的局限性
质量意识薄弱
解决途径
重视产品质量
加器相关人员的建设
加强软件的开发过程
软件错误类型分析
程序中隐藏错误数量估计
撒播模型
回归模型
软件质量特性
三种质量
内部质量
外部质量
使用质量
内部质量和外部质量模型
功能性
可靠性
易用性
效率
维护性
可移植性

使用质量的质量模型
有效性
生产性
安全性
满意度

质量管理相关过程
软件保证过程
软件验证过程
软件确认过程
软件评审过程
软件审核过程
软件问题解决过程
软件质量因素和质量特性
软件的运行特性
正确性
可靠性
效率
完整性
可用性
软件的修正特性
可维护性
灵活性
可测试性
软件的转移特性
可移植性
可复用性
共运行性
软件质量保证的任务
程序排错
排错方法
内部信息转储
跟踪
打印语句
使用排错程序
排错策略
试错法
回溯法
向前追踪
二分查找逼近法
归纳法
演绎法