软件测试控制方法在软件开发中的应用
作者:网络转载 发布时间:[ 2012/3/14 11:10:19 ] 推荐标签:
软件项目开发是系统工程,在大型软件项目管理中,配置管理,资源管理、项目进度管理、评审管理、风险管理、需求管理、缺陷管理、开发管理等,在整个软件开发周期中都至关重要,缺一不可。鉴于这些繁多的管理项目,业内对于软件开发过程建立了多种体系,例如ISO系列、CMM模型、MSF框架,但是,这些体系多是着眼于大型软件开发过程体系,对于目前国内外日益增多的中小型软件项目却无法起到明显的效果。尤其在国内,中小型软件项目管理大多采用各公司积累的习惯性开发流程,这种状况在很大程度上制约着国内软件管理水平的发展。如果能够找到一种中小型软件项目过程控制的通用方法,那么,中小型软件项目的管理水平和开发质量将会有非常大的提高。作者根据多年的内和对日软件开发经验,寻找到一些过程控制的关键点,提出通过关注这些关键点来实现中小型软件项目过程管理规范化。
TC(测试控制方法)是指以测试为核心控制软件项目开发过程的方法,包括测试控制核心思想及相关辅助方法。TC包括两个核心思想,“好软件是做出来的,不是改出来的”和“每件任务都做彻底”。辅助方法包括任务监控,绩效评价,缺陷分析,进度分析,延期历史记录等方法。采用TC可以完成开发流程控制、任务测试、开发绩效评价、品质持续改进等项目管理工作。
软件必须依靠具有一定技术水平的开发人员集中精力开发,而不可能靠反复的修改来完成。软件修改次数越多,出错的可能性越大。测试的主要任务是控制开发人员随意提交低质量的程序。例如:TC中有个概念“返回”,其含义是指,当开发人员提交了问题过多的程序后,测试人员可以不用告知程序中的问题,直接返回程序要求开发人员重新修改,通过这种方式来控制被提交程序的质量。反对“测试人员是帮助程序人员发现问题的”说法,而强调测试人员是站在一个更高的管理控制层面上控制软件品质。很多失败的软件项目,总结原因都可以归结为“不断在反复”,整个项目在不断推倒重来。TC将软件项目的小工作单元称为“任务”,每个任务由一个人员来完成,只要每个任务都做彻底,整个项目会逐步向成功推进。软件项目开发不能遗漏关键点,又不能事无巨细,而必须依靠一定的经验来判断各项任务是否已经做到可以称之为“彻底”的程度。前阶段的任务完成彻底程度,直接影响到后续开发的质量,并且遗漏的问题后续会持续放大,后造成项目失控。
在TC中规定,每个任务在进行过程中必须有惟一的状态,务的主要状态。Record是指任务已记录,Pln是指任务已安排计划,Open是指任务进行中,Test是指任务在测试中,UIxlate指任务修改中。每个任务也都必须有一个惟一的结果状态,Close、Cancel和Suspend。Close是指任务彻底完成lCancel是指任务取消,不需要再继续做;Suslmnd是指任务暂时停下来。
为了保证软件的质量,测试应贯穿于软件定义与开发的整个过程。TC可以在整个项目的开发过程中进行项目管理。需求分析、技术攻关、分析与设计、构造实现、测试部署阶段,甚至在售后服务阶段都可以使用TC进行控制。所有任务都以工单的形式派发,各任务按图2所示流程进行跟踪控制。在这程中,任务终都需要通过测试进行验收,并标示终的状态,以此保证任务不会遗失。TC在进行任务的测试时,终结果的判定依赖于测试人员的个人因素,因此需要测试人员具备较高的业务素质和业务技能,同时由于TC赋予了测试控制能力,要求测试人员还必须具备项目管理和进度控制的能力。TC提出项目化整为零,一个项目划分成多个任务来进行,这样,保证了每个任务的完成效果,但经常会在项目总体进度中迷失方向,出现只见树木,不见森林的局面。往往项目越大,任务会越多,如果不分阶段进行管理和制定阶段里程碑,项目的整体进度和质量很难得到控制。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11