《测试框架》摘选-5 初识自动化测试框架庐山真面目

自动化测试架是怎样产生的?到底什么是框架?为什么框架是自动化测试发展中一个不可逾越的阶段?它到底能帮助我们解决什么问题?我们本章将围绕着这些问题去和软件自动化测试框架进行一次亲密接触。
测试框架(Test Framework)作为实现高效率高质量自动化测试的完整解决方案,从诞生之日开始,越来越多的软件组织和个人用自己的逻辑去诠释测试框架,所以我们看到了,一套测试管理系统被称之为测试框架,一个测试工具被冠以关键字驱动框架之名,甚至,一段程序也可以声称其实现了数据驱动的框架理念。在如此纷纭的头脑风暴中,测试框架犹如盲人摸象中的那头大象一样,有人说它是一个软件,只不过它的功能是测试另外一个软件,有人认为它是一套流程和规范,否则怎称框体架构。
本书的观点是,所谓“测试框架”这个概念名词只是一个封装了很多东西的盒子,这个盒子的外观和形状对我们来说无关紧要,我们最关心的是这个盒子到底存放了什么东西。所以,如果只是停留对概念咬文嚼字的层面,而不整理其内在的发展动力和脉络关系,这就成了“买椟还珠”的现代版。因此,本章的目的是旨在帮助读者打开测试框架这个盒子,理清其中的脉络。
让我们一起追随自动化测试的发展历程,看看自动化测试框架是怎么产生的,对于自动化测试的发展,可以分为三个阶段。

1.1  测试的自动化-以工具为中心
自动化测试是在软件质量要求日益提高,测试工作愈加繁重的背景下横空出世的。显然在自动化测试诞生之初,测试人员最迫切的愿望就是通过自动化测试的实施来摆脱重复的工作量,即回归测试中的案例执行工作。怎样完成这个从测试案例到测试程序的转化呢?显然,使用已有的自动化测试工具解决方案是最有效的。
因此,这个阶段最明显的特征是所有的自动化测试实施工作是以工具为中心,在这个阶段的过程中,要完成的工作如下:

…………………………………………………………………

 1.2 百家争鸣-形形色色的自动化测试框架
在众多书籍和网络论坛中,经常被提到的有代表性的自动化测试框架思想有以下几种形式:
1.2.1  数据驱动测试框架(The Data-Driven Testing Framework)

1.2.2关键字驱动或表驱动测试框架(The Keyword-Driven or Table-Driven Testing Framework)

1.3 自动化的测试-测试框架应该是这样的
如果说前面谈到的自动化测试实施还是在一个点上下功夫,那么本阶段就是在一条线上作战了。“自动化的测试”的内涵更加丰富,它意在将软件自动化测试中所涉及的各个环节作为一个统一的整体考虑,从测试脚本的管理,测试脚本的执行到测试报告的展现都有相应的策略,规范定义及自动化实现,故称这个阶段为“自动化的测试”。

简而言之,我们在自动化测试实施中会遇到各种各样的问题,有的是关于流程,有的是关于自动化测试本身,还有的是关于规范等等,这些问题不可能通过单一的自动化测试编程手段解决,而是需要一个有机的系统的解决方案,这个解决方案就是测试框架。

因此,测试框架相比单个的测试脚本具有以下特点:
a.测试框架位于软件测试的战略规划层次,而非执行层面
 很显然,测试框架在测试流程上表现为手工测试与自动化测试的整合策略,在组织上是一套自动化测试管理开发及执行的规范。这些改变对传统手工软件测试的工作内容和方式的影响是巨大而深远的。
b. 测试框架具有组织上的延续性和软件上的扩展性
 测试框架在软件测试组织中的建立和成熟是一个长期的过程,一旦建立,测试框架就可作为组织的知识经验甚至文化的一部分,随着团队的发展而延续,同时,由于被测软件的更新和测试人员技能的不断完善,测试框架也是一个不断进行扩展和更新的发展过程。这必然就对软件框架要求在软件上具有较高的扩展性性。

那么自动化测试框架作为一个整体解决方案,到底包含哪些组成部分呢?