基于STAF自动化测试框架的研究
2017-11-28姜秀丽
姜秀丽
摘 要:软件测试是保障软件质量的重要手段,随着计算机技术的飞速发展,软件的复杂度越来越高,传统手工执行测试表现出很大的局限性,面临这种需求,自动化测试技术应运而生。由IBM开发的STAF(Software Testing Automation Framework)软件测试框架在自动化测试领域表现出突出的优势。STAF基于可重用的组件技术实现,这些可重用组件称为服务。STAF能够实现跨平台、跨语言、分布式的软件自动化测试,而且STAF的可扩展性很强,根据用户具体业务可以方便的构建实用的自动化测试平台。
关键词:自动化测试;分布式;STAF
1 引言
STAF(Software Testing Automation Framework)是IBM开发的一种开源的、支持多语言并且基于可重用组件机制的自动化测试框架,开发STAF目的是更好的创建和管理自动化测试用例和环境。STAF的功能通过服务(Service)即可重用的组件实现,每个服务是一系列功能的集合,例如日志服务(Logging Service)、过程服务(Process Service)、监控服务(Monitoring Service)、文件服务(File Service)等等。
2 STAF/STAX工作原理
STAF本身是一个后台程序称为STAFProc,STAFProc可以提供一种轻量级的分发机制,将接收的外界请求发送给相应的服务(Service)。STAF采用点对点的实现机制,能够减轻自动化测试的负担,加快自动化测试的进程。在STAF的运行环境中所有的机器都是对等的,没有客户端与服务器的区别。
假设现在有两台机器A和B,A是主控机,如下图1所示:
可以看出机器A和B都安装了STAF,并且互相配置了信任关系。用户可以通过在机器A上调用STAF的服务(service)来实现与机器B的相互通讯,如文件传输、操作机器B、监控等等。所以STAF的作用实际上就是提供机器之间的通信通道并提供基于这个通道的基础服务。
我们可以单独通过STAF将测试任务集合分发到不同的测试环境去执行,但是如果测试任务太多,并且是不断添加新的任务进来,单独依靠STAF就不利于测试任务的执行、管理与维护了。因此引入了STAX的概念,如图2所示。
图中机器A安装了STAF/SATX,那么用户就可以把一批STAF Service调用通过XML格式写在一个文档里,然后由STAX调用这个文档并翻译成STAF Service 通过STAF传递给机器B执行。引入STAX机制使多测试任务的问题得到很好的解决。
3 结论
STAF自动化测试框架支持多种平台,多种操作系统,亦可以搭建跨平台的测试环境,比较适合需要构造复杂测试环境的场合。根据用户的特性需求部署执行机,测试及执行完测试脚本,在服务器端可直接收集分析测试结果,方便管理和维护,因此,基于STAF测试框架的自动化测试平台的使用具有很广的使用前景。
参考文献
[1]陈能技编著.软件测试技术大全:测试基礎 流行工具 项目实践(第二版).人民邮电出版社,2011.
[2]Gerald D.Everett,Raymond McLeod,Jr.Software Testing:Testing Across the Entire Software Development Life Cycle.Wiley – IEEE Computer Society Pr,2008.
[3]IBM,Software Testing Automation Framework(STAF) User Guide,2008.9,Version 3.3.1.endprint