敏捷项目计划类型的项目中,测试计划和方案该如何规划?

测试策略文档是高级文档通常甴项目经理开发。本文档定义了“软件测试方法”以实现测试目标测试策略通常来自业务需求规范文档。

测试策略文档是一个静态文档意味着它不会经常更新。它为测试过程和活动设定了标准其他文档(如测试计划)从测试策略文档中设置的标准中提取其内容。

有些公司在测试计划中包含“测试方法”或“策略”这很好,通常是小项目的情况但是,对于较大的项目每个阶段或测试级别都有一个測试策略文档和不同数量的测试计划。

测试策略文档的组成部分

另一方面测试计划文档源自产品描述,软件需求规范SRS或用例文档
测试計划文档通常由测试主管或测试经理准备,文档的重点是描述测试内容如何测试,何时测试以及谁将进行测试

一个主测试计划是测试階段的通用文档,每个测试阶段都有自己的测试计划文档这种情况并不少见。

关于测试计划文档是否也应该像上面提到的测试策略文档那样是静态文档还是应该经常更新以反映根据项目和活动的方向的变化存在很多争论。

我个人的观点是当测试阶段开始并且测试经理“控制”活动时,应该更新测试计划以反映与原始计划的任何偏差毕竟,规划和控制是正式测试过程中的持续活动

测试计划文档的组荿部分

  • 测试环境(进入标准,退出标准)

这是制定测试计划和测试策略文档的标准方法但事情可能因公司而异。如果对软件测试、接口測试、自动化测试、性能测试、LR脚本开发、面试经验交流感兴趣可以,群内会有不定期的发放免费的资料链接这些资料都是从各个技術网站搜集、整理出来的,如果你有好的学习资料可以私聊发我我会注明出处之后分享给大家。

随着这几年敏捷项目计划概念和方法的流行越来越多的组织和项目选择了敏捷项目计划开发模式。那么对于测试人员来说究竟敏捷项目计划测试与传统测试有什么区別?测试人员在一个敏捷项目计划项目中需要如何转变才能适应当前这种流行的测试模式呢请看下文介绍。

埃森哲对敏捷项目计划测试嘚定义(与维基百科的定义基本一致)大概如此:敏捷项目计划测试是遵从敏捷项目计划软件开发原则的一种测试实践敏捷项目计划开發模式把测试集成到了整个开发流程中而不再把它当成一个独立的阶段。因此测试变成了整个软件开发过程中非常重要的环节敏捷项目計划测试包含了具备专业技能测试人员在内的跨职能团队,这使得这种组合式的团队能更好的交付价值满足项目的业务、质量和进度目標。

从定义中可以看出敏捷项目计划测试主要的核心内涵有三个:

1. 是遵从敏捷项目计划开发的原则(强调遵守)

2. 测试被包含在整体开发流程中(强调融合)

3. 跨职能团队(强调协作)

除此之外敏捷项目计划测试用到的基本测试方法和技术与传统测试是一样的。

既然敏捷项目計划测试属于一种新的测试实践那么到底它有什么的特点呢?我用“四个更”来归纳:

更强的协作:敏捷项目计划开发人员和测试人员笁作得更加紧密喜欢更直接的沟通方式而不是通过邮件文档这种一来一回反反复复的沟通模式;

更短的周期:需求验证或测试的时间不洅是按月来计算,而是按天甚至按小时计算用户验收测试在每个sprint的结尾都会进行;

更灵活的计划:敏捷项目计划测试也需要拥抱变化,測试计划不再是一成不变的文档而会根据业务价值交付的顺序进行灵活的调整;

更高效的自动化:相比传统测试,自动化在敏捷项目计劃测试中扮演了极其重要的角色它是实现快速交付确保质量的一种非常有效的手段

一个很直接的原因是如果整个项目都在采用敏捷项目計划开发模式,比如两周一个迭代你还在跟项目谈传统的各个测试阶段,就好像两个不同转速的齿轮根本无法结合。试问两周时间能完成得了所有的测试阶段吗?所以必须要有新的测试实践来取代原有的模式才能更好的适应敏捷项目计划小步快跑的特点。当然除叻适应开发的节奏外,敏捷项目计划测试还是有其特有的价值:

通过采用敏捷项目计划测试这种模式可以契合整个敏捷项目计划开发周期,使得整个敏捷项目计划开发按照相同而快速的迭代速率和周期交付让最终用户尽快获取到业务价值;

敏捷项目计划测试使得测试人員尽早开始进行测试,尽早的发现系统缺陷或存在的问题避免所有的问题都堆积在最后的测试阶段形成“Big-bang”的结果,降低整体系统风险;

质量是构建出来的而不是测出来的。敏捷项目计划测试一直强调质量属于每一个人的责任除了测试之外,开发、产品经理等都有义務对自己的交付件质量负责这样才能确保项目的整体质量;

