摘要:测试运行的实现 测试运行可以通过Team Foundation Server提供的生成功能来实现。在Team Explorer的生成菜单中选择创建新的生成定义(Build Definition),通过指定不同的触发器(Trigger)就能使其分别适应于封闭签入、滚动生成或定期测试运行的需要,如图一所示。图一 触发器 在生成默认值选项卡中指定生成控制器(Build Controller),在生成控制...
阅读全文
摘要:在上一篇中我们介绍了如何编写自动化的测试用例,在拥有了一定数量的自动化测试之后,随之而来一个很自然的问题就是如何有效地利用这些测试更好地在敏捷开发的过程中保证产品的质量。在这一篇中我们就来讨论一下基于不同目的的各种生成(Build)和测试运行(Test Run)以及如何实现这些运行。封闭签入(Gated Check-in) 在本文的第一篇中我们曾经提到过在敏捷软件开发过程中每一个Sprint结束时...
阅读全文
摘要:自动化测试的实现 编写自动化测试也许对很多测试人员来说比较陌生。所幸的是Visual Studio中为实现自动化测试提供了一系列的工具,单元测试(Unit Test)、编码UI测试(Coded UI Test)、压力测试(Stress Test)、网页性能测试(Web Performance Test)、数据库单元测试(Databas...
阅读全文
摘要:在上一篇中,我们讨论了敏捷开发流程中的一些由手动执行的测试任务。手动测试是需要人工完成的测试,被广泛应用于各类产品的各种测试任务中,而与之相对应还有自动化测试,即通过程序自动运行完成测试任务。自动化测试能帮助开发团队节省测试运行的人工、提高开发效率。接下来在本篇中,我想和大家讨论一下敏捷开发中手动测试和自动化测试之间的关系以及如何实现和利用自动化测试。手动测试的特点 由于手动测试依赖于人工操作,很...
阅读全文
摘要:四、早测试和经常测试——封闭签入和滚动生成 敏捷开发中最可怕的事情莫过于在迭代最后一两天进行测试,结果发现了严重功能缺陷或者回归缺陷,导致不能按计划发布给用户试用。要想彻底解决这样的问题,一方面要在迭代开发阶段测试人员就要参与进来,从客户的角度出发对功能需求和设计文档进行文档测试,即文档评审。测试人员和开发还有项目经理一起从源头上保障将要实现的功能是用户想要的。另一方面就是...
阅读全文
摘要:二、集成测试环境 – Microsoft Test Manager 在过去的十几年中,为了适应了软件项目的复杂度和规模的不断膨胀,软件开发工具和框架得到了长足的发展,而测试工具则始终是块短板 ,特别是对于那些需要手工完成的测试任务而言,进展就更为缓慢,例如:现在很多团队仍然使用Word或者Excel这样“原始”工具来管理测试用例。通过对业界的调查和分析,我们发...
阅读全文
摘要:敏捷软件开发是近些年来比较热门的话题,《敏捷宣言》四条主要精神和十二条基本准则概括了敏捷开发的基本思想。围绕着这些基本概念和思想,产生了一系列的轻量级方法,如:极限编程、测试驱动开发、Scrum、特性驱动开发等。虽然具体名称、过程和侧重点不尽相同,但是相对于非敏捷的开发方法而言,它们都更强调面对面的沟通、团队不同角色之间的紧密协作、频繁交付新的可用的软件版本、紧凑而自我组织型的团队等。敏捷开发只是...
阅读全文
摘要:Bug的生命周期 无论采用何种测试形式、执行何种测试任务,都会产生一系列的Bug。而开发团队需要一个健全的Bug管理的机制。一般来说,一个Bug的生命周期大致要经过如下几个过程:图4 Bug的生命周期 这里大多数的阶段都比较易懂,需要解释一下的可能就是Triage过程。Bug在创建出来以后,首先要经过Triage小组讨论决定是否需要修复。Triage小组一般由项目管理、开发和测试三方的代表组成。对...
阅读全文
摘要:本文的第一部分(上、下)着重介绍了测试人员在敏捷开发过程中,需要完成的一些测试准备工作。对于读者来说,这些工作项可能会比较陌生,但在敏捷开发中却对保证开发的质量和速度起到了很重要的作用。在这一部分中,我们将进入大家较为熟悉的实际测试阶段,为大家介绍测试任务的执行以及Bug的管理。 在整个敏捷软件开发流程中,存在着各种测试任务。比如,伙伴测试(Buddy Test)、常规的测试运行(Test Run...
阅读全文
摘要:在开发人员实现设计的同时制定测试计划 当项目经理、开发、测试三方的负责人都同意并在用户故事上签字[1]之后,开发人员就会着手设计并实现功能,那么此时测试人员应该做些什么呢?不同于传统开发模式时那样需要等待一个可测试的版本,敏捷软件开发中的测试人员应该尽早制定测试计划,并与负责的开发人员交流,让他/她了解你将实施什么样的测试。为什么?这里有两个理由,我在前面其实也都提到过了。一是合理利用有限的资源,...
阅读全文
摘要:本文为“用Visual Studio实践敏捷测试”系列文章的第一篇,主要讲述测试人员在正式进入测试阶段之前需要做的准备工作。 敏捷软件开发是近年来谈的很多的一个话题,业界也流传着许多敏捷开发的方法:Scrum、FDD(Feature Driven Development,特性驱动开发)、TDD(Test Driven Development,测试驱动开发)、XP(eXtre...
阅读全文
摘要:——Visual Studio开发团队的敏捷实践经验分享(二) 年初,应InfoQ中文站邀请,Ramesh Rajagopal (Visual Studio Team Architect团队的敏捷开发系列文章的作者)和他的团队在“敏捷Scrum实战营”活动期间接受了InfoQ中文站的邮件采访。本文由滕振宇先生根据Ramesh的回答和团队的翻译编辑而成...
阅读全文
摘要:── Visual Studio开发团队的敏捷实践经验分享(一) 年初,应InfoQ中文站邀请,Ramesh Rajagopal (Visual Studio Team Architect团队的敏捷开发系列文章的作者)和他的团队在“敏捷Scrum实战营”活动期间接受了InfoQ中文站的邮件采访。本文由滕振宇先生根据Ramesh的回答和团队的翻译编辑而...
阅读全文
摘要:InfoQ: 我们回到技术层面来讲,在你身上我可以看到微软一个研发团队的技术变迁史,或者一个缩影。我想问的问题是,在你的理解当中,从你进入微软研发团队一直到现在,在整个产品的开发过程中,主要经历了哪几个比较重大的阶段? 潘正磊:我觉得这个问题非常好,因为你让我回想了一下。确实有几个非常大的不同(阶段)。 在我刚进微软的时候,微软还比较新,很多产品还是刚刚第一代,像我那时候做Microsoft A...
阅读全文
摘要:我在这个敏捷软件开发系列的上一篇文章中讲述了我们团队计划sprint的过程。在这篇文章中,我将会进入执行环节,详述我们如何进行一个具体sprint的实施。 在开始之前,首先来回顾一下我们是如何得到在sprint中需要实现的用户故事(User Story)列表的:首先,团队会根据开发团队在以往sprint的经验中得出的团队开发速度评估,以及对产品待开发事项(Product Backlog)的粗略的...
阅读全文
摘要:我希望大家都度过了一个快乐的春节。我也享受了一段轻松的假期——大部分时间宅在家里接待朋友和他们的家人,同时去杭州做了短暂的旅行。 十分感谢你们通过博客或者私下里给我的反馈。我希望在这篇博文中回答一些你们提出的问题。同时,为了延续整个系列的行文思路,我也会涉及一些我们团队计划sprint的方法以及sprint过程中发生的事情,并穿插着回答你们提出的那些问题。 首先,我想说的是...
阅读全文
摘要:在最近几次与客户面对面的交流中,我有幸分享了我们团队如何在日常工作中进行敏捷软件开发。毫无疑问,这在中国开发人员中是个热门话题,我也想利用博客这个平台与更多的读者进行书面的交流。当然关于敏捷开发利弊得失的争论有不少,而相关的开发模式也分成了TDD (Test Driven Development), Scrum, XP(eXtreme Programming)等流派。就我个人而言,一个团队是否严格...
阅读全文