利用Hudson实现自动化测试的分布式执行

发表于:2014-6-13 11:18

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:yejinxin    来源:51Testing软件测试网采编

  一、概述
  目前,持续集成已成为当前许多软件开发团队在整个软件开发生命周期内侧重于保证代码质量的常见做法。随着测试的自动化率逐步提高,每天要需要自动执行的测试用例也就越来越多了,当我们发现,跑一次完整的测试需要几个小时,测试的速度已远远跟不上编译的速度的时候,我们自然要考虑如何加快测试的速度了——分布式执行测试用例,显然是一个不错的办法,本文正是讲述如何利用Hudson来实现自动化测试的分布式执行。
  二、基本概念
  1.什么是持续集成
  简而言之,持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。
  持续集成可以帮助我们做到:
  1. 软件构建自动化
  2. 持续自动的构建检查
  3. 持续自动的构建测试
  4. 构件生成后续过程的自动化
  关于持续集成的更多概念和知识,本文不做深入阐述,有兴趣的读者可以参考以下链接:
  互联网行业应用持续集成实践
  2.关于Hudson
  没错,Hudson正是一个能帮助我们实现持续集成的平台。确切来说,Hudson是一个可扩展的持续集成引擎。 主要用于:
  1. 持续、自动地构建/测试软件项目
  2. 监控一些定时执行的任务
  更多关于Hudson的介绍和说明,请参考以下链接:
  持续集成工具Hudson
  三、分布式测试
  1.串行执行测试
  一般,我们会在Hudson上配置三个任务,分别是编译任务、快速测试任务、慢速(完整)测试任务。这三个任务一般是顺序串行执行的,上一个任务执行完毕了之后,下一个任务才能开始执行。
  2.化整为零
  串行执行测试,当需要运行的自动化测试用例较多时,任务执行的速度显然不会让我们满意,尤其是完整测试任务。如何加快执行速度呢 我们首先会想到的是,可以化整为零,把slowtest任务(完整测试任务)分成多个小任务,这样,就可以在多台机器上同时执行,从而加快执行速度了。
  然而,这样的做法,缺点也很明显——测试结果也被拆分,而且维护成本较高:
  ①slowtest的测试结果被拆分到各个小任务里,测试结果不方便统一显示和分析。
  ②为达到最大速度,需要我们人工来把slowtest任务拆分成跟已有测试机器数量相等的测试任务,如果测试机器的数量新增或减少了,就需要我们再次人工调整任务。
  ③需要我们人工来指定不同的测试用例,平均分给各个测试任务,如果测试用例数量发生变化,也需要我们再次调整设置。
41/41234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号