Visual Studio 2010 Ultimate敏捷测试驱动开发

发表于:2009-12-18来源:作者:点击数: 标签:
Visual Studio 2010 Ultimate 敏捷 测试驱动 开发 单元测试 在微软Visual Studio 2010 Ultimate Beta2版本中, MSF for Agile Software Development 5.0过程框架,是以Scrum模型为基础导向扩展,并且结合了 VSTS 2010工具的众多测试功能特性,为更多的从事微

       Visual Studio 2010 Ultimate敏捷测试驱动开发   单元测试

  在微软Visual Studio 2010 Ultimate Beta2版本中,MSF for Agile Software Development 5.0过程框架,是以Scrum模型为基础导向扩展,并且结合了VSTS2010工具的众多测试功能特性,为更多的从事微软.NET技术相关的开发人员以实现高质量的软件产品。

  在本文中,笔者将介绍Visual Studio 2010 Ultimate Beta2版本中的MSF for Agile的Scrum和XP敏捷思想与VSTS2010强大的测试功能,通过对这些内容的阐述,让读者了解在VSTS2010中的敏捷测试驱动开发方法,以便于.NET开发人员能把敏捷驱动开发为导向的技术,应用在自己的项目和团队中,从而构筑出敏捷的开发团队。

  1.引言

  在前几篇的文章中提到过的Scrum,相信读者们都应该已经不陌生了,它的核心在于迭代,并且以每个sprint时间段的周期进行产品功能迭代。团队首先浏览开发需求,考虑可用技术,并对自身技术及能力做出评估,所有实践就是围绕着一个迭代和增量的过程来展开,而在每个迭代内部,可以使用测试驱动和持续集成的XP(eXtreme Programming,极限编程)工程实践。

  XP,是最轻量级的开发流程,其最主要的精神是“在客户有系统需求时,给予及时满意的可执行程序”,所以最适合需求快速变动的方案。Scrum与XP所不同的是,Scrum只是一个敏捷过程框架,它并没有提供核心的价值观与指导原则,也缺乏具体的实践方法,例如,测试驱动开发、结队编程等。Scrum仅仅规定了实施的基本流程与检查表,它是一个开放的管理框架,重心在于项目管理,而不是指导团队成员如何进行开发。这既是Scrum的优点,因为它很灵活,能够适应大多数场景,也可以兼容并包地引入其他方法学所提倡的实践;同时也是Scrum存在的固有缺陷,使得它难以被实践。如果没有一位优秀的Scrum Master,而团队成员又缺乏自我组织和管理的能力,就会让开发过程变得一团糟,团队成员将会无所适从。

  在团队中开发人员随时可以与客户进行有效沟通,撰写user stories以确认需求。简易快速的系统设计,撰写独立的验证程序以解决特殊困难的问题,并找出演算法即可丢弃验证程式。规划多次小型阶段的方案计划,并且以最快得速度完成每一阶段的程序交付客户,客户负责Aclearcase/" target="_blank" >cceptance tests;Coding前必须完成Unit Test与Acceptance tests程序,所有模组整合前都须经过Unit Tests;开发人员必须快速回应Bug和需求变更;要求二人一组使用一台电脑设计程序,当一人coding时,另一人负责思考与设计(结对编程);程序必须符合程序规范,并常做程序的重构(Refactoring)。

  在Agile开发实践方面,Scrum可以借鉴XP提倡的结队编程以及测试驱动开发实现编码,通过重构对编码进行调整以适应需求的变化,Scrum为体,XP为用。XP开发流程的基本步骤,如图1所示。

  图1 XP开发流程的基本步骤

  测试驱动开发意味着你要先写一个自动测试,然后编写恰好够用的代码,让它通过这个测试,接着对代码进行重构,主要是提高它的可读性和消除重复,这将会对Agile Team整体素质要求较高。

  

原文转自:http://www.ltesting.net