CSC4001 Software Engineering
L0 前言
教学计划:
- 介绍
- 测试基础
- 变形测试、差分测试、内变形测试
- 模糊测试
- 测试用例约简
- 数据流分析
- 符号执行
- 软件维护
- 软件开发生命周期、需求分析
- 软件建模
软件工程是什么?
软件工程关注软件开发的各个阶段,包括需求、建模、原型设计、设计、实现、生成、分析、验证、测试、评估、维护以及软件系统的复用。
L1 软件测试
软件测试就是,评估和验证一个软件产品应用有没有做到它该做的,的过程。
尽可能找到更多的 bug。
测试阶段
从图中可以看到,从产品需求开始到最实现,都是可以返回来测试的。
推荐读物:Cooperative Software Design
单元测试 Unit Test
测试独立的单元。
目标:确认每个单元都是对的,而且能完成它们的功能。
集成测试 Integration Test
测试一群子系统,最终测试整个系统。
目标:测试多个子系统之间的交互,确保合并起来的整个系统满足需求。
系统测试 System Test
功能测试 Functional Test
目标:测试系统的功能。
验收测试 Acceptance Test
目标:证明系统迎合用户的需求。
- Alpha 测试(内测)
- Beta 测试(公测)
独立测试 Independent Test
由独立测试者来做的测试,尽量破坏软件,找到最深的 bug。