V模型和W模型
V模型
最典型的V模型一般会在其开始部分对软件开发过程进行描述,为古老的瀑布模型。在V模型中,测试往往是被加在开发过程的后半部分。
- 单元测试检测的开发是否符合详细设计的要求。
- 集合测试检测此前测试过的各组成部分是否能很好的结合在一起。
- 系统测试检测已集成在一起的产品是否符合规格说明书的要求。
- 验收测试检测产品是否符合最终用户的需求。
优点:
- 既有底层的测试(单元测试)又有高层的测试(系统测试);
- 将开发清楚的表现出来,便于控制开发的过程,当所有阶段都结束时,软件开发就结束了。
缺点:
- 容易让人误解为测试是在开发完成后的一个阶段;
- 由于其的顺序性,当编码完成后,正式进入测试时,一些bug可能不容易被发现并修改;
- 忽视了测试对需求分析,系统分析的验证,一直到后期的验收测试才被发现。
W模型
W模型相对于V模型,增加了软件开发阶段中应同步进行的验证和确认活动。W模型是由两个V模型组成,分别代表测试和开发的过程,表示测试和开发是同时进行的。
W模型中测试伴随整个软件开发周期,而且测试的对象不仅是程序,需求、设计等也要测试,测试与开发同步进行。W模型有利于早一点发现问题,找出缺陷所在。还有对需求的测试也有利于及时了解项目的难度和测试风险,及早制定应对措施,加快项目的进度。
优点:
- 将测试贯穿到整个软件的生命周期,不仅要测试代码,还要对需求、设计进行测试;
- 测试人员更早的介入到软件开发过程中,能尽早的发现错误,降低开发成本;
- 测试与开发独立起来,并与开发同步。
缺点:
- 对有些项目,开发过程中没有文档的产生,所以W模型没法使用;
- 对于需求和设计的测试技术要求高,实践起来很困难。