常用的自动化测试框架及测试框架的发展(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 ...
随机推荐
- Q147 对链表进行插入排序
插入排序的动画演示如上.从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示). 每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中. 插入排序算法: 插入排序 ...
- MySQL 创建schema
create schema zzz default character set utf8 collate utf8_general_ci;--创建数据库 grant select,insert,upd ...
- ASP.NET MVC利用ActionLink实现动态组合查询
一个文件传输数据表,内有日期.传输协议.传输方向(上传或下载).文件名等信息,完整的表内容显示如下: 现在需要分类查询,即按照协议和传输方向查询.单独的分类查询问题并不大,比如,按协议查询,在View ...
- SQL Server性能监控常用语句
.查找目前SQL Server所执行的SQL语法,并展示资源情况: SELECT s2.dbid , DB_NAME(s2.dbid) AS [数据库名] , --s1.sql_handle , ( ...
- (转)oracle linux 7 安装oracle 12c
原文:https://blog.csdn.net/jiuyun1986/article/details/53589446 https://blog.csdn.net/admin_root1/artic ...
- HTML5 五大特性
一.正则表达式: 相信大家都会非常喜欢这个特性,无须服务器端的检测,使用浏览器的本地功能就可以帮助你判断电子邮件的格式,URL,或者是电话格式,防止用户输入错误的信息,通过使用HTML5的patter ...
- 14 线程间协作的两种方式:wait、notify、notifyAll和Condition
原文链接:http://www.cnblogs.com/dolphin0520/p/3920385.html 在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作.比如说最经典的生产者- ...
- Windows Azure上的大数据服务: HDInsight的介绍
这个视频介绍了目前非常流行的大数据处理框架Hadoop的Windows Azure上的实现:HDInsight,以及利用MapReduce来对大数据进行分析,利用Hive进行查询,利用客户端Power ...
- Java Reflect
Method method=demo.getMethod("sayChina"); method.invoke(demo.newInstance()); ...
- 如鹏网学习笔记(十)DOM
DOM笔记一.DOM简介 Document Object Model 文档对象模型 DOM的节点树模型:整个文档按照从大到小的节点划分,每一个内容都算作一个节点 DOM API 编程接口 可以用来操作 ...