本发明涉及软件测试技术领域,具体而言,为自动化测试分布式系统软件的方法及装置。
背景技术:
分布式系统软件每次迭代都要对其功能性、可靠性、兼容性、性能等进行测试,人工测试不仅费事费力,而且无法实现不间断测试;如何高效率,不间断地执行重复测试,便成为一个最为迫切的问题。
jmeter目前是apache组织维护的基于java语言的自动化测试工具;它能够用于测试静态和动态资源,通过创建带有断言的脚本来验证程序的期望结果。
qtp目前是microfocus组织维护的基于vbscript语言的自动化测试工具;主要是用于回归测试和版本迭代测试,支持脚本录制和回放。
上述两种自动化测试框架的执行全部依赖于脚本,对测试人员的编程能力要求较高,同时交互界面不够友好,导致学习成本较高,因此,开发一套简单易学的自动化测试框架势在必行。
并且上述两种自动化测试框架主要针对单一操作系统开发,无法将windows和linux操作系统统一管理测试,而且无法满足分布式系统软件测试的需求。因此,亟待新的自动化测试框架来解决这个问题。
有鉴于此,特提出本发明。
技术实现要素:
针对现有技术中的缺陷,本发明提供一种自动化测试分布式系统软件的方法及装置,以利于提高测试人员工作效率,并进一步提升软件质量。
为了实现上述目的,本发明的技术方案为:
一种自动化测试分布式系统软件的方法,包括
s1.在管理端和多个客户端分别安装rf环境;
s2.在管理端修改配置文件;
s3.拷贝测试文件至多个客户端;
s4.在管理端编写关键字和用例;
s5.建立管理端与多个客户端之间的连接,每个客户端分别对用例进行选择并分别执行相应的关键字,实现分布式测试。
进一步的,上述的自动化测试分布式系统软件的方法中,所述s2.管理端修改配置文件中,配置文件包括客户端ip、客户端名称、通用测试参数中的一种或多种。
进一步的,上述的自动化测试分布式系统软件的方法中,s4.管理端编写关键字和用例中,包括
将代码中不同功能的函数封装成关键字,根据测试用例逻辑关系,分别调用相应的关键字组成用例。
进一步的,上述的自动化测试分布式系统软件的方法中,s5.管理端连接客户端并执行用例中,包括
所有客户端发起连接至管理端,使得管理端与其建立连接;
客户端选择测试用例,点击执行;客户端根据测试用例的逻辑顺序,可各自执行相应关键字,进行分布式测试。
进一步的,上述的自动化测试分布式系统软件的方法中,s3.拷贝测试文件至客户端中,测试文件拷贝至客户端的目录结构包括
config:发起连接文件、远程上传工具、配置文件;
lintest.py:linux客户端发起连接请求文件;
wintest.py:windows客户端发起连接请求文件;
platform.py:远程上传工具;
setting.py:配置文件;
bin:通用库模块;
testlog.py:日志模块;
usedfunc.py:常用函数模块;
lib:自定义库模块;
domain.py:域操作模块;
filedir:文件目录模块;
network:网络模块;
lib:自定义库模块;
domain.py:域操作模块;
filedir:文件目录模块;
network:网络模块;
log:存放日志;
error.log:存放错误日志;
test.log:存放执行日志;
other:第三方库模块;
ping.vbs:网络ping脚本;
domgui.bat:启动域控界面脚本;
trigger.sh:重启系统脚本;
utils:python独立工具;
disk.py:统计系统磁盘信息;
trust.py:设置无密访问;
update.py:更新节点信息;
tools:测试工具;
vdbench:linux系统常用性能测试工具;
iometer:windows系统常用性能测试工具;
mdtest:常用压力测试工具。
进一步的,上述的自动化测试分布式系统软件的方法中,s6.管理端自动收集并整理日志,包括
测试结束后,管理端自动生成测试报告;测试报告包含用例成功失败数量,用例执行时间,用例执行输出中的一种或多种数据。
一种自动化测试分布式系统软件的装置,包括第一处理器和第一存储器,第一存储器中存储有程序,程序被第一处理器运行时,执行
安装rf环境;
修改配置文件;
编写关键字和用例;
连接客户端并执行用例以使拷贝有测试文件的客户端根据用例执行所述关键字,对测试文件进行测试;
自动收集并整理日志。
一种自动化测试分布式系统软件的装置,包括第二处理器和第二存储器,第二存储器中存储有程序,程序被第二处理器运行时,执行
安装rf环境;
拷贝测试文件至对应目录;
连接管理端以根据管理端的用例逻辑调用关键字,对测试文件进行测试
本发明的有益效果在于:
本发明方法利用分布式自动化测试的框架,可以兼容windows和linux操作系统,支持分布式测试;通过本发明方法,可以极大地提高测试人员工作效率,检测出系统软件问题,进一步提升软件质量。
本发明方法通过脚本自动化安装测试环境,在管理端和客户端分别直接配置文件以及拷贝测试文件,使得多个客户端均能根据组成的用例逻辑,自动执行分布式测试,在整个测试过程中,实现了自动化,省时省力,并且,由于减少了人工干预,避免了人为误判,极大的提高了测试的客观性和可靠性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1为本发明自动化测试分布式系统软件的方法的一个具体实施例的流程图;
图2为图1中所示拷贝测试文件至客户端时的文件目录结构示意图;
图3为图1中所示管理端编写关键字和用例时的测试用例组成示意图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
首先对本发明中涉及的技术术语进行解释:
实施例1
如图1-3所示的,一种自动化测试分布式系统软件的方法,基于管理端和客户端的配合实现,包括
s1.在管理端和客户端安装rf环境;
s2.在管理端修改配置文件;
s3.拷贝测试文件至客户端;
s4.在管理端编写关键字和用例;
s5.管理端连接客户端并执行用例;
s6.管理端自动收集并整理日志。
本发明方法中,利用分布式自动化测试的框架,实现系统软件的自动化测试;需说明,实际实施时,不严格按照本发明上述步骤标号顺序执行。具体的,上述步骤s1.中包括,将rf软件安装包拷贝到管理端和客户端,通过脚本自动化安装rf环境,rf测试环境用于软件的验收测试等。
步骤s2.管理端修改配置文件中,包括:
根据实际测试环境填写配置文件;其中配置文件包括:客户端ip、客户端名称、通用测试参数等。
步骤s3.拷贝测试文件至客户端中,包括:
将测试文件拷贝至客户端,其目录结构如图2所示:
config:发起连接文件、远程上传工具、配置文件;
lintest.py:linux客户端发起连接请求文件;
wintest.py:windows客户端发起连接请求文件;
platform.py:远程上传工具;
setting.py:配置文件;
bin:通用库模块;
testlog.py:日志模块;
usedfunc.py:常用函数模块;
lib:自定义库模块;
domain.py:域操作模块;
filedir:文件目录模块;
network:网络模块;
lib:自定义库模块
domain.py:域操作模块
filedir:文件目录模块
network:网络模块
......
log:存放日志
error.log:存放错误日志
test.log:存放执行日志
other:第三方库模块
ping.vbs:网络ping脚本
domgui.bat:启动域控界面脚本
trigger.sh:重启系统脚本
......
utils:python独立工具
disk.py:统计系统磁盘信息
trust.py:设置无密访问
update.py:更新节点信息
......
tools:测试工具
vdbench:linux系统常用性能测试工具
iometer:windows系统常用性能测试工具
mdtest:常用压力测试工具
......
步骤s4.管理端编写关键字和用例中,包括
将代码中不同功能的函数封装成关键字,不同客户端可以共同使用这些关键字执行相应操作。
其中根据测试用例逻辑关系,分别调用相应的关键字组成用例。测试用例组成如图3所示。
步骤s5.管理端连接客户端并执行用例中,包括
首先所有客户端发起连接至管理端,然后管理端与其建立连接。
勾选测试用例,点击执行,客户端则会根据测试用例的逻辑顺序,可各自执行相应关键字,实现分布式测试。
根据本发明的实施例,上述方法还包括步骤s6.管理端自动收集并整理日志,其中,测试结束后,管理端自动生成测试报告;测试报告包含用例成功失败数量,用例执行时间,用例执行输出中的一种或多种数据。
根据本发明的另一方面,还提供了一种自动化测试分布式系统软件的装置,包括第一处理器和第一存储器,第一存储器中存储有程序,程序被第一处理器运行时,执行上述的自动化测试分布式系统软件的方法。
本发明方法利用分布式自动化测试的框架,可以兼容windows和linux操作系统,支持分布式测试;通过本发明方法,可以极大地提高测试人员工作效率,检测出系统软件问题,进一步提升软件质量。
本发明方法通过脚本自动化安装测试环境,在管理端和客户端分别直接配置文件以及拷贝测试文件,使得多个客户端均能根据组成的用例逻辑,自动执行分布式测试,在整个测试过程中,实现了自动化,省时省力,并且,由于减少了人工干预,避免了人为误判,极大的提高了测试的客观性和可靠性。
实施例2
本发明自动化测试分布式系统软件的装置,包括第一处理器和第一存储器,第一存储器中存储有程序,其特征在于,程序被第一处理器运行时,执行
安装rf环境;
修改配置文件;
编写关键字和用例;
连接客户端并执行用例以使拷贝有测试文件的客户端根据用例执行所述关键字,对测试文件进行测试;
自动收集并整理日志。
本实施例的装置用于实现本发明上述方法在管理端的执行步骤,其具体的原理和步骤内容可对应参考实施例1中的相关描述,此处不再赘述。
实施例3
本发明自动化测试分布式系统软件的装置,还包括第二处理器和第二存储器,第二存储器中存储有程序,其特征在于,程序被第二处理器运行时,执行
安装rf环境;
拷贝测试文件至对应目录;
连接管理端以根据管理端的用例逻辑调用关键字,对测试文件进行测试。
本实施例的装置用于实现本发明上述方法在客户端的执行步骤,其具体的原理和步骤内容可对应参考实施例1中的相关描述,此处不再赘述。
本发明装置基于管理端和客户端来实施本发明方法进行软件测试,即通过分布式自动化测试的框架支持分布式系统的测试,在管理端直接配置文件以及在客户端拷贝测试文件,不同客户端复用管理端的关键字进行测试文件的测试。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。