自动化测试框架有哪几种?

Python013

自动化测试框架有哪几种?,第1张

冒昧的说一句,您这个问题问的可能比较大。

因为从自动化测试角度讲的测试框架有很多种;而且并没有什么固定的条条框框。全部是根据测试需要及公司产品开发现状进行搭建的。从通俗的 整体的角度讲只要满足:测试输入(脚本编写)-》测试执行-》结果输出 这种模式的都可称之为自动化测试框架。

而从不同的角度分析框架又可根据不同筛选条件分为多类:

如:1.脚本语言方面分析,很多种语言提供了多种自动化测试的基础框架:

1)ruby的Watir开源自动化测试框架、Test::Unit单元测试框架、开源测试框架Ruby on Rails 等等

2)java的junit回归测试框架、Mockito、TestNG、easyb等等等等

3)Perl的perl Mechanize、Test::Base数据驱动测试等等等等

4)Python的PyUnit、PAMIE等等等等

5)基于Tcl/Tk的swift 自动化测试框架,ATF/VTP自动化测试框架

以上仅列举自动化测试常用的几种脚本语言的测试框架,当然不仅仅是这些

2.从测试体系角度分又分为:

1)单元测试框架.

2)系统测试框架

3)集成测试框架

。。。。。

3.基于测试目的的划分

1)GUI自动化测试框架

2)网络协议自动化测试框架

3)基于web的自动化测试框架

。。。。。

4.从实现深度和角度分类:

1)简单的录制回放测试框架(或工具)

2)关键字驱动的测试框架

3)关键字驱动及结果输出分析的自动化测试框架

4)智能匹配功能及具备快速脚本生成功能的自动化测试框架

。。。。。。

5.从测试工具角度分:

有些测试工具是许多大型公司结合了很多测试经验及数据后进行开发的自动化测试软件或者称之为测试管理软件的自动化管理部分及自动化测试部分;也有人称之为自动化测试框架或自动化测试工具。比如QTPLoadRunnerQuality Center、selenium等等。都具有一定的自动化测试及管理功能。

所以总的来看,测试框架分为很多种;不知提问者问的是哪个具体方面的。

笔者水平有限,仅能做个基本介绍,希望能有所帮助。也祝愿所有从事自动化测试相关工作的同志事业顺利。欢迎沟通交流

1.模块化测试框架

在五种框架中,模块化框架是最容易掌握和使用的。在一个组件上方建立一个抽象层使其在余下的应用中隐藏起来,这是众所周知的编程技巧。这样应用同组件中的修改隔离开来,提供了程序设计的模块化特性。模块化测试脚本框架使用这一抽象或者封装的原理来提高自动测试组合的可维护性和可升级性。

2.测试库框架

测试库框架(Test Library Architecture)与模块化测试脚本框架很类似,并且具有同样的优点。不同的是测试库框架把待测应用程序分解为过程和函数而不是脚本。这个框架需要创建描述模块、片断以及待测应用程序的功能库文件。

3.关键字驱动或表驱动的测试框架

对于一个独立于应用的自动化框架,关键字驱动(KEYWORD Driven)I9LJJ试和表驱动(TABLE DRIVEN)测试是可以互换的术语。这个框架需要开发数据表和关键字。这些数据表和关键字独立于执行它们的测试自动化工具,并可以用来“驱动"待测应用程序和数据的测试脚本代码,关键宇驱动测试看上去与手工测试用例很类似。在一个关键字驱动测试中,把待测应用程序的功能和每个测试的执行步骤一起写到一个表中。

这个测试框架可以通过很少的代码来产生大量的测试用例。同样的代码在用数据表来产生各个测试用例的同时被复用。

4.数据驱动测试框架

数据驱动(DATA Driven),LJ试是一个框架。在这里测试的输入和输出数据是从数据文件中读取(数据池,ODBC源,CSV文件,EXCEL文件,ado对象等)并且通过捕获工具生成或者手工生成的代码脚本被载入到变量中。在这个框架中,变量不仅被用来存放输入值还被用来存放输出的验证值。整个程序中,测试脚本来读取数值文件,记载测试状态和信息。这类似于表驱动测试,在表驱动测 试中,它的测试用例是包含在数据文件而不是在脚本中,对于数据而言,脚本仅仅是一个“驱动器”,或者是一个传送机构。然而,数据驱动测试不同于表驱动测试,尽管导航数据并不包含在表结构中。

5.混合测试自动化(hybrid Test Automation)框架

最普遍的执行框架是上面介绍的所有技术的一个结合,取其长处,弥补其不足。这个混合测试框架是由大部分框架随着时间并经过若干项目演化而来的。