常用的自动化测试框架及测试框架的发展(Alpha)
前言:自动化测试在过去的20年已经有了很大的发展。最初的测试工具只提供了简单的捕捉/回访功能,维护性较差。而且脚本工具实现需要很强的开发技术和经验,而且数量众多的测试脚本加上没有文档记录因此维护起来较难,成本开销巨大。为了使测试人员集中精力在测试用例设计上,测试框架产品就出现了,它能够减少学习和使用脚本语言的时间,集中精力在测试上,就出现了测试框架。下面将讨论自动化测试框架的概念,和测试框架的发展,知道了这些我们对比我们使用的测试框架,也知道我们处在什么阶段,从而改进测试的思想,也可能创造出更适合现代软件测试的测试框架思想。
常见的5种自动化测试框架
(1)测试脚本模块化框架。
测试脚本模块化框架需要创建能够代表被测程序模块,片段(Section)和函数的的一个个小而独立的脚本。然后用分级的方式将小脚本组成更大的测试,实现一个特定的测试用例。它很好的支持面向对象的程序设计或结构化程序设计中的模块化,抽象,封装及信息隐藏等编程思想及原则在软件开发中的应用。测试脚本模块化框架由于应用了抽象或封装的原则,从而大大提高了支持自动化测试的测试集(Test suit)d的可维护性和可测量性。(测试脚本也可以理解成开发中的一个个小的的模块,为了完成整个完整的开发的整体功能,也就是软件开发中的模块化思想。)
(2)测试库框架
测试库框架和模块化测试框架类似,并且具有同样的优点。不同的测试库框架把被测程序分解为过程和函数而不是脚本。这个框架需要创建描述模块,片段以及被测程序的功能库文件(例如 SQABasics Libries,APIs,Dlls等)。(可以理解为测试脚本模块化原来是汽车的发动机,油箱一个个组件现在把油箱发动机拆了,更细化弄成一个个螺丝钉和铁皮,就是分解的更细不知道这样理解对不对,beta版本以后再补充!)
(3)数据驱动测试框架
数据驱动(data –driven)测试是一个框架。在这里测试的输入和输出数据是从数据文件中读取(数据池,ODBC数据源,excel文件,DAO对象,ADO对象等),并通过捕获工具生成或手工生成的代码脚本加载到变量中。在这个框架中,变量不仅不仅用来存放输入值,还被用来存放输出的验证值。还有个表驱动,表驱动的测试用例包含在数据文件而不是在脚本中,对于数据而言,脚本仅仅是一个“驱动器”,或者说是一个传送机构。数据驱动不同于表驱动测试,尽管导航数据并不包含在表结构中。在数据驱动测试中,数据文件中只包含测试数据。这个框架意图减少你需要执行所有测试用例所需要的总的测试脚本的数。数据驱动需要很少的代码来产生大量的测试用例,这与表驱动及其类似。(说了这么多表驱动中数据多一点可能包括测试用例数据,而数据驱动仅输入值和验证值,数据驱动似乎和上面的两种框架有了本质的区别)
(4)关键字驱动或者表驱动的测试框架
关键字驱动或表驱动是一种独立与应用程序的自动化框架,在处理自动化测试的同时也要适合手工测试。关键字驱动的自动化测试框架建立在数据驱动之上,表中包含指令(关键词),而不只是数据。这些测试被开发成使用关键字的数据表,它们独立与测试的自动化工具。关键字驱动的自动化测试是对数据驱动的自动化测试的有效改进和补充。关键字驱动的自动化测试的自动化测试的整个过程所包含的功能都是由关键字驱动的,关键字控制了整个自动化测试的过程。(这个就是表驱动测试了比数据驱动的数据多了点关键字!oh!原来是这样)HP_UFT是关键字驱动的大家可以结合理解。
(5)混合测试自动化测试框架
综合以上两种自动化测试框架,取长补短,弥补各自的补足:以数据驱动的脚本为输入,通过关键字驱动框架的处理得到测试结果,完成自动化测试过程。这样可以使数据驱动的脚本利用关键字驱动框架通常提供的库和工具。这些框架工具可以使数据驱动的脚本更为紧凑,而且也不容易失败。(3和4混合使用了我的天!)
自己画的图。。。。

