流程控制的测试方法、系统、可读存储介质及电子设备与流程

文档序号:20186465发布日期:2020-03-27 19:08阅读:130来源:国知局
流程控制的测试方法、系统、可读存储介质及电子设备与流程
本发明属于服务器测试
技术领域
,涉及一种测试方法和系统,特别是涉及一种流程控制的测试方法、系统、可读存储介质及电子设备。
背景技术
:目前产线对服务器测试流程中,测试过程都是根据测试工具逐步进行的,整体测试过程和时间相对稳定,耗时相对比较长。有些测试tool虽然自身也可以进行并行测试,但操作起来比较具有局限性,会受到tool自身约束,不方便,不灵活。针对生产线测试问题提前发现以及效能提升方面都面临着相对比较大的压力。因此,如何提供一种流程控制的测试方法、系统、可读存储介质及电子设备,以解决现有技术在服务器测试流程中都是根据测试工具逐步进行,而这种测试会受到测试工具的约束,导致测试耗时较长,不灵活等缺陷,实已成为本领域技术人员亟待解决的技术问题。技术实现要素:鉴于以上所述现有技术的缺点,本发明的目的在于提供一种流程控制的测试方法、系统、可读存储介质及电子设备,用于解决现有技术在服务器测试流程中都是根据测试工具逐步进行,而这种测试会受到测试工具的约束,导致测试耗时较长,不灵活的问题。为实现上述目的及其他相关目的,本发明一方面提供一种流程控制的测试方法,适应于一电子设备,该电子设备配置有用于串行测试的第一测试平台和用于并行测试的第二测试平台;所述流程控制的测试方法包括:进入测试流程后,根据预设测试工具中的测试参数,判断是否需要切换至所述第二测试平台;若是,切换至所述第二测试平台,以调用所述第二测试平台与所述第一测试平台执行并行测试;待测试结束,收集包括测试结果的标志文件;若否,仅调用所述第一测试平台执行串行测试。于本发明的一实施例中,所述预设测试工具包括用于测试待测对象功能的测试脚本;所述测试脚本包括所述测试参数。于本发明的一实施例中,若需执行串行测试时,所述测试参数仅包括待测对象的功能测试参数;若需执行并行测试时,所述测试参数还包括用于表示需切换到所述第二测试平台并行的参数标记。于本发明的一实施例中,若需切换至所述第二测试平台时,所述流程控制的测试方法还包括将所述预设测试工具复制到独立的运行目录下运行。于本发明的一实施例中,在所述第二测试平台下将预设测试工具自由组合,以实现在所述第二测试平台下的并行测试。于本发明的一实施例中,所述测试结果包括并行测试通过或并行测试失败。本发明另一方面提供一种流程控制的测试系统,适应于一电子设备,该电子设备配置有用于串行测试的第一测试平台和用于并行测试的第二测试平台;所述流程控制的测试系统包括:判断模块,用于进入测试流程后,根据预设测试工具中的测试参数,判断是否需要切换至所述第二测试平台;若是,通过一调用模块切换至所述第二测试平台,以调用所述第二测试平台与所述第一测试平台执行并行测试;待测试结束,通过一收集模块收集包括测试结果的标志文件;若否,通过所述调用模块调用所述第一测试平台执行串行测试。于本发明的一实施例中,所述流程控制的测试系统包括还包括:存储模块,用于存储所述预设测试工具。本发明又一方面提供一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述流程控制的测试方法。本发明最后一方面提供一种电子设备,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述电子设备执行所述流程控制的测试方法。如上所述,本发明所述的流程控制的测试方法、系统、可读存储介质及电子设备,具有以下有益效果:第一,整体测试几支更加灵活,方便。不受测试工具自身限制,可以灵活组合测试工具;第二,运行目录及标记文件的抓取都比较独立,不会互相干扰;第三,通过测试工具中后台参数标记的条件,将测试流程和测试工具配合,灵活控制测试工具并行,大大节省了测试工具的压测时间,提升了产能;且能够提早发现待测设备存在问题,以便及时修正方便后续测试及出货。附图说明图1显示为本发明的流程控制的测试方法适用的电子设备示意图。图2a显示为本发明的流程控制的测试方法于一实施例中的流程示意图。图2b显示为本发明的流程控制的测试方法的一具体实施示例图。图3显示为本发明的流程控制的测试系统于一实施例中的原理结构示意图。图4显示为本发明的电子设备的硬件结构示意图。元件标号说明1服务器3流程控制的测试系统31存储模块32启动模块33判断模块34调用模块35收集模块36循环模块4电子设备41处理器42存储器43收发器44通信接口45系统总线s21~s26步骤具体实施方式以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。实施例一本实施例提供一种流程控制的测试方法,适应于一电子设备,该电子设备配置有用于串行测试的第一测试平台和用于并行测试的第二测试平台;所述流程控制的测试方法包括:当进入测试流程后,根据预设测试工具中的测试参数,判断是否需要切换至所述第二测试平台;若是,切换至所述第二测试平台,以调用所述第二测试平台与所述第一测试平台执行并行测试;待测试结束,收集包括测试结果的标志文件;若否,仅调用所述第一测试平台执行串行测试。以下将结合图示对本实施例所提供的流程控制的测试方法进行详细描述。本实施例所述流程控制的测试方法用于测试电子设备,例如,如图1所示的服务器1,以提前发现电子设备存在的问题,便于及时修正,后续测试及出货。在本实施例中,所述电子设备配置有用于串行测试的第一测试平台(以下称之为前台)和用于并行测试的第二测试平台(以下称之为后台)。在执行本实施例所述流程控制的测试方法之前,需要预先设置好测试工具(tool)。因此,预设测试工具包括用于测试待测对象功能的测试脚本,所述测试脚本可供测试流程自动调用;所述测试脚本包括所述测试参数。在本实施例中,若需执行串行测试时,所述测试参数仅包括待测对象的功能测试参数;若需执行并行测试时,所述测试参数还包括用于表示需切换到所述第二测试平台并行的参数标记。具体地,需切换到后台并行测试的参数标记为background。测试工具中包括的测试脚本示例如下:vga_test.shnic_test.shnic_end.shhdd_test.shcpu_test.shcpu_end.sh。测试参数具体示例如下:index=1name=vga_testparams=led_greenindex=2name=nic_testparams=backgroundnicstress(第二测试平台并行)index=3name=nic_endparams=naindex=4name=hdd_testparams=hdd.jsonindex=5name=cpu_testparams=backgroundcpu.json(第二测试平台并行)index=6name=cpu_endparams=na。在本实施例中,在所述第二测试平台下将预设测试工具自由组合,以实现在所述第二测试平台下的并行测试。例如,index=2name=nic_testparams=backgroundnicstress;(第二测试平台并行);index=2name=cpu_testparams=backgroundcpu.json(第二测试平台并行)请参阅图2a和图2b,分别显示为流程控制的测试方法于一实施例中的流程示意图和流程控制的测试方法的一具体实施示例图。如图2a所示,所述流程控制的测试方法具体包括以下几个步骤:s21,启动测试流程。在本实施例中,启动测试流程通过python技术实现。s22,在进入测试流程后,根据预设测试工具中的测试参数,判断是否需要切换至所述第二测试平台;若是,执行s23;若否,执行s25,即仅调用所述第一测试平台执行串行测试。在本实施例中,根据测试参数中是否包括用于表示需切换到所述第二测试平台并行的参数标记background,来判断是否需要切换至后台并行。如图2b所示,根据预设测试工具中的测试参数:name=nic_testparams=backgroundnicstress中的background,可知需切换至后台并行测试。s23,切换至所述第二测试平台,以调用所述第二测试平台与所述第一测试平台执行并行测试。如图2b所示,调用后台进行nic测试,前台进行显卡测试,以实现并行测试。在本实施例中,针对需要并行测试的预设测试工具(tool),采取起多线程方式调用处理,将预设测试工具复制到独立的运行目录下运行,以避免和其他预设测试工具冲突。具体地,独立的运行目录可为$root/testinfo/$toolnames24,待测试结束,收集包括测试结果的标志文件,以检测并行测试结果。所述测试结果包括并行测试通过或并行测试失败。如图2b所示,待将针对nic测试的预设测试工具复制到独立的目录下运行时,直接返回该tool运行结果end,收集标记文件。s26,循环执行s22-s24,直至测试完所有预设测试工具。继续参阅图2b,根据预设测试工具中测试参数:index=5name=cpu_testparams=backgroundcpu.json中的background,可知需切换至后台并行测试。即调用后台进行cpu测试,前台进行hdd测试,以实现并行测试。待将针对cpu测试的预设测试工具复制到独立的目录下运行时,直接返回该tool运行结果end,收集标记文件。如图2b所示的试验样例,整个测试耗时190秒,比串行测试耗时300秒省去了2个tool的压测时间(60-5)*2=110秒的时间。在本实施例中,并行测试节省时间公式如下:节约时间(秒)=测试总时间-(测试总时间-收集后台tool运行时间)/并发轮次。其中,测试总时间指所有预设测试工具(tools)串行运行的总耗时。若以6个压力工具,每个测试工具耗时4小时为例,正常测试完脚本压测需要24个小时,即需要86400秒。若采用本实施例所述流程控制的测试方法后,整个测试过程最优可节省时间=86400-(86400-10)/3=56604秒,相当于串行24小时,优化后只需要8小时便可以完成压力测试,节省16小时。本实施例还提供一种可读存储介质(亦称计算机可读存储介质),其上存储有计算机程序,该程序被处理器执行时实现上述流程控制的测试方法。本领域普通技术人员可以理解计算机可读存储介质为:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。本实施例所述流程控制的测试方法具有以下几点有益效果:第一,整体测试几支更加灵活,方便。不受测试工具自身限制,可以灵活组合测试工具;第二,运行目录及标记文件的抓取都比较独立,不会互相干扰;第三,通过测试工具中后台参数标记的条件,将测试流程和测试工具配合,灵活控制测试工具并行,大大节省了测试工具的压测时间,提升了产能;且能够提早发现待测设备存在问题,以便及时修正方便后续测试及出货。实施例二本实施例提供一种流程控制的测试系统,适应于一电子设备,该电子设备配置有用于串行测试的第一测试平台和用于并行测试的第二测试平台;所述流程控制的测试系统包括:判断模块,用于进入测试流程后,根据预设测试工具中的测试参数,判断是否需要切换至所述第二测试平台;若是,通过一调用模块切换至所述第二测试平台,以调用所述第二测试平台与所述第一测试平台执行并行测试;待测试结束,通过一收集模块收集包括测试结果的标志文件;若否,通过所述调用模块调用所述第一测试平台执行串行测试。以下将结合图示对本实施例所述流程控制的测试系统进行详细描述。本实施例所述流程控制的测试系统适应于一电子设备。请参阅图3,显示为流程控制的测试系统于一实施例中的原理结构示意图。如图3所示,所述流程控制的测试系统3包括存储模块31、启动模块32、判断模块33、调用模块34、收集模块35及循环模块36。所述存储模块31用于存储所述预设测试工具。所述预设测试工具包括用于测试待测对象功能的测试脚本,所述测试脚本可供测试流程自动调用;所述测试脚本包括所述测试参数。在本实施例中,若需执行串行测试时,所述测试参数仅包括待测对象的功能测试参数;若需执行并行测试时,所述测试参数还包括用于表示需切换到所述第二测试平台并行的参数标记。具体地,需切换到后台并行测试的参数标记为background。所述启动模块32用于启动所述流程控制的测试系统。在本实施例中,所述启动模块32通过python技术实现所述流程控制的测试系统3的启动。与所述存储模块31和所述启动模块32耦合的所述判断模块33在所述流程控制的测试系统3进入测试流程后,根据预设测试工具中的测试参数,判断是否需要切换至所述第二测试平台;若是,通过所述调用模块34切换至所述第二测试平台;若否,通过所述调用模块35调用所述第一测试平台执行串行测试。在本实施例中,所述判断模块33根据测试参数中是否包括用于表示需切换到所述第二测试平台并行的参数标记background,来判断是否需要切换至后台并行。所述调用模块34切换至所述第二测试平台,以调用所述第二测试平台与所述第一测试平台执行并行测试。在本实施例中,针对需要并行测试的预设测试工具(tool),所述调用模块34采取起多线程方式调用处理,将预设测试工具复制到独立的运行目录下运行,以避免和其他预设测试工具冲突。与所述调用模块34耦合的收集模块35用于待测试结束,收集包括测试结果的标志文件,以检测并行测试结果。所述测试结果包括并行测试通过或并行测试失败。分别与所述存储模块31、所述判断模块33、所述调用模块34耦合的循环模块用于循环利用所述存储模块31、所述判断模块33、所述调用模块34,直至测试完所有预设测试工具。需要说明的是,应理解以上系统的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现,也可以全部以硬件的形式实现,还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。各个模块可以为单独设立的处理元件,也可以集成在上述系统的某一个芯片中实现。此外,各个模块也可以以程序代码的形式存储于上述系统的存储器中,由上述系统的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),一个或多个微处理器(digitalsingnalprocessor,简称dsp),一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。实施例三本实施例提供一种电子设备,请参阅图4,显示为电子设备的硬件结构示意图。如图4所示,所述电子设备4包括:处理器41、存储器42、收发器43、通信接口44或/和系统总线45;存储器42和通信接口44通过系统总线45与处理器41和收发器43连接并完成相互间的通信,存储器42用于存储计算机程序,通信接口44用于和其他设备进行通信,处理器41和收发器43用于运行计算机程序,使电子设备4执行如实施例一所述流程控制的测试方法的各个步骤。上述提到的系统总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问系统与其他设备(如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(randomaccessmemory,简称ram),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。本发明所述的流程控制的测试方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。本发明还提供一种流程控制的测试系统,所述流程控制的测试系统可以实现本发明所述的流程控制的测试方法,但本发明所述的流程控制的测试方法的实现系统包括但不限于本实施例列举的流程控制的测试系统的结构,凡是根据本发明的原理所做的现有技术的结构变形和替换,都包括在本发明的保护范围内。本发明所述流程控制的测试方法、系统、可读存储介质及电子设备具有以下几点有益效果:第一,整体测试几支更加灵活,方便。不受测试工具自身限制,可以灵活组合测试工具;第二,运行目录及标记文件的抓取都比较独立,不会互相干扰;第三,通过测试工具中后台参数标记的条件,将测试流程和测试工具配合,灵活控制测试工具并行,大大节省了测试工具的压测时间,提升了产能;且能够提早发现待测设备存在问题,以便及时修正方便后续测试及出货。综上所述,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属
技术领域
中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1