暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【软件评测师】考点21——软件测试的模型

昊洋与你一起成长 2021-08-16
3869

软件测试的模型是软件评测师考试大纲规定考察的知识点,一般在上午场出题。软件测试的模型通常是对应着开发模型演变的,在最新新版的软件评测师教程中一共涉及到V模型、W模型、H模型和敏捷测试模型共计四种模型,下面就这四种模型进行总结学习。


一、V模型

软件测试的V模型对应于开发的瀑布模型。瀑布模型将软件的开发明确地划分为需求分析、概要设计、详细设计、编码和测试等阶段,需要在完成前一阶段的工作后才能进入下一阶段,因此测试成了一个阶段性的工作,是最为典型的验证&确认活动。测试V模型如下图所示:

在V模型中,测试活动对应于瀑布模型的每个工程阶段,即单元测试对应编码、集成测试对应详细设计、系统测试对应概要设计、验收/交付测试对应需求分析。传统的测试划分就是因此而产生的,这是V模型的重要贡献。


V模型的局限性:

V模型把测试标定为软件工程的一个阶段性活动,而且是编码结束之后才开始的活动,启动时间太晚,不符合尽早开始测试的原则。这个模型不仅会让人误解测试在软件工程活动中的作用,而且会造成软件缺陷发现的延迟,越是早期的活动引入的缺陷却越晚被发现,这将带来缺陷修复的巨大代价。


二、W模型

W模型是对V模型的一个重要改进,充分体现了尽早开展测试的原则,并将V模型中以发现缺陷为目标上升为保证软件质量为目标。W模型如下图所示:


W模型实际上是两个V的叠加,一个V描述开发过程,另外一个V描述测试过程。开发过程的下降边依然是需求分析、概要设计、详细设计和编码,测试过程的上升边也依然是单元测试、集成测试、系统测试以及验收/交付测试,但测试的起始时机不再是编码结束之后,而是从需求分析时开始,且与开发的每一个阶段活动同步进行,通过适时的评审,可以尽早发现和处理软件过程中的缺陷,降低缺陷修复的代价,保障产品各生产阶段的质量,从而更充分地保证最终软件的质量。显然W模型优于V模型,它体现了更多的软件测试原则。W模型中测试分布于软件过程的每一个阶段,与开发的同步可以第一时间生成测试的各类文档,从而加快后期测试的进度。同时W模型也表明,测试的对象不仅仅只是程序,还包括各个阶段的文档和数据,因此对软件的验证和确认活动事实上也很早就开始了。


W模型的局限性:

虽然W模型比V模型完善了许多,但其局限性仍然存在,它们都高度依赖于开发的瀑布模型,活动具有明显的串行特征。事实上,即使是采用瀑布模型开发的软件,也不一定是如此清晰的串行化,而是存在大量的交叉活动,更不用说采用快速开发或敏捷开发方法的软件了,因此W模型不能适用于所有的软件项目。


三、H模型

H模型把测试活动从软件开发过程中独立出来,在软件过程的任何一个时间点上,只要测试条件满足即开展测试。如下图所示:

图中的其他流程可以是软件过程中的各种活动的流程,如需求、设计、编码甚至就是测试流程本身,测试的流程与其他流程是并行的。H模型也更充分地反映了每一个测试的完整活动,包括测试准备及测试执行。H模型比W模型更好的地方是能够兼顾测试的效率和灵活性,适合于各种规模及类型的软件项目。


四、敏捷测试模型

敏捷测试源于敏捷开发。当前敏捷开发是一种比较流行的方法,该方法以用户的需求进化为核心,以迭代、循序渐进的方式进行软件开发,主张简单、拥抱变化、递增、快速反馈等原则。敏捷测试是敏捷开发的组成部分,需要与开发流程良好融合,其特征如下图所示:

敏捷测试在整个敏捷开发过程中,需要与项目的其他人员甚至用户保持紧密协作,时刻关注需求变化并实施测试,以体现测试的时效性和适应性,这对测试人员有比较高的能力要求。


上面这些就是新版教程中提到的四种软件测试模型,在以后的考试中是有可能出题的,主要就是考察V模型中左边各个开发阶段和右边各个测试阶段的对应关系,另外有可能考察的就是对各个模型的特点的表述判断是否正确。下面的几道练习题就是可能会出现的考试出题形式。


【练习题1】V模型描述了软件基本的开发过程和测试行为,描述了不同测试阶段与开发过程各阶段的对应关系。其中,单元测试对应的开发阶段是( )。

需求分析阶段

概要设计阶段

详细设计阶段

编码阶段



解析:本题考察软件测试的V模型。

在V模型中,测试活动对应于瀑布模型的每个工程阶段,即单元测试对应编码、集成测试对应详细设计、系统测试对应概要设计、验收/交付测试对应需求分析。

故正确答案为:D


【练习题2】以下对各种测试模型的描述中,不正确的是( )。

软件测试的V模型对应于开发的瀑布模型。

W模型实际上是两个V的叠加,一个V描述开发过程,另外一个V描述测试过程。

H模型把测试活动从软件开发过程中独立出来,在软件过程的任何一个时间点上,只要测试条件满足即开展测试。


解析:本题考察软件测试模型的基础知识。

敏捷测试在整个敏捷开发过程中,需要与项目的其他人员甚至用户保持紧密协作,时刻关注需求变化并实施测试,以体现测试的时效性和适应性,这对测试人员有比较高的能力要求

故正确答案为:C

作者唯一官方个人微信公众号(昊洋与你一起成长):HYJY20180101

写于2021年8月16日

作者:昊洋讲师

版权所有,侵权必究



文章转载自昊洋与你一起成长,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论