CN113626306A - 一种基于Jenkins的BMC自动化测试方法及装置 - Google Patents

一种基于Jenkins的BMC自动化测试方法及装置 Download PDF

Info

Publication number
CN113626306A
CN113626306A CN202110712895.1A CN202110712895A CN113626306A CN 113626306 A CN113626306 A CN 113626306A CN 202110712895 A CN202110712895 A CN 202110712895A CN 113626306 A CN113626306 A CN 113626306A
Authority
CN
China
Prior art keywords
bmc
test
node
tested
automatic test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110712895.1A
Other languages
English (en)
Inventor
代飞飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN202110712895.1A priority Critical patent/CN113626306A/zh
Publication of CN113626306A publication Critical patent/CN113626306A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明提供一种基于Jenkins的BMC自动化测试方法及装置,所述方法包括:在客户端节点部署Jenkins工具,获取用户对测试环境及待测BMC设备的配置;客户端节点根据测试任务状态登录服务端节点,启动待测BMC设备自动化测试;服务端节点根据待测BMC设备的配置选择BMC自动化测试脚本中对应测试分支,并根据流程顺序对待测BMC设备的各功能模块进行测试,接收并解析响应结果,生成服务端日志文件;客户端节点查询服务端节点的BMC自动化测试任务状态,收集服务端日志文件后,上传到Jenkins工具向用户展示测试结果。本发明实现BMC测试自动化、可控化,兼容多种机型,保证测试过程可靠性直观查看测试日志。

Description

