一、软件开发阶段划分(复习)
1、需求分析阶段
由产品经理-需求分析人员 完成
产出物:《需求规格说明书》
2、概要设计阶段
3、详细设计阶段
由系统架构师(分析师)完成
产出物:《概要设计说明书》、《详细设计说明书》
4、编码阶段
由开发人员完成
产出物:程序
问题:哪个阶段引入的bug最多?哪个阶段最少?
需求分析阶段引入的bug最多(大概占bug总数的55%左右),其次是设计阶段(大概占bug总数的25%左右),最少的是编码阶段(大概占bug总数的15%左右)。
由此得出结论:
- 需求和设计阶段也要测试,不仅要测试程序,文档也要测试。
(2)测试应符合“尽早测试原则”和“不断测试原则”。
二、软件测试阶段划分
说明:需求和设计阶段相关的文档测试没有涵盖到测试阶段划分中。
1、单元测试
(1)单元测试是最小的测试单位(零件),一般就是测一个功能模块,一个窗口,一个类,一个方法(函数)等
(2)单元测试依据详细设计文档
(3)单元测试理论上是白盒测试。
实际:白盒测试质量较好,但是效率低,成本高。
解决方案:通常软件公司会安排程序员做单元测试,降低成本。但是由程序员做单元测试,质量可能得不到在保证,实际应用中通常会采取交换互测或者开发测第1轮(白盒),测试测第2轮(黑盒)的方式解决。
(4)在企业中通常会由程序员进行单元测试。
(5)驱动模块 和 桩模块
说明:单元测试阶段,测试者有可能会编写“驱动模块”和“桩模块”。
驱动模块:模拟被测模块的上一级模块。(调被测模块的)
桩模块:模拟被测模块的下一级模块。(被“被测模块”调用的)
总结:驱动模块→被测模块→桩模块
要求:能把概念记住
2、集成测试(把零件逐步组装的测试过程)
(1)也叫组装测试,就是在单元测试基础上,把软件功能模块逐步的合并在一起,进行测试的过程。
(2)合并的过程一般是逐步完成的,在这个过程中会形成很多的临时版本。(迭代测试)
(3)集成测试需要参考概要设计文档
(4)集成测试阶段以黑盒测试为主,核心模块,重点、难点模块适当辅助白盒测试。
3、系统测试
4、验收测试(UAT)