软件测试------软件测试模型

软件测试模型

什么是测试模型

随着测试过程的管理和发展,测试人员通过大量的实践,从而总结出了不少测试模型,如常见的V模型,W模型,H模型等。

V模型示意图:
在这里插入图片描述

V模型每个阶段含义

需求分析:用户需求、业务需求、需求规格说明书

概要设计:系统架构、模块划分、模块与模块之间的接口。

详细设计:模块内部实现的逻辑和方法

编码:实现上面的设计

单元测试:检测代码的开发是否符合详细设计的要求。

集成测试:检测此前测试过的各组成部分是否能完好地结合到一起。

系统测试:拿到产品后,检测一下最基本的功能和业务流程是否能走通,检测产品的安全性和性能等方面的测试

验收测试:检测产品是否符合最终用户的需求

V模型的优缺点

优点:

(1)测试V模型即包含了底层测试又包含了高层测试;

底层测试:检验源代码质量的测试,如:单元测试;
高层测试:检验整个系统的需要,如:系统测试;

(2)V模型中测试阶段清楚地对应出了软件开发的各个阶段阶段。

(3)整个开发过程,包括测试过程,都分成不同的阶段;每个阶段的工作都很明确,因此便于控制开发过程。

缺点:

(1)V模型的顺序性所导致很多前期的错误一直到测试阶段才发现,甚至无法发现,往往无从修改了。

(2)需求阶段难以完全明确需求,当需求变更时将会导致阶段反复,都要重复整个流程,返工量非常大

W模型
IEEE std1012-1998《软件验证和确认(V&V)》的原则中提出了在软件的需求和设计阶段也应有测试活动,并且提出了相应的原则;
W模型由Evolutif公司提出:开发一个V,测试一个V,组合的W模型;
测试伴随着整个软件开发周期,并且测试的对象不仅仅是程序,需求和设计同样要测试。
W模型示意图
在这里插入图片描述
W模型的优缺点
优点:

  • (1)测试范围扩大:强调测试伴随着整个软件开发周期,而且测试对象不仅是程序,需求和概要设计同样要测试;
  • (2)测试时间提前:更早地介入测试,可以发现初期的缺陷,那么可以以更加低的成本进行修复。
  • (3)同样是分阶段的工作,便于控制项目过程。

缺点:

(1)对于当前很多项目,在执行的过程中根本不产生文档,那么W模型基本无法适用;
(2)使用起来技术复杂度很高,对于需求和设计的测试要求很高,实践起来困难。

认识H模型(了解)
H模型诞生背景
人们发现虽然软件开发中需求、设计、编码等活动被分阶段执行。
实践中,各阶段并不是完全串行的,更多时候是交叉,迭代进行的。

为了解决上面的问题,就提出了H模型。
将测试活动完全独立出来,形成一个独立的流程,同时表现出测试准备和测试执行工作。

测试流程

  • (1)测试准备:所有测试执行活动的准备;判断是否到测试就绪点;
  • (2)测试就绪点:测试准入准则,即是否可以开始执行测试的条件;
  • (3)测试执行:具体的执行测试的程序。 其他流程 具体开发中的流程,如:设计流程 H模型示意图

其他流程
具体开发中的流程,如:设计流程

H模型示意图
在这里插入图片描述

H模型优缺点

优点:

(1)开发的H模型揭示了软件测试除测试执行外,还有很多工作;

(2)软件测试完全独立,贯穿整个生命周期,且与其他流程并发进行;

(3)软件测试活动可以尽早准备、尽早执行,具有很强的灵活性;

(4)软件测试可以根据被测物的不同而分层次、分阶段、分次序的执行,同时也是可以被迭代的。

缺点:

(1)管理型要求高:由于模型很灵活,必须要定义清晰的规则和管理制度,否则测试过程将非常难以管理和控制;

(2)技能要求高:H模型要求能够很好的定义每个迭代的规模,不能太大也不能太小;

(3)测试就绪点分析困难:测试很多时候,你并不知道测试准备到什么时候是合适的,
    就绪点在哪里,就绪点的标准是什么,这就对后续的测试执行的启动带来很大困难;

(4)对于整个项目组的人员要求非常高:在很好的规范制度下,大家都能高效的工作,否则容易混乱。
    例如:你分了一个小的迭代,但是因为人员技能不足,使得无法有效完成,那么整个项目就会受到很大的干扰。

猜你喜欢

转载自blog.csdn.net/qq_43475097/article/details/84037234