SAFS(Software Automation Framework Support)是一个开源的支持多平台的自动化测试框架,由
SAS Institute的Carl Nagle开发(http://safsdev.sourceforge.net/Default.htm)。下
图描述了这个模型的结构:
这个模型由测试表、核心数据驱动引擎、成员函数库、支持库、应用映射表组成,分别介绍如下:
测试表(Test Tables):保存测试数据和关键字,分为高层测试表、中层测试表、低层测试表。其中,下层的测试表被上层的测试表所调用。
核
心数据驱动引擎(Core Data Driven Engine):与测试表对应,分为高层驱动器(也叫循环驱动器)、中层驱动器(也叫组装驱动器)和
低层驱动器(也叫步骤驱动器)。上层的驱动器读取相应测试表的关键字逐级传递给下层的驱动器,最后由低层驱动器调用关键字库中的指令对应的组件函数来执
行。
组件函数库(Component Function):组件函数实现了用户对界面对象的各种操作指令,它在被测应用和自动化工具之间提供了一个隔离层。
支持库(Support Libraries):通用的程序和工具库,提供诸如数据库访问、字符串操作、文件访问、日志记录等基础性的支持功能。
应用映射表(Application Map):对应用中的对象定义一套命名规范,将这些实际对象的名字和自动化工具识别的对象名联系起来,形成映射表,从而使应用对象元素和测试对象名分离,提高了脚本的可维护性,中国自学编程网,www.zxbc.cn
。
SAFS
基于数据驱动和关键字驱动的思想设计,对各种商用测试工具的开发产生了深远的影响。早在1999年就为Rational 实现了自动化框架
RRAFS (Rational Robot Automation Framework Support),后来为
Mercury Interactive WinRunner 实现的框架叫WRAFS,还开发了一系列引擎。目前正在实现一个在多平台上测试Java应
用的引擎SAFS/Abbot,这也是一个开源项目(http://abbot.sourceforge.net/doc
/overview.shtml)。另外一个开源框架
STAF:Software Testing Automation Framework(http://staf.sourceforge.net
/index.php)也值得研究。
Carl J. Nagle的著名观点是:在构建测试策略时,必须将被测应用
的变化和测试工具的变化所造成的影响降低到最小
(\"When developing our test strategy, we must minimize the impact caused by changes in the applications we are testing, and changes in the tools we use to test them.
\")。软件企业如果要构建自己的自动化测试平台,可以将SAFS模型作为参考,并吸取其中的思想。
分享到:
相关推荐
SAFS是一个软件测试自动化框架,支持数据驱动(也称为关键字驱动)的功能测试自动化和相关服务。 该框架可以在Windows,Linux和Mac上独立运行,并且可以集成使用IBM Rational Functional Tester,IBM Rational Robot...
8. 测试框架(STAX+STAF+SAFS)和自动化测试工具(RFT):用于持续进行软件的测试工作。 敏捷开发方法的核心价值观体现在以下几个方面: - 个体和交互高于流程与工具:强调人与人之间的互动交流,而非过分依赖流程...
自适应特征选择阴影检测模型(Self-Adaptive Feature Selection, SAFS)是一种专门用于阴影检测的技术,它能够根据特定图像的特点自动调整其特征参数,从而提高阴影检测的准确性和适应性。本文将详细介绍SAFS算法的...
尽管目前HEFA(氢化酯和脂肪酸)SAFs是成本最低的SAFs,但长期来看,随着可再生能源价格的下降,电力制液态SAFs可能成为最具经济可行性的选择。电力制液态SAFs在主要SAF途径中拥有最低的环境足迹。 7. SAFs在应对...
对于内存测试而言,每个故障模型都要求有特定的测试算法和测试向量,以确保所有可能的故障都能被检测到。 在实际应用中,对于内存故障的检测和定位通常要求通过复杂的测试程序和故障仿真来实现。而这篇文章所提供的...
SAFS样品展示如何使用 Android 存储访问框架 (SAF) 编写代码的示例。 包括两部分: ##文档操作## 打开文档删除文档##Directory Selection## 举例说明如何让用户选择一个文件夹来授权应用程序的读/写权限,这对于应用...
主要描述了闪存访问通道MAFS和SAFS的工作机制以及相应的数据传输流程,包括从闪存到eSPI共享、代码获取切换、主机域功能的启动非发送交易通过eSPI Flash Access Channel等。此外,还包含了I2C操作EC域和主机状态...
前端周刊 - 第13期 - SAFS Fund FE - Dengdeng 早期,我们在写 JavaScript 时代码量少,可能几个function就能够解决问题,但是当页面逻辑较为复杂的时候,我们就不得不引入 模块化 的编程。 1. 早期的模块 早期为...
为了达到“净零”,必须发展并规模化应用新技术,包括可持续航空燃料(SAFs)、碳捕获与封存(CCUS)系统以及“绿色”水泥。 气候技术领域存在着巨大的商业机会,企业正投身于开发解决方案。电动汽车(EV)和替代...
- **新增内容**: 第二版涵盖了存储管理、SAN管理、存储虚拟化(包括基于主机和基于网络的虚拟化)、通过IP在千兆以太网上存储(iSCSI、FCIP、iFCP、mFCP)以及新的NAS/SAN文件系统(DAFS和SAFS)等内容。 - **面向人群**:...
xiaomi system upload
联系人:Aidan Coyle, UW-SAFS罗伯茨实验室 数据源 图书馆 在2021-02-02 PST 22:00 在2021-02-02 PST 24:00 提供库和处理之间的映射 转录组 。 在2021-02-03的PST 01:00 转录组校验和以及提供的其他信息(包括...
SAFS-NEAT,来自Loscalzo,S.,Wright,R.,Acunto,K.和Yu,Lei。 (2012)嵌入了用于强化学习的示例感知功能选择。 在《 GECCO会议录》,第879-886页。 FD-NEAT,来自Tan,M.,Hartley,M.,Bister,M。和Dekler