二、集成测试环境 – Microsoft Test Manager
在过去的十几年中,为了适应了软件项目的复杂度和规模的不断膨胀,软件开发工具和框架得到了长足的发展,而测试工具则始终是块短板,特别是对于那些需要手工完成的测试任务而言,进展就更为缓慢,例如:现在很多团队仍然使用Word或者Excel这样“原始”工具来管理测试用例。通过对业界的调查和分析,我们发现70%的软件测试工作仍然是通过手工或者简单的脚本来完成的,在测试团队中不具备编程能力和仅有基本脚本编写能力的测试人员仍然是测试的主力。
要让你的项目敏捷起来,对于那些仍以手工测试为主的团队而言是一个非常大的挑战,如何提高手工测试工作的效率将是实现敏捷的成败关键。在VS 2010中,微软首次为测试人员设计了一款专用的集成测试环境,称为微软测试管理器2010(Microsoft Test Manager 2010,以下简称为MTM)。之所以称之为集成测试环境,是因为MTM的功能涵盖了测试计划、测试用例、手动测试用例的执行和录制回放、自动测试用例执行、创建信息丰富的Bug、验证Bug、以及与测试实验室管理相关的对策是自动化相关的功能等。下图展示的是MTM测试计划的操作界面,它以树形的层次结构来组织测试用例。
《敏捷序言》强调:“可工作的软件重于完备的文档”,那么是不是意味着敏捷测试也不需要测试计划呢?当然不是。敏捷的本质是要去除软件过程所有造成时间浪费地方,不需要的是那些动辄就几十或上百页的文档。敏捷对文档要求是要简明扼要,一两页列出测试要点计划还是必须的,较短迭代周期(1-4周)也不可能要求文档面面俱到。敏捷需要更快的对功能进行验证,是不是不需要编写测试用例直接根据用户故事或者功能需求进行探索性测试就可以了?当然也不是。功能需求和用户故事勾画出的是一棵大树躯干和主要枝杈,而那测试用例则不但要准确描述出躯干和主枝,还要描述出细小的枝杈和绿叶的正确位置。从某种意义上讲,测试用例在敏捷中的作用和地位应该更为加强,它扮演着详细功能文档的角色。功能需求和设计文档可以简单,但测试用例可不是这样,相反我认为敏捷对测试用例的设计和管理要求更高。