软件测试模型之 H模型

在软件质量体系中,为了更好地指导软件开发的全部过程、活动和任务,人们提出了软件开发模型。典型的开发模型有:边做边改模型(Build-and-Fix Model)、瀑布模型(Waterfall Model)、快速原型模型(Rapid Prototype Model)、增量模型(Incremental Model)、螺旋模型(Spiral Model)、演化模型(Incremental Model)、喷泉模型(Fountain Model)、智能模型(四代技术(4GL))、混合模型(Hybrid Model)。但是所有的开发模型都没有把软件测试列进去,这样就无法对软件测试过程进行很好的指导,而随着软件测试的发展,软件测试成为软件质量保证的重要手段之一,软件测试也慢慢地受到公司的重视,于是人们就希望软件测试也像软件开发一样,由一个模型来指导整个软件测试过程。当前最常见的软件测试模型有瀑布模型、V 模型、W 模型、H 模型和X 模型,下面详细介绍。

H模型

H 模型将测试活动分离出来,形成一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来,如图2-7 所示

软件测试模型之 H模型

H 模型提倡者认为测试是一个独立的过程中,所以在H 模型中并没有看到关于开发的过程,而是测试的一个流程,当然这个测试的流程并不像V 模型和W 模型那样有明确的测试区分。H 模型演示了在整个生命周期中某个层次上一次软件测试的“微循环”。当测试条件准备完成,进入测试就绪状态后,所在测试H 模型中有一个测试就绪点,也就是测试有一个准入条件。通常情况下判断测试是否达到准入条件,应该检查以下几部分内容是否已经完成:

 该开发流程对应的测试策略是否完成;

 测试方案是否完成;

 测试用例是否完成;

 测试环境是否搭建好;

 相关输入件、输出件是否明确。

也就是说,通常我们要检查上面一些内容是否完成,再确定我们是否需要进入下一个阶段的测试。当测试条件成熟,并且测试准备工作已经完成,进入了测试就绪点,测试执行活动才可以进行。

H 模型中还有一个“其他流程”的测试,这个观点强调了测试其他不一定要是常见的应用程序也可以其他的内容,这可以理解为整个产品包中所有的对象,包括开发阶段的一些设计流程,这样将测试的范围直接扩展到整个产品包,而非W 模型中提到的代码、需求或其他相关说明书。

与V 模型和W 模型不同的是,H 模型的核心是将软件测试过程独立出来,并贯穿产品的整个生命周期,与开发流程并行进行,不需要等到程序全部开发完成才开始执行测试,这充分体现了软件测试要尽早准备、尽早执行的原则。不同的测试活动可以按照某个次序先后进行,当一次测试工作后产品质量无法达到要求时,可以反复进行多次测试。

总之H 模型具有以下特征:

(1)测试是一个独立的过程;

(2)测试达到准入条件,才可以执行;

(3)测试对象是整个产品包,而不仅仅是程度、需求或相关说明书;


分享到:


相關文章: