软件测试项目管理策略研究
2009-06-25崔天意
崔天意
摘要:软件测试是提高软件项目质量一个非常重要的手段,为了提高软件测试质量,减少软件维护成本,本论文从测试人员和测试过程管理的角度,分析通过测试项目管理提高软件质量的方法。
关键词:软件测试测试管理软件质量
一、引言
随着软件业蓬勃发展,软件项目越来越凸现大型化、复杂的发展趋势。几十人甚至上百人的开发团队,成千上万的模块、接口,跨地域、跨系统的使用用户等情况早已屡见不鲜,这些情况对项目质量管理提出了更高要求。为满足各方需求,更好的完成软件测试,测试管理已经逐渐成为软件测试过程中关注的焦点。
二、测试中普遍存在的问题
1.手工过多,缺少测试工具,缺乏自动化测试方式。
2.缺乏对文档的测试、检查。
3.单元测试应引入交叉测试方法。
4.测试工作在开发基本完成时才启动。
5.测试用例、测试方案的复用率低。
6.测试人员素质低,缺乏相关知识
7.测试进度的错误估算。
三、测试人员管理
一是对测试人员进行培训。测试人员自身业务水平的高低和对被测系统掌握的熟练程度,都直接关系到软件测试的质量和工作进度。为此,在正式对软件测试前,应根据项目要求对测试人员进行集中培训,通过培训让测试人员熟练掌握系统的结构和功能,必要的测试方法和测试管理流程等,对整个软件应用系统及测试管理制度及流程有一个完整的认识。
二是鼓励测试人员与开发人员进行沟通。测试工作是一项对交流能力要求很高的工作,经常需要和开发人员进行有效和及时的交流。测试人员的工作不只是要找出问题,而且是更大程度上要提出更多的解决问题的方法和建议。在不能提出方法和建议的时候要尽量详细和清楚的描述问题产生的前后所做的操作。能够重现问题,也是测试人员的基本职责。开发人员经常由于工作比较紧,所以更希望测试人员能够简洁、明了的描述问题。如果能够给出他们合理的修改问题的建议和方法,他们也会对测试人员刮目相看,从而建立更好的合作关系。
三是规定测试人员应坚持的原则。作为一名测试人员有时需要从经济学的角度考虑问题的严重程度和可修复程度对整个项目所带来的影响。有时由于缺少对被测软件开发过程的了解,测试出一个问题之后,不知道产生错误的原因或修复的难易程度。开发人员会狡辩这个不是问题,就会略过修改,而以后用户会认为它确实是存在的一个问题。盲目的听从开发人员是测试人员的一个误区。应该坚持工作原则,不以个人意志,而是客观的关闭问题。
四是加强测试工具使用的学习。首先熟悉一种测试管理工具,然后可以选择学习各种专用测试工具。①测试管理工具的代表有TestDi2rector、TestManager、QADirector、TrackRecord等软件;②静态测试工具的代表有Logiscope、PRQA、McCabe等软件;③动态测试工具的代表有DevPartner、Purify、BounceChecker等软件;④系统测试工具的代表有TeamTest、Robot、QACenter、WinRunner、LoadRunner、Quantify、WebLoad、WebStress等软件;⑤专用测试工具,对web应用的有Workbench、Web Application Stress Tool(WAS)、Astra系列等;数据库测试工具TestBytes以及嵌入式测试工具Test RealTime、CodeTest等软件。
四、测试过程管理
当测试项目比较多,时间比较紧时,很多项目都是项目初期的时候编写了测试用例,并且进行测试方法的讨论,后来由于一些实际情况把这些用例和方法都丢弃了。这样导致在测试的过程中都是随意的进行测试。程序的有些地方都测试过很多遍,而有一些地方却没有测试到,造成了大量的重复劳动和低效率的劳动。因此,必须加强测试过程管理。
(1)测试环境的准备。测试人员应根据软件项目测试的要求,建立相应的测试环境,建立参数,准备好测试外围设备,供测试人员使用。须注意的是在建立测试环境时要时刻保持测试环境中参数表的正确、交接的全面、软件的版本是最新的。同时要配备专人来维护测试环境,解决测试中环境出现的问题。
(2)测试任务与职责分配。根据测试软件项目的规模、完成时间,确定参与测试人员的人数,测试负责人把测试任务分配给每一个测试人员,明确每一个测试人员自己负责测试的内容及要求。
(3)测试文档评审。测试人员按照要求撰写有关的测试文档,撰写完毕后提交质量监督人员审核,质量监督人员可以召开测试评审会议对测试文档进行评审。测试评审内容包括:测试需求规格说明、测试计划、测试说明。通过评审找出:①不符合实际的测试需求;②不可行的测试计划;③不充分的测试用例;④撰写不规范的测试文档。对没有通过评审的测试文档要限期更改。
(4)测试资源管理。通常软件评测中心会同时有多个软件项目一起测试,各个项目完成的时间和使用的资源不一样,因此中心内部可以根据各项目进展情况,对资源进行调整安排。测试资源管理主要包括对人力资源、工作环境、使用设备、技术支持的管理。①测试过程中,针对软件项目测试进度合理调配测试人员、重新分配测试任务;②做好测试环境的维护,保持测试环境稳定;③维护好测试人员使用的机器设备,确保设备正常运转。
(5)测试问题管理。主要是测试人员在软件项目测试过程中,对发现软件问题的全过程记录管理。一是做好软件问题分类管理;二是测试过程的跟踪监控;三是使用测试管理工具。
(7)测试协调会。在一个大型应用系统中,渠道畅通,流程环节少,解决问题就快。召开协调会的目的既是对前一段工作进行总结,也是对工作中存在的问题商讨解决的方法。因为,在日常测试过程中,会涉及到相关的系统维护、软件开发和质量控制人员,为确保软件项目测试的顺利完成,作为测试管理人员需在日常工作中开好三个协调会。分别是测试前例会、测试过程中例会、测试总结会。
五、结束语
软件测试是检验开发结果是否接近预期目标的重要手段。但它只是一种信息反馈过程,作为软件质量的守护者,它可以发现缺陷,但无法避免缺陷的发生,不能将软件质量的安危都押在测试这个砝码上。软件质量靠的是各个项目管理过程的互相配合及项目负责人的整体控制把握,测试只是其中的一部分。◆
参考文献:
[1] 王萍,熊小敏,杨国强.软件测试管理[J].计算机与现代化,2005.11
[2] 宁艳,苏建元.软件质量管理[J].电脑开发与应用,2005.12
[3] 陈胜军,软件测试方法的研究[J].安徽电子信息职业技术学院学报, 2006.1
[4] 高其胜,曾永和,邓卫红.软件测试初探[J].科技资讯,2006.1
[5] 高慧英. 软件测试管理及其工程应用[J].计算机与数字工程,2007.1
[6] 郑人杰,殷人昆,陶永雷.实用软件工程[M].清华大学出版社,2006.7
[7] Cem Kaner,James Bach,Bret Pettichord.软件测试经验与教训[M].韩柯,等译.北京:机械工业出版社,2004.
[8] 张大方.软件测试技术与管理[M].湖南大学出版社.2007.8