第一章 软件测试的介绍
1。概念和历史就不说了
2。为什么要进行软件测试,因为测试是软件开发过程的一个步骤,通过测试能更好地设计和编码,能提高程序的可靠性。
3。错误缺陷和失败的定义,error——defect——failure。
4。软件开发的过程
1)软件需求 用户 理解正确性 表达正确性
2)需求规格说明书 分析员 理解设计表达正确性
3)设计说明书 设计员 理解编码正确性
4)源程序 程序员 输入运行正确性
5)得到运行结果
5。缺陷的原因
1)误解需求
2)需求设计错误
3)误解设计内容 编码错误
4)程序执行失败 不满足需求
6。v型开发模型
需求规格说明,验收测试
系统设计,系统测试
结构设计,集成测试
模块设计,单元测试
7。测试方法
黑盒:只能测试规格说明描述的功能
白盒:只能测试程序所实现的功能
第二章 黑盒测试
1。只关心输入和输出,从用户角度出发,发现外部行为错误
2。优点:与具体实现无关,具体实现变化用例可不变;测试用例与软件实现同时进行
3。方法:等价类划分,边界值分析,因果图法,决策表法
4。等价类划分
1)原则:按区间,按数值,按数值集合,按限制条件或规则,细分等价类
2)方法:先找所有的有效等价类,对应有效等价类写出无效等价类。设计有效用例尽可能多覆盖所有有效等价类,无效的用例每个覆盖一个无效等价类
5。边界值分析法
方法一:对每一个变量取min,min+,nom,max-,max,n个变量生成4n+1个测试用例
方法二:对每一个变量取min-,min,nom,max,max+,4n+1
健壮型边界值测试(方法一+方法二):min-,min,min+,nom,max-,max,max+,6n+1
最坏情况测试:多个变量同时取边界值的情况。
6。因果图法
优点:前两种方法很难描述输入之间的关系,因果图法适合描述多种条件的组合,着重于测试规格说明中输入输出的依赖关系。
表示符号:
1)原因--结果【与,或】
2)原因之间的约束【exclusive,inclusive,require,only one】
3)结果之间的约束【masking】
7。决策表法
四个组成部分:条件桩,条件项,动作桩,动作项
五个构造步骤
化简:合并相同动作,合并后有差别的条件项画“-”
第三章 白盒测试
1。控制流覆盖准则
1)语句覆盖:程序中每条语句都得到运行
2)分支覆盖准则:每个分支都有一次真一次假
3)原子谓词覆盖:每个分支中的每个原子谓词都有一次真一次假
4)分支谓词覆盖:分支覆盖和原子谓词覆盖的并集
5)复合谓词覆盖:一个分支中原子谓词的全部真假组合
6)路径覆盖:覆盖所有完整路径
2。数据流测试
1)定义覆盖:每一个变量的每一个定义性出现能可行地传递到该变量的某一个引用性出现。
2)引用覆盖:每一个变量的每一个定义性出现能可行地传到每一个引用性出现
3)定义引用覆盖
3。软件缺陷分析
1)输入输出缺陷
2)逻辑缺陷
3)计算缺陷
4)接口缺陷
5)数据缺陷
4。软件缺陷产生原因
1)疏忽造成的 2)不理解造成的 3)二义性造成的 4)遗漏造成的