打通团队沟通任督二脉
一个软件项目最大的成本是什么?
硬件投入?不是!
人员培训?不是!
请客吃饭?不是!
沟通成本!没错,沟通成本是一个软件项目的最大成本。
在一个软件项目中,因为沟通不畅而引起的成本随处可见:需求分析师因为和架构师沟通不畅,导致架构师的设计并不是客户的需求;架构师因为和程序员沟通不畅,导致程序员实现的并不是架构师的设计;程序员因为和测试人员沟通不畅,导致测试人员并不能完全覆盖程序员的所有代码,完成程序员所需要的所有测试工作。可以想象,最后出来的产品跟客户的真正需求相差了十万八千里。
项目组中团队成员的沟通都很重要,但是最重要和最频繁的沟通应该是程序员和测试人员之间的沟通:程序员需要根据测试人员的测试报告对软件进行调试,以修复其中的bug;而测试人员也同样需要程序员提供的代码更改,进行更加有针对性的测试。为了打通这项目沟通中最重要的任督二脉,VS2010提供了一系列有力的工具。
在项目实践中,程序员往往抱怨测试人员提交的Bug无法重现,是一些无效的Bug。现在VS2010提供了一个全新的功能:高级按键精灵。它可以全自动录制测试的整个过程,可回放,可以定制的测试。这样开发人员在看到测试人员录制的测试过程之后,可以轻松地重现所有Bug。另外,VS2010中也推出了虚拟实验室自动化处理方案,名为Visual Studio 2010 Lab Management。当测试人员在虚拟机环境下测试并找到一个软件Bug的时候,只用一个基本的点击就可以把整个环境的镜像点(多个虚拟机)记录下来。他可以把这个镜像点的链接,作为附件自动内嵌在Bug报告中,同时可以选择包含更多的信息,比如带时间坐标的视频,操作记录,历史调试记录等等。程序员得到这个软件Bug报告后,不必询问测试人员到底做了什么,以及重新配置 Bug重现的环境。只需点击链接,即可得到一个基本的实验室环境视图,其中可以包括多个虚拟机环境,他可以用一次点击就可以恢复所需的整个环境状态。开发人员就拥有了整个环境,包括历史环境下的调试工具和代码,找到导致软件Bug的事件发生的顺序和流程。这样,重现测试人员提交的代码再也不是难事了。
另外一方面,程序员在修改代码之后,测试人员就需要重新运行所有测试用例,虽然代码修改并不会影响其中的某些测试用例。测试人员常常也会抱怨,程序员为什么不告诉他们,哪些测试用例受到影响需要再次运行,而哪些测试用例不会受到影响。为了解决这个沟通问题,VS2010提供了两个重要的新视图:测试影响视图(Test Impact View)和代码变更视图(Code Changes View)。
图5,Test Impact View
通过这两个视图,程序员可以更加了解代码修改对测试的影响。当开发人员变更代码的时候,测试影响视图会分析哪些测试需要运行以验证代码变更。这将帮助测试人员只运行必要的测试以对代码变更进行验证,从而对签入的代码充满信心。新的测试影响视图显示了代码变更后必须运行的测试的列表,同时显示了每个测试所影响到的代码变更。而代码变更视图则显示了所有代码变更的列表,同时显示了为了验证这个代码变更所必须运行的测试。这样就避免了运行全部测试来验证某一个小的代码变更所造成的浪费,使得测试更加高效。
用VS2010打通程序员和测试人员之间沟通的任督二脉,自然整个项目组沟通舒畅,神清气爽,开发效率自然提高不少。