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

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

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

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

领测软件测试网

  my $collect = 0;

  while(($collect = waitpid(-1, WNOHANG)) > 0) {

  $cur_live_proc--;

  }

  }

  if ( ($cur_live_proc<$MAX_LIVE_PROC) and ($handled_task<$TOTAL_TASK) ) {

  $handled_task++;

  $cur_live_proc++;

  my $pid = fork();

  unless ($pid) {

  my $filename = &getUniqueFilename();

  push @result_filename, $filename;

  system "./checkHost $IP[$handled_task-1] $uid $psw $filename";

  exit 0;

  }

  } else {

  next;

  }

  }

  &checkResults();

  小结

  根据常见的设备系统测试自动化平台的特点和要求,把 Perl 的多进程技术应用到了测试脚本中,极大地提高了测试效率。

  Perl 多进程已经很长的发展历史,而且应用广泛,技术成熟。多进程在健壮性和容错性方面表现更好,每个进程都拥有独立的内存空间,并行的几个进程一般来说不会相互干扰;当然,相应的,多进程的系统开销也比较大,而且进程间通信也变得复杂一些。妥善地处理多进程生成和进程间的通信,会很好地改善自动化测试的运行效率以及稳定性。

  参考资料

  参考 http://search.cpan.org/~nwclark/perl-5.8.9/lib/Thread.pm,了解 Perl 线程模型的简介和 5005threads 的用户接口函数。

  参考 http://search.cpan.org/~aristotle/Proc-Fork-0.71/lib/Proc/Fork.pm,了解 Perl 的多进程使用。

  参考 http://search.cpan.org/~pjcj/Gedcom-1.16/install/System.pm,了解 Perl 中执行一个系统命令或者运行一个程序的方法。

  查看图书 Larry Wall, 《 Programming Perl 》 , 了解 Linux 平台 Perl 多进程的通信方法。

延伸阅读

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

77/7<1234567

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

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