软件測试系列之软件測试过程模型(四)

回想往昔:

在软件开发的不断实践过程中。人们积累经验教训,预估未来发展,总结出了非常多的开发模型,比較典型的开发模型有,边做边改模型,瀑布模型,高速原型模型、螺旋模型,增量模型。演化模型,喷泉模型,智能模型,混合模型还有RAD模型以及近期比較流行的。基于网络的面向对象的模型——RUP(RationalUnifiedProcess,统一软件开发过程。

可是遗憾的是。这些模型中。没有给予測试足够的重视和诠释。所以,才会有后来的软件測试过程模型的诞生。在这些測试模型中,兼顾了软件开发过程,对开发和測试做了非常好的融合。

一、简单了解软件測试过程模型

软件測试和软件开发一样。都遵循软件project原理,遵循管理学原理。

測试专家通过实践总结出了非常多非常好的測试模型。这些模型将測试活动进行了抽象,明白了測试与开发之间的关系。是測试管理的重要參考根据。今天我主要向大家介绍五种測试模型。分别为:V模型。W模型,H模型,X模型和前置測试模型。接下来。让我们一一分析:

二、逐一认识

每一类分别介绍。历史来源,详细原理,有图有真相。也能够说一下它们的不同之处

V模型

原理:V模型是软件开发瀑布模型的变种。主要反映測试活动与分析和设计的关系,从左到右,描写叙述了主要的开发过程和測试行为。

V模型的策略既包含低层測试又包含了高层測试,低层測试是为了源码的正确性,高层測试是为了使整个系统满足用户的需求。

如图所看到的,图中的箭头表示时间方向,左边下降的是开发过程各阶段,与此相相应的是右边上升的部分。即个測试过程的各个阶段。

它在測试中的地位,就和瀑布模型在开发中的地位一样,是一种最基础的模型,其它模型都是从这个模型演化来的。

价值体现:它很明白地标明了測试过程中存在的不同级别。强调了在整个软件项目开发中须要经历的若干个測试级别。并与每个开发级别相应。

局限性:把測试作为编码之后的最后一个活动。需求分析等前期产生的错误直到后期的验收測试才干发现。忽略了測试的对象不应该只包含程序。没有明白指出对需求、设计的測试。言简意赅的说:没有明白说明早期的測试。不能体现“尽早地和不断地进行软件測试”的原则。

W模型

原理:在V模型中添加软件各开发阶段应同步进行的測试,别演化为一种W模型,由于实际上开发是“V”,測试也是与此相并行的“V”。W模型能够说是V模型自然而然的发展。

它强调,測试伴随着整个软件开发周期,并且測试的对象不不过层序。需求,功能和设计相同要測试。

价值体现:我们能够觉得。W模型。測试与开发是同步进行的,从而有利于今早的发现问题。强调了測试计划等工作的先行和对系统需求和系统设计的測试。

局限性:仍把开发活动看成是从需求開始到编码结束的串行活动。仅仅有上一阶段完毕后,才干够開始下一阶段的活动。不能支持迭代,自发性以及变更调整。

H模型

原理:H模型将測试活动从开发流程全然独立出来,使測试流程形成一个全然独立的流程,将測试准备活动与測试运行活动清晰地体现出来。

图中的流程只演示了再整个生产周期中某个层次上的一次測试“微循环”。图中的其它流程能够是随意开发流程。也就是说,只要測试条件成熟了,測试准备活动完毕了,測试运行活动就能够进行了。

价值体现:软件測试是一个独立的流程。贯穿于产品的整个生命周期。与其它流程并发的进行。

软件測试原则“尽早准备,尽早运行”;强调測试是独立的,仅仅要測试准备完毕。就能够运行測试。

局限性:本模型太过于模型化。重点在于理解当中的意义指导实际工作,而模型本身并无太多的可运行的指导意义。

X模型

原理:X模型左边描写叙述的是针对单独程序片段所进行的相互分离的编码和測试,此后。将进行频繁的交接,通过集成终于合成为可运行的程序。这一点在图的右上方得以体现。并且这额可运行程序还须要进行測试。已通过集成測试的成品能够进行封版并提交给用户,也能够作为更大规模和范围内集成的一部分。

同一时候,X模型还定位了探索性測试,如图右下方所看到的。这是不进行事先计划的特殊类型的測试。比如“我就这么測一下,结果会怎么样”。

价值体现:探索性測试。可以帮助有经验的測试人员在測试计划之外发现很多其它的软件错误。

局限性:探索性測试可能对測试造成人力、物力和財力的浪费。对測试员的熟练程度要求比較高。

前置測试模型

原理:前置測试模型将开发和測试的声明周期整合在一起,表示了项目声明周期从開始到结束之间的关键行为。

它对每个交付内容进行測试(图中的椭圆框表示了其它一些要測试的对象),在设计阶段进行測试计划和測试设计,让验收測试和技术測试保持相互独立。总之。它是一个将測试和开发紧密结合的模型,该模型提供了轻松的方式。能够使你的项目加快素的。。

价值体现:前置測试能给须要使用測试技术的开发者、測试人员、项目经理和用户等带来非常多不同于传统方法的内在的价值。与曾经的方法中非常少划分优先级所不同的是,前置測试用较低的成本来及早发现错误,并且充分强调了測试对确保系统的高质量的重要意义。

它不仅能节省时间,并且能够降低那些令开发者十分厌恶的反复工作。

三、总结

在这些模型中,V模型强调了在整个软件项目开发中须要经历的若干个測试级别,可是它没有明白指出应该对软件的需求、设计进行測试,在这一点上。W模型得到了补充。

可是W模型和V模型一样没有专门针对測试的流程说明。随着软件測试的不断发展。第三方測试已经独立出来这个时候,H模型就得到了相应的体现,表现为測试独立。X模型和前置測试模型又在此基础上添加了很多不确定的因素处理情况,这就相应了实际情况中,项目常常变更的情况发生。

总而言之,在实际的项目中,我们要合理应用这些模型的长处,比方在W模型下,合理运用H模型的思想进行独立的測试。或者在前置測试模型中,參考X模型的一个程序片段也须要相关的集成測试的理论等。将測试和开发紧密结合,寻找最适合的測试方案。

时间: 2024-10-10 23:22:25

软件測试系列之软件測试过程模型(四)的相关文章

软件測试系列之入门篇(一)

一.你知道软件測试有多重要吗? 在国际上.软件測试(软件质量控制)是一件很重要的project工作.測试也作为一个很独立的职业. 在IBM.Microsoft等开发大型系统软件公司,许多重要项目的开发測试人员的比例可以达到1:2甚至1:4. 在国内软件測试的地位还不够高.而且大多仅仅停留在软件单元測试.集成測试和功能測试上.软件測试从业人员的数量同实际需求有不小差距.国内软件企业中开发者与測试人员数量一般为5:1.因此.国内的软件測试产业化还有待开发和深掘. 讲到这里不知道你反应是高兴还是失望?

一般软件开发流程和一般软件的測试原则

一般软件开发的流程: 软件測试的原则:

一个软件项目的总纲性的測试计划叫什么?

一个软件项目的总纲性的測试计划叫什么名字?项目測试计划?測试策略?測试方案? 是不是要包含測试点分析?是不是要包含測试用例? @张克强-敏捷307: 每家公司可能有不同说法,征集大家习惯的说法-你们是怎样说反映项目整体測试的这份文档? 包含英文的. 邰晓梅-ChinaTest:这个说法我喜欢"每家公司可能有不同说法",叫什么名字并非非常重要.仅仅要使用环境内,大家能达成一致理解即可了,不存在所谓的更好.更标准.更规范的叫法. @火星人陈勇:是不是叫做<质量计划>更好?这样能

单元測试和白盒測试相关总结

一.  软件測试方法 1.        软件測试方法包含:白盒測试(White  Box  Testing).黑盒測试(Black  Box Testing).灰盒測试.静态測试.动态測试. 2.        白盒測试:是一种測试用例设计方法.在这里盒子指的是被測试的软件,白盒.顾名思义即盒子是可视的,你能够清晰盒子内部的东西以及里面是怎样运作的.因此白盒測试须要你对系统内部的结构和工作原理有一个清晰的了解,并且基于这个知识来设计你的用例. 白盒測试技术一般可被分为静态分析和动态分析两类技术

HLS图像处理系列——肤色检測

本博文採用Xilinx HLS 2014.4工具.实现一个肤色检測的模块.当中,本文重点是构建HLS图像处理函数. 新建HLSproject的步骤,本博文不再详述. 本project新建之后,仅仅加入了五个文件,例如以下图所看到的.当中,top.cpp中的主函数终于会综合生成HLS硬件图像处理模块.test.cpp是測试文件,调用測试图片.測试top.cpp的图像处理函数功能. top.cpp的源代码例如以下: #include "top.h" #include "imgpr

化繁为简系列原创软件 - 游戏专题 - 我的桌面MyDesktop

今天在网上看到一个用桌面背景当做拼图内容的游戏很新颖,反正今天下雨我也闲着,索性用了半天时间做了一个类似的游戏<MyDesktop>.做完后立即分享给了两个朋友,他俩都被吓坏了.现在分享给大家,空闲的时候轻松一下,别被吓到噢. 下载 MyDesktop - v1.0 for WinXP MyDesktop - v1.0for Win7 32bit 下载 MyDesktop - v1.0 for WinXP MyDesktop - v1.0for Win7 32bit 化繁为简系列原创软件 -

1、HTML学习 - IT软件人员学习系列文章

本文做为<IT软件人员学习系列文章>的第一篇,将从最基本的开始进行描述,了解的人完全可以跳过本文(后面会介绍一些工具). 今天讲讲Web开发中最基础的内容:HTML(超文本标记语言).HTML的内容是文本,就象我们在文本文档中记录内容一样. 一.最基本例子. 下面是一个最基本的HTML页面文本内容(代码一): <html> <head> <title>这个HTML页面</title> </head> <body> 这是HT

开篇:软件项目的整个流程 - IT软件人员学习系列文章

这段时间闲来无事,就在总结以前的项目经验,然后写成博客的形式以进行记录.本文就对<IT软件人员学习系列文章>做个开篇吧. 对于IT软件的开发来说,无外乎B/S.C/S和Android.iOS(后两项也是C/S).在B/S领域,无外乎PHP.JAVA和ASP.NET这几大阵营.而在C/S领域,JAVA的开发比较复杂,需要编写一些重复的和底层的代码,相比C#的可视化和相似的语法,还是微软的开发工具和语言比较容易上手. 但是,我们今天讲的不是代码,而是整个软件流程,这个属于软件工程的范畴.我们知道,

Atitit 深入理解软件的本质 attilax总结 软件三原则&quot;三次原则&quot;是DRY原则和YAGNI原则的折

Atitit 深入理解软件的本质 attilax总结 软件三原则"三次原则"是DRY原则和YAGNI原则的折 1.1.1. 软件的本质:抽象  1 1.2. 软件开发的过程就是不断抽象的过程 1)机器语言--> 汇编语言-->高级语言,这就是一个不断抽象的过程,1 1.3. 代码的抽象三原则_软件工程_酷勤网.htm1 1.4. "软件是存储.通信.UI(user interface)和业务逻辑的紧密结合体2 1.5. 在软件的生命周期中,较稳定的是存储和通信,最