浅析自动化测试框架(一) 自动化测试框架是什么?

上一篇 / 下一篇  2012-01-05 15:20:56 / 个人分类:自动化架构

 本文章是一个系列文章,主要的撰写目的是通过该系列文章,让大家对自动化测试框架的概念,类型以及创建有个大概的了解和认识,通过该系列文章,也许无法使人一下子可以构建起自己的框架,但至少希望可以帮助初学者可以在创建测试框架的旅程中踏下坚实的一步。当然由于本人的能力或视野的局限性,在文中有谬论之处,也请读者海涵。另外注意,本系列文章是针对功能测试自动化,而非单元测试性能测试。本系列文章的初步计划编写的目录为:

1.      自动化测试框架是什么

2.      几种自动化框架的介绍

3.      如何构建数据驱动框架

4.      如何构建关键字驱动框架

5.      如何构建混合型测试框架

   自动化测试是什么?大家都很清楚,就是用程序测试程序的过程。那么,自动化测试框架是干什么的呢?维基百科上是这么给出定义的,“测试自动化框架就是支撑自动化测试的一系列假设,概念和工具。”这个概念定义的比较抽象,事实上,我个人认为自动化测试框架的概念并不是唯一的,因为在不同情况下,自动化测试框架的核心组成部分并不一定是固定。

比如大至整个自动化测试项目的文档,流程规定,约束,工具,小到一个简单的帮助函数都可能被称为自动化测试框架(只是很少有这种情况而已,^_^)。本系列文章依然着重于技术层次上的自动化测试框架,不会设计流程,管理层次上的。

 在我看来,自动化测试框架就像是个容器,一个包括了一系列构件的容器,每个构件包含一系列的约束,规则。我们把符合规则的文件放入各自的构件中,由框架解析文件,并根据预先制定的规则进行自动化测试,然后输出测试结果。如果这个大家还是不理解,没关系,我会在后面具体讲述如何创建框架时来诠释这个概念。

那为什么一定要创建自动化测试框架呢?它能解决哪些问题?其实构造不同类型的框架,其目的还是存在一定差异性的,但总体说来,构造框架的目的有以下这么几个

1.      类似于开发的框架,构建框架有利于自动化测试的协同开发

2.      框架中编写的公共函数库,可以避免代码的重复编写

3.      框架的不同构件设计,有利于松耦合测试脚本中数据,对象,逻辑之间的依赖关系,利于自动化测试的维护

4.      构建框架有利于多工具的整合使用,有利于跨平台操作,可以初始化测试环境

5.      如果需要分布式执行,那么也可以通过构建框架来处理相关的事务。

这里不理解也没关系,这些都会在后续的文章中提到。

 其实是否构建自动化测试框架,以及如何构建都是根据实际情况不同而具体分析,但一般情况下,构建自动化测试框架都是在已有的框架或工具上进行二次开发。毕竟现在开源资源这么丰富,实现没有必要再去重新写一个底层处理的工具。比如如果是进行web功能测试,可以有watir,watin,selenium等工具可供选择,进行C/S架构的客户端功能测试可以选择white等,当然如果条件允许,也可以选择商业工具,如QTPTestcomplete,这些商业工具一般都提供扩展接口,对象接口可供使用。

 本文主要介绍了自动化测试框架的概念,目的,仅希望读者对框架有个初步的概念,在后续的文章中会进一步结合实际来阐述这些概念。


TAG:

AT校长的个人空间 引用 删除 better82   /   2012-01-05 23:04:13
1
 

评分:0

我来说两句

Open Toolbar