CN111966553B - 一种基于用例池的ssd测试方法、系统、终端及存储介质 - Google Patents

一种基于用例池的ssd测试方法、系统、终端及存储介质 Download PDF

Info

Publication number
CN111966553B
CN111966553B CN202010852532.3A CN202010852532A CN111966553B CN 111966553 B CN111966553 B CN 111966553B CN 202010852532 A CN202010852532 A CN 202010852532A CN 111966553 B CN111966553 B CN 111966553B
Authority
CN
China
Prior art keywords
test
case
execution
pool
server
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.)
Active
Application number
CN202010852532.3A
Other languages
English (en)
Other versions
CN111966553A (zh
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010852532.3A priority Critical patent/CN111966553B/zh
Publication of CN111966553A publication Critical patent/CN111966553A/zh
Application granted granted Critical
Publication of CN111966553B publication Critical patent/CN111966553B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种基于用例池的SSD测试方法、系统、终端及存储介质,包括:设置测试服务器为多个硬盘同时执行测试的模式;通过随机挑选脚本分别为所述测试服务器的多个硬盘随机从用例池选取执行测试用例;对测试服务器的各硬盘执行相应的执行测试用例;收集各执行测试用例的执行日志。本发明提高了版本用例库执行效率及脚本覆盖率,提高了SSD NVMe盘及服务器利用率,解决了脚本随机执行和适应多盘的问题,同时进一步增加了测试用例执行的随机性,节约了平台维护时间和成本。

Description

一种基于用例池的SSD测试方法、系统、终端及存储介质
技术领域
本发明涉及服务器测试技术领域,具体涉及一种基于用例池的SSD测试方法、系统、终端及存储介质。
背景技术
Harding-scripts版本用例库是自研SSD NVMe-Harding项目用例覆盖较全面的用例池,且通过项目的不断深入,目前阶段偏重加强测试,该用例库包含长稳、高低格、读写校验、卸载加载驱动、文件系统、trim、固件升降级、NVMe协议内容等方面的测试。版本迭代相对频繁,服务器使用较为紧张,在这种情况下,全面覆盖用例变得尤为重要。目前应用的主流服务器分别是12个和10个槽位,由于每个脚本的执行时间、覆盖场景各不相同。
现有SSD测试存在以下问题:手动执行用例库中单个脚本,不仅需要耗费较大的人力去执行测试,并且很容易出现用例覆盖不全面、用例执行出错的问题,造成资源的浪费;通过复制多个文件夹的形式实现多盘执行,由于脚本量较大,涉及脚本几百上千个,占用系统内存大,且当脚本需要进行新增或修改时,出错率增加且浪费时间不利于平台的维护。
发明内容
针对现有技术的上述不足,本发明提供一种基于用例池的SSD测试方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种基于用例池的SSD测试方法,包括:
设置测试服务器为多个硬盘同时执行测试的模式;
通过随机挑选脚本分别为所述测试服务器的多个硬盘随机从用例池选取执行测试用例;
对测试服务器的各硬盘执行相应的执行测试用例;
收集各执行测试用例的执行日志。
进一步的,所述设置测试服务器为多个硬盘同时执行测试的模式,包括:
将测试用例中固定的目标参数通过传参的方法修改为适配多个硬盘的模式。
进一步的,所述通过随机挑选脚本分别为所述测试服务器的多个硬盘随机从用例池选取执行测试用例,包括:
通过循环嵌套函数从用例池文件夹中随机选取执行测试用例;
通过将硬盘名、测试用例的脚本路径和文件列表作为随机挑选脚本的变量,通过随机函数从用例池随机挑选执行测试用例。
进一步的,所述方法还包括:
对已执行的测试用例进行标记;
循环执行测试直至用例池中的所有测试用例均被标记为已执行。
第二方面,本发明提供一种基于用例池的SSD测试系统,包括:
模式设置单元,配置用于设置测试服务器为多个硬盘同时执行测试的模式;
用例分配单元,配置用于通过随机挑选脚本分别为所述测试服务器的多个硬盘随机从用例池选取执行测试用例;
用例执行单元,配置用于对测试服务器的各硬盘执行相应的执行测试用例;
结果执行单元,配置用于收集各执行测试用例的执行日志。
进一步的,所述模式设置单元包括:
适配设置模块,配置用于将测试用例中固定的目标参数通过传参的方法修改为适配多个硬盘的模式。
进一步的,所述用例分配单元包括:
第一选取模块,配置用于通过循环嵌套函数从用例池文件夹中随机选取执行测试用例;
第二选取模块,配置用于通过将硬盘名、测试用例的脚本路径和文件列表作为随机挑选脚本的变量,通过随机函数从用例池随机挑选执行测试用例。
进一步的,所述系统还包括:
用例标记单元,配置用于对已执行的测试用例进行标记;
用例遍历单元,配置用于循环执行测试直至用例池中的所有测试用例均被标记为已执行。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,
本发明提供的基于用例池的SSD测试方法、系统、终端及存储介质,通过设置服务器的测试模式,并通过随机挑选脚本为测试服务器的多个硬盘随机从用例池选取执行测试用例,提高了版本用例库执行效率及脚本覆盖率,提高了SSD NVMe盘及服务器利用率,解决了脚本随机执行和适应多盘的问题,同时进一步增加了测试用例执行的随机性,节约了平台维护时间和成本。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的系统的示意性框图。
图3为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种基于用例池的SSD测试系统。
如图1所示,该方法包括:
步骤110,设置测试服务器为多个硬盘同时执行测试的模式;
步骤120,通过随机挑选脚本分别为所述测试服务器的多个硬盘随机从用例池选取执行测试用例;
步骤130,对测试服务器的各硬盘执行相应的执行测试用例;
步骤140,收集各执行测试用例的执行日志。
具体的,所述基于用例池的SSD测试方法包括:
S1、设置测试服务器为多个硬盘同时执行测试的模式。
通过传参的方式实现一台服务器多盘执行,如传入盘符nvme0、nvme1、nvme2…,在public文件夹的common函数中添加device参数,将之前脚本中固定的/dev/nvme0通过传参的形式${devive}实现多盘适配。
S2、通过随机挑选脚本分别为所述测试服务器的多个硬盘随机从用例池选取执行测试用例;对测试服务器的各硬盘执行相应的执行测试用例,收集各执行测试用例的执行日志。
本实施例的用例池包含五十余子文件夹,分别放置不同类型的脚本,分为两种随机执行方式,分别通过shell-randomrun.sh和python-rand-run.py两个脚本实现:
(1)单独对某个文件夹内的脚本随机执行:由于改用例池大部分脚本为shell脚本,所以单个文件夹随机执行选用shell编写randomrun.sh脚本,通过while do和for循环嵌套,随机执行当前文件夹中包含的shell和python脚本并输出seqlog,当执行结果为fail时,输出结果到result文件夹,脚本停止且输出errorlog,打印当前用例名称、log路径、脚本路径及seqlog信息,当执行结果为pass时,输出结果到result文件夹;并且该脚本附加包含set_out、mkdir_first、dmesg_check、check_capacity等函数,辅助在运行前进行相关初始化、一些必要检查、创建相关目录文件/文件夹操作。
(2)对整个用例池所有脚本进行随机执行:编写rand-run.py脚本,包含三个变量nvme设备、脚本路径以及文件列表,定义get_all_dir_file函数获取用例池中所有脚本的路径、名称以及池子中单个脚本的名称,通过append方法存到字典列表中,在main函数中获取整个用例池的集合列表,结合random方法随机获取需要执行的脚本,实现整个用例池的随机执行。
利用shell-randomrun.sh和python-rand-run.py两个脚本分别为测试服务器的多个硬盘(SSD)随机挑选执行测试用例,这样测试服务器的多个同时执行的测试用例不同。
S3、对已执行的测试用例进行标记,循环执行测试,每次测试均从未标记测试用例中随机选取执行测试用例,直至用例池中的所有测试用例均被标记为已执行。
如图2所示,该系统200包括:
模式设置单元210,配置用于设置测试服务器为多个硬盘同时执行测试的模式;
用例分配单元220,配置用于通过随机挑选脚本分别为所述测试服务器的多个硬盘随机从用例池选取执行测试用例;
用例执行单元230,配置用于对测试服务器的各硬盘执行相应的执行测试用例;
结果执行单元240,配置用于收集各执行测试用例的执行日志。
可选地,作为本发明一个实施例,所述模式设置单元包括:
适配设置模块,配置用于将测试用例中固定的目标参数通过传参的方法修改为适配多个硬盘的模式。
可选地,作为本发明一个实施例,所述用例分配单元包括:
第一选取模块,配置用于通过循环嵌套函数从用例池文件夹中随机选取执行测试用例;
第二选取模块,配置用于通过将硬盘名、测试用例的脚本路径和文件列表作为随机挑选脚本的变量,通过随机函数从用例池随机挑选执行测试用例。
可选地,作为本发明一个实施例,所述系统还包括:
用例标记单元,配置用于对已执行的测试用例进行标记;
用例遍历单元,配置用于循环执行测试直至用例池中的所有测试用例均被标记为已执行。
图3为本发明实施例提供的一种终端300的结构示意图,该终端300可以用于执行本发明实施例提供的基于用例池的SSD测试方法。
其中,该终端300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。
处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过设置服务器的测试模式,并通过随机挑选脚本为测试服务器的多个硬盘随机从用例池选取执行测试用例,提高了版本用例库执行效率及脚本覆盖率,提高了SSD NVMe盘及服务器利用率,解决了脚本随机执行和适应多盘的问题,同时进一步增加了测试用例执行的随机性,节约了平台维护时间和成本,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (8)

1.一种基于用例池的SSD测试方法,其特征在于,包括:
设置测试服务器为多个硬盘同时执行测试的模式;
通过随机挑选脚本分别为所述测试服务器的多个硬盘随机从用例池选取执行测试用例;
对测试服务器的各硬盘执行相应的执行测试用例;
收集各执行测试用例的执行日志;
所述设置测试服务器为多个硬盘同时执行测试的模式,包括:
将测试用例中固定的目标参数通过传参的方法修改为适配多个硬盘的模式。
2.根据权利要求1所述的方法,其特征在于,所述通过随机挑选脚本分别为所述测试服务器的多个硬盘随机从用例池选取执行测试用例,包括:
通过循环嵌套函数从用例池文件夹中随机选取执行测试用例;
通过将硬盘名、测试用例的脚本路径和文件列表作为随机挑选脚本的变量,通过随机函数从用例池随机挑选执行测试用例。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对已执行的测试用例进行标记;
循环执行测试直至用例池中的所有测试用例均被标记为已执行。
4.一种基于用例池的SSD测试系统,其特征在于,包括:
模式设置单元,配置用于设置测试服务器为多个硬盘同时执行测试的模式;
用例分配单元,配置用于通过随机挑选脚本分别为所述测试服务器的多个硬盘随机从用例池选取执行测试用例;
用例执行单元,配置用于对测试服务器的各硬盘执行相应的执行测试用例;
结果执行单元,配置用于收集各执行测试用例的执行日志;
所述模式设置单元包括:
适配设置模块,配置用于将测试用例中固定的目标参数通过传参的方法修改为适配多个硬盘的模式。
5.根据权利要求4所述的系统,其特征在于,所述用例分配单元包括:
第一选取模块,配置用于通过循环嵌套函数从用例池文件夹中随机选取执行测试用例;
第二选取模块,配置用于通过将硬盘名、测试用例的脚本路径和文件列表作为随机挑选脚本的变量,通过随机函数从用例池随机挑选执行测试用例。
6.根据权利要求4所述的系统,其特征在于,所述系统还包括:
用例标记单元,配置用于对已执行的测试用例进行标记;
用例遍历单元,配置用于循环执行测试直至用例池中的所有测试用例均被标记为已执行。
7.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-3任一项所述的方法。
8.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-3中任一项所述的方法。
CN202010852532.3A 2020-08-21 2020-08-21 一种基于用例池的ssd测试方法、系统、终端及存储介质 Active CN111966553B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010852532.3A CN111966553B (zh) 2020-08-21 2020-08-21 一种基于用例池的ssd测试方法、系统、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010852532.3A CN111966553B (zh) 2020-08-21 2020-08-21 一种基于用例池的ssd测试方法、系统、终端及存储介质

Publications (2)

Publication Number Publication Date
CN111966553A CN111966553A (zh) 2020-11-20
CN111966553B true CN111966553B (zh) 2023-01-10

Family

ID=73390058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010852532.3A Active CN111966553B (zh) 2020-08-21 2020-08-21 一种基于用例池的ssd测试方法、系统、终端及存储介质

Country Status (1)

Country Link
CN (1) CN111966553B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391325A (zh) * 2017-06-30 2017-11-24 郑州云海信息技术有限公司 一种硬盘的测试方法、装置及终端
CN108268377A (zh) * 2018-01-23 2018-07-10 郑州云海信息技术有限公司 一种服务器的业务测试方法、装置及介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391325A (zh) * 2017-06-30 2017-11-24 郑州云海信息技术有限公司 一种硬盘的测试方法、装置及终端
CN108268377A (zh) * 2018-01-23 2018-07-10 郑州云海信息技术有限公司 一种服务器的业务测试方法、装置及介质

Also Published As

Publication number Publication date
CN111966553A (zh) 2020-11-20

Similar Documents

Publication Publication Date Title
CN102662696B (zh) 大规模并行计算机系统的快速启动方法及装置
CN107632827B (zh) 应用的安装包的生成方法及装置
CN109445690B (zh) 一种raid卡性能优化方法、装置、终端及存储介质
CN107632828A (zh) 多dts文件支持方法、编译装置及嵌入式设备
CN112099800A (zh) 代码数据的处理方法、装置和服务器
CN108763042A (zh) 一种基于python的云服务器性能数据采集方法及装置
CN111262753A (zh) 一种numa节点个数自动配置方法方法、系统、终端及存储介质
CN112003730A (zh) 一种集群快速部署的方法、系统、终端及存储介质
CN111966553B (zh) 一种基于用例池的ssd测试方法、系统、终端及存储介质
CN107463638A (zh) 离线虚拟机间文件共享方法和设备
CN111124772A (zh) 一种云平台存储性能测试方法、系统、终端及存储介质
WO2023197851A1 (zh) 异常组件的识别方法、装置、设备、存储介质及程序产品
CN112306784A (zh) 一种测试方法、装置、电子设备和测试系统
CN116450165A (zh) 一种快速搭建环境及部署程序的方法、系统、终端及存储介质
CN113360215A (zh) 程序运行方法、装置及计算机可读存储介质
CN116578282A (zh) 代码生成方法、装置、电子设备及介质
CN111143193B (zh) 基于RobotFramework的大数据服务测试方法、系统、终端及存储介质
CN112463596B (zh) 测试用例数据的处理方法、装置、设备以及处理设备
CN111124890B (zh) 一种分布式数据库性能测试方法、系统、终端及存储介质
CN110703988B (zh) 一种分布式存储的存储池创建方法、系统、终端及存储介质
CN114895916A (zh) 代码部署方法、装置、存储介质以及电子设备
CN114168581A (zh) 数据清洗方法、装置、计算机设备及存储介质
CN111966286A (zh) 一种多数据池分级迁移的方法及系统
CN112988250B (zh) 多主板usb服务配置方法、系统、终端及存储介质
CN111858590A (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
GR01 Patent grant
GR01 Patent grant