注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

网易杭研自动组

快乐耕耘,收获成长!

 
 
 

日志

 
 

STAX/STAF基础介绍  

2010-12-16 13:27:41|  分类: 自动测试 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

作者:佳佳  整理:璎珞

一、背景和概念

STAF/STAX 是由 IBM 开发的自动化测试运行环境,由于其跨平台扩展性强的特点,在各种测试工作中被越来越多的使用。STAF+STAX自动化测试框架的通用性更强大,适合各类应用系统,不仅适合B/S结构,而且还适合C/S结构的应用。它是一种分布式远程调用体系,支持多语言的自动化测试框架。


二、系统框架

作为完整系统框架,可以看作是3部分组成,即SAFSSTAFSTAX

   (1) SAFSSoftware Automation Framework Suppor)是基于数据驱动和关键字驱动的思想设计的开源自动化测试框架, 支持跨平台、多语言的应用。 

  (2) STAFSoftware Test Automation Framework)软件测试自动化框架是一个开源的测试自动化框架,它的设计核心理念是称为服务的可重用组件(例如,进程调用,资源管理,日志和监控等)。 围绕组件重用的理念,通过服务调用(如远程处理、资源管理、监控等)来完成自动化架构的构造。STAF作为自动化测试框架,提供一种可插拨的机制,支持多平台与多语言的分布式结构。 

  (3) STAXSTAf eXecution engine)是基于STAF的执行引擎。它是构建在 STAFXML Python 语言之上的执行引擎,它的出现大大的简化了测试人员的实现测试自动化的工作。STAX 同时还提供了一个强大的图形界面监控程序,使用该监控程序你可以监控并控制正在 STAF 框架中执行的任务。它采用XML格式描述。在XML文件中可定义测试工作流,可以实现并行执行、嵌套测试用例、控制运行时间等,STAX支持Java Python 模块。除此之外,还提供了许多增强服务,以满足自动化测试的需要,这些服务主要有:

  • 时间驱动服务(Cron Service):按特定时间间隔运行STAF命令。

  • 事件驱动服务(Event Service):由发生的事件来驱动进程通信,从而执行相关的STAF命令。

  • 名字空间服务(Namespace Service):为了变量永久仓库的存储和搜寻而设定名字空间层次。

  • 计数器服务(NamedCounter Service):针对特定的名字来动态地管理其计数器。

  • 计时服务(Timer Service):一台机器周期性地收到另一台机器发来的消息。

  • 邮件服务:将邮件消息发送给一批接收者。

  • 扩展的文件系统请求处理工具(FSExt Service

  • 程序调用服务(Process Service):内部服务,利用此服务,STAF 可以调用外部程序。

  • 文件系统服务(FileSystem Service):内部服务,利用此服务,STAF 可以对文件系统进行操作,比如复制,删除,查看等操作。

  • 日志服务(Log Service):外部服务,帮助用户进行日志的记录和查看。

  • 资源池服务(ResPool Service):外部服务,提供了对于资源池的管理和操作,如查看,创建和删除操作。

  • 监控服务(Monitor Service):外部服务,提供对于 STAF 运行时的监控功能。

  • 信号量服务(Sem Service):内部服务,提供了两种信号量的操作,mutex event

  • 压缩服务(Zip Service):外部服务,提供了压缩和解压的功能。

  • Ping服务(Ping Service):内部服务,类似于操作系统的 ping 功能,用于检测远程的 STAF 是否运行。

  • 变量服务(Var Service):内部服务,提供对于系统或者用户级别的环境变量的操作。

  • STAF 还提供了延迟(Delay Service), 帮助(Help Service), 跟踪(Trace Service)等服务,这里不一一列举。



三、企业级的自动化测试系统

    根据SAFS、STAF和STAX所具有的服务和功能,我们有信心它可以帮助我们建立一个良好的、企业级的自动化测试环境。下面,我就用一个图来展示它所带给我们的自动化测试环境。

STAX/STAF基本介绍 - 网易自动组 - 网易杭研自动组
 
图1. 自动化测试系统架构图

    
    使用框架符合 MVC 的三层结构,主要的功能模块都在控制层,包括提交和监控测试任务,监控 STAX 运行,支持多任务执行,维护历史测试记录等。在该框架中,表示层和控制层的功能实现是以 PHP 形式存在,采用DB2 作为数据容器,Apache Server 作为 Web Server,另外在控制层中关于自动化测试的功能实现是以 xml 形式存在,它是被实现层中的 STAF/STAX 所调用。它的体系结构如下图所示:

STAX/STAF基本介绍 - 网易自动组 - 网易杭研自动组
 
图 2. 自动化测试系统平台结构图(LAMP+STAF/STAX)


    我们希望测试的整个流程都用 STAF/STAX 控制自动完成。因此在所有的机器上都安装了 STAF。另外我们把对测试进行前端控制的软件和代码也配置在了 Tester 机器上,以充分利用其系统资源。对应的,Tester 机器的 STAF 需要安装 STAX 服务来运行本地的 STAX 脚本。
STAX/STAF基本介绍 - 网易自动组 - 网易杭研自动组
 
图 3. 自动化测试系统的部署图

  评论这张
 
阅读(1445)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018