浅谈项目管理在系统测试中的作用
2016-03-14祁俊胜北京锐安科技有限公司100044
祁俊胜(北京锐安科技有限公司,100044)
浅谈项目管理在系统测试中的作用
祁俊胜
(北京锐安科技有限公司,100044)
摘要:现代软件项目的系统测试工作,比较复杂,存在一些问题,将项目管理的思想应用于系统测试的过程之中,可以处理好各种问题,从而保证项目软件的质量,能够更好更好的发布版本,抢占市场。
关键词:项目管理;系统测试
1 项目管理与系统测试的各种定义
项目是为提供某项独特的产品、服务或成果所进行的临时的一次性努力。更详细的解释是用有限的资源、有限的时间为特定客户完成特定目标的一次性工作。系统测试的定义:一般就是在软件项目开发完成之后,根据系统需求分析说明书给出的规则进行验证的过程,需求测试人员编写test case(测试用例),一一进行验证,若发现问题,则提交bug(缺陷)。
我们可以把系统测试理解为一个项目,就是在规定的时间内,把软件项目的各种功能与性能需求根据需求分析说明书的定义进行一一验证的过程。项目管理的思想可以很好的应用于系统测试的整个流程。下面我们进行逐步分析。
项目管理,就是把各种知识、技能、手段和技术应用于项目活动之中,以达到项目的要求。项目管理是通过应用和综合诸如启动、规划、实施、监视与控制和结尾等项目管理过程进行的。
项目管理过程包括:启动、规划、执行、监督与控制、收尾过程。系统测试过程包括:测试申请、测试用例编写与评审、测试执行、测试控制与监督、测试报告编写与发布。上述过程是一一对应的关系。项目管理的过程同样适应于系统测试过程的管理与控制。
2 系统测试在项目生命周期的位置与作用
一般软件项目的生命周期有:需求调研、软件设计、概要设计、详细设计与编码、单元集成测试、系统测试、发布版本。
系统测试在整个软件开发的生命周期是排在靠后的位置,但是测试工作应该在最初的需求调研就开始涉足,否则进入的越晚,后期发现bug进行修正的成本就会越高。当需求分析说明书进行定义的一个功能,开发人员未能完成开发,在测试申请进行提交后,进行系统测试用例编写,如果在此过程中未发现此问题。则后期必然出现严重bug(因功能需求未能实现,定义为严重bug),后期开发人员需求加班加点进行增加新功能,这样会导致开发成本成几何级别的增加。因此建议测试工作项目的开始就进行工作任务的分配。
系统测试的作用,就是为了保证项目软件的质量,能够达到用户的要求,符合市场需求。不仅仅只能为了走一个流程而设定,这里确实需要我们测试工程师做出很多工作与努力的。前期发的bug越多,解决的越多,就能够更好的保证产品质量。
3 现代项目管理的思想
现代软件项目管理思想有传统的瀑布模式管理、敏杰开发两种模式。
瀑布模式:是1970年温斯顿·罗伊斯提出的模型。瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试、运行维护等六个基本活动,并且规定了他们自上而下、相互衔接的固定次序,如同瀑布一样,逐级下落。从本质上来讲,他是一个软件开发模式,开发流程是通过各种阶段展开的,从系统需求分析到产品发布维护运行,每个阶段都会产生各种循环反馈,因此,如果有的信息未被完全覆盖或者发现了个别问题,那么最好返回上一阶段并进行修改,开发进程从一个阶段流动到下一个阶段。
敏捷开发模式:敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分为多个小项目,各种小项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个互相联系但也可以独立运行的子项目,并分别完成,在此过程中软件一直处于可使用状态。
两者各有所长,根据软件项目的大小,我们可以详细将系统测试所用的模式进行分类。一般的大型项目需要长周期的,则可以考虑瀑布模式管理,这样可以很好的分配资源,有文档和流程管理,可以保证项目系统测试能够正常的进行。
若是项目比较小巧灵活,可以考虑敏捷开发的模式,边开发边测试边修改。开发与测试同时进行工作,也能方便沟通交流,有问题就可以吼一声,确认了bug之后,进行修改,验证,能够缩短项目系统测试的时间,使得产品版本尽快发布,使得产品部门,销售部门能有充足的时间进行宣传与运作。
4 传统的系统测试现状与弊病
现在的系统测试一般情况是在项目开发之前的15天,提交项目测试申请;测试人员根据项目需求分析说明书编写,系统测试用例与系统测试计划;然后执行项目系统测试;编写测试报告进行发布。但是往往因为项目管理的原因,需求各种变化,所以在提交测试申请的时间一般只有5天左右的时间,进行项目测试计划与测试用例编写、评审。在5天的时间内,测试人员进行系统需求分析说明书的理解,往往不够彻底,在评审工作中,会出现修改测试用例的情况发生。这样会造成测试时间减少的坏处。在测试执行过程中,因为测试人员对需求分析理解的不透彻,需求跟产品设计、技术经理、开发人员各种沟通交流,会影响测试质量的提高。在测试执行过程中,也会发生因为老板决定要发布版本,让步放行,连带bug一起发布的情况发生,这都是传统的系统测试存在的问题。
5 如何将项目管理应用于系统测试
我们把系统测试理解为一个项目管理的过程。在系统测试的过程中应用于项目管理的思想,就可以很好的解决上述问题。利用新的项目管理的思想,进行项目任务的分配分解,很好的疏通各种人员关系,合理的分配时间、人力各种资源,就看可以很好的项目系统测试的正常进行。
系统测试计划的编写,就是整个项目的规划设计,需求制定测试时间安排、人员配备,系统测试各个阶段(轮数)的详细时间人力投入。利用项目管理的思想解决系统测试的问题,可以将系统测试的各个阶段,能够保证在测试经理的控制之中,可以详细的了解系统测试过程中,遇到的各种问题,及时与项目经理进行沟通,保证项目质量的问题。
系统测试用例的编写,利用项目管理的思想,进行分类分模块编写,覆盖整个项目需求分析说明书。在用例编写后,进行测试用例评审的过程中,利用项目管理的思想,选择技术、产品、分析、设计、开发人员进行评审,保证后续测试执行能够正常完成。
系统测试的执行过程中,可以用项目管理的范围控制、进度管理进行详细管理。如果碰到项目需求分析发生变更,利用项目管理的流程变更,进行相应的系统测试变更,需要各级领导同意。在系统测试执行过程中,也要考虑到成本控制的问题,同样在项目管理思想中也有相应的解决方法。
系统测试的控制过程,如果发生了一些意外情况,比如说项目延期,则需要测试经理进行邮件说明,向各级领导申请同意。项目的系统测试延期,可能会影响很大,在项目管理思想当中,有项目失败的经验可以借鉴,具体操作方法,各位可以参考一些项目的书籍。
6 总结
在系统测试的整个过程中,引入项目管理的思想,是可以保证系统测试能够很好的执行,项目的规划等同于系统测试计划编写,项目的执行与控制等同于系统测试的执行与控制,项目的收尾等同于系统测试的报告编写与发布。项目管理的思想在软件项目系统测试中的作用是巨大的。
The function of project management in system testing
Qi Junsheng
(Beijing Rui An science and Technology Co.,Ltd.100044)
Abstract:Modern software project of the system testing, it is more complex,there are some problems,the project management theory is applied to the test system can deal with all kinds of problems,so as to ensure the quality of software project,to better the release version of this, to seize the market.
Keywords:project management;system test