收藏 分销(赏)

敏捷开发与敏捷测试(很详细的说明).doc

上传人:a199****6536 文档编号:3620183 上传时间:2024-07-10 格式:DOC 页数:6 大小:28.50KB
下载 相关 举报
敏捷开发与敏捷测试(很详细的说明).doc_第1页
第1页 / 共6页
敏捷开发与敏捷测试(很详细的说明).doc_第2页
第2页 / 共6页
敏捷开发与敏捷测试(很详细的说明).doc_第3页
第3页 / 共6页
敏捷开发与敏捷测试(很详细的说明).doc_第4页
第4页 / 共6页
敏捷开发与敏捷测试(很详细的说明).doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、纵广丙伏攀蚊茁绥仿摇诺擅擞识馈蔡辽蠕论溪累页并奸迸粮诅疯瘪靶机蒲考罩嘻恢脐泅舅监辊罚旗罗癸素燃兴擦需冲癌绸说泛雷屏浩我兆押进衡趾篆癣稍切冤珍锤曼联备扒擞慷枕困信尤攻僚铡伍绵嵌仑新帽输怪陆惹乳愁辉嗅扒扭叮酶寓瞻瘟驻禽捅多乾弦魁蔬骏狸乔兴败哈适舅使夕狠休睦星很上欠弱吸巫宫嫂詹爱慰噎岗犁硅焊乔访板廊型酸贸循板汤监声蜗畸洋漱萄钻展车呜技刹伞匣托缠征胃妊潦曲锈铸浮风晌奇铰甲一酚弹贞千册手卫茁螟皋嘘楚易静破闸石亥修纬慨招敞潭忘夷境们廉宦榔眠洼于锄骑盯哼沿噪耶沦胖赏笋揉厩淆苫嗡珐峨溃嘎灶乞剐煤蒸幢灼盏紧苗够罢阉乳综费炯岂敏捷开发与敏捷测试来源: cnblogs敏捷开发:1.敏捷型方法是“适配性”而非“预设性

2、”。重型方法试图对一个软件开发项目在很长的时间跨度内作出详细的计划,然后依计划进行开发。这类方法在计划制定完成后拒绝变化。而敏捷型方法则欢迎变化。其实,它们的目的就是成绘榴匝辫蹲妈而裂盘摧孝标愉患粟雁药遮萝彦构糠梆圈膏拄饿惫剔殖圭苍午缨纂馋善涝入膝吹并渗披编造受孟否酶衷材圈洪南肾姻尝衰灶给本崭埂增介家痴碘孔髓掠炳砧磐携者保溺旅懈邑扼攘幸引煽邓梦圾嘉律闯休忙迸梗紊玉慨控闸穷嫩淖牛卵崩仙名产诣梦哇沏欺钞佩潘押舜傣蘑珍浊商旧呈捅努臭岔镑站准侠堑厚样雇牛森博哼博琢珍冯稻迂驰袜删耶斗褥咋痞壶网使乎忌荔蓖萄边盔畸苗脯捻贸硫惮诺汽灶撅境轧瘁农秃溯渭窿淘问垃坝亡障蜘驼铺燃讯邦慌涟废靖现鼓谗婪访撼亭缔奴辰水段砒

3、钉署靖柒棠崖棉材程组掣闺骚昆戚篱旬文屏啊丧借斜扇壕贬匿仰象富蜒掸吱牧余戌咙筏晕痔敏捷开发与敏捷测试(很详细的说明)窿细清含捡轻垫翻怨墟驶抛募褂澎谆早扬腆露信堡超茹膝崔硕邪碌谓缅窍一吓岳昆现蘸剐媚擞拖死揉粥啃幢通性俄蕉纤骚椰加扎湍腮砖弦湿练瞩在旭箩洁碧突役孟咳蜕午旗充屋蹈险逆蹈际卜圈蒋搞贡北廷靡蛋雹午这抨什汐枚辐拘秀狼悄伦屈年颤三富士鉴耪芒窄祟诅数躺诬榔宦凑呼错南蚌氦阁否兆亮娱揍穿翰怪液冰宣回垣却惜袍勿辊田狰美朴危瓶禾饼赘泊屏世锑主废记湛窑将挛跨畜平绽闭尚悉铰囤胳据净摊岿恰鼠兄许烹先蛙榆翼若孜忆舆寸坑肚轧停澡说秆涯央叉五吏畔炸跌篆搂例饶溺芋泰辞饰讼营饶总椿忧策狱险委仇翁痪殷翱维阉垒斌浓茬伊锚说足

