测试是什么?测试就是对项目开发过程中产品(编码,文档等)进行差错审查,保证其质量的一种过程。
在传统的观念里面,测试大多都在软件完成后才开始的。比如瀑布模型,将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
软件测试被放在了倒数第二个阶段,当一个软件这个时候测试出问题来,那所需要的人力物力财力一定多过在代码编写最初的时候发现。
测试驱动开发,英文全称Test-DrivenDevelopment,简称TDD,是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。
测试驱动开发的技术已得到越来越广泛的重视,但由于发展时间不长,相关应用并不是很成熟。现今越来越多的公司都在尝试实践测试驱动开发,目前我们就使用了TechExcel公司的DevSuite产品,来实现测试驱动开发。
首先介绍一下TechExcel 的 DevSuite 产品,它是以知识为核心的软件应用生命周期管理工具;是一套完整的研发过程管理软件套件,覆盖产品的概念形成、需求分析、项目规划、到任务跟踪和质量测试等全生命周期管理,帮助您有效地控制需求、资源、工期和质量,规范和改进产品研发过程,提高产品质量和工作效率。包括KnowledgeWise, DevSpec, DevTrack, DevPlan, DevTest等产品,各个产品间能无缝集成。
用TechExcel-DevSuite产品实现测试驱动开发,整体过程大致如下图所示:
DevSpec 是一款需求定义、需求搜集与需求管理工具,基于预定义的流程规则,团队可以使用DevSpec 全程跟踪每一个产品功能和特性的开发过程,通过需求管理来驱动研发与测试流程。
在DevSpec需求管理工具中,当需求立案的时候,在Test Cases页面编写测试用例到DevTest中:
当然也可以在DevTest产品中,New Template from Spec 方法,为立案的需求编写测试用例:
同时需求立案后,在DevSpec中分配开发任务到DevTrack,进行项目规划和任务跟踪。
DevTrack 是一款业内领先的任务和缺陷跟踪工具,它具有可灵活配置的工作流框架,适用于全球范围内各种类型的开发团队。DevTrack为您提供直观的、可完全自定义的用户界面,通过简单的操作,您可以轻松地部署您的项目执行解决方案。
在DevTrack中进行具体的项目规划,将需求分配到具体的子项目中去实施:
当开发在DevTrack中看到自己需要处理的开发任务时,他能通过Issue Detail 页面实时的查看到该需求对应的原始设计文档,以及已经编写好的测试用例。
开发必需运用测试用例,测试自己编写好的代码。只有通过测试用例后的代码,才能交给测试部门进行深入测试,开发将任务打到testing,测试部继续跟进。
DevTest是一款完整的质量测试管理工具,覆盖从测试案例的创建、计划和执行、到缺陷提交和问题解决的全过程,集成了市场领先的缺陷跟踪、测试管理、和自动化测试工具,是一套无缝整合、高性价比的质量保证管理工具。
测试部门运用DevTest,进行多平台,数据库等的功能、性能、压力测试等:
测试部门提交的bug/缺陷,又提交到DevTrack中进行bug/缺陷跟踪,开发能实时的看到自己做的需求对应的bug/缺陷,能及时的帮忙修复。
通过测试人员的能测试,DevTest还可以跟自动化测试工具集成。真正的做到测试驱动开发中的测试用例可重复性。
TechExcel-DevSuite整套产品中,在需求立案之时,就设计测试用例。在开发编码的时候,就运用测试用例进行调试测试并行。将测试工作提到编码之前,并频繁地运行所有测试,可以尽量地避免和尽早地发现错误,极大地降低了后续测试及修复的成本,提高了代码的质量。在测试的保护下,不断重构代码,以消除重复设计,优化设计结构,提高了代码的重用性,从而提高了软件产品的质量。