文档详情

微软软件测试之道41-42.doc

发布:2018-11-26约3.55千字共5页下载文档
文本预览下载声明
Agile Methodologies 敏捷方法 By using the spiral model, teams can build software iteratively—building on the successes (and failures) of the previous iterations. The planning and risk evaluation aspects of spiral are essential for many large software products but are too process heavy for the needs of many software projects. Somewhat in response to strict models such as waterfall, Agile approaches focus on lightweight and incremental development methods. 在上一迭代成功或失败的基础之上,使用螺旋开发模式的团队能以迭代的方式开发软件。螺旋模式的规划和风险评估环节对于许多大型软件产品来说是至关重要的,但对很多其他软件项目来说却太过繁琐。有别于上述两种严格的开发模式,敏捷开发模式侧重于轻灵和小步递进的开发方法。 敏捷开发当前在软件界非常流行。很多不同的开发模式都可以归类到敏捷开发,它们大致具有以下特征: 频繁而短暂的迭代。敏捷团队致力于快速发布软件,并且有做到这一点的纪录。 强调面对面的交流和协作。敏捷团队注重队员相互之间和与用户之间的交流。 对产品要求变化的适应力。敏捷团队灵活机动,他们擅于应对在产品开发周期中的任何环节用户要求的变化。短暂迭代允许他们频繁地对变化区分优先次序和及时应对。 贯穿始终的质量责任制。在敏捷开发团队里,单元测试广泛地为开发人员所用。很多人使用测试驱动的开发方法(Test.driven Development,TDD)。这是一种开发人员先写单元测试程序,然后再实现产品功能以通过该测试的开发方法。 在软件开发中,敏捷意味着团队能够快速地按需要调整前进的方向。以通过小改动随时提供可用软件为目标,积少成多就能取得可观的成果,而且工程团队几乎总能知道产品的当前状态。与此相反,我记得有一个项目用非敏捷模式开发,曾经连续3个月都是95%完成。事后才发现,当时我们实际上不知道还余下多少工作量没完成,因为我们试图同时做所有的事,结果做了好几个月还是没有交出任何可用的软件。敏捷的目标是每次做一点,而不是一次全部完成。 现在存在几十种软件开发模式,还有更多的模式及变体将会继续流行。没有哪一种模式是最好的,但是充分了解所选用的模式,并且在该模式的规范内开发软件,你就有更大的机会开发出优质的产品。 不清楚是否有意所为,我参与的大多数的微软产品都使用螺旋或其变体的开发模式。当我加入微软的Windows 95团队时,他们处在里程碑8(我们管它叫M8)的初始阶段。就像它的一个前身M6一样,M8最后成了一个公共试用版。每个里程碑都对产品功能和质量有具体的目标。在微软,每一个我直接或间接参与开发的产品都使用过里程碑模式。 自从我2005年离开产品开发,加入卓越工程部后,很多微软开发团队开始接纳和使用敏捷开发模式。里程碑进度计划建立了项目发布的时间表,也包含了关键的过渡安排和中期版本(例如测试版和业内预览版)的时间表。里程碑进度计划帮助每个团队了解整个项目的期望值和现状。如图3.3所示是一个里程碑模式的例子。 Figure 3-3: Milestone model example. 图3-3:历程墓方式例子 The powerful part of the milestone model is that it isnt just a date drawn on the calendar. For a milestone to be complete, specific, predefined criteria must be satisfied. The criteria typically include items such as the following: 里程碑模式的优点是里程碑不仅仅是写在日历上的一个日期。要完成一个里程碑,必须满足具体的、事先定义好的阶段结束标准,下面简称阶段标准。阶段标准通常包括以下几条: ? Interim test goals accomplished For example, code coverage goals or tests completed goals are accomplished. 中期测试目标达到。例如代码覆盖目标或测试完成率目标
显示全部
相似文档