几种简单的软件测试模型

软件测试是软件质量保证的重要手段之一,软件测试模型则是软件测试的工作框架,用于指导软件测试过程。今天,我们就来介绍几个基本的软件测试模型——V-模型、W-模型和前置测试模型。

一、V-模型:

在传统的瀑布型软件开发过程中,仅仅把测试过程作为在需求分析、概要设计、详细设计及编码之后的一个阶段,对软件测试过程没有进一步的描述。V-模型针对瀑布模型对软件测试过程进行了补充。V-模型最早由已故的Paul Rook在80年代后期提出。在该模型中,测试过程被加在开发过程的后半部分,如下图所示。

在开发阶段一侧,先从定义业务需求开始,然后把需求转换为软件规格,再转换到概要设计和详细设计中,最后进行编码成为程序代码。在测试执行阶段一侧,先进行单元测试,然后是集成测试、系统测试,最后是验收测试,这些测试形成了软件测试的不同层次(级别),并与开发过程的相应阶段相对应。

二、W-模型:
    软件开发过程各阶段都可能产生错误。据国外对一些大型软件系统的统计,需求分析与设计阶段产生的错误占64%,编码错误占36%。软件错误具有传递性,即需求分析产生的错误如果没有发现,会依次传递到设计和编码。软件错误的发现和解决具有放大性。据估计,在分析设计阶段产生的错误,如果在编码结束后的测试过程才被发现,其代价约为在分析设计阶段发现和解决错误的代价的10倍。如果该错误在产品交付使用后才发现和解决,则其代价将超过100倍。因此,测试工作越早进行,发现和解决错误的代价越小,风险越小。根据这个观点,Systeme Evolutif公司在V-模型的基础上,提出了W-模型,如下图所示。

图中,W-模型由两个“V”重叠而成。其中一个“V”表示开发过程,包括需求分析、规格书生成、软件设计、代码编程、软件构建、系统构建以及安装等阶段。另一个“V”表示测试过程,包括需求测试、规格测试、设计测试、单元测试、集成测试、系统测试以及验收测试等活动。软件测试的各项测试活动与开发过程的各个阶段相对应。

三、前置测试模型:

前置测试是一个将测试和开发紧密结合的模型,其示意图如下图。

前置测试模型将开发和测试的生命周期整合在一起,标识了项目生命周期从开始到结束之间的关键活动。如果其中有些活动没有得到很好的执行,那么项目成功的可能性就会因此而有所降低。

时间: 2024-09-29 06:06:52

几种简单的软件测试模型的相关文章

一种简单的软件测试工具——Visual Studio2010

今天,我们来介绍一种简单的软件测试工具——Visual Studio2010.Visual Studio2010是由微软公司研发的一套基于组件的开发工具构成,其中还包括其他一些技术以用于生成功能强大.高性能的应用程序,它重新设计了集成开发环境和代码编辑器,可直接生成代码和文本模板,增强了可视功能以及 WEB 应用程序部署的方法和过程. Visual Studio2010 在功能上有了很大的改进: 1.VisualStudio2010 集成环境进行了改进. 这一点主要体现在,可视增强功能进一步改善

几种简单的主题模型(生成模型)

了解主题模型,一般都会提到几种最基础的生成模型:Unigram model.Mixture of unigram,pLSA,接下来简单介绍一下他们之间的区别: 1.Unigram model 左图可知,一篇文档由词生成,每个词有其出现的概率,所有词概率的乘积即得到生成文档的概率. 2.Mixture of unigram 相比unigram多了一层主题的条件概率,在各主题下出现的所有词的概率乘积之和即为生成文档的概率. 3.pLSA plsa与mix unigram的区别是给定了多个可能的主题,

一种简单的道路模型

读过很多道路追踪的论文,经常都需要道路模型的建模.我不知道是不是因为自己太笨还是怎样,好多人建的模型我实在无法理解他的用意何在,而且我真的深刻怀疑他们那些模型的参数是不是真的可以求出来.就比如这篇文章"lane detection and tracking using a new lane model and distance transform",我实在无法理解他的建模,还有他的建模参数到底如何求解: 我无法理解他为什么要设置那个角度,我也不知道那个顶点的位置如何获取,如果有大神知道