一种基于Jenkins的BMC自动化测试方法及装置
技术领域
本发明属于BMC测试技术领域,具体涉及一种基于Jenkins的BMC自动化测试方法及装置。
背景技术
Jenkins,一个开源软件项目,是基于Java开发的一种持续集成工具。BMC,是Baseboard Manager Control ler的简称,基板管理控制器,用于管理和监控服务器。IPMI,是Intelligent Platform Management Interface的简称,智能平台管理接口。
BMC是服务器的监控管理芯片,通过监视服务器的温度、电压、风扇以及电源等等,并做相应的调节工作,以保证服务器处于健康的状态。日常对BMC的测试十分重要,通过对BMC的测试,及时发现并修复BMC的问题是对服务器监控能力保障的前提。BMC的测试需要针对不同的机型和平台,每种机型和平台测试方法有差异,且BMC的功能多,测试复杂,因此对于BMC的测试存在严峻挑战。目前对于BMC的测试方法主要有两种,一种是工作人员手动对BMC的各个功能模块进行测试,当设备台数多时将耗费大量的人力,第二种方法是通过专业人员编写自动化测试脚本,测试人员在被测设备上手动执行自动化脚本来测试,这种方法提高了测试速率,减少了测试人力,但是测试方法复杂,测试结果展示不直观,自动化程度低等缺点。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种基于Jenkins的BMC自动化测试方法及装置,是非常有必要的。
发明内容
针对现有技术的上述对BMC测试是保障服务器监控能力的前提,但手动测试方法耗费大量人力,而现有自动化测试方法复杂,测试结果展示不直观,且自动化程度低的缺陷,本发明提供一种基于Jenkins的BMC自动化测试方法及装置,以解决上述技术问题。
第一方面,本发明提供一种基于Jenkins的BMC自动化测试方法,包括如下步骤:
S1.在客户端节点部署Jenkins工具,客户端节点通过Jenkins工具获取用户对测试环境及待测BMC设备的配置;
S2.客户端节点根据BMC自动化测试任务状态登录服务端节点,启动待测BMC设备自动化测试;
S3.服务端节点根据待测BMC设备的配置选择BMC自动化测试脚本中对应测试分支,并根据BMC自动化测试脚本中预先设定的流程顺序对待测BMC设备的各功能模块进行测试,再接收并解析待测BMC设备的响应结果,生成服务端日志文件;
S4.客户端节点查询服务端节点的BMC自动化测试任务状态,并在完成待测BMC设备测试时,收集服务端日志文件后,上传到Jenkins工具向用户展示测试结果。
进一步地,步骤S1具体步骤如下:
S11.在客户端节点部署Jenkins工具;
S12.用户通过Jenkins工具配置客户端节点到服务端节点ssh免密登录;
S13.用户通过Jenkins工具配置待测BMC设备的IP地址和机型。用户可通过Jenkins工具配置待测BMC设备的IP地址和机型,以便于定位待测BMC设备和选择测试脚本中的代码分支。
进一步地,步骤S2具体步骤如下:
S21.客户端节点向服务端节点查询BMC自动化测试任务状态;
若BMC自动化测试任务状态为空闲,则进入步骤S22;
若BMC自动化测试任务状态为忙碌,则退出,结束;
S22.客户端节点从测试脚本库拉取最高版本BMC自动化测试脚本到服务器节点;
S23.客户端节点通过ssh免密登录到服务端节点,远程执行BMC自动化测试脚本,启动待测BMC设备自动化测试。设置免密登录保证客户端节点无障碍登录服务端节点,保障自动化测试的进行。
进一步地,步骤S22具体步骤如下:
S221.客户端节点判断服务端节点已有BMC自动化测试脚本是否为测试脚本库中最高版本;
若是,进入步骤S23;
若否,进入步骤S222;
S222.客户端节点从测试脚本库中拉取最高版本BMC自动化测试脚本到服务端节点。通过对BMC自动化测试脚本版本的确认,保证自动化测试脚本更新后的及时使用。
进一步地,步骤S3具体步骤如下:
S31.服务端节点执行BMC自动化测试脚本中的入口脚本,并根据待测BMC设备的机型选择BMC自动化测试脚本中对应机型的测试分支;
S32.服务端节点获取BMC自动化测试脚本中流程编排脚本设定的测试顺序,并按照测试顺序依次启动各功能模块的子测试脚本对待测BMC设备的各功能模块进行测试;
S33.服务器节点接收待测BMC设备返回的响应结果,对响应结果进行解析,生成服务端运行日志文件和服务端结果日志文件。不同机型的待测BMC设备具体测试脚本不同,通过在同一个BMC自动化测试脚本中设置不同分支,兼容不同机型待测机型的BMC设备;服务端节点设置有服务端流程编排脚本,设定待测BMC设备各功能的测试顺序。
进一步地,步骤S32具体步骤如下:
S321.服务端节点进入BMC自动化测试脚本中对应机型的测试分支,并获取该测试分支中对应流程编排脚本;
S322.服务端节点从流程编排脚本中提取出测试顺序;
S323.服务端节点按照测试顺序依次启动各功能模块的子测试脚本;
S324.各功能模块的子测试脚本根据测试用例并通过服务端节点的接口向待测BMC设备发送对应IPMI测试指令。服务端节点设置有接口用于向待测BMC设备发送IPMI测试指令;各功能模块的子测试脚本中设置有测试用例用于测试对应功能模块的功能;各功能模块的测试相互独立,测试顺序有流程编排脚本决定。
进一步地,服务端运行日志文件记录测试过程日志;
服务端结果日志文件记录各功能模块测试是否通过。服务端日志文件,用于测试结束后,提供给用户定位待测BMC设备故障点。
进一步地,步骤S4具体步骤如下:
S41.服务端节点记录BMC自动化测试任务状态;
S42.当待测BMC设备正常进行自动化测试时,服务端节点记录BMC自动化测试任务状态为忙碌;
当待测BMC设备存在功能模块的自动化测试失败,且测试失败的功能模块对后续功能模块测试有影响,需退出自动化测试任务时,服务端节点记录BMC自动化测试任务状态为失败;
当待测BMC设备存在功能模块的自动化测试失败,但测试失败的功能模块对其他功能模块测试无影响时,服务端节点记录失败日志到服务端日志文件中,同时记录BMC自动化测试任务状态为忙碌;
当待测BMC设备各功能模块的自动化测试完成时,服务端节点记录BMC自动化测试任务状态为完成;
当服务端日志文件向Jenkins工具上传后,服务端节点通知客户端节点记录BMC自动化测试任务状态为空闲;
S43.客户端节点每隔设定时间段异步查询服务端节点的BMC自动化测试任务状态;
S44.客户端节点收集服务端日志文件,并将上传到Jenkins工具,向用户展示测试结果,再更新BMC自动化测试任务状态为空闲。服务端节点维护一个状态机记录BMC自动化测试任务状态,保证测试过程的可靠性。设定时间段可取一分钟。客户端节点会定时查询BMC自动化测试任务状态,例如当BMC自动化测试任务状态为失败时,可能是某个功能模块测试出现问题,也可能是网络出现问题导致BMC自动化测试任务超时,此时,自动结束BMC自动化测试任务,防止因待测BMC设备异常断电或自动化化测试任务卡死造成客户端节点无法结束服务端节点的响应,导致客户端节点无限等待。不论BMC自动化测试任务状态为成功还是失败,均收集服务端日志文件。
进一步地,步骤S43中,当BMC自动化测试任务状态为忙碌时,返回步骤S41。当BMC自动化测试任务状态为忙碌时,说明正在进行待测BMC设备测试,返回步骤S41等待各功能模块的测试完成。
第二方面,本发明提供一种基于Jenkins的BMC自动化测试装置,包括:
测试配置模块,用于在客户端节点部署Jenkins工具,设置客户端节点通过Jenkins工具获取用户对测试环境及待测BMC设备的配置;
测试启动模块,用于设置客户端节点根据BMC自动化测试任务状态登录服务端节点,启动待测BMC设备自动化测试;
BMC测试模块,用于设置服务端节点根据待测BMC设备的配置选择BMC自动化测试脚本中对应测试分支,并根据BMC自动化测试脚本中预先设定的流程顺序对待测BMC设备的各功能模块进行测试,再接收并解析待测BMC设备的响应结果,生成服务端日志文件;
测试结果展示模块,用于设置客户端节点查询服务端节点的BMC自动化测试任务状态,并在完成待测BMC设备测试时,收集服务端日志文件后,上传到Jenkins工具向用户展示测试结果。
进一步地,测试配置模块包括:
Jenkins工具部署单元,用于在客户端节点部署Jenkins工具;
登录配置单元,用于用户通过Jenkins工具配置客户端节点到服务端节点ssh免密登录;
BMC配置单元,用于用户通过Jenkins工具配置待测BMC设备的IP地址和机型。
进一步地,测试启动模块包括:
测试任务状态查询单元,用于客户端节点向服务端节点查询BMC自动化测试任务状态;
第一测试退出单元,用于BMC自动化测试任务状态为忙碌,退出测试;
测试脚本版本更新单元,用于BMC自动化测试任务状态为空闲时,客户端节点从测试脚本库拉取最高版本BMC自动化测试脚本到服务器节点;
远程登录单元,用于客户端节点通过ssh免密登录到服务端节点,远程执行BMC自动化测试脚本,启动待测BMC设备自动化测试。
进一步地,BMC测试模块包括:
测试分支选择单元,用于服务端节点执行BMC自动化测试脚本中的入口脚本,并根据待测BMC设备的机型选择BMC自动化测试脚本中对应机型的测试分支;
测试顺序获取单元,用于服务端节点获取BMC自动化测试脚本中流程编排脚本设定的测试顺序,并按照测试顺序依次启动各功能模块的子测试脚本对待测BMC设备的各功能模块进行测试;
测试结果接收及日志生成单元,用于服务器节点接收待测BMC设备返回的响应结果,对响应结果进行解析,生成服务端运行日志文件和服务端结果日志文件。
进一步地,测试结果展示模块包括:
测试任务状态记录单元,用于服务端节点记录BMC自动化测试任务状态;
第一忙碌状态记录单元,用于当待测BMC设备正常进行自动化测试时,服务端节点记录BMC自动化测试任务状态为忙碌;
失败状态记录单元,用于当待测BMC设备存在功能模块的自动化测试失败时,且测试失败的功能模块对后续功能模块测试有影响,需退出自动化测试任务,服务端节点记录BMC自动化测试任务状态为失败;
第二忙碌状态记录单元,用于当待测BMC设备存在功能模块的自动化测试失败,但测试失败的功能模块对其他功能模块测试无影响时,服务端节点记录失败日志到服务端日志文件中,同时记录BMC自动化测试任务状态为忙碌;
完成状态记录单元,用于当待测BMC设备各功能模块的自动化测试完成时,服务端节点记录BMC自动化测试任务状态为完成;
空闲状态记录单元,用于当服务端日志文件向Jenkins工具上传后,服务端节点通知客户端节点记录BMC自动化测试任务状态为空闲;
测试任务状态查询单元,用于客户端节点每隔设定时间段异步查询服务端节点的BMC自动化测试任务状态;
日志展示单元,用于当BMC自动化测试任务状态为完成或失败时,客户端节点收集服务端日志文件,并将上传到Jenkins工具,向用户展示测试结果,再更新BMC自动化测试任务状态为空闲。
本发明的有益效果在于,
本发明提供的基于Jenkins的BMC自动化测试方法及装置,实现待测BMC设备测试自动化,并可控制测试过程,兼容多种机型的BMC测试,节约大量的人力成本,通过服务端节点维护测试过程状态机,保证测试过程可靠性,通过Jenkins工具界面直观查看测试日志,快速定位待测BMC设备的异常点,及时发现并解决测试暴露出的问题,提高产品的竞争力。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的方法流程示意图一;
图2是本发明的方法流程示意图二;
图3是本发明的系统示意图;
图中,1-测试配置模块;1.1-Jenkins工具部署单元;1.2-登录配置单元;1.3-BMC配置单元;2-测试启动模块;2.1-测试任务状态查询单元;2.2-第一测试退出单元;2.3-测试脚本版本更新单元;2.4-远程登录单元;3-BMC测试模块;3.1-测试分支选择单元;3.2-测试顺序获取单元;3.3-测试结果接收及日志生成单元;4-测试结果展示模块;4.1-测试任务状态记录单元;4.2-第一忙碌状态记录单元;4.3-失败状态记录单元;4.4-第二忙碌状态记录单元;4.5-完成状态记录单元;4.6-空闲状态记录单元;4.7-测试任务状态查询单元;4.8-日志展示单元。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例1:
如图1所示,本发明提供一种基于Jenkins的BMC自动化测试方法,包括如下步骤:
S1.在客户端节点部署Jenkins工具,客户端节点通过Jenkins工具获取用户对测试环境及待测BMC设备的配置;
S2.客户端节点根据BMC自动化测试任务状态登录服务端节点,启动待测BMC设备自动化测试;
S3.服务端节点根据待测BMC设备的配置选择BMC自动化测试脚本中对应测试分支,并根据BMC自动化测试脚本中预先设定的流程顺序对待测BMC设备的各功能模块进行测试,再接收并解析待测BMC设备的响应结果,生成服务端日志文件;
S4.客户端节点查询服务端节点的BMC自动化测试任务状态,并在完成待测BMC设备测试时,收集服务端日志文件后,上传到Jenkins工具向用户展示测试结果。
实施例2:
如图2所示,本发明提供一种基于Jenkins的BMC自动化测试方法,包括如下步骤:
S1.在客户端节点部署Jenkins工具,客户端节点通过Jenkins工具获取用户对测试环境及待测BMC设备的配置;具体步骤如下:
S11.在客户端节点部署Jenkins工具;
S12.用户通过Jenkins工具配置客户端节点到服务端节点ssh免密登录;
S13.用户通过Jenkins工具配置待测BMC设备的IP地址和机型;
S2.客户端节点根据BMC自动化测试任务状态登录服务端节点,启动待测BMC设备自动化测试;具体步骤如下:
S21.客户端节点向服务端节点查询BMC自动化测试任务状态;
若BMC自动化测试任务状态为空闲,则进入步骤S22;
若BMC自动化测试任务状态为忙碌,则退出,结束;
S22.客户端节点从测试脚本库拉取最高版本BMC自动化测试脚本到服务器节点;
S23.客户端节点通过ssh免密登录到服务端节点,远程执行BMC自动化测试脚本,启动待测BMC设备自动化测试;
S3.服务端节点根据待测BMC设备的配置选择BMC自动化测试脚本中对应测试分支,并根据BMC自动化测试脚本中预先设定的流程顺序对待测BMC设备的各功能模块进行测试,再接收并解析待测BMC设备的响应结果,生成服务端日志文件;具体步骤如下:
S31.服务端节点执行BMC自动化测试脚本中的入口脚本,并根据待测BMC设备的机型选择BMC自动化测试脚本中对应机型的测试分支;
S32.服务端节点获取BMC自动化测试脚本中流程编排脚本设定的测试顺序,并按照测试顺序依次启动各功能模块的子测试脚本对待测BMC设备的各功能模块进行测试;
S33.服务器节点接收待测BMC设备返回的响应结果,对响应结果进行解析,生成服务端运行日志文件和服务端结果日志文件;
S4.客户端节点查询服务端节点的BMC自动化测试任务状态,并在完成待测BMC设备测试时,收集服务端日志文件后,上传到Jenkins工具向用户展示测试结果;具体步骤如下:
S41.服务端节点记录BMC自动化测试任务状态;
S42.当待测BMC设备正常进行自动化测试时,服务端节点记录BMC自动化测试任务状态为忙碌;
当待测BMC设备存在功能模块的自动化测试失败,且测试失败的功能模块对后续功能模块测试有影响,需退出自动化测试任务时,服务端节点记录BMC自动化测试任务状态为失败;
当待测BMC设备存在功能模块的自动化测试失败,但测试失败的功能模块对其他功能模块测试无影响时,服务端节点记录失败日志到服务端日志文件中,同时记录BMC自动化测试任务状态为忙碌;当待测BMC设备各功能模块的自动化测试完成时,服务端节点记录BMC自动化测试任务状态为完成;
当服务端日志文件向Jenkins工具上传后,服务端节点通知客户端节点记录BMC自动化测试任务状态为空闲;
S43.客户端节点每隔设定时间段异步查询服务端节点的BMC自动化测试任务状态;
S44.客户端节点收集服务端日志文件,并将上传到Jenkins工具,向用户展示测试结果,再更新BMC自动化测试任务状态为空闲。
实施例3:
如图2所示,本发明提供一种基于Jenkins的BMC自动化测试方法,包括如下步骤:
S1.在客户端节点部署Jenkins工具,客户端节点通过Jenkins工具获取用户对测试环境及待测BMC设备的配置;具体步骤如下:
S11.在客户端节点部署Jenkins工具;
S12.用户通过Jenkins工具配置客户端节点到服务端节点ssh免密登录;
S13.用户通过Jenkins工具配置待测BMC设备的IP地址和机型;
S2.客户端节点根据BMC自动化测试任务状态登录服务端节点,启动待测BMC设备自动化测试;具体步骤如下:
S21.客户端节点向服务端节点查询BMC自动化测试任务状态;
若BMC自动化测试任务状态为空闲,则进入步骤S22;
若BMC自动化测试任务状态为忙碌,则退出,结束;
S22.客户端节点从测试脚本库拉取最高版本BMC自动化测试脚本到服务器节点;具体步骤如下:
S221.客户端节点判断服务端节点已有BMC自动化测试脚本是否为测试脚本库中最高版本;
若是,进入步骤S23;
若否,进入步骤S222;
S222.客户端节点从测试脚本库中拉取最高版本BMC自动化测试脚本到服务端节点;
S23.客户端节点通过ssh免密登录到服务端节点,远程执行BMC自动化测试脚本,启动待测BMC设备自动化测试;
S3.服务端节点根据待测BMC设备的配置选择BMC自动化测试脚本中对应测试分支,并根据BMC自动化测试脚本中预先设定的流程顺序对待测BMC设备的各功能模块进行测试,再接收并解析待测BMC设备的响应结果,生成服务端日志文件;具体步骤如下:
S31.服务端节点执行BMC自动化测试脚本中的入口脚本,并根据待测BMC设备的机型选择BMC自动化测试脚本中对应机型的测试分支;
S32.服务端节点获取BMC自动化测试脚本中流程编排脚本设定的测试顺序,并按照测试顺序依次启动各功能模块的子测试脚本对待测BMC设备的各功能模块进行测试;具体步骤如下:
S321.服务端节点进入BMC自动化测试脚本中对应机型的测试分支,并获取该测试分支中对应流程编排脚本;
S322.服务端节点从流程编排脚本中提取出测试顺序;
S323.服务端节点按照测试顺序依次启动各功能模块的子测试脚本;
S324.各功能模块的子测试脚本根据测试用例并通过服务端节点的接口向待测BMC设备发送对应IPMI测试指令;
S33.服务器节点接收待测BMC设备返回的响应结果,对响应结果进行解析,生成服务端运行日志文件和服务端结果日志文件;服务端运行日志文件记录测试过程日志;服务端结果日志文件记录各功能模块测试是否通过;服务端日志文件,用于测试结束后,提供给用户定位待测BMC设备故障点;
S4.客户端节点查询服务端节点的BMC自动化测试任务状态,并在完成待测BMC设备测试时,收集服务端日志文件后,上传到Jenkins工具向用户展示测试结果;具体步骤如下:
S41.服务端节点记录BMC自动化测试任务状态;
S42.当待测BMC设备正常进行自动化测试时,服务端节点记录BMC自动化测试任务状态为忙碌;
当待测BMC设备存在功能模块的自动化测试失败,且测试失败的功能模块对后续功能模块测试有影响,需退出自动化测试任务时,服务端节点记录BMC自动化测试任务状态为失败;
当待测BMC设备存在功能模块的自动化测试失败,但测试失败的功能模块对其他功能模块测试无影响时,服务端节点记录失败日志到服务端日志文件中,同时记录BMC自动化测试任务状态为忙碌;
当待测BMC设备各功能模块的自动化测试完成时,服务端节点记录BMC自动化测试任务状态为完成;
当服务端日志文件向Jenkins工具上传后,服务端节点通知客户端节点记录BMC自动化测试任务状态为空闲;
S43.客户端节点每个设定时间段异步查询服务端节点的BMC自动化测试任务状态;
S44.客户端节点收集服务端日志文件,并将上传到Jenkins工具,向用户展示测试结果,再更新BMC自动化测试任务状态为空闲。
实施例4:
如图3所示,本发明提供一种基于Jenkins的BMC自动化测试装置,包括:
测试配置模块1,用于在客户端节点部署Jenkins工具,设置客户端节点通过Jenkins工具获取用户对测试环境及待测BMC设备的配置;测试配置模块1包括:
Jenkins工具部署单元1.1,用于在客户端节点部署Jenkins工具;
登录配置单元1.2,用于用户通过Jenkins工具配置客户端节点到服务端节点ssh免密登录;
BMC配置单元1.3,用于用户通过Jenkins工具配置待测BMC设备的IP地址和机型;
测试启动模块2,用于设置客户端节点根据BMC自动化测试任务状态登录服务端节点,启动待测BMC设备自动化测试;测试启动模块2包括:
测试任务状态查询单元2.1,用于客户端节点向服务端节点查询BMC自动化测试任务状态;
第一测试退出单元2.2,用于BMC自动化测试任务状态为忙碌,退出测试;
测试脚本版本更新单元2.3,用于BMC自动化测试任务状态为空闲时,客户端节点从测试脚本库拉取最高版本BMC自动化测试脚本到服务器节点;
远程登录单元2.4,用于客户端节点通过ssh免密登录到服务端节点,远程执行BMC自动化测试脚本,启动待测BMC设备自动化测试;
BMC测试模块3,用于设置服务端节点根据待测BMC设备的配置选择BMC自动化测试脚本中对应测试分支,并根据BMC自动化测试脚本中预先设定的流程顺序对待测BMC设备的各功能模块进行测试,再接收并解析待测BMC设备的响应结果,生成服务端日志文件;BMC测试模块3包括:
测试分支选择单元3.1,用于服务端节点执行BMC自动化测试脚本中的入口脚本,并根据待测BMC设备的机型选择BMC自动化测试脚本中对应机型的测试分支;
测试顺序获取单元3.2,用于服务端节点获取BMC自动化测试脚本中流程编排脚本设定的测试顺序,并按照测试顺序依次启动各功能模块的子测试脚本对待测BMC设备的各功能模块进行测试;
测试结果接收及日志生成单元3.3,用于服务器节点接收待测BMC设备返回的响应结果,对响应结果进行解析,生成服务端运行日志文件和服务端结果日志文件;
测试结果展示模块4,用于设置客户端节点查询服务端节点的BMC自动化测试任务状态,并在完成待测BMC设备测试时,收集服务端日志文件后,上传到Jenkins工具向用户展示测试结果;测试结果展示模块4包括:
测试任务状态记录单元4.1,用于服务端节点记录BMC自动化测试任务状态;
第一忙碌状态记录单元4.2,用于当待测BMC设备正常进行自动化测试时,服务端节点记录BMC自动化测试任务状态为忙碌;
失败状态记录单元4.3,用于当待测BMC设备存在功能模块的自动化测试失败时,且测试失败的功能模块对后续功能模块测试有影响,需退出自动化测试任务,服务端节点记录BMC自动化测试任务状态为失败;
第二忙碌状态记录单元4.4,用于当待测BMC设备存在功能模块的自动化测试失败,但测试失败的功能模块对其他功能模块测试无影响时,服务端节点记录失败日志到服务端日志文件中,同时记录BMC自动化测试任务状态为忙碌;完成状态记录单元4.5,用于当待测BMC设备各功能模块的自动化测试完成时,服务端节点记录BMC自动化测试任务状态为完成;
空闲状态记录单元4.6,用于当服务端日志文件向Jenkins工具上传后,服务端节点通知客户端节点记录BMC自动化测试任务状态为空闲;
测试任务状态查询单元4.7,用于客户端节点每隔设定时间段异步查询服务端节点的BMC自动化测试任务状态;
日志展示单元4.8,用于当BMC自动化测试任务状态为完成时,客户端节点收集服务端日志文件,并将上传到Jenkins工具,向用户展示测试结果,再更新BMC自动化测试任务状态为空闲。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种基于Jenkins的BMC自动化测试方法,其特征在于,包括如下步骤:
S1.在客户端节点部署Jenkins工具,客户端节点通过Jenkins工具获取用户对测试环境及待测BMC设备的配置;
S2.客户端节点根据BMC自动化测试任务状态登录服务端节点,启动待测BMC设备自动化测试;
S3.服务端节点根据待测BMC设备的配置选择BMC自动化测试脚本中对应测试分支,并根据BMC自动化测试脚本中预先设定的流程顺序对待测BMC设备的各功能模块进行测试,再接收并解析待测BMC设备的响应结果,生成服务端日志文件;
S4.客户端节点查询服务端节点的BMC自动化测试任务状态,并在完成待测BMC设备测试时,收集服务端日志文件后,上传到Jenkins工具向用户展示测试结果。
2.如权利要求1所述的基于Jenkins的BMC自动化测试方法,其特征在于,步骤S1具体步骤如下:
S11.在客户端节点部署Jenkins工具;
S12.用户通过Jenkins工具配置客户端节点到服务端节点ssh免密登录;
S13.用户通过Jenkins工具配置待测BMC设备的IP地址和机型。
3.如权利要求2所述的基于Jenkins的BMC自动化测试方法,其特征在于,步骤S2具体步骤如下:
S21.客户端节点向服务端节点查询BMC自动化测试任务状态;
若BMC自动化测试任务状态为空闲,则进入步骤S22;
若BMC自动化测试任务状态为忙碌,则退出,结束;
S22.客户端节点从测试脚本库拉取最高版本BMC自动化测试脚本到服务器节点;
S23.客户端节点通过ssh免密登录到服务端节点,远程执行BMC自动化测试脚本,启动待测BMC设备自动化测试。
4.如权利要求3所述的基于Jenkins的BMC自动化测试方法,其特征在于,步骤S3具体步骤如下:
S31.服务端节点执行BMC自动化测试脚本中的入口脚本,并根据待测BMC设备的机型选择BMC自动化测试脚本中对应机型的测试分支;
S32.服务端节点获取BMC自动化测试脚本中流程编排脚本设定的测试顺序,并按照测试顺序依次启动各功能模块的子测试脚本对待测BMC设备的各功能模块进行测试;
S33.服务器节点接收待测BMC设备返回的响应结果,对响应结果进行解析,生成服务端运行日志文件和服务端结果日志文件。
5.如权利要求4所述的基于Jenkins的BMC自动化测试方法,其特征在于,步骤S4具体步骤如下:
S41.服务端节点记录BMC自动化测试任务状态;
S42.当待测BMC设备正常进行自动化测试时,服务端节点记录BMC自动化测试任务状态为忙碌;
当待测BMC设备存在功能模块的自动化测试失败,且测试失败的功能模块对后续功能模块测试有影响,需退出自动化测试任务时,服务端节点记录BMC自动化测试任务状态为失败;
当待测BMC设备存在功能模块的自动化测试失败,但测试失败的功能模块对其他功能模块测试无影响时,服务端节点记录失败日志到服务端日志文件中,同时记录BMC自动化测试任务状态为忙碌;
当待测BMC设备各功能模块的自动化测试完成时,服务端节点记录BMC自动化测试任务状态为完成;
当服务端日志文件向Jenkins工具上传后,服务端节点通知客户端节点记录BMC自动化测试任务状态为空闲;
S43.客户端节点每隔设定时间段异步查询服务端节点的BMC自动化测试任务状态;
S44.客户端节点收集服务端日志文件,并将上传到Jenkins工具,向用户展示测试结果,再更新BMC自动化测试任务状态为空闲。
6.一种基于Jenkins的BMC自动化测试装置,其特征在于,包括:
测试配置模块(1),用于在客户端节点部署Jenkins工具,设置客户端节点通过Jenkins工具获取用户对测试环境及待测BMC设备的配置;
测试启动模块(2),用于设置客户端节点根据BMC自动化测试任务状态登录服务端节点,启动待测BMC设备自动化测试;
BMC测试模块(3),用于设置服务端节点根据待测BMC设备的配置选择BMC自动化测试脚本中对应测试分支,并根据BMC自动化测试脚本中预先设定的流程顺序对待测BMC设备的各功能模块进行测试,再接收并解析待测BMC设备的响应结果,生成服务端日志文件;
测试结果展示模块(4),用于设置客户端节点查询服务端节点的BMC自动化测试任务状态,并在完成待测BMC设备测试时,收集服务端日志文件后,上传到Jenkins工具向用户展示测试结果。
7.如权利要求6所述的基于Jenkins的BMC自动化测试装置,其特征在于,测试配置模块(1)包括:
Jenkins工具部署单元(1.1),用于在客户端节点部署Jenkins工具;
登录配置单元(1.2),用于用户通过Jenkins工具配置客户端节点到服务端节点ssh免密登录;
BMC配置单元(1.3),用于用户通过Jenkins工具配置待测BMC设备的IP地址和机型。
8.如权利要求6所述的基于Jenkins的BMC自动化测试装置,其特征在于,测试启动模块(2)包括:
测试任务状态查询单元(2.1),用于客户端节点向服务端节点查询BMC自动化测试任务状态;
第一测试退出单元(2.2),用于BMC自动化测试任务状态为忙碌,退出测试;
测试脚本版本更新单元(2.3),用于BMC自动化测试任务状态为空闲时,客户端节点从测试脚本库拉取最高版本BMC自动化测试脚本到服务器节点;
远程登录单元(2.4),用于客户端节点通过ssh免密登录到服务端节点,远程执行BMC自动化测试脚本,启动待测BMC设备自动化测试。
9.如权利要求6所述的基于Jenkins的BMC自动化测试装置,其特征在于,BMC测试模块(3)包括:
测试分支选择单元(3.1),用于服务端节点执行BMC自动化测试脚本中的入口脚本,并根据待测BMC设备的机型选择BMC自动化测试脚本中对应机型的测试分支;
测试顺序获取单元(3.2),用于服务端节点获取BMC自动化测试脚本中流程编排脚本设定的测试顺序,并按照测试顺序依次启动各功能模块的子测试脚本对待测BMC设备的各功能模块进行测试;
测试结果接收及日志生成单元(3.3),用于服务器节点接收待测BMC设备返回的响应结果,对响应结果进行解析,生成服务端运行日志文件和服务端结果日志文件。
10.如权利要求6所述的基于Jenkins的BMC自动化测试装置,其特征在于,测试结果展示模块(4)包括:
测试任务状态记录单元(4.1),用于服务端节点记录BMC自动化测试任务状态;
第一忙碌状态记录单元(4.2),用于当待测BMC设备正常进行自动化测试时,服务端节点记录BMC自动化测试任务状态为忙碌;
失败状态记录单元(4.3),用于当待测BMC设备存在功能模块的自动化测试失败时,且测试失败的功能模块对后续功能模块测试有影响,需退出自动化测试任务,服务端节点记录BMC自动化测试任务状态为失败;
第二忙碌状态记录单元(4.4),用于当待测BMC设备存在功能模块的自动化测试失败,但测试失败的功能模块对其他功能模块测试无影响时,服务端节点记录失败日志到服务端日志文件中,同时记录BMC自动化测试任务状态为忙碌;
完成状态记录单元(4.5),用于当待测BMC设备各功能模块的自动化测试完成时,服务端节点记录BMC自动化测试任务状态为完成;
空闲状态记录单元(4.6),用于当服务端日志文件向Jenkins工具上传后,服务端节点通知客户端节点记录BMC自动化测试任务状态为空闲;
测试任务状态查询单元(4.7),用于客户端节点每隔设定时间段异步查询服务端节点的BMC自动化测试任务状态;
日志展示单元(4.8),用于当BMC自动化测试任务状态为完成或失败时,客户端节点收集服务端日志文件,并将上传到Jenkins工具,向用户展示测试结果,再更新BMC自动化测试任务状态为空闲。
CN202110712895.1A 2021-06-25 2021-06-25 一种基于Jenkins的BMC自动化测试方法及装置 Pending CN113626306A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110712895.1A CN113626306A (zh) 2021-06-25 2021-06-25 一种基于Jenkins的BMC自动化测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110712895.1A CN113626306A (zh) 2021-06-25 2021-06-25 一种基于Jenkins的BMC自动化测试方法及装置

