文章目录[隐藏]
- 软件测试的目的
- 软件测试方法和测试策略
- 5.3 测试设计和管理
- 5.4 软件测试过程
- 5.4.1 软件测试的基本准则
- 5.4.2 软件测试步骤、信息流
- 5.4.3 软件测试组织与人员
- 5.5 软件测试的基本方法
- 1.黑盒测试(Black Box Testing)
- 2.白盒测试(White Box Testing)
- 软件测试策略
- 5.6.1 测试策略
- 5.6.2 单元测试
- 5.6.3 集成测试(组装测试)
- 5.6.4 确认测试(有效性测试)
- 5.6.5 系统测试与验收测试
- 5.7 白盒测试
- 5.7.1 逻辑覆盖法
- 5.7.2 基本路径测试法
- 黑盒测试
- 5.8.1 等价类型分
- 5.8.2 边界值分析
- 错误推测法(经验测试法)
- 5.8.4 状态测试法(用于面向对象系统)
- 5.9 回归测试
- 5.10 软件调试(debug)
- 5.10.1 软件调试的目的和原则
- 5.10.2 软件调试的途径
- 5.11 小结
软件测试的目的
为了寻找错误而运行程序的过程。
目标:
(1)预防错误:几乎不可实现。
(2)尽力发现错误
软件测试方法和测试策略
需要花费大量的人力、时间、成本。
目标:最少的测试数据、时间、人力,最大可能发现更多的错误。
方法:白盒测试、黑盒测试、因果图法。
测试策略:单元、集成、确认、系统、验收测试。
5.3 测试设计和管理
- 做好测试的设计工作——即指定测试计划。如:测试策略、测试方案、测试用例(真实测试数据)的设计;
- 有效的管理好测试。如:测试用例、测试调配、测试缺陷跟踪管理等;
- 否则,将会导致测试工作效率低下,甚至导致整个软件开发的低效率——项目拖欠
软件测试是有风险的行为
- 软件故障率曲线——错误曲线
- 软件测试配置
编写软件测试计划、配置相应的软件测试环境、设计测试用例、编写测试文档等。
- 软件故障率曲线——错误曲线
- 软件测试计划
目标、范围、方法、策略、资源、组织和进度等。软件测试计划报告正文
软件测试计划报告正文
测试文档:测试计划、测试说明、测试报告- 测试用例的设计(关键内容)
作用:发现软件缺陷而精心设计的少量测试数据,预防或减少潜在的错误发生。
5.4 软件测试过程
尽早进行测试。需求阶段接入,贯穿软件开发全过程。
5.4.1 软件测试的基本准则
测试经验:
- 所有的测试都应该追溯到原始的用户需求
- 尽早地、不断地进行测试软件
- 不可能做穷尽测试
- 软件测试不等于程序测试
- 应该独立的第三方测试机构来构造测试
- 设计完善的测试用例,并长期保留测试用例,直至软件寿命终止
- 软件测试只能表明缺陷的存在,而不能证明产品没有缺陷——理解软件的测试目标
8 注意测试中的群集现象 - 及时更新测试,并进行回归测试(must)
- 有计划、有组织。
5.4.2 软件测试步骤、信息流
- 软件测试的步骤(测试策略)
- 测试阶段的信息流
(1)软件配置:文档(需求说明树、设计说明书)+源程序+可执行程序;
(2)测试配置:测试计划和测试方案。
5.4.3 软件测试组织与人员
5.5 软件测试的基本方法
1.黑盒测试(Black Box Testing)
2.白盒测试(White Box Testing)
测试要点(必须牢记)
软件测试策略
5.6.1 测试策略
5.6.2 单元测试
最小单元——模块。单元测试和编码属于软件过程的同一阶段。
测试重点详解;
1.模块接口
2.局部数据结构
3.重要的执行通路————独立路径的选择
4.出错处理同路 - 边界条件
边界测试
a[30]:
a<0;
a[0]~a[29];
a>30;5.6.3 集成测试(组装测试)
是测试和组装软件的系统化技术。
5.6.4 确认测试(有效性测试)
验证软件的功能和性能及其特征是否与客户的真实需求一致
确认测试的工作
黑盒法(功能)
结果:
(1)与用户一致
(2)功能和性能与用户需求有差距
协商解决缺陷或错误策略,不盲目修改
5.6.5 系统测试与验收测试
- 系统测试
黑盒 - 系统测试的5个设计层次及测试内容
- 测试用例的设计(关键内容)
- 用户层
- 应用层
- 功能层
- 子系统层
- 协议层
3.常见的系统测试方法
- 验收测试
交付后,用户验收
验证测试是由最终用户确定的
Alpha:开发者指导用户。(受控)
Beta测试:“真实”5.7 白盒测试
验证技术,单元、集成测试。
穷举路径测试法。5.7.1 逻辑覆盖法
以程序内部逻辑结构为基础
- 语句覆盖
每条可执行语句至少执行一次
缺点:
- 判定方法(分支覆盖)
- 条件覆盖
每个条件可能取值至少执行一次 - 判定/条件覆盖
- 条件组合覆盖
- 路径覆盖
覆盖被测程序中所有可能的路径
5.7.2 基本路径测试法
白盒测试技术。
使用基本路径测试的步骤
判定节点:有两条出口的节点
环形复杂度=判定框+1;
黑盒测试
着重测试软件的更能需求。
与白盒测试互补。
5.8.1 等价类型分
5.8.2 边界值分析
错误推测法(经验测试法)
5.8.4 状态测试法(用于面向对象系统)
5.9 回归测试
- 回归测试的目的
- 回归测试的4种方法
- 验收测试
- 再测试全部用例
- 基于风险的测试
- 基于操作(场景)的测试用例
- 仅测试修改过的部分
5.10 软件调试(debug)
调试作为成功测试的后果出现的。
- 排除错误的过程
- 通过错误现象,找出错误原因并排除错误。
发现和纠正一个错误很难。软件调试步骤与过程
调试不是测试,但总是发生在测试之后。
难度表现在:
1)紧耦合程序结构加剧这种情况。
2)有可能只使暂时消失。
3)“偏差”,舍入误差造成的
x+0.001 2位 +0.0001 3位 +0.00001 4位
4)不易跟踪的人为错误引起的
5)定时问题
6)很难重新产出完全一样的输入条件
7)时有时无
8)分布在许多任务中5.10.1 软件调试的目的和原则
目的:调试也叫纠错
调试的原则:
查错原则
修改错误的原则————重现错误,排除错误
注意:要进行回归测试5.10.2 软件调试的途径
推进程序内部的错误位置及产生的原因。
方法:
1.试探法————蛮干法(强行排错) - 通过打印内部值
- 程序内部设置打印语句
- 自动调试工具(Debug)
叨叨几句... NOTHING