一、 软件测试的W模型和V模型
博主之前知识大概了解软件测试的W和V模型,但老忘,我就自己动手画了这两个框架,发现确实比之前记得能牢固点,所以最好的学习办法还是自己动手,记不住的话,可能就是太懒了,哈哈哈
二、V模型
2.1 V模型的框架
(1)V模型以“编码”为黄金分割线,V模型的目的在于改进软件开发的效率和效果,是瀑布模型的变种。
(2)V模型明确的标注了测试过程中存在的不同类型的测试,清楚地描述了这些测试阶段和开发过程期间各个阶段的对应关系,如下图:
(3)V模型指出,单元测试和集成测试应检测程序的执行是否满足软件设计的要求;系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标;验收测试确定软件的实现是否符合用户需求或者合同需求。
(4)V模型局限性:仅仅把测试作为在编码之后的一个阶段,没有在需求阶段就进入测试。
2.2 V模型的优缺点
优点
(1)包含了底层测试(单元测试)和高层测试(系统测试)
(2)清楚的标识了开发和测试的各个阶段
(3)自上而下逐步求精,每个阶段分工明确,便于整体项目的把控
缺点
(1)自上而下的顺序导致了,测试工作在编码之后,有些错误不能及时的修改
(2)实际工作中,需求经常变化,导致V模型步骤,反复性,返工量很大,灵活度低
(3)在V模型中,测试作为编码之后的一个阶段,没有在需求开发阶段就引入测试
三、W模型
3.1 W模型的框架
(1)w模型是由两个V模型组成,分别代表测试与开发过程。在这里测试的对象不仅仅是程序,需求和设计同样要进行测试,测试和开发是一起进行的。
W模型的局限性:需求和设计编码等活动被视为串行的;测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可以正式的开始下一阶段。无法支持敏捷开发模式。
3.2 W模型的优缺点
优点
(1)测试伴随着整个开发周期,需求和设计同样要进行测试
(2)更早的介入测试,可以发现初期的缺陷,修复成本低,加快项目的整体进度
(3)分阶段进行,方便项目整体管理。
缺点
(1)开发和测试依然是线性关系,需求的变化和调整依然不方便
(2)如果没有文档,根本无法执行W模型
(3)对于项目组成员的技术要求高
三、V和W模型中测试类型的概念
单元测试:验证单元是否按照单元规格说明正确执行,也就是说能否保证每个最小单元正确执行,一般由开发人员执行
集成测试:是单元测试的扩展,检查多个单元能否按照系统概要设计的描述的方式协同工作。系统各个模块之间数据能否正常通信。
系统测试:系统测试包括冒烟测试,回归测试,系统测试。主要是用于测试整个系统是否满足需求规格说明
验收测试:确保软件的实现能否满足用户的需求或者合同的要求