基于开发流程的软件测试流程管理

0、引言

  随着软件行业的发展。软件产品已经影响到我们社会的诸多领域,人们对软件作用的期望值也越来越高,对软件质量重要性的认识也逐渐增强。

  然而,软件缺陷(bug)是伴随软件产品开发过程而产生的敷衍品,采用新的技术和方法,也不能完全消灭软件缺陷。因此,在软件开发过程中尽早地引入软件测试技术来保证软件质量,降低软件缺陷率,已经得到软件业的认可。软件开发过程中的每—个阶段都会有相应的文档和产品产生,对这些文档和产品进行严格评审和测试,可以尽早发现问题。及时找出与需求分析和项目计划中的不符合项。对软件的缺陷的早发现,早处理,能够大大减少传统软件测试在软件产品成型后发现问题、修改问题所带来的人力物力的浪费。

  1、软件缺陷管理

  软件缺陷管理就是对软件开发过程中所发现的软件缺陷进行跟踪管理。并记录软件缺陷的状态信息,保证每个被发现的软件缺陷都能关闭。软件缺陷管理是软件开发过程中项目管理流程中重要的组成部分。软件测试流程管理其在本质上就是软件缺陷管理的文档化、规范化流程。

  1.1 软件缺陷报告

  软件缺陷报告(bug报告)是测试过程中提交的最重要的文档。它的重要性丝毫不亚于测试计划。并且比其他的在测试过程中产出的文档对产品的质量的影响更大。它记录了软件bug发生时的环境、步骤及相关结果,以保证修复错误的开发人员可以重复报告的bug,从而有利于分析bug产生的原因,定位bug。因此有效的缺陷报告能够:

  (1)减少开发部门的二次缺陷率。

  (2)提高开发修改缺陷的速度。

  (3)提高测试部门的信用度。

  (4)增强测试和开发部门的协作。

  要想写好—个好的缺陷报告应遵循以下的条款:

  (1)精简:缺陷报告要清晰而简短。用最直接、简练的语言来描述最有用、最重要的信息。

  (2)准确:确保上报的每一个bug都是有效的、可验证的,而不是因为自己理解、安装、错误操作等其他因素而产生的bug。

  (3)中性:用客观的语言来描述bug.在描述中不添加任何个人性格语言色彩。

  (4)精确:清晰地描述bug产生的步骤,保证语言的干净,有条理。

  (5)定位:根据公司或行业的相关标准对发现的bug进行准确定位,并尝试用最简短的步骤来重现这个bug。

  (6)归纳:尝试对发现的问题进行归纳。

  (7)重现:检查上报的bug是否可以重现。如果不是可重现的,应说明问题的偶然性。

  (8)隔离:上报一个bug进行相应的bug隔离,写清发生此bug时的环境信息。

  (9)检查:同行评审是发现问题的最有效的手段之一。

 1.2 传统的软件测试流程

  当—个软件项目要进行相应的测试时,一般都要经过制定测试计划,测试环境及用例设计,实施测试,单元测试,集成测试,系统测试,评估测试,最后给出相应的测试报告这几个流程。

  传统的测试流程虽然和软件工程中的V型开发模型有一定的对应关系,但是测试流程和开发流程还是两个独立的流程,在软件测试流程的前期,只是单独地做计划,没有对软件的开发流程编码前的所有操作进行相应的审核和评审。真正开始测试也是等到软件产品成型后。才运行测试用例。在软件开发周期中,缺陷发现的越迟。其修复的代价也就越高。因此,要想提高软件的开发效率,就必须将软件的测试贯穿到软件的整个开发流程中。

  2、基于开发过程的测试流程

  根据软件开发流程的特点,软件的开发流程可分为:产品立项、需求调研、概要设计、详细设计、编码&单元测试、集成测试、系统测试、验收测试几个阶段。那么与之对应的测试的各个阶段。

  测试流程在项目立项时就与之同步启动,并且覆盖软件开发的整个流程。这就要求在进行软件测试过程中要考虑审核和评审软件开发过程中各个阶段的文档和产品。在测试流程的各个阶段需要评审的文档和产品。

  在软件测试流程中加入考虑对软件开发流程各个阶段文档集产品的评审。那么就要对相应的评审或测试结果进行文档化,形成新的软件缺陷报告或记录。项目组长或高层人员通过对这些文档的阅读,可以清楚地知道软件在开发的各个阶段存在的问题,能将因前期设计问题出现的软件缺陷问题消除在萌芽状态,保证软件开发效率和软件质量。测试流程中各个阶段产生的记录文档。

  基于开发流程的软件测试流程具有以下的优点:

  (1)在软件开发的各个阶段都加入软件评审和图3加入文档和产品评审的测试流程测试工作,保证了软件开发整个过程的开发效率和软件质量。

  (2)摆脱了传统测试流程和开发流程相互独立,软件测试只针对成型软件产品负责的状况。

  (3)针对软件开发流程中的各个阶段的评审和测试结果进行详细的文档化。有利于项目组长或高层进行质量把关。

  (4)通过对软件开发过程的全程评审或测试,可以大大减少测试人员和开发人员的后期工作量,有利于对软件进行优化和升级。

  3、结束语

  任何软件开发组织想完全消灭软件缺陷都是不现实的,也是不可能实现的。要想开发出高质量的软件产品,除了要有严格的开发流程和开发标准外。在软件的开发过程中全程引入软件质量保障也是一种行之有效的手段。通过对软件开发流程各个阶段的文档和产品的评审和测试,形成详细的文档化结果,是保障软件产品质量和减少后期工作量的有效管理方案。随着软件规模的不断扩大,软件缺陷数量的不断增加,这个管理方案的优势就会更为显著。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-12-29 03:21:08

