软件开发项目中成功打造测试团队的建议 [karen 修改于 2004/9/20] 状态 开放帖 精华贴 浏览量 3856 |
|
1. 传统软件测试过程中的问题 测试在所有的软件开发过程中都是最重要的部分。在软件开发过程中,一方面要求我们通过测试活动验证所开发的软件在功能上满足软件需求中描述的每一条特性,性能上满足客户要求的负载压力和相应的响应时间、吞吐量要求;另一方面,面向市场和客户,开发团队还要满足在预算范围内尽快发布软件的要求。 传统的软件测试流程一般是先在软件开发过程中进行少量的单元测试,然后在整个软件开发结束阶段,集中进行大量的测试,包括功能和性能的集成测试和系统测试。随着开发的软件项目越来越复杂,传统的软件测试流程不可避免地给我们的工作带来以下问题: 问题一:项目进度难于控制,项目管理难度加大 如图一所示,大量的软件错误往往只有到了项目后期系统测试时才能够被发现,解决问题所花的时间很难预料,经常导致项目进度无法控制,同时在整个软件开发过程中,项目管理人员缺乏对软件质量状况的了解和控制,加大了项目管理难度。
|
-------------------------------------------------------------------------------------------------------- 我来了,我看见了,我赢了! 博客空间
http://karen.mypm.net/
http://spaces.msn.com/members/karenzz999 /  >>> 由论坛统一发布的广告:
|
|
楼主
karen

职务 无
军衔 中将
来自 不告诉你 :)
发帖 3983篇
注册 2003/2/14
PM币 22798
经验
|
|
|
1楼
karen

职务 无
军衔 中将
来自 不告诉你 :)
发帖 3983篇
注册 2003/2/14
PM币 22798
经验
|
|
Re:软件开发项目中成功打造测试团队的建议
[karen 修改于 2004/9/20]
|
2. 采用测试最佳成功经验解决传统测试问题 这里有三个最佳成功经验是:尽早测试、连续测试、自动化测试,并在此基础上提供了完整的软件测试流程和一整套的软件自动化测试工具,使我们最终能够做到:一个测试团队,基于一套完整的软件测试流程,使用一套完整的自动化软件测试工具,完成全方位的软件质量验证。 2.1 成功经验一:尽早测试 所谓尽早测试是指在整个软件开发生命周期中通过各种软件工程技术尽量早的完成各种软件测试任务的一种思想。IBM Rational主要在以下三个方面为我们提供的尽早测试的软件工程技术: 首先,软件的整个测试生命周期是与软件的开发生命周期基本平齐的过程,如图三所示,即当需求分析基本明确后我们就应该基于需求分析的结果和整个项目计划来进行软件的测试计划;伴随着分析设计过程同时应该完成测试用例的设计;当软件的第一个发布出来后,测试人员要马上基于它进行测试脚本的实现,并基于测试计划中的测试目的执行测试用例,对测试结果进行评估报告。这样,我们可以通过各种测试指标实时监控项目质量状况,提高对整个项目的控制和管理能力。 图三、软件测试生命周期
此主题相关图片如下:
 其次,通过迭代是软件开发把原来的整个软件开发生命周期分成多个迭代周期,在每个迭代周期都进行测试,这样在很大程度上提前了软件系统测试发生的时间,这可以在很大程度上降低项目风险和项目开发成本。 最后,尽早测试成功经验还体现在它扩展了传统软件测试阶段从单元测试、集成测试到系统测试、验收测试的划分,将整个软件的测试按阶段划分成开发员测试和系统测试两个阶段,如图四所示,它把软件的测试责无旁贷地扩展到整个开发人员的工作过程。通过提前测试发生的时间来尽早地提高软件质量、降低软件测试成本。 图四、测试阶段的划分
此主题相关图片如下:
|
-------------------------------------------------------------------------------------------------------- 我来了,我看见了,我赢了! 博客空间
http://karen.mypm.net/
http://spaces.msn.com/members/karenzz999 /
|
|
2楼
karen

