利用Hudson实现自动化测试的分布式执行
作者:网络转载 发布时间:[ 2014/6/13 13:25:31 ] 推荐标签:Hudson 自动化测试
一、概述
目前,持续集成已成为当前许多软件开发团队在整个软件开发生命周期内侧重于保证代码质量的常见做法。随着测试的自动化率逐步提高,每天要需要自动执行的测试用例也越来越多了,当我们发现,跑一次完整的测试需要几个小时,测试的速度已远远跟不上编译的速度的时候,我们自然要考虑如何加快测试的速度了——分布式执行测试用例,显然是一个不错的办法,本文正是讲述如何利用Hudson来实现自动化测试的分布式执行。
二、基本概念
1.什么是持续集成
简而言之,持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次,也意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。
持续集成可以帮助我们做到:
1. 软件构建自动化
2. 持续自动的构建检查
3. 持续自动的构建测试
4. 构件生成后续过程的自动化
关于持续集成的更多概念和知识,本文不做深入阐述,有兴趣的读者可以参考以下链接:
互联网行业应用持续集成实践
2.关于Hudson
没错,Hudson正是一个能帮助我们实现持续集成的平台。确切来说,Hudson是一个可扩展的持续集成引擎。 主要用于:
1. 持续、自动地构建/测试软件项目
2. 监控一些定时执行的任务
更多关于Hudson的介绍和说明,请参考以下链接:
持续集成工具Hudson
三、分布式测试
1.串行执行测试
一般,我们会在Hudson上配置三个任务,分别是编译任务、快速测试任务、慢速(完整)测试任务。这三个任务一般是顺序串行执行的,上一个任务执行完毕了之后,下一个任务才能开始执行。
2.化整为零
串行执行测试,当需要运行的自动化测试用例较多时,任务执行的速度显然不会让我们满意,尤其是完整测试任务。如何加快执行速度呢 我们首先会想到的是,可以化整为零,把slowtest任务(完整测试任务)分成多个小任务,这样,可以在多台机器上同时执行,从而加快执行速度了。
然而,这样的做法,缺点也很明显——测试结果也被拆分,而且维护成本较高:
①slowtest的测试结果被拆分到各个小任务里,测试结果不方便统一显示和分析。
②为达到大速度,需要我们人工来把slowtest任务拆分成跟已有测试机器数量相等的测试任务,如果测试机器的数量新增或减少了,需要我们再次人工调整任务。
③需要我们人工来指定不同的测试用例,平均分给各个测试任务,如果测试用例数量发生变化,也需要我们再次调整设置。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11