基于开发流程的软件测试流程管理的相关文章

基于Web的企业工作流程管理控制系统

传统的工作流管理系统受到早期管理信息系统处理机制和网络规模的限制,其协作管理与组织运作主要拘泥于被动式的企业内部管理和小范围协调卜圳.对于时间和空间分布有着较高要求的现代企业的分布协作处理要求,研究和开发一种具有大范围时空协作处理能力的全局智能工作流处理系统已成为现代计算机协同处理一个重要研究方向Pl我们根据现代网络技术的发展特点和应用能力,采用以World WideWeb为核心的Internet技术与开放式网络体系结构,开发实现了一个在地理和功能上都广泛分布的全局工作流系统应用平台<WSB3W

基于CruiseControl和Rational统一变更管理实现的软件开发中的自动化持续构建

基于CruiseControl和Rational统一变更管理实现的软件开发中的自动化持续构建 简介:本文介绍了持续构建工具 CruiseControl 和 IBM Rational 统一变更管理集成的解决方案.通 过本文中的解决方案,可以尽早的发现和规避代码中存在的风险,遵守统一的流程及时获取可发布的软件 ,确保敏捷开发的速度和质量. 统一变更管理系统中持续集成的必要性 使用 IBM Rational ClearCase 和 IBM Rational ClearQuest 实现的统一变更管理软件

C#开发微信门户及应用(46)-基于Bootstrap的微信门户应用管理系统功能介绍

在前面介绍很多的微信框架,基本上都采用EasyUI的界面来搭建的微信框架,如随笔<C#开发微信门户及应用(8)-微信门户应用管理系统功能介绍>介绍的一样,不过随着微信的H5应用越来越多,因此转换为更适合做H5页面应用框架的Bootstrap开发框架,本文介绍的整个微信模块都是基于Bootstrap的应用. 微信开发包括公众号.企业号.微信小程序等方面的开发内容,需要对腾信的微信API接口进行封装:包括事件.菜单.订阅用户.多媒体文件.图文消息.消息群发.微信支付和企业红包.摇一摇设备.语义理解

网站建设-开发一个网站的流程?

问题描述 开发一个网站的流程? 1.我看前辈的网站分为前台和后台管理,那么前台和后台管理分别在到两个项目中还是写在一个项目里啊? 2.为什么要有网站管理系统啊,我直接页面传值到我的 逻辑层 做处理然后在把结果返回给页面展示不就可以了吗? 3.到时候发布网站的时候要把后台管理的代码也发布上去吗? 4.我看前辈的网站后台管理里有个按钮"一键生成网站"功能,这个是什么原理啊? 我以前是做ERP的,现在我的一个很混乱的问题是:如果把网页比作ERP,为什么开发一个"小明公司ERP管理系

论流程型企业的管理软件选型

企业用户须慎重选择企业资源计划(ERP)或供应链管理(SCM)解决方案. 选型项目的成败有重要的价值. 当选择与企业需求不符的软件产品时,这些价值就流失了. 这是一般性的常识,但是,对于流程型企业来说,这可能特别具有挑战性. 通常,流程型企业(包括食品业.化工业.制药业.林业和其他行业)有其独特的需求,而大多数软件技术提供商都无法满足这些需求. 并非所有的流程型业务领域都有这些独特性. 大多数企业的财务业务需求大同小异,而运营系统则各不相同. 事实证明,由于流程型企业的独特性,那些可满足制造.存

Struts开发指南之工作流程

下图是Struts的工作流程,前边我们提到,所有的请求都提交给ActionServlet来处理. 开发指南之工作流程-struts开发流程">ActionServlet是一个FrontController,它是一个标准的Servlet,它将request转发给RequestProcessor来处理, ActionMapping是ActionConfig的子类,实质上是对struts-config.xml的一个映射,从中可以取得所有的配置信息 RequestProcessor根据提交过来的u

网易公司基于 OpenStack 开发的一套云计算管理平台

[编者按]OpenStack自 2010 年项目成立以来,已经有超过 200 个公司加入了 OpenStack 项目,目前参与 OpenStack 项目的开发人员有 17,000+,而且这些数字还在增加,作为一个开源的IaaS实现,目前在企业的应用越来越普遍,网易公司私有云团队分享了他们在基于OpenStack 开发的一套云计算管理平台的实战经验,期待和广大的OpenStack 使用者进行交流. 以下为原文: 本文为您介绍了网易公司基于 OpenStack 开发的一套云计算管理平台,以及在开发.

APP开发的一些简单流程思路

APP开发的一些简单流程思路   项目最初想法的形成 1.  项目最初想法的形成 l  一款APP不是随便就会出来,自然是由项目发起人在某个场景中形成的.有可能是项目发起人所处的工作环境,有可能是由某件事情,有可能是项目发起的人生活经历等等,场景不一致,也直接导致了APP定位和方向,面向的用户群体.   l  用户的基本调研问卷 l  绝大多数的自己的想法或者商业模式,在没有得到确凿的数据论证之前,是很难断定是否适合目前的市场,所以需要收集广大用户的问卷调研结果,并进行分析,这样就可判断自己所思

游戏开发-登山赛车制作流程,地图与精灵的碰撞。

问题描述 登山赛车制作流程,地图与精灵的碰撞. 请看下图,主角与地图的碰撞是怎么完成的啊,模仿的跟现实世界一样,用物理引擎吗,求大神给点建议,还有地图是怎么制作的,谢谢!开发-登山赛车制作流程,地图与精灵的碰撞.-登山赛车"> 解决方案 光贴一个图谁知道,也可能就是简单的坐标判断,2d贴图.