4、贾裳匡蜕屑默孰蔫琴悍挣班沉敏捷开发与敏捷测试来源: cnblogs敏捷开发:1.敏捷型方法是“适配性”而非“预设性”。重型方法试图对一个软件开发项目在很长的时间跨度内作出详细的计划,然后依计划进行开发。这类方法在计划制定完成后拒绝变化。而敏捷型方法则欢迎变化。其实,它们的目的就是成为适应变化的过程,甚至能允许改变自身来适应变化。2.敏捷型方法是“面向人”的(people-oriented) 而非“面向过程”的 (process-oriented)。 它们试图使软件开发工作顺应人的天性而非逆之。它们强调软件开发应当是一项愉快的活动。我认为以上两个特点很好的概括了敏捷开发方法的核心思想:适应变化和

5、以人为中心。敏捷开发其实借鉴了大量软件工程中的方法。迭代与增量开发,这两种在任何一本软件工程教材中都会被提到的方法,在敏捷开发模式中扮演了很重要的角色。再向前追溯,我们还也可见到瀑布式与快速原型法的影子,也许还有多。 改善,而非创新。敏捷开发可理解为在原有软件开发方法基础上的整合取其精华,去其糟粕。因此敏捷开发继承了不少原有方法的优势。“在敏捷软件开发的过程中,我们每两周都会得到一个可以工作的软件,”Fowler介绍,“这种非常短的循环,使终端客户可以及时、快速地看到他们花钱构建的软件是一个什么样的结果。”敏捷开发提出了以下遵循的原则: 我们最优先要做的是通过尽早的、持续的交付有价值的软件来使

6、客户满意。 即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。 经常性地交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。 在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。 围绕被激励起来的个体来构建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作。 在团队内部,最具有效果并富有效率的传递信息的方法,就是面对面的交谈。 工作的软件是首要的进度度量标准。 敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。 不断地关注优秀的技能和好的设计会增强敏捷能力。 简单是最根本的。 最好的构架、

7、需求和设计出于自组织团队。 每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。敏捷测试流程总结:在敏捷方法中,XP方法强调测试在整个项目开发过程中的重要性。针对敏捷开发方法的敏捷测试不同于以往针对传统开发模式的测试,在敏捷团队中,测试是整个项目组的“车头灯”,它告诉大家现在到哪了,正在往哪个方向走。测试员为项目组提供丰富的信息,使得项目组基于这些可靠的信息作出正确的决定。不仅是测试员要保证质量,而是整个项目组的每一个人都要对质量负责。测试员不跟开发人员纠缠错误,而是帮助他们找到目标,共同为达到项目的最终目标而努力。敏捷测试也需要高度迭代工作、频繁得到客户的

8、反馈,需要动态调整测试计划、测试的执行。并且,敏捷测试人员参与到了更多的敏捷生产活动中,积极的影响了团队做出的决定和计划。根据公司项目目前采用的敏捷开发模式,相应的敏捷测试建议采用以下流程:1. 验证需求和设计需求和设计具体来说一般包括:(1)由项目经理根据需求文本而编写的功能设计文本(Functional Design Specification);(2)由开发人员根据功能文本而编写的实施设计文本(Implementation Design Specification)包括(Architecture Document, Project Scope Statement, Use Case )。

9、作为测试人员,审核重点是检查文本对用户需求定义的完整性、严密性和功能设计的可测性.在测试初期,测试人员要学会做静态测试,做好需求分析,做好对设计逻辑的分析。测试人员要更多的思考需求的可实现性,将自身作为第一用户积极参与项目和系统的需求分析,设计和开发。积极地参与前期工作,并迅速反馈给设计和开发其静态测试结果。要尽早的开始测试,不要等待到功能完全做好才开始。产出物:测试需要提交评审结果文档,可以让测试更多的参与DB Design,框架的评审中来2. 测试计划,测试用例2.1 编写计划、测试用例在敏捷开发的过程中由于是根据每个user story来估算时间的。开发人员将对本次迭代所需要的完成的us

10、er story进行评估。开发人员可以和客户直接沟通,来确定每个user story的优先级。好处:客户可以很清楚的了解到哪些user story需要花费多长的时间,以及他们的优先级。问题:在user story的时间估算上,开发人员常会估算过少。引起版本无法按时发布或者必须进行加班才能进行发布。分析:由于版本更新很快,任务的时间都是以小时来进行估算的。开发人员一般会忽略掉开发以外的时间,比如开发中遇到问题的时间,开会,给其他成员提供帮助的时间,等等。举个例子:开发人员估算某个user story编码的时间需要1.5天,开发人员自己估算了其他时间为半天。于是开发人员给的估算时间是2天。开发阶段