常用的自动化测试框架及测试框架的发展(Alpha)的更多相关文章
- [Automation] 自动化测试工具和测试框架大集合
8 Open Source Test Automation Tools for Desktop Applications written in WinForms/ WPF: Tool Comment ...
- TestNG 搭建测试框架 自动化测试
框架层级及基本组件: 参考:https://www.cnblogs.com/jier888/p/8998724.html Java作为开发语言 Maven管理项目及Jar包 Testng作为测试 ...
- 关于基于python2.7的unity自动化测试框架GAutomator测试环境的搭建(源码网盘下载地址:https://pan.baidu.com/s/1c2TXwtU)
关于基于python 2.7的unity自动化测试框架GAutomator测试环境的搭建 百度云盘链接(思维图学习资料):https://pan.baidu.com/s/1dFWExMD 准备工作(具 ...
- Python几种常用的测试框架
一.测试的常用规则 一个测试单元必须关注一个很小的功能函数,证明它是正确的: 每个测试单元必须是完全独立的,必须能单独运行.这样意味着每一个测试方法必须重新加载数据,执行完毕后做一些清理工作.通常通过 ...
- TestNG测试框架在基于Selenium进行的web自动化测试中的应用
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ TestNG+Selenium+Ant TestNG这个测试框架可以很好的和基于Selenium的 ...
- python 几种常用测试框架
测试的常用规则 一个测试单元必须关注一个很小的功能函数,证明它是正确的: 每个测试单元必须是完全独立的,必须能单独运行.这样意味着每一个测试方法必须重新加载数据,执行完毕后做一些清理工作.通常通过se ...
- <自动化测试>之<使用unittest Python测试框架进行参数化测试>
最近在看视频时,虫师简单提到了简化自动化测试脚本用例中的代码量,而python中本身的参数化方法用来测试很糟糕,他在实际操作中使用了parameterized参数化... 有兴趣就查了下使用的方法,来 ...
- Android自动化测试,5个必备的测试框架
Appium Appium是一个开源的移动测试工具,支持iOS和Android,它可以用来测试任何类型的移动应用(原生.网络和混合).作为一个跨平台的工具,你可以在不同的平台上运行相同的测试.为了实现 ...
- Android开源测试框架学习
近期因工作需要,分析了一些Android的测试框架,在这也分享下整理完的资料. Android测试大致分三大块: 代码层测试 用户操作模拟,功能测试 安装部署及稳定性测试 代码层测试 对于一般java ...
随机推荐
- mysqladmin常用用法
mysqladmin 工具的使用格式:mysqladmin [option] command [command option] command ...... 参数选项: -c number 自动运行次 ...
- RocketMQ之NameServer学习笔记
org.apache.rocketmq.namesrv.NamesrvController NameserController,NameServer的核心控制类. 1.1 NamesrvConfig ...
- html5+js+.Net的即时多人聊天
今天看了下websocket的知识,了解到这是html5新增的特性,主要用于实时web的通信.之前客户端获取服务端的数据,是通过客户端发出请求,服务端进行响应的模式,或者通过ajax每 ...
- (转)AIX的SVMON命令详解
原文:http://czmmiao.iteye.com/blog/1153499 svmon概述 svmon 命令用于显示当前内存状态的信息,可通过 # lslpp bos.perf.tools 查看 ...
- feign中的hytrix和turbin配置
这里我用了两个生产者和两个消费者进行演示,如下图(画的不好看,凑活看看): 这里我就只讲下怎么注册到dashbord和相关的配置,提供者和消费者等代码可以去下载查看: https://github.c ...
- 解决: selenium webdriver unable to find Mozilla geckodriver
1 安装 sudo apt-get install libqt4-dev libqtwebkit-dev 2 gem install capybara-webkit 3 在rails-helper.r ...
- goahead3.6.3就基本使用(后台上传信息到html页面),高手请忽略
声明:这里面的代码均为网上找的然后有小小的改动,并非原创.但文章为原创 一..编译 1.1,.下载:进入http://embedthis.com/goahead/下载goahead3.6.3(2017 ...
- Go RabbitMQ(五)主题
RabbitMQ topic 在之前我们将交换器的类型从fanout设置为direct后能够根据我们的选择获得响应的消息,虽然改良我们的消息日志系统,但是还有很多局限性,比如它不能基于多个标准进行路由 ...
- js常用字符处理方法
JS自带函数concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";var c = a ...
- 使用Docker镜像部署ELK日志系统
使用Docker部署elasticsearch.logstash.kibana 指定版本:6.7.1 (建议使用同一的版本.屏蔽三个软件间的不兼容性) 下载镜像: docker pull elasti ...