一种基于用例池的SSD测试方法、系统、终端及存储介质技术方案

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

【技术实现步骤摘要】
一种基于用例池的SSD测试方法、系统、终端及存储介质
本专利技术涉及服务器测试
,具体涉及一种基于用例池的SSD测试方法、系统、终端及存储介质。
技术介绍
Harding-scripts版本用例库是自研SSDNVMe-Harding项目用例覆盖较全面的用例池,且通过项目的不断深入,目前阶段偏重加强测试,该用例库包含长稳、高低格、读写校验、卸载加载驱动、文件系统、trim、固件升降级、NVMe协议内容等方面的测试。版本迭代相对频繁,服务器使用较为紧张,在这种情况下,全面覆盖用例变得尤为重要。目前应用的主流服务器分别是12个和10个槽位,由于每个脚本的执行时间、覆盖场景各不相同。现有SSD测试存在以下问题:手动执行用例库中单个脚本,不仅需要耗费较大的人力去执行测试,并且很容易出现用例覆盖不全面、用例执行出错的问题,造成资源的浪费;通过复制多个文件夹的形式实现多盘执行,由于脚本量较大,涉及脚本几百上千个,占用系统内存大,且当脚本需要进行新增或修改时,出错率增加且浪费时间不利于平台的维护。
技术实现思路
针对现有技术的上述不足,本专利技术提供一种基于用例池的SSD测试方法、系统、终端及存储介质,以解决上述技术问题。第一方面,本专利技术提供一种基于用例池的SSD测试方法,包括:设置测试服务器为多个硬盘同时执行测试的模式;通过随机挑选脚本分别为所述测试服务器的多个硬盘随机从用例池选取执行测试用例;对测试服务器的各硬盘执行相应的执行测试用例;收集各执行测试用例的执行日志。进一步的,所述设置测试服务器为多个硬盘同时执行测试的模式,包括:将测试用例中固定的目标参数通过传参的方法修改为适配多个硬盘的模式。进一步的,所述通过随机挑选脚本分别为所述测试服务器的多个硬盘随机从用例池选取执行测试用例,包括:通过循环嵌套函数从用例池文件夹中随机选取执行测试用例;通过将硬盘名、测试用例的脚本路径和文件列表作为随机挑选脚本的变量,通过随机函数从用例池随机挑选执行测试用例。进一步的,所述方法还包括:对已执行的测试用例进行标记;循环执行测试直至用例池中的所有测试用例均被标记为已执行。第二方面,本专利技术提供一种基于用例池的SSD测试系统,包括:模式设置单元,配置用于设置测试服务器为多个硬盘同时执行测试的模式;用例分配单元,配置用于通过随机挑选脚本分别为所述测试服务器的多个硬盘随机从用例池选取执行测试用例;用例执行单元,配置用于对测试服务器的各硬盘执行相应的执行测试用例;结果执行单元,配置用于收集各执行测试用例的执行日志。进一步的,所述模式设置单元包括:适配设置模块,配置用于将测试用例中固定的目标参数通过传参的方法修改为适配多个硬盘的模式。进一步的,所述用例分配单元包括:第一选取模块,配置用于通过循环嵌套函数从用例池文件夹中随机选取执行测试用例;第二选取模块,配置用于通过将硬盘名、测试用例的脚本路径和文件列表作为随机挑选脚本的变量,通过随机函数从用例池随机挑选执行测试用例。进一步的,所述系统还包括:用例标记单元,配置用于对已执行的测试用例进行标记;用例遍历单元,配置用于循环执行测试直至用例池中的所有测试用例均被标记为已执行。第三方面,提供一种终端,包括:处理器、存储器,其中,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。本专利技术的有益效果在于,本专利技术提供的基于用例池的SSD测试方法、系统、终端及存储介质,通过设置服务器的测试模式,并通过随机挑选脚本为测试服务器的多个硬盘随机从用例池选取执行测试用例,提高了版本用例库执行效率及脚本覆盖率,提高了SSDNVMe盘及服务器利用率,解决了脚本随机执行和适应多盘的问题,同时进一步增加了测试用例执行的随机性,节约了平台维护时间和成本。此外,本专利技术设计原理可靠,结构简单,具有非常广泛的应用前景。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图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脚本,通过whiledo和for循环嵌套,随机执行当前文件夹中包含的shell和python脚本并输出seqlog,当执行结果为fail时,输出结果到result文件夹,脚本停止且输出errorlog,打印当前用例名称、log路径、脚本路径及seqlog信息,当执行结果为pass时,输出结果到result文件夹;并本文档来自技高网
...

【技术保护点】
1.一种基于用例池的SSD测试方法,其特征在于,包括:/n设置测试服务器为多个硬盘同时执行测试的模式;/n通过随机挑选脚本分别为所述测试服务器的多个硬盘随机从用例池选取执行测试用例;/n对测试服务器的各硬盘执行相应的执行测试用例;/n收集各执行测试用例的执行日志。/n

【技术特征摘要】
1.一种基于用例池的SSD测试方法,其特征在于,包括:
设置测试服务器为多个硬盘同时执行测试的模式;
通过随机挑选脚本分别为所述测试服务器的多个硬盘随机从用例池选取执行测试用例;
对测试服务器的各硬盘执行相应的执行测试用例;
收集各执行测试用例的执行日志。


2.根据权利要求1所述的方法,其特征在于,所述设置测试服务器为多个硬盘同时执行测试的模式,包括:
将测试用例中固定的目标参数通过传参的方法修改为适配多个硬盘的模式。


3.根据权利要求1所述的方法,其特征在于,所述通过随机挑选脚本分别为所述测试服务器的多个硬盘随机从用例池选取执行测试用例,包括:
通过循环嵌套函数从用例池文件夹中随机选取执行测试用例;
通过将硬盘名、测试用例的脚本路径和文件列表作为随机挑选脚本的变量,通过随机函数从用例池随机挑选执行测试用例。


4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对已执行的测试用例进行标记;
循环执行测试直至用例池中的所有测试用例均被标记为已执行。


5.一种基于用例池的SSD测试系统,其特征在于,包括:
模式设置单元,配置用于设置测试服务器为多个硬盘同时执行测试的模式;
用例分配单元,配置用于通过随机挑选脚本分别为所述测试服务器的多个硬...

【专利技术属性】
技术研发人员:王帆
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1