一、V模型(最具代表性)
优点:
(1)既包含了底层测试(单元测试)又包含了高层测试(系统测试);
底层测试:检验源代码的质量。
高层测试:检验整个系统的需要。
(2)清楚的标识了软件开发的阶段
(3)自上而下逐步求精,每个阶段分工明确;
缺点:
(1)至上而下的顺序导致测试工作在编码之后无法及时进行修改;
(2)实际工作中,需求经常变化,导致V模型步骤反复执行, 工作量大,灵活度低。
二、W模型
开发一个v模型,测试一个v模型。
优点;
(1)测试伴随整个开发周期,需求和设计同样要测试;
(2)更早的介入测试,可以发现初期的缺陷,修复成本低;
(3)分阶段工作,方便项目管理。
缺点:
(1)开发和测试依然是线性关系,需求的变更和调整仍然不方便;
(2)如果没有文档,根本无法执行W模型。
三、H模型(把测试流程完全独立出来)
1.测试准备:所有测试执行活动的准备,判断是否到测试就绪点;
2.测试就绪点:是否可以开始执行测试的条件;
3.测试执行:具体的执行测试的程序。
总结:
V模型适用于中小企业,w模型适用于中大型企业(因为人员要求高),H模型很少有公司使用。
附:
1.单元测试
又称模块测试,针对单一的程序模块进行的测试。
2.集成测试
又叫组装测试,在单元测试的基础上,对所有模块进行测试。
3.系统测试
将整个软件看做一个整体来进行测试,包括功能、性能、兼容性。
4.验收测试:
(1)Alpha:内测版本,主要查看有没有功能缺失或系统错误。
(2)Beta:公测版本,是对所有用户开放的测试版本。
(3)gamma:候选版本,与正式软件相差不大。