项目管理资源网

您的位置:项目管理资源网 >> 研发制造项目管理

软件开发项目中打造测试团队

2006/7/14 10:40:24 |  3249次阅读 |  来源:网友转载   【已有0条评论】发表评论

1. 传统软件测试过程中的问题

测试在所有的软件开发过程中都是最重要的部分。在软件开发过程中,一方面要求我们通过测试活动验证所开发的软件在功能上满足软件需求中描述的每一条特性,性能上满足客户要求的负载压力和相应的响应时间、吞吐量要求;另一方面,面向市场和客户,开发团队还要满足在预算范围内尽快发布软件的要求。

传统的软件测试流程一般是先在软件开发过程中进行少量的单元测试,然后在整个软件开发结束阶段,集中进行大量的测试,包括功能和性能的集成测试和系统测试。随着开发的软件项目越来越复杂,传统的软件测试流程不可避免地给我们的工作带来以下问题:

问题一:项目进度难于控制,项目管理难度加大



如图一所示,大量的软件错误往往只有到了项目后期系统测试时才能够被发现,解决问题所花的时间很难预料,经常导致项目进度无法控制,同时在整个软件开发过程中,项目管理人员缺乏对软件质量状况的了解和控制,加大了项目管理难度。

问题二:对于项目风险的控制能力较弱

项目风险在项目开发较晚的时候才能够真正降低。往往是经过系统测试之后,才真正确定该设计是否能够满足系统功能、性能和可靠性方面的需求。

问题三:软件项目开发费用超出预算

在整个软件开发周期中,错误发现的越晚,单位错误修复成本越高,如图二所示,错误的延迟解决必然导致整个项目成本的急剧增加。

图二、传统测试流程中存在的问题



2. 采用测试最佳成功经验解决传统测试问题

这里有三个最佳成功经验是:尽早测试、连续测试、自动化测试,并在此基础上提供了完整的软件测试流程和一整套的软件自动化测试工具,使我们最终能够做到:一个测试团队,基于一套完整的软件测试流程,使用一套完整的自动化软件测试工具,完成全方位的软件质量验证。

2.1 成功经验一:尽早测试

所谓尽早测试是指在整个软件开发生命周期中通过各种软件工程技术尽量早的完成各种软件测试任务的一种思想。IBM Rational主要在以下三个方面为我们提供的尽早测试的软件工程技术:

首先,软件的整个测试生命周期是与软件的开发生命周期基本平齐的过程,如图三所示,即当需求分析基本明确后我们就应该基于需求分析的结果和整个项目计划来进行软件的测试计划;伴随着分析设计过程同时应该完成测试用例的设计;当软件的第一个发布出来后,测试人员要马上基于它进行测试脚本的实现,并基于测试计划中的测试目的执行测试用例,对测试结果进行评估报告。这样,我们可以通过各种测试指标实时监控项目质量状况,提高对整个项目的控制和管理能力。

图三、软件测试生命周期



其次,通过迭代是软件开发把原来的整个软件开发生命周期分成多个迭代周期,在每个迭代周期都进行测试,这样在很大程度上提前了软件系统测试发生的时间,这可以在很大程度上降低项目风险和项目开发成本。

最后,尽早测试成功经验还体现在它扩展了传统软件测试阶段从单元测试、集成测试到系统测试、验收测试的划分,将整个软件的测试按阶段划分成开发员测试和系统测试两个阶段,如图四所示,它把软件的测试责无旁贷地扩展到整个开发人员的工作过程。通过提前测试发生的时间来尽早地提高软件质量、降低软件测试成本。

图四、测试阶段的划分



2.2 成功经验二:连续测试

测试成功经验连续测试是从迭代式软件开发模式得来。在迭代化的方法中,我们将整个项目的开发目标划分成为一些更易于完成和达到的阶段性小目标,这些小目标都有一个定义明确的阶段性评估标准。迭代就是为了完成一定的阶段性目标而从事的一系列开发活动,在每个迭代开始前都要根据项目当前的状态和所要达到的阶段性目标制定

    项目经理胜任力免费测评PMQ上线啦!快来测测你排多少名吧~

    http://www.leadge.com/pmqhd/index.html

“项目管理生根计划”
企业项目经理能力培养和落地发展方案下载>>

分享道


网站文章版权归原作者所有,如有认为侵权请联系我们,将于1个工作日内作出处理!
网友评论【 发表评论 0条 】
网友评论(共0 条评论)..
验证码: 点击刷新

请您注意护互联网安全的决定》及中华人民共和国其他各项有关法律法规或间接导致的民事或刑事法律责任
·您在项目管理资源网新闻评论发表的作品,项目管理资源网有权在网站内保留、转载、引用或者删除
·参与本评论即表明您已经阅读并接受上述条款