一种基于Linux下多台机器批量执行测试的方法与流程

文档序号:14249302阅读:173来源:国知局

本发明涉及计算机测试技术领域,特别涉及一种基于linux下多台机器批量执行测试的方法。



背景技术:

随着互联网的到来,服务器已经应用到各个行业领域,各类应用的需要造就了不同集群的产生。数据的时代服务器需求数量呈现出直线上涨的趋势,各行各业对服务器产生了不同的应用需求及需求数量的增加。为满足产品可靠性、稳定性测试需求需要,服务器研发测试分析阶段需加大测试样本量,研发测试分析输出对应批量部署测试方法。

随着互联网的飞速发展,服务器集群应用及市场占用量持续上升,产品测试机分析过程中样机需求数量也需同比增加,避免繁琐的部署与测试执行工作,编写批量部署及测试执行脚本。基于此,本发明提出了一种基于linux下多台机器批量执行测试的方法,以实现在linux系统下对多台测试机进行批量部署,批量执行测试,批量日志搜集,减少逐台部署的繁琐操作,避免造成人力时间浪费。



技术实现要素:

本发明为了弥补现有技术的缺陷,提供了一种简单高效的基于linux下多台机器批量执行测试的方法。

本发明是通过如下技术方案实现的:

一种基于linux下多台机器批量执行测试的方法,其特征在于,包括以下步骤:

(1)选择一台测试机作为控制机,将测试脚本文件放入指定目录;

(2)使控制机与多台测试样机置于同一个测试局域网中,先把所有待测试机器的ip写入到一个ip清单中;

(3)在控制机上执行对所有待测试机器的自动运行测试;

(4)测试完成后log存放到指定目录的ip命名的文件中。

所述步骤(2)中,保持测试局域网网络连接正常,确认每台测试机ip,并更新ip到配置文件ip_list.txt中。

所述步骤(3)中,在配置文件test_script.sh中批量更新测试的工具/脚本/命令,执行部署与测试脚本auto-run.sh和日志批量搜集脚本collect.sh。

所述步骤(3)中,遍历ip清单,通过expect工具登陆到待测试机器并把/mnt目录通过nfs的方式挂载到本地指定目录,在/mnt目录下创建以本机ip命名的文件夹,在/mnt目录下后台执行测试脚本。

所述步骤(4)中,并把结果写入到/mnt/$ip目录下以当前日期命名的log文件。

本发明的有益效果是:该基于linux下多台机器批量执行测试的方法,操作简单,自动化程度高,实用性较强,通过shell与expect语言实现了对多台测试机器的批量部署、批量测试执行、批量日志搜集的动作,减少了大样本的情况下逐台操作的繁琐作业造成的时间浪费,保证了批量测试的稳定性。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

该基于linux下多台机器批量执行测试的方法,包括以下步骤:

(1)选择一台测试机作为控制机,将测试脚本文件放入指定目录;

(2)使控制机与多台测试样机置于同一个测试局域网中,先把所有待测试机器的ip写入到一个ip清单中;

(3)在控制机上执行对所有待测试机器的自动运行测试;

(4)测试完成后log存放到指定目录的ip命名的文件中。

所述步骤(2)中,保持测试局域网网络连接正常,确认每台测试机ip,并更新ip到配置文件ip_list.txt中。

所述步骤(3)中,在配置文件test_script.sh中批量更新测试的工具/脚本/命令,执行部署与测试脚本auto-run.sh和日志批量搜集脚本collect.sh。

所述步骤(3)中,遍历ip清单,通过expect工具登陆到待测试机器并把/mnt目录通过nfs的方式挂载到本地指定目录,在/mnt目录下创建以本机ip命名的文件夹,在/mnt目录下后台执行测试脚本。

所述步骤(4)中,并把结果写入到/mnt/$ip目录下以当前日期命名的log文件/share/$ip。

该基于linux下多台机器批量执行测试的方法,具体实现脚本内容如下:

#!/bin/bash

#mountsharepathtolocalhost

passwd='111111'

testscript=test-script.sh

while((1));do

read-p"pleaseinputthecontrollerserverip(eg:192.168.49.254):"cip

["$cip"==""]&&continue

echo$cip

break

done

foripin`catip-list`

do

/usr/bin/expect<<-eof

settime-1

spawnsshroot@$ip

expect{

"*yes/no"{send"yes\r";exp_continue}

"*password:"{send"$passwd\r"}

}

expect"*#"

send"mount-tnfs$cip:/share/mnt\r"

expect"*#"

send"mkdir/mnt/$ip\r"

expect"*#"

send"cp/mnt/$testscript/mnt/$ip\r"

expect"*#"

send"cd/mnt/$ip\r"

expect"*#"

send"./$testscript>>`date"+%y-%m-%d-%m"`.log\r"

expect"*#"

send"exit\r"

puts"$iprun$testscriptsuccessful!!"

expecteof

eof

done



技术特征:

技术总结
本发明特别涉及一种基于Linux下多台机器批量执行测试的方法。该基于Linux下多台机器批量执行测试的方法,选择一台测试机作为控制机,将测试脚本文件放入指定目录;使控制机与多台测试样机置于同一个测试局域网中,先把所有待测试机器的IP写入到一个IP清单中;在控制机上执行对所有待测试机器的自动运行测试;测试完成后log存放到指定目录的IP命名的文件中。该基于Linux下多台机器批量执行测试的方法,操作简单,自动化程度高,实用性较强,通过shell与expect语言实现了对多台测试机器的批量部署、批量测试执行、批量日志搜集的动作,减少了大样本的情况下逐台操作的繁琐作业造成的时间浪费,保证了批量测试的稳定性。

技术研发人员:李永亮;兰太顺
受保护的技术使用者:郑州云海信息技术有限公司
技术研发日:2017.12.07
技术公布日:2018.04.20
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1