Microsoft正在提供首次查看其Visual Studio集成开发环境(IDE)和平台的下一个版本,该平台将被命名为Visual Studio 2010和.NET框架4.0。新版本(预计将在2010年运送Duh),从改进的软件测试工具到软件工程建模功能,以实现应用程序生命周期管理(ALM)的集成开发和数据库函数,从而获得了很多。
我可以批量批量出现了更多的特色流行语,但是底线是微软正在注意改善Visual Studio,以便为其每一个用户的利益 - 从CIO到软件架构师向企业开发人员到软件测试球队。我概述了这些新的和改进的一些功能,特别是在Visual Studio Team System 2010(Vsts,Code-namedrosario)的Visual Studio Team System,由Dave Mendlen,Microsoft Developer Tools,VSTS产品单元经理VSTS Skinner和Cameron Skinner。
但简单地报告供应商承诺并依赖于我自己的jaded程序员 - 符合新闻背景,这将是太容易的。通过微软的许可,我与经验丰富的程序员和软件质量保证专业人士分享了一些产品详细信息,因此您可以了解您商店的软件开发人员如何响应新软件(或至少基于演示程序的承诺)。
微软说,VSTS 2010的一个关键目标是通过将开发组织的所有成员引入到应用程序开发生命周期中来帮助实现ALM的民主化,并消除许多现有的集成障碍。
Visual Studio 2010将要这样做的一种方法是从商业决策者(需要的人)分解ALM角色项目概述但不希望详细介绍给Lead开发人员或系统架构师(谁启用软件基础架构并将蓝图绘制)到编写代码和数据库管理员(DBA)的开发人员与其集成公司数据库到测试人员(谁确保软件是高质量的)。
对于IT经理或CIO,Mendlen说,VSTS将在整个生命周期中提供清晰度和可见性,并使用Team Foundation Server启用了整个生命周期指示板为她的角色定制的。仪表板可以回答一些高层次的问题,例如正在进行的项目成本或项目状态。
敏捷工具,内置
Visual Studio 2010也将体育功能将敏捷方法集成到技术堆栈中使用Team Foundation Server。Skinner解释说:“我们将在[VSTS]框中包含一个正在利用的团队的Excel工作簿,说,克鲁姆过程让他们可以从他们的项目中烧毁。“他说,这些功能将让敏捷团队跟踪每天的进度,请参阅将项目分解为迭代并使用Sprints。
在VS文本编辑器中右键单击一个方法,选择“Generate Sequence Diagram”的结果。UML 2.1.1序列图,描述了源自所选方法的调用链。(图片由微软提供)
Skinner和Mendlen显然非常自豪地为微软在建模上的投资,指向公司的投资最近在对象管理组中的成员资格以及他们的工作使用UML的高级设计工具。他们的目标是进一步接受这些软件工程。“架构师的工具传统上是为那个人口设计的,”孟格伦说,“但它们可以在生命周期中有用。一个地方我们认为这是为开发人员来说是非常有价值的。”
因此,在即将推出的Visual Studio Team系统中,“架构资源管理器”工具将让用户询问代码库并以图形方式显示其体系结构,包括代码和其依赖项中的关系。Microsoft希望这个功能有助于开发人员看看他们的代码真正如下(不仅仅是他们想象的)。虽然此功能显然对迭代开发和调试目的很有价值,但它也将帮助继承项目的开发人员,并需要弄清楚其设计。如果它适用于承诺,它可能会帮助节省开发人员薄饼 - 跳跃促进了周末花在奇怪的是,“这是什么是这个变量应该在做什么?”
“我喜欢那些没有充分记录的遗传项目的建筑地图的想法,”评论朱莉娅拉梅曼net导师和O'Reilly's Programming Entity Framework的作者,“或者更好的是,当我回到一个我自己写的旧项目,没有很好地记录文档的时候。”
Cory Foy.是来自坦帕的发展经理,由承诺的建筑验证特征令人痛心令人惊讶。“这在架构师的团队版中有点可用,”他说,但“我知道很少有人困扰,”福伯说。“这个概念是精彩的声音,尤其是CIO或Development Manager:绘制您的数据中心,您的部署,您的应用程序和架构的图表 - 您可以神奇地”验证“一切都将在部署时工作,”雷竞技电脑网站他解释道。
然而,在实践中,即使团队完成了所有这些工作,也必须有人维护所有这些图表,Foy说。“他们通常很快就会失去同步,也很快就会被抛弃。”直到有自动保持这些东西同步方式(数据中心机器报告出他们应用程序报告他们所需要的依赖关系的基础上,从构建脚本生成部署图,和架构创建基于代码),和所有的这些都是自动构建/持续集成过程的一部分)我预测这要么不被采用,或作为一个障碍。”
Visual Studio的最后一个版本支持持续构建过程。Mendlen说,“我们将它带到下一个级别,部分受到敏捷方法的启发。”构建过程将具有可自定义的工作流引擎,确保说明,当开发人员在她的代码中检查时,它会转到架构师。Mendlen说,可以为特定问题域进行调整构建过程。
该构建过程的一部分包括架构验证。如果软件规范说用户界面代码不得直接调用数据层,则VST将能够标记为断重该规则的任何代码的错误。新工具将帮助开发人员视觉绘制描述软件架构的图表,并将物理资产映射到现有代码。作为入住政策的一部分,Skinner说:“我们将判断代码是否遵守这些限制”,让开发人员适当地采取行动。只是开发商对不合规的是什么,是发展团队领导者;此外,这些架构验证功能与识别设计错误时,这些架构验证功能就像在办理登机手续时一样。
Lerman认为:“微软越多地让开发人员参与到敏捷技术中,你就会看到更多的采用。”“我亲眼目睹了这一切我领导的.NET用户组。一旦单元测试嵌入到VS2008 Professional,许多成员突然感兴趣地学习如何测试 - 即使像Nunit这样的工具已经存在并高度尊重。“
将质量放在开发生命周期的早期
在应用程序开发生命周期中,有时压力很大的交互是开发人员和测试人员之间的紧张关系。在将代码发送给软件测试人员之前,开发人员必须更好地测试他们的代码。开发人员并不总是知道他们必须运行哪些单元测试,而且他们通常没有时间或意愿(您自己的愤世嫉俗者可以确定哪个)运行测试。
“我们在这里做了一些重要的进步,”孟格伦说。他说,在Visual Studio 2010中,工具将有助于在必须运行的单元测试之间创建直接关系,并且代码开发人员正在编写。这种“必须执行”测试功能,称为测试优先级,将获得开发人员以至少最高优先级单元测试检查其代码。(它也显示出敏捷方法的影响。)
“我喜欢拥有一个工具帮助我弄清楚我应该运行的测试的想法,因为我不是那样的,”莱曼说。
圣路易斯的独立顾问Jeff Grigg指出,这对于验收测试来说是件好事,但对于开发人员测试来说则不是。验收测试由客户指定,并且应该失败,直到功能被实现。对于这种用途,VS2010的改进可能非常有用,”他说。
另一方面,Griff继续,为测试驱动开发(TDD)编写的开发人员测试应该在写完之后不久。它们应该经常运行 - 在每个Checkin之前,最小 - 也不应该在软件版本中检查。解释Grigg,“如果VS2010继续以以前的VS版本缓慢运行测试,则该测试工具将继续不充分才能才能才能才能缺乏有效的敏捷测试驱动的开发使用。这是一个可解决问题:重新刹车,按JETBRAINS和最开放的源.NET resharper。xunit“测试工具确实更快地运行测试。(为此,必须在一个过程中运行所有测试。)”
德国Fotofinder系统的软件开发人员和Scrum Master软件开发商和Scrum Master对软件测试工具有希望,但他的期望低。“MS测试有很多短缺,”他说。“我想知道它是不是太晚了,无法恢复来自Nunit,MBUnit,Typemock和Rhino模型等的市场份额等(假设他们要提供某种嘲弄框架)。但可能是他们正在为100%的Microsoft商店提供还有没有接受的单元测试,或者正在与MS测试进行努力。“
另一种类型的敌意结果在软件测试仪发现并报告一个bug时,并且开发人员回复“抱歉,无法复制问题。它在我的盒子上工作!(祝你有愉快的一天。)”测试人员必须花时间令人信服问题存在的开发人员,并标识软件失败的标准。这不鼓励他们成为饮酒伙伴。
因此,Visual Studio 2010的新特性将是一个视频捕捉功能,记录QA专业人员测试软件时发生的事情。视频可以交给开发团队。被指派bug的开发人员可以看到发生了什么,识别导致崩溃的步骤,并且,斯金纳说,生成“开发人员意识到他需要让他的环境进入正确的状态以进行调试过程时发出的声音。”
这不仅仅是视频捕获。这些工具(在内部VSTS团队目前称之为“Tivo进行调试”但肯定将通过发布时间进行营销核准的名称),因为测试仪正在测试它时,将录制应用程序的状态。将此增强的调试日志视为Airplane的黑匣子,Skinner表示,录制所有状态和状态和变量(四核英特尔具有2GB RAM的系统,例如,不仅仅是Windows Service Pack),具有开发人员的能力可以运行并播放它。
换句话说,当QA人员单击“创建新bug”时,视频和丰富的调试日志将成为记录的一部分。该漏洞的开发者可以点击视频来查看软件的行为。她的IDE被置于一种状态,看起来好像她刚刚进入调试器。斯金纳说,她实际上并没有运行这个应用程序;而是在“播放Tivo录音”。
此功能会产生一些开发人员的热情。“即使我可以看到很多地方经理想要滥用它,我也很兴奋,即使我可以看到很多地方,也希望误用。”“团队环境中的沟通是至关重要的,并且能够捕获屏幕上发生的事情并播放它是一个很好的功能,我相信我的团队会使用。”
“我当然喜欢拥有这个工具,”格里格说。“我已经看过QA测试人员,在几个项目上,不要报告难以重现的错误,因为没有一个自动测试脚本这表明了问题,开发人员往往很难在问题上进行任何进展。“
事实上,Grigg想要的更多:理想情况下,功能应该提供给在该领域发现问题的最终用户。他表示:“根据我的经验,这是我们最具挑战性的支持问题的根源。”
总的来说,Foy说:“它看起来像微软开始以某种方式开始”得到它“,而其他人则使球队更加努力地获得完整的体验,而不会在福伊的意见中进行”所有人“。这是因为许多人团队真正需要并希望使用敏捷建模,体系结构资源管理器以及可能测试优先级的高级功能 - 只能在团队版或全套套房中获得。“这通常是Visual Studio Professional顶部的许多团队的4,000美元至8,000美元,”FOY指出。此外,他说,微软并不总是在右边版本中的功能做好。例如,在VSTS 2005中,开发人员必须选择通过选择测试仪版本来丢失所有其他伟大的开发人员工具,或者必须购买全套套房。
开发人员的合并,DBA角色
这些变化中的大多数是一种方式,尽管您可以期望在即将到来的Microsoft Professional开发人员会议上看到一些这些功能。但是,一个项目立即生效。