软件测试模型

前言:

学习软件测试模型可以让我们更快地了解测试的工作

软件测试原则

测试是发现缺陷的过程:是不能预知缺陷的

穷尽测试是不可能的:优先满足用户的使用

测试尽早介入:老生常谈

缺陷群体性(2/8原则):发现的缺陷基本上都集中在这20%的功能模块里面,需要对这20%进行反复测试、重点测试

杀虫剂悖论:更新测试的重要性,对一个测试点不能一直使用同一个测试用例

测试活动依赖于测试内容:没有两个项目的测试内容是完全相同的,我们安排测试活动需要依据测试内容

没有错误是好谬论:如果测试没有发现错误,并不能说明它是一个好的产品

软件测试对象

需求分析阶段:需求文档、接口文档

编码实现阶段:源代码

系统功能使用:软件程序

软件测试模型

V模型是瀑布模型的一种改进:

优点:相对于瀑布模型的动态测试,V模型既有底层测试,又有高层测试

缺点:严格线性、修改需求困难、反工成本高

W模型是V模型的改进:

W模型测试与开发是并行的关系,而且增加了测试人员对文档的测试部分,符合测试的尽早介入。也就是在前4个阶段,测试也会进行参与。

优点:测试贯穿整个生命周期,并且除了代码要测试,需求、设计等都要测试,测试与开发独立,并于开发并行

缺点:无法支持迭代的开发模型(实际上也是线性的),测试和开发是分离的,如果一个项目没有文档产生,那W模型也无法使用对需求和设计的测试技术要求很高,实践起来困难。

H模型(测试完全独立):


优点:测试是完全独立的,是贯穿整个生命周期的,相对与W模型的并行,他不会参与其他文档的内容修改。测试的准备很早,具有很强的灵活性。

缺点:测试的就绪点很难分析

对整个项目组的人员要求高。因为测试不会介入其他流程。