第4代白盒测试方法实践之“使用VcTester构造持续集成及每日构建平台”

发表于:2011-8-03 11:45

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  先理解几个概念

  在《使用VcTester实施持续集成的组织管理模式》一文中,我们讲述了VcTester平台下的持续集成操作包括调试方式与发布方式两种工作形态。调试方式是指日常代码与脚本的编写与调测,这部分是开发的主体,发布方式则是正式的、阶段性的工作。如下图:

  项目组或产品组成员围绕着版本服务器展开工作,服务器既承担日常版本管理,如开发过程中源文件Check in、Check out等,也承担阶段性的版本基线化管理、自动构建形成版本等,研发人员围绕版本服务器也开展日常编码与调试,及阶段性的回归测试等工作。我们区分日常工作与阶段性工作,是因为两者的组织形式有很大差异,如下图,

  从图中可以看出日常调测、冒烟测试、回归测试之间的差别,他们都针对产品源码与测试脚本展开工作,日常调测的过程较为随意,通过手工编译来构建版本,也通常面对随意的、尚在变化中的测试脚本。日常调测形成的脚本经过整理,最后成为规范的测试集,这个测试集直接用于回归测试,回归测试是阶段性开展的工作,它选用的版本应由构建服务器自动生成(从版本机自动取最新源码并自动构建)。冒烟测试介于日常调测与回归测试之间,通常冒烟测试与每日构建配合应用,以每天为单位开展自动测试,冒烟测试是一种初验性质的测试,运行一些基础用例就够了,多数情况下,冒烟测试的用例是回归测试所用用例的一个子集。

  版本树组织

  持续集成针对编码与白盒测试,其版本目录树组织与编码、调测行为相关,一般而言,持续集成的每次功能迭代,应有如下三项输出:产品源码、回归测试脚本(简称回归脚本)、冒烟测试脚本(简称冒烟脚本),其中冒烟脚本应该是回归脚本的子集,但并不强制一定这样。

  相应的,我们的版本目录树的根部应有3个分支,比如:source、SmokeTest、testcase,分别为产品源码、冒烟测试集、回归测试集。其中回归测试集既是日常调测的工作对象,也是回归测试的工作对象,日常调测中不停的修改测试脚本,当阶段工作结束,这些脚本都整理成正式的、完整的测试集,运行该测试集就是回归测试,所以回归测试集是与日常调测的脚本是一个东西,我们之所以称回归测试集是为了区分冒烟测试集。

  回归测试与冒烟测试在组织形式上有很大差别,前者是私有的,每位开发人员都拥有自己的一份回归测试工程,而后者是全局共享的,一个产品(或一个项目组)仅维护一份冒烟测试集。所以版本树的SmokeTest目录下,直接存放冒烟测试用例,而testcase目录下应再建子目录,根据测试者身份不同设置不同子目录,这些子目录下再存放各种用例文件,一般情况下,一个开发人员建一个子目录,专职的测试人员也应建立子目录,视用例维护主体不同考虑由多个测试人员共享一个子目录,或独占一个子目录。总之,版本树的回归测试分支是按用例的维护责任划分子目录,同一维护主体在VcTester下意味着同一个测试工程。

  我们建立的版本目录是全局的,版本服务器保存目录树应与个人工作电脑维持一致,保证目录结构一致有助于版本维护, VcTester对这种一致性也有要求,下文还有叙述。

  由于冒烟测试集与回归测试集有重用关系,SmokeTest目录下的脚本文件通常要从各个测试者自行维护的测试集中共享过来。为清晰起见我们举个例子,假如一个产品有3个人做测试,分别为wayne、george、peter,应在testcase目录下建立以3个子目录(人名用作目录名),然后每人都建立归自己维护的冒烟测试用例文件,比如wayne在自己的用例目录下把冒烟测试用例都保存到smoke_wayne.cse文件,之后在版本机上,将smoke_wayne.cse文件share到SomkeTest目录,由于Visual SourceSafe(VSS)支持文件share操作,被share的文件只是维持一种映射关系,同一文件多处share后,针对该文件本体或映射体的Check in或Check out都针对版本机上同一个文件进行操作。把各个测试者的冒烟测试文件都share到SmokeTest目录后,我们再编写一个启动冒烟测试的入口脚本文件,每次实施冒烟测试时,都从版本机SmokeTest目录先获取最新的用例文件,然后启动测试即可。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号