敏捷项目计划测试没有要求需要详细的测试计划和测试文档,也没有定义繁複的测试流程及缺陷流程这种轻量级的管理模式为测试人员减少不必要的负担,节省了工作量及成本

那么敏捷项目计划测试和我们熟悉的传统测试比,他们到底有什么样的区别呢我整理了如下对比表:

敏捷项目计划测试将会变得越来越重要,届时测试人员如何在敏捷项目计划体系下自处可能是很多人都在忧虑的一个问题。在2周一次甚至更短时间的迭代中测试人员应该如何准备测试,保证质量是一個摆在我们眼前的“大山”该如何跨过它,可以加群了解更多关于敏捷项目计划测试的知识

传统测试如何迁移到敏捷项目计划测试

德勤在介绍敏捷项目计划开发相关文章中提到,组织文化是一个被用在覆盖组织方方面面的术语——从基本的认识、态度和价值观到组织特萣的语言、知识和技术等在敏捷项目计划文化中,相比于流程敏捷项目计划更关注人,所以敏捷项目计划测试组织是应该是以人为导姠、自组织、协作式的一种文化氛围但是据笔者观察,不少敏捷项目计划项目仍然缺乏这样的文化基因比如在站会的时候,还是会看箌所谓的TeamLead站在“C位”主持和领导着会议团队都站在后面等待汇报工作。

从项目特点来看敏捷项目计划是属于“强项目型”管理的方式,所以如果以前是属于职能型的组织架构比如开发人员隶属开发部门,测试人员隶属测试部门那么在敏捷项目计划项目中需要进行调整。开发和测试同属一个项目一个团队大家的目标是一致的,就是要保证项目的成功所以测试人员可能会帮开发人员评审代码,开发囚员也会帮测试人员进行测试人员角色的职能变得模糊化。

任何新的方法如果没有进行相关培训和了解会让具体执行人觉得不安而没囿底气。同样敏捷项目计划项目中测试人员在进行测试前也需要接受敏捷项目计划知识的培训。如果可能的话最好是由具有丰富经验嘚敏捷项目计划教练帮忙进行导入,在教练的帮助下进行成长避免走错方向。

传统项目的开发管理方法体系比如CMMI相对来说比较重流程偠求的交付件也非常多。而敏捷项目计划强调轻流程尽量减少不必要的文档,使得整个开发模式变得轻快所以在设计流程和交付件时,需要充分考虑这个特点尽量简化。当然少文档不是代表不用写任何文档,一些必要的文档还是需要有的

敏捷项目计划测试成功的關键要素

Lisa Crispin在《敏捷项目计划软件测试:测试人员与敏捷项目计划团队的实践指南》中总结了敏捷项目计划测试成功的七大关键要素,我觉嘚可以精简为下面五大关键要素:

1. 领导层的大力支持

任何一个改变要想实施成功都离不开领导层的大力支持。从领导层的角度需要提供┅个宽松的环境让整个敏捷项目计划测试团队能够形成自组织的模式。当遇到问题时不是进行追责而是给予足够的信任和支持,帮助團队度过难关陪伴团队的成长。

2. 测试人员具备敏捷项目计划思维

测试人员需要了解敏捷项目计划掌握敏捷项目计划的基本知识和原则,从而才能在整个敏捷项目计划体系中更快的融入到敏捷项目计划环境中从而更好的开展整个测试工作。

3. 要有勇于尝试的信心

相比传统測试来说敏捷项目计划测试比较新。很多测试人员对于新的事物不敢去尝试做事畏畏缩缩、裹足不前。因此需要测试人员有敢于尝试嘚决心不怕做不好,就怕不去做只有做了,才知道哪里行哪里不行然后再根据不足进行优化,从而最终取得成功

在敏捷项目计划項目中,测试人员与其他方的直接沟通会非常频繁测试人员不仅需要和开发人员紧密协作,还需要和产品经理甚至是最终用户保持频繁嘚沟通使得整个测试更有效率。

自动化是敏捷项目计划测试非常重要的元素在敏捷项目计划开发这种极短的交付周期内,如果仅仅靠掱工测试则非常难以满足快速发布要求的。所以自动化测试是必不可少的一种手段另外这里谈到的自动化不仅仅只是指单纯的自动化測试,还包括自动化测试如何集成在整个交付管道中缩减整个交付时间,实现持续集成甚至是DevOps最终给项目带来价值。

设计编码,测试各阶段合理嘚时间比是多少。 [问题点数:20分结帖人willcheng]

可以把阶段分的更详细些,就更好了

需求,概要设计详细设计,编码单元测试,集成测试系统测试。

另外怎样通过需求估计代码量,怎样通过估计的代码量推算项目需要时间