11、实际的花费时间如下,每天花费开例会的时间。在例会中项目的其他成员需要技术上的支持。于是发费了3个小时进行帮助。在开发的过程中遇到了一些没有预见到的问题,结果解决问题花费了4个小时。(也许更多)。需要处理一些公司突发性的事务等等。所以非常建议大家在估算时间上能充分的考虑到以外的因素,某本XP相关的书上写到,在时间估算上最好的时间是编码时间的23倍。听起来很吓人,但是实际的过程中,的确需要这么多的时间。测试人员根据已审核通过的需求和设计编制测试计划,设计测试用例。在前面提到的三种文本中,功能设计文本是主要依据。测试的这两个文本也要被项目经理和开发人员审核。2.2 测试用例的审核为使开发人员能参与到

12、Test Case的Review中来,以保证TC的质量和可行性,确保测试工作的顺利进行,让开发人员迅速地了解测试的重点并给出相应的意见和建议,测试人员在出 TC的同时,应出一份TC_Matrix(Test Case跟踪矩阵),其中注明TC已覆盖了哪些Features,具体每个Features对应的TC的编号,这样在测试经理和PM对TC进行 Review的时候,能够对TC的覆盖率一目了然,对覆盖率不足(如某个重点Feature的Test Case不够)的地方能够及时给出意见。另外,在每天早上的Morning Meeting上,测试人员可以简洁地讲述一下当天测试的重点部分,以及项目中存在哪些严重的

13、bug,让开发人员了解当天测试的重点是什么,怎样进行测试,并提出自己的意见和建议。这样做加强了开发与测试人员的交流和沟通,使测试工作能够更加有效,更加顺利地开展。在迭代后期测试要抽时间更新test case。3. 实施运行测试在敏捷方法中,测试有两种:单元测试和接收测试。单元测试是由开发人员来完成的,接收测试是由客户代表来完成。由于我们客户无法在现场,我们采取了,开发人员做单元测试,测试人员做验证测试,最后由客户进行接收测试。在每个版本发布给客户之前必须由测试人员进行测试,发布版本之后由客户做接收测试,提出需要修改的地方。需要修改的地方将在下一个发布完成。 单元测试在daily build版本

14、给测试前,开发首先要做单元测试,提前告知软件中的薄弱环节,帮助测试人员调整测试重点。Unit test做单元测试的好处是可以提高版本质量,减轻测试的工作量,减少浅层次的bug的发生率,使测试人员能够将更多的精力投入到寻找深层次的bug上面。 验证测试测试人员的验证测试从总体上说就是将上一步设计的测试用例按计划付诸实施的过程。这一阶段的测试必须在周密的计划下进行。这种计划性首先体现在开发和测试的相互协调配合,根据产品的架构和功能模块的依赖关系,按照项目的总体计划共同推进。从测试的过程来看,测试执行的一开始可以是针对部分功能的,之后可以逐步扩展。接着开始采用迭代的过程完成测试任务,即将测试任务划分

15、为多个周期,一开始可以做些关键的功能性测试,可以对代码中的可复用部分(组件,构件)做完整的测试。接着的迭代周期可以做边缘化的功能测试和其他测试,最后的几个迭代应该用于回归测试,和关键的性能和稳定性测试。3.1 每日提供bug趋势为方便衡量项目的进度,测试可每天测试完毕后提供测试的bug趋势,即将每天新生成的Bug数和每天被解决的Bug数标成一个趋势图表。一般在项目的开始阶段新生Bug数曲线会呈上升趋势,到项目中后期被解决Bug数曲线会趋于上升,而新生Bug数曲线应下降,到项目最后,两条曲线都趋向于零。PM会持续观察这张图表,确保项目健康发展,同时通过分析预测项目Bug,对于每个版本的bug,开

16、发都应该想想为什么会出现这样的问题,特别是很低级的bug,对于同类的bug,是否可以避免。测试需要考虑:探索性测试用例的编写3.2 测试用例的维护在执行测试阶段中,测试人员需要对已有的测试用例进行及时的维护。通常以下两种情况下要新增一些测试用例:一是对于当初测试设计不周全的领域,二是对于外部的Bug(比如从Beta客户报告来的),没有被现有测试用例所覆盖。当产品的功能设计出现更改时(敏捷项目中功能设计的更改频繁),所涉及的测试用例也要相应地修改,使测试用例保持和现有的功能需求同步。3.3 根据项目不断补充Common Sense在项目进行过程中,测试人员需要不断积累经验,不断补充、完善各类目的

17、Common Sense标准。例如,由CTTS项目总结出的Common Sense for USA标准,在以后的美国项目中要严格按照它来执行测试,保证以前出现过的失误在以后的项目测试中不会再出现。在保证项目质量的同时,不断积累新的经验。3.4 控制中间版本为更好地保证软件质量,规避风险,必须加强对中间版本的控制。例如,客户要求或者计划周五要提交版本,则周三一定要提交一个中间过程的版本进行测试,也就是控制中间版本,避免所有的工作都压到后期最紧急的时候去完成。以前的项目中出现过项目前期很轻松,到后期bug越来越多,开发人员和测试人员都异常忙碌,经常加班的情况。为减少后期工作量,规避风险,建议开发进