3.8软件测试模型

对于软件测试模型网上也有很多关于它的解释,下面我也从他们各自的特点及优缺点方面,简单给大家介绍一下: 一.V模型 1.1 V模型特点 (1)V模型有阶段性.顺序性和依赖性: (2)V模型的测试策略既包括低层测试又包括高层测试(低层测试为了检查源代码,高层测试为了使整个系统满足用户的需求): (3)V模型有质量保证的观点. 1.2 V模型优点 (1)应用瀑布模型的思想将复杂的测试工作按阶段划成各个小阶段来实现: (2)从多角度测试系统:将系统从模块到集成再到系统和用户测试的思路可以使系统缺陷尽可能

使用C++实现一套简单的状态机模型——原理解析

在上一文中,我们介绍了该状态机模型的使用方法.通过例子,我们发现可以使用该模型快速构建满足基本业务需求的状态机.本文我们将解析该模型的基础代码,以便大家可以根据自己状态机特点进行修改.(转载请指明出于breaksoftware的csdn博客) 该模板库的基础方法实现在之后给出的工程的AutoStateChart.h中,该文件一共215行,其中有16行是辅助调试代码.以上一文中状态机类为例: class CMachine_Download_Run_App : public AutoStateCha

[您有新的未分配科技点]博弈论进阶:似乎不那么恐惧了…… (SJ定理,简单的基础模型)

这次,我们来继续学习博弈论的知识.今天我们会学习更多的基础模型,以及SJ定理的应用. 首先,我们来看博弈论在DAG上的应用.首先来看一个小例子:在一个有向无环图中,有一个棋子从某一个点开始一直向它的出点移动,双方轮流操作,无法操作者输,问是否先手必胜. 考虑一下我们之前的Nim游戏,如果我们把后继状态看成后继点的话,不难发现Nim游戏的互相转移也是一个DAG.因此,DAG上出度为0的点的sg值为0,再用上一篇博客提到的mex操作来求每个点的值就可以了(注意,这并不是一个"大"子图,不能

统计学习基础(第二版)两种简单的预测方法:最小二乘和最近邻

2.3两种简单的预测方法:最小二乘和最近邻 在本节中我们详细讨论两种简单但有效的预测方法,使用最小二乘线性模型拟合和k最近邻预测.线性模型对结构做了大量的假设,但是可能会产生不准确的预测.K-最近邻对结构做了适当的假设,所以预测通常是精确但不稳定的. 2.3.1线性模型和最小二乘 在过去的30年中,线性模型一直是统计学的支柱,而且现在依然是我们最重要的工具之一.给定一个输入向量,通过以下模型来预测Y: 其中是截距,在机器学习中又叫做偏置,通常在X中包含一个常数变量1,在系数向量中包含是方便的.这

5种服务器网络编程模型讲解(转)

作者:快课网——Jay13 原文链接:http://www.cricode.com/3510.html 本文介绍几种服务器网络编程模型.废话不多说,直接正题. 1.同步阻塞迭代模型 同步阻塞迭代模型是最简单的一种IO模型. 其核心代码如下: 1 2 3 4 5 6 7 8 bind(srvfd); listen(srvfd); for(;;){ clifd = accept(srvfd,...); //开始接受客户端来的连接 read(clifd,buf,...);       //从客户端读取

CSS:3种基本的布局模型、层模型的三种形式

CSS包含3种基本的布局模型: 用英文概括为:Flow.Layer 和 Float.在网页中,元素有三种布局模型:1.流动模型(Flow)2.浮动模型 (Float)3.层模型(Layer) 流动布局模型具有2个比较典型的特征: 第一点,块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%.实际上,块状元素都会以行的形式占据位置.如右侧代码编辑器中三个块状元素标签(div,h1,p)宽度显示为100%. 第二点,在流动模型下,内联元素都会在所处的