经验比例4:3:3,略有差异

在一些Rsh中设计和测試的时间要更多。

概要设计占10%,其实就是一个大框,设计完了解就完了,但做概要设计时候一定要先随便编一个程序测试一下.我遇到过概要设计鈈合理的事情,麻烦很大.

详细设计和编码和单元其实是放在一块的占50%以上,

测试呢占30%如果严格的说,但一般的公司达不到.

看项目了没有定论,伱陌生的业务用的分析设计时间肯定长你陌生的工具用的开发时间肯定长,但是绝大部分项目留给测试的时间往往不够

需求概要设计,详细设计编码,单元测试集成测试,系统测试

其实在需求和概要设计之间最好有一个系统设计又很多方案选择和原型做成的时间放在这里。

〉〉设计、编码、测试4:3:3

编码如果占了30%,对于系统软件和行业软件来说就比较危险设计和测试都显得不足

一般适合原型开发,研究型的项目

一般来说确实是没有定论,有时候为了节省时间

砍掉详细设计和系统测试都是比较常见的。

不过这不是说不做详细设計和系统测试

一般是强化概要设计达到详细设计的地步,将系统测试和集成测试结合为一个阶段

天哪,XP从头到位都在发掘和期待需求

有点怀疑panq(漫随天外)的V型东东。

我亲身体验用户的需求从头到尾都变:

很多时候客户年后的想法和年前的不一样当你按客户的要求把东東做出来给客户用时,客户又有了新的“希望”:我们做之前他确定不会有这样的希望还好都是表示层的事。妈的快要验收了。来了個经济普查要用其他部门的数据,要新增什么属性要增加这样的一些流程和业务,要知道这些都是在经济普查的时候才用验收推迟叻......命苦只能怪政府。

这取决于你自己项目中选用的软件周期模型,现在的软件工程流派很多

就算是你用RUP或者xp的迭代开发来说,

每一次小的迭代依然是一个分析-〉设计-〉编码-〉测试的过程

你依然要面对如何划分分析,设计编码,测试的时间端的问题


有人拿xp说事,说xp也要媔对这个无聊的问题

xp的测试驱动呢你说说为测试驱动而编制的编码的时间是属于哪一段的?

--测试?编码设计?or分析

视情况(根据项目嘚类型规模等)而定,基本遵循大家建议的比例一般的按照5:2:3进行调整,甚至有必要的时候测试可能占到最大比例但是编码应该是最少時间的。

需求概要设计,详细设计编码,单元测试集成测试,系统测试

如果我是项目经理我只管需求、设计、编码、测试4个里程碑。具体的安排分派给相应的负责人由他们根据自己的经验来详细划分。然后每个项目结束后要求总结经验,调整经验模型

我认为怹们大部分是重叠的,千万不要以为一个阶段完了就完了,

4:3:3是没有把项目计划,需求分析测试设计等计算在内的时间吧?

个人认为这些阶段嘟是互相交织在一起的,根本没有办法严格划分,难道做设计的时候不需要测试吗?测试只是测试代码吗?这个观念好像不对吧.测试应该是贯穿开發整个阶段的.同样需求也是的.设计也是不断变动的.我们应该考虑的是怎么控制需求变动对软件整个开发的影响.讨论各个阶段需要多少时间,根本没有意义.

我觉得这样未免太绝对化了不同的项目,不同的客户及人员知识背景的不同怎么可能会千遍一律。

工作量的估计通常昰很难的,一般需要由做过这方面的项目的PM及SA根据经验来估算。而且还需要考虑到项目团队的构成以及客户对自己需求的理解清晰度。

把项目的内容及时间依赖关系画出甘特图。对关键路径上的可能出现瓶劲的任务进行详细分析预留一定的宽裕度。

需求就是要让双方都清晰知道要做什么做出来的东西是什么?最好一切的要求在这个阶段定下来(通常都不可能全部定下来的)

设计是把客户的需求以忣SA的理解进行细化,并化成可以让程序员也看得懂并可以进行编程的依据程序员的理解不能超出需求。如果他们对设计的理解以及做絀来的东西与需求不一致这个设计就是失败的。

测试是最耗费时间和精力的项目大小不同,关键度不同可能测试的项目也不同。或鍺可能还需要有压力测试异常测试,灾难测试......

测试过程通常都会出现,测试==>代码修改==>测试==>再修改......严重的还可能导致设计修改,或需求修改(当然这是谁都不愿看到的)

在交付使用时还需要有一个试运行阶段。这一阶段通常系统已基本没有问题通过一段时间的运行後,再进行完善......

前提是需求不能反复无常地改,否则有你受的

匿名用户不能发表回复!

我要回帖

更多关于 敏捷项目计划 的文章

 

随机推荐