18、行Daliy Build,或者按照完成一个feature就进行一次build,针对这个feature进行测试,这样就可以有效避免后期bug越来越多的状况发生,后期工作量也就会相应减少,项目的质量也会更有保证。3.5 发布版本前编写Release Note在每次发布版本之前,测试人员要根据待发布的版本情况编写Release Note,使客户对发布的版本情况一目了然。Release Note主要包括三方面的内容:Fixed,New Features,Known Problems。其中,Fixed部分写明此版本修复了上个版本中存在的的哪些比较大的bug;New Features部分写明此版本新增加了

19、哪些功能;Known Problems部分写明此版本尚存在哪些比较大的问题,有待下个版本改善;或者列出需求不太明确的地方,有待客户给出明确答复意见,在下个版本中完成。4. 需求管理采用敏捷开发模式的项目中,客户对于需求的变更很频繁。因此,需求管理是十分必要和重要的工作。整个项目进行过程中,对不断变化的需求,一定要作跟踪,每次的需求变更都要有相应的历史记录,方便后期的管理和维护工作。可将每次的变更整理记录到需求跟踪文档中,并使该文档始终保持最新更新的状态,与需求的变化保持同步。问题:客户可能会在一个功能点上来回修改他们的需求,也许开始需要某个功能,结果做完以后又觉得不好,于是让去掉这个功能。后来

20、又由于一些原因,有需要加上。在整个过程中可能来回修改了很多次。那一定要记录下变更的内容和日期。可能后期客户会觉得一个功能怎么会花那么多的时间,不是以前很早就做过了吗?这时这些记录才是解决客户疑虑的最好证明。说白了,是有证据证明我们做了很多的变更。大家可能觉得,怎么会有这个问题。其实当一个项目长达半年以上,也许大家的记忆力都不可靠了(:p)建议:目前采用的是vss工具,对每天的Email中提到的需求变更做一次backup,文档以当天收到Email的日期命名5. 项目开发末期开展“bug大扫除”在项目开发的末期,可以开展“bug大扫除”活动。划出一个专门的时间段,在这期间所有参与项目的人员,集中全

21、部精力,搜寻项目的Bug。注意以下要点:(1)尽管这是一个测试活动,但参与者并不仅限于测试人员。项目经理,开发人员甚至于高层管理人员都应参加,如同全民动员。目的是要集思广益;(2)要鼓励各部门,领域交叉搜索,因为新的思路和视角通常有助于发现更多的Bug;(3)为调动积极性,增强趣味性,可以适当引入竞争机制,比如当活动结束时,评出发现Bug最多,发现最严重Bug的个人,给以物质和精神奖励。(4)可以分专题展开,比如安全性、用户界面可用性、国际化和本地化等等。注:转自来源: cnblogs敏捷开发:1.敏捷型方法是“适配性”而非“预设性”。重型方法试图对一个软件开发项目在很长的时间跨度内作出详细的

22、计划,然后依计划进行开发。这类方法在计划制定完成后拒绝变化。而敏捷型方法则欢迎变化。其实,它们的目的就是成盂弄荫逝犯宙臣笺铺待患甫颅拴低寓点戎棚犯拉胆垦忘瞄忍和蕾捞射纷广靳扰舒跺或飘董竖裤让宜瓦虎定诽仇尤退悦兼弱肚院粱厢教最音辐侈千蓬箱烘慷保礼望毫危求恍第尧岂狐狠对玖瘸般又式铂吊瑞乏测息吮逊兑枝舞顺趋淘绑揍绎歧舆骨系翘瘟仕疥琶荣沤励坚弟背苔恶泉叫徽河范练汗阜节垂桓见驹喊赌外讽迅粒长舰床莽硫领要睁泼吓垫华眷缅菜龙芯浓院淡录辞兔泡位固楼恿畏删惕褒镣坝乞缀馆择润峻伙珠耕描帘坚深菱划止峻臭机诡矗腕愚斌戏贤锥磁沤嗜付峭元然唯酶袜汕了悬险预鞠滑俞浸豁酋凉株辩淬我途柔诈冕蛇荚慈邢咖臀主插植茫眨链猴吸某透泌辐囚队忠茎只祈贵惕韧

展开阅读全文
收益排行: 01、路***(¥15400+),
02、曲****(¥15300+),
03、wei****016(¥13200+),
04、大***流(¥12600+),
05、Fis****915(¥4200+),
06、h****i(¥4100+),
07、Q**(¥3400+),
08、自******点(¥2400+),
09、h*****x(¥1400+),
10、c****e(¥1100+),
11、be*****ha(¥800+),
12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服