职务 无
军衔 中将
来自 不告诉你 :)
发帖 3983篇
注册 2003/2/14
PM币 22798
经验
|
|
Re:软件开发项目中成功打造测试团队的建议
[回复于 2004/9/20]
|
2.2 成功经验二:连续测试 测试成功经验连续测试是从迭代式软件开发模式得来。在迭代化的方法中,我们将整个项目的开发目标划分成为一些更易于完成和达到的阶段性小目标,这些小目标都有一个定义明确的阶段性评估标准。迭代就是为了完成一定的阶段性目标而从事的一系列开发活动,在每个迭代开始前都要根据项目当前的状态和所要达到的阶段性目标制定迭代计划,而且每个迭代中都包括需求、设计、编码、集成、测试等一系列的开发活动,都会增量式集成一些新的系统功能。通过每次迭代,我们都产生一个可运行的系统,通过对于这个可运行系统的测试来评估该次迭代有没有达到预定的迭代目标,并以此为依据来制定下一次迭代的目标。由此可见,在迭代式软件开发的每个迭代周期我们都会进行软件测试活动,整个软件测试的完成是通过每个迭代周期不断增量测试和回归测试实现的。 如图五所示,采用连续测试的软件成功测试经验,不但能够持续的提高软件质量、监控质量状态,同时也使系统测试的尽早实现成为可能。从而有效的控制开发风险、减低测试成本和保证项目进度。 图五、测试成功经验:连续测试
此主题相关图片如下:
 2.3 成功经验三:自动化测试 在整个软件的测试过程中要想实现尽早测试、连续测试,可以说完善的测试流程是前提,自动化测试工具是保证。自动化测试成功经验主要是指利用软件测试工具提供完整的软件测试流程的支持和各种测试的自动化实现。
|
-------------------------------------------------------------------------------------------------------- 我来了,我看见了,我赢了! 博客空间
http://karen.mypm.net/
http://spaces.msn.com/members/karenzz999 /
|
|
3楼
karen

职务 无
军衔 中将
来自 不告诉你 :)
发帖 3983篇
注册 2003/2/14
PM币 22798
经验
|
|
Re:软件开发项目中成功打造测试团队的建议
[回复于 2004/10/28]
|
尽早测试,连续测试,自动化测试。。。。的确是经验之谈啊~~ 需求测试:对需求分析结果的测试,这个要求比较高,如何识别偏差和错误?谁是最合适的测试角色?针对的“预期输出”以什么为基准? 设计测试:可以参照需求文档/模型进行测试,同时也可以对需求的偏差进行识别(这个时候往往对需求的理解更加深入!) 单元测试:按照设计文档衍生出来的测试用例和开发员经验编写的测试用例进行,不过这个测试在实际中往往不能很好贯彻,会大大的打折扣 全生命周期测试的高度~~ 在“极限编程”中,把测试提到了非常的高度,先测试,再编码,测试驱动开发,每天都在测试,还有不间断的nightly test...系统测试也是和开发过程并行的 自动化测试是需要成本的,倒是想知道一些性价比高的自动化测试工具,比如性能测试,压力测试,并发测试。。。没有自动化工具基本上是无法做的~~
|
-------------------------------------------------------------------------------------------------------- ****有问题,找IT项目管理****... ITPM在线:QQ群-8721636;BB群(msn)- group3730@bbqun.com ;高级M群(msn)- group151431@xiaoi.com (PMP+5年以上PM经验,需验证!) One Aim,One God,One Life. || 最爱:偶家阳阳 || 博客:愚人camer || MSN:camellxr@hotmail.com 
|
|
4楼
camer

职务 无
军衔 上将
来自 广东
发帖 2745篇
注册 2003/3/3
PM币 14759
经验
|
|
Re:软件开发项目中成功打造测试团队的建议
[回复于 2004/10/29]
|
可以具体说明如何做需求和设计测试吗?
|
|
|
5楼
eveningstar

职务 无
军衔 一等兵
来自 上海
发帖 1689篇
注册 2004/4/7
PM币 1361
经验
|
|
Re:软件开发项目中成功打造测试团队的建议
[回复于 2004/10/30]
|
楼主所言既是,我目前的项目在测试上几乎投入了我最精锐的人员,还搞的精疲力竭中。就是因为测试的太晚
|
|
|
6楼
mkopen

职务 无
军衔 二等兵
来自 浙江
发帖 189篇
注册 2003/6/11
PM币 425
经验
|
|
Re:软件开发项目中成功打造测试团队的建议
[回复于 2006/4/23]
|
内容与题目不吻合
|
|
|
7楼
丑牛

职务 无
军衔 无军衔
来自 广东
发帖 1篇
注册 2006/4/23
PM币 15
经验
|
|