首页 测试 体会 查看内容

分布式测试执行

2014-6-25 14:33| 发布者: tianzc| 查看: 586| 评论: 0

摘要:   1 相关说明  1.1 背景简介  随着一个产品的自动化工作不断深入,自动化的case积累数量持续增长,绝大部分毫无依赖关系的case由于串行运行,测试执行时间达到小时界别,且不易于优化。另外,ci运行时所需机器 ...
  1 相关说明  1.1 背景简介  随着一个产品的自动化工作不断深入,自动化的case积累数量持续增长,绝大部分毫无依赖关系的case由于串行运行,测试执行时间达到小时界别,且不易于优化。另外,ci运行时所需机器资源的抢占互斥,运行机器的不稳定等问题也逐渐扩大。  Hadoop分布式测试执行方案正是为了解决以上问题而产生,通过分布式执行,可以达到并行运行,提高执行效率的目的;另外,hadoop提供调度,重试等机制功能,可以提供给用户一个相对透明的计算资源池,减少用户对机器运行环境的依赖。  1.2 分布式平台的选择  本方案采用hadoop来作为分布式平台。首先是Hadoop是一个开源项目,有非常好的技术支持,二就是hadoop有成熟的分布式调度算法,可以很好的利用每台机器的cpu和内存资源,达到计算资源最优分配,三就是hadoop程序易于编写,便于维护。  1.3 名词解释  :apache基金会的开源分布式框架。  Mapreduce :hadoop的计算模型,由map任务和reduce任务组成。  Jobtracker  :hadoop计算系统的总控。  Tasktracker  :hadoop计算系统的子节点。  Slot(槽位) :tasktracker的最小计算分配单元,一个槽位可以对应一个map任务,一个机器启动一个tasktracker,槽位的话按照机器的cpu核数来分配,一般是”核数-1”。  <2 分布式测试执行方案  2.1 传统的单机测试执行流程  一般的单机测试流程分为5步,如下图所示:  1、lib库安装。包括测试框架的lib库安装以及基于该测试框架的产品业务层lib。  2、测试环境安装。主要指被测对象的测试环境安装,包括数据库安装,server端安装等。  3、case下载。从svn或者case库获取需要执行的case。  4、case运行。  5、发送报告。  单机测试执行的优点在于逻辑简单,易于实现,缺点就是case要串行执行,无法有效里有机器的cpu和内存资源。举个例子,现在有一个8核16G的测试机,每个case的平均cpu使用率为10%,内存消耗1G,在这样的情况,一般可以做到至少6个case并行化,优化效率是不言而喻的。  2.2 从单机测试到分布式测试执行的逻辑  有了以上的五个步骤及相关分析,我们考虑其中可以并行执行来进行优化的就是测试执行这块了,其他lib库安装,测试环境安装等都基本是最小单元,不易切分了。  所以从单机到分布式主要是Case执行集合的一个拆分。所以简单说,单机和分布式的区别就是case输入集合有变“而已,其他单机的测试执行过程基本不变。对于测试工程师来说,这个过程是透明的,只是执行case的环境从单机切换到多机。  下图简要的表示了case从单机到多机的变化(6位的数字是caseid)。
12下一页

鲜花

握手

雷人

路过

鸡蛋

扫一扫关注最新动态

毒镜头:老镜头、摄影器材资料库、老镜头样片、摄影
爱评测 aipingce.com  
返回顶部