Publications (1)

Publication Number Publication Date
CN113626306A true CN113626306A (zh) 2021-11-09

Family

ID=78378447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110712895.1A Pending CN113626306A (zh) 2021-06-25 2021-06-25 一种基于Jenkins的BMC自动化测试方法及装置

Country Status (1)

Country Link
CN (1) CN113626306A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115599699A (zh) * 2022-11-30 2023-01-13 合肥康芯威存储技术有限公司(Cn) 基于Jenkins的BIT自动化测试方法
TWI810053B (zh) * 2022-09-01 2023-07-21 英業達股份有限公司 伺服器裝置的上架與下架檢測系統及其方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI810053B (zh) * 2022-09-01 2023-07-21 英業達股份有限公司 伺服器裝置的上架與下架檢測系統及其方法
CN115599699A (zh) * 2022-11-30 2023-01-13 合肥康芯威存储技术有限公司(Cn) 基于Jenkins的BIT自动化测试方法

Similar Documents

Publication Publication Date Title
CN110928774B (zh) 一种基于节点式的自动化测试系统
CN107291565B (zh) 运维可视化自动化作业平台及实现方法
CN113626306A (zh) 一种基于Jenkins的BMC自动化测试方法及装置
CN101478449A (zh) 一种协议自动测试方法及其系统
CN112822486B (zh) 老化测试方法、监控装置及可读存储介质
CN109800117A (zh) 一种基于ipmi的dc自动化测试方法及系统
CN112073263B (zh) 白盒交换机可靠性测试监测方法、系统、设备及介质
CN109525841A (zh) 电视压力测试方法、平台及计算机可读存储介质
CN113315222A (zh) 一种适用于电力系统的智能变电站自动化设备运维管控系统
CN106155885A (zh) 一种全自动测试系统及测试方法
CN115827358A (zh) 一种pfr功能的自动化测试系统、方法、装置及存储介质
CN114546747A (zh) 一种bmc冷重启压力测试系统及方法
CN111769979A (zh) 一种云资源编排方法、系统、终端及存储介质
CN108319240A (zh) 一种在现场作业终端应用采集运维知识库的方法和系统
CN111258893A (zh) 随机组装交易路径的移动端应用自动化测试装置
CN113452965B (zh) 测试交换机与网络摄像机兼容性的自动化测试方法及系统
CN115220974A (zh) 一种操作系统网络信息动态检查系统、方法、装置及介质
CN115599699B (zh) 基于Jenkins的BIT自动化测试方法
CN113485928A (zh) 一种交换机自动化测试方法及装置
CN114281615B (zh) 一种存储数据一致性自动化测试系统及方法
CN106502845A (zh) 一种对服务器做ac开关机的自动化测试方法
CN112416805A (zh) 一种测试管理云平台和方法
CN111510191A (zh) 一种卫星测控自动化测试系统
CN116225944B (zh) 一种预置组网环境的软件测试系统和方法
CN112242928B (zh) 一种业务系统管理系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination