• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Perl 多进程技术在自动化测试中的应用

发布: 2011-1-26 09:21 | 作者: 不详 | 来源: 领测测试网采编 | 查看: 71次 | 进入软件测试论坛讨论

领测软件测试网

  图 2. 自动化测试环境框图

图 2. 自动化测试环境框图

  用一台运行 Red Hat Enterprise Linux 系统的 x Server 作为 Test console,上面安装 IBM Rational Build Forge 用于测试的执行和管理。Test console 通过以太网络与各个 server,switch,physical-layer switch 和 storage 进行通信,包括测试脚本的传送,测试命令的信息交互。

  这里说明一个测试用例,从而讲述一个典型测试过程。“主机和光纤交换机之间的光纤断开测试”:

  Test console 发命令到所有的主机,让每个主机发现存储磁盘,分区,格式化文件系统,mount 或者分 windows 盘符,配置 IO 程序等;然后检查各个被测应用程序以及系统的运行状态,把结果返回 Test console;

  Test console 发命令到所有的光纤交换机,让每个光纤交换机检查自身当前的运行状态,然后返回结果到 Test console;

  Test console 发命令到所有的存储,让每个存储机器检查自身当前的运行状态,然后返回结果到 Test console;

  Test console 在保证所有主机,交换机和存储设备都进入要求的测试状态后,开始进入测试,否则退出;

  Test console 发命令让每个 physical-layer switch 开始进行相关的光纤连接的断开,然后等待一定的时间,再合上;

  Test console 发命令到所有的主机,检测它们的状态,等待所有的主机都恢复正常;

  重复 5、6 两步,测试持续 24 小时,完成。

  可见,在这样的自动化测试过程中,很多次需要 Test console 和几十个或者几百个机器进行命令交互,检查状态或者执行任务。这些操作当然可以是一个系统接着一个系统的执行;但是大多数任务是可以并发的,或者是可以同时进行从而提高测试效率的,比如同时访问多个主机去启动 IO 程序、检查机器状态,在登录存储上执行一个脚本的同时在多个主机上面执行一些应用程序,同时登录所有的光纤交换机执行一些配置命令等。

  另外,Test console 和被测系统(Server、Switch、Storage 等)之间的命令交互操作,需要使用 Perl Expect 模块,或其它基于 Expect 的模块例如 Perl::SSH::Expect, Perl::Telnet::Expect 等。很可惜,Expect 模块并不是线程安全的。

  显然,这就需要应用 Perl 的多进程技术到自动化测试中。

  应用 Perl 多进程技术到自动化测试脚本

  在自动化测试中,利用 Rational Build Forge 作为测试管理和监控工具,90% 以上的测试脚本都采用 Perl 脚本。采用了模块化编程,并大量使用 CPAN 提供的 module。由于很多 module 都不是线程安全的,同时为了提高脚本开发效率,也会在一个脚本中直接调用另外一个脚本,所以选择在自动化测试框架中应用 Perl 多进程。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网