软件测试
诞生阶段:
- 软件调试
- 独立的软件测试
- 首次定义
- 专门学科
- 开发测试融合
测试过程(阶段):
- 测试需求分析与确定
- 测试计划
- 测试执行
- 测试记录与跟踪
- 回归测试
- 测试总结与报告
测试方法:
- 是否需要执行被测软件
- 静态测试
- 动态测试
- 是否针对内部结构与实现算法
- 黑盒测试(功能测试、数据驱动测试、基于规格说明书测试)
- 白盒测试(结构测试、玻璃盒测试、基于覆盖测试)
- 灰盒测试(跟踪法测试)
测试技术:
- 黑盒测试技术
- 等价类划分
- 边界值分析
- 因果图
- 功能图
- 错误推测法
- 白盒测试技术
- 逻辑覆盖测试
- 语句覆盖
- 判定覆盖
- 条件覆盖
- 条件判定组合覆盖
- 多条件覆盖
- 修正判定条件覆盖
- 基本路径测试
- 程序变异
- 域测试
测试工具(按用途划分):
- 测试管理工具
- TestDirector
- 自动化功能测试工具
- QTP
- Rational Robot
- TestComplete
- 性能测试工具
- LoadRunner
- WebRunner
- 单元测试工具
- JUnit
- MSTest
- 白盒测试工具
- AQTime
- BundsChecker
- 测试用例设计工具
- CTE XL
- PICT
测试工具(按收费方式):
- 商业
- 开源
- 免费
传统测试阶段
- 单元测试
- 模块接口测试
- 模块局部数据结构测试
- 模块边界条件测试
- 模块中独立执行通路测试
- 模块错误处理通路测试
- 集成测试
- 自顶向下集成
- 自底向上集成
- big-bang集成
- 混合集成
- 系统测试
- 验收测试
- 回归测试
面向对象软件测试
特性:
- 封装
- 继承
- 多态
测试模型:
- 面向对象分析(OOA)测试
- 对认定对象的测试
- 对认定结构的测试
- 对认定主题的测试
- 对定义属性和实例关联的测试
- 对定理服务和消息关联的测试
- 面向对象设计(OOD)测试
- 对认定类的测试
- 对构造的类层次结构的测试
- 对类库支持的测试
- 面向对象编程(OOP)测试
- 面向对象单元测试
- 面向对象集成测试
- 面向对象系统测试
测试方法:
- 正交实验设计法
- 前置条件测试法
- 面向对象类测试法
- 基于状态的类测试
- 基于方法序列的类测试
- 基于UML的类测试
- 类图
- 顺序图
- 状态图
- 用例图
- 协作图
- 基于数据流的测试
- 变异测试
- 基于使用的测试
- 交互测试
测试过程(阶段):
- 方法测试
- 类测试
- 类簇测试
- 系统测试