固态硬盘固件模块智能化测试方法及系统技术方案

技术编号:34801012 阅读:19 留言:0更新日期:2022-09-03 20:07
本发明专利技术公开了一种固态硬盘固件模块智能化测试方法及系统,1方法包括以下步骤:准备测试实施条件;获取模块测试申请指令;当接收到模块测试申请指令后,控制触发模块自动化测试;获取主模块和关联模块的测试指定工况;获取测试用例关键字;根据测试用例关键字,获取包括模块名、测试产品的协议的关键字,执行从测试用例数据库中筛选测试用例的操作指令;对筛选出的测试用例执行测试用例分配和测试的操作指令;获取测试用例的测试结果。本申请以测试用例为基础,根据测试用例的关键信息进行测试用例的模块化管理以及智能筛选,形成快速、准确、有针对性的SSD固件模块化测试流程,有效提升了固态硬盘固件模块的测试效率。有效提升了固态硬盘固件模块的测试效率。有效提升了固态硬盘固件模块的测试效率。

【技术实现步骤摘要】
固态硬盘固件模块智能化测试方法及系统


[0001]本专利技术涉及固态硬盘
,具体是涉及一种固态硬盘固件模块智能化测试方法及系统。

技术介绍

[0002]目前SSD产品由于其性能高、功耗低等优势,已广泛应用于各种场合,如,消费级、工业级、企业级等各类应用环境。而其中的一大核心组成部分——固件,起到了至关重要的作用。加快对不同原厂新一代NAND Flash的支持与高效达成客户所需求的功能、快速抢占市场,就成了SSD各个厂商的必备能力。提高整个产品的开发速度、快速高效的进行产品测试,提早验证和发现产品缺陷并解决,对于SSD产品的稳定性和可靠性至关重要。
[0003]伴随着NAND的工艺的不断改进、固态硬盘所支持协议的不断升级而新增不同的特性和功能、以及客户所需求的功能不断变化等环境及技术背景下,SSD产品固件的模块化是加快产品研发和测试的基础。所以,在SSD产品设计和Firmware实现都会按照功能进行模块的划分,每个模块的功能相互独立,通过接口进行互联(调用)。这样不仅能够最大程度的实现并行开发、缩短开发周期,还能在出现问题的情况下,方便固件开发人员分析,快速定位问题并加快调试、解决缺陷进度。
[0004]根据主流的产品开发验证模式,开发人员在完成某一模块的单一功能后,就可以进行相应的测试,以确保基础功能的正确性的前提下,不会影响其他模块的功能。在模块代码实现过程中,既有相对独立的模块,即,不需要和其他的模块交互或是存在极少交互;也有相对复杂的模块,即,存在调用多个外部模块的功能或是提供多个接口给其他的模块所调用。在模块测试过程中,根据产品的协议要求与功能设计文档,测试部门的工程师会开发不同的测试用例进行单一与复杂功能的验证。测试用例包含以下主要要素:
[0005]a.测试用例名称;
[0006]b.该测试用例前提条件;
[0007]c.测试的步骤;
[0008]d.各个测试步骤的期望行为或是期望值等;
[0009]e.测试用例的测试结果;
[0010]SSD的设计和生产厂商都会有SQA部门,专门负责SSD研发阶段的测试用例开发和验证工作。同时,也会有内部的测试平台与工具,基于存在的测试平台与工具,加上产品支持的协议与设计要求等文档,进行Test Case的设计、实现、调试以及产品的测试,以确保SSD各项参数与功能符合产品规范和设计要求。
[0011]根据产品规范、设计要求以及固件开发人员所实现模块或特性功能的复杂程度,可能会有几十甚至成百个测试用例进行某一模块或特性功能的验证;加之SSD产品的模块数量较多,综合下来,会有上千甚至上万级别的庞大Test Case存在;而且也会随着时间和问题的积累不断完善和补充测试用例。
[0012]所有这些测试用例的存在,加之有计划的回归测试,给产品的稳定性和可靠性提
供了有力保障和质量评估。同时,产品测试管理人员也利用这些测试用例评估缺陷的严重性、缺陷的优先级等要素。那么,如何利用已有的这些测试用例,进行准确快速高效的模块回归测试,就是本专利提出的一种智能选取测试用例并进行自动化固态硬盘固件模块测试的方法。
[0013]现有测试技术方案:
[0014]目前的SSD产品测试过程,主要有以下两种关于Test Case(测试用例)和TestSuites(测试套件)的管理和测试方案:
[0015]1)以Test Suites为单位进行回归测试:将所开发的单个测试用例,按照基本类别进行分类整合,并将相关类别的测试用例集中于某一测试套件中,则该Test Suites中存在若干相关模块的测试用例,以此为单位进行回归测试;如图1所示,图中:
[0016]a)Test Suites1:包含了所有为测试SSD Firmware ModuleA所使用的测试用例;
[0017]b)Test Suites2:包含了所有为测试SSD Firmware ModuleB所使用的测试用例;
[0018]c)每个Test Suites中所包含的测试用例数可以不同,但是都是针对某一固件模块相关的测试用例;
[0019]d)默认情况下,执行Test Suites 1的时候,就依次或随机执行其下的1xxx的测试用例;执行Test Suites 2的时候,就依次或随机执行其下的2xxx的测试用例;如图1所示。
[0020]2)以Test Case为单位进行回归测试:没有将测试用例归类于测试套件中,各个测试用例单独存在,只标注该测试用例所测试的功能,在进行模块化测试的时候,由项目测试人员加以手动选择和指派测试内容;如图2所示。
[0021]在图2中:
[0022]a)在各个Test Case名字标识中,包含所测试的模块名字(如,ModA,ModB等)字段,用以明确该测试用例所覆盖的测试模块;
[0023]b)每个Test Case均独立存在,测试人员可以测试所有的模块测试用例,也可以挑选出指定的测试用例进行测试;
[0024]可以看出,测试用例是SSD产品测试、评估SSD模块健壮性的基础,以上的例子中,只举了简单的Test Suites与Test Case的例子,模块数量和case数量都比较少,在实际的产品研发过程中,所涉及模块的数量有几十个,而且每个模块都有几十上百个Test Case进行测试验证,所以,上述的示意图信息将会很庞大。
[0025]在现有的测试方法中,会存在模块测试针对性较差的情况,只要模块功能有修改,就会全部安排重新进行回归测试,就会投入较多的时间成本;或是只针对特定的Test Suites进行测试,其中相关的模块并不能精确测试到,测试覆盖率不完整。
[0026]现有的测试技术所存在的问题:
[0027]目前很多情况下,SSD的固件模块测试就是由开发人员自身完成,主要选择对应的Test Suites进行各自测试或是进行极少的测试项目;对于衡量与评估模块功能比较欠缺,由于是各自进行测试,一些测试结果等也不便于集中管理分析与管控;甚至是有一些开发人员就省略步骤,不进行测试或是不清楚是否要进行某项测试,从而可能导致一些稳定性等问题,使得后续的调试与开发工作加重;与此同时,也会增加产品或项目管理与沟通的成本;
[0028]现有的测试方案,对于模块测试的针对性较差,存在只要是有模块代码的新增和
修改,就全部进行所有项目的测试,花费较多时间;或是只是测试其中的单个Test Suites,一些和其他交互的模块测试用例缺失,从而导致不能很好的平衡时间与测试覆盖率之间的关系;
[0029]以Test Suites为单位进行回归测试,这种方式对于单个独立的模块回归测试效率较高,但对于多个固件模块相互交互的情况,这样的测试效率就会有所降低。如果测试所有相关的Test Suites则一些测试用例就会冗余,造成时间的浪费;例如,以3个SSD固件模块为例:
[0030]模块A、模块B、模块C所对应的Test Suites分别为Te本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种固态硬盘固件模块智能化测试方法,其特征在于,包括以下步骤:步骤S1、准备包括在Test Case定义中新增主模块和关联模块要素进行管理的测试实施条件;步骤S2、获取模块测试申请指令;步骤S3、当接收到模块测试申请指令后,控制在Jenkins页面执行信息输入操作触发模块自动化测试;步骤S41、获取主模块和关联模块的测试指定工况;步骤S42、根据主模块和关联模块的测试指定工况,执行不同的测试用例分析与确定方法,获取测试用例关键字;步骤S5、根据测试用例关键字,获取包括模块名、测试产品的协议的关键字,执行从测试用例数据库中筛选测试用例的操作指令;步骤S6、对筛选出的测试用例执行测试用例分配和测试的操作指令;步骤S7、获取测试用例的测试结果。2.如权利要求1所述的固态硬盘固件模块智能化测试方法,其特征在于,所述步骤S1,还包括准备包括以下测试实施条件:建立基础测试用例集合;建立测试用例数据库;建立测试结果数据库。3.如权利要求1所述的固态硬盘固件模块智能化测试方法,其特征在于,所述步骤S42,具体包括以下步骤:步骤S421、当获取到主模块和关联模块的测试指定指令时,控制执行添加指定的模块名称至后续的测试用例选择关键字中的操作指令;步骤S422、当未获取到指定主模块和管理模块指定指令时,控制分析程序执行自动解析代码所修改的模块,并添加至后续测试用例选择的关键字中的操作指令。4.如权利要求3所述的固态硬盘固件模块智能化测试方法,其特征在于:所述步骤S422中,解析方法包括以下步骤:步骤S4221、获取从代码分支的修改代码中修改的文件夹名称;步骤S4222、获取修改的文件夹名称;步骤S4223、解析修改的文件夹中指定的文件说明,获取模块关键字,根据模块关键字获取主模块与关联模块信息。5.如权利要求1所述的固态硬盘固件模块智能化测试方法,其特征在于,所述步骤S5中,所述筛选测试用例主要包括:步骤S51、筛选出主模块的测试用例;步骤S52、筛选出显示为测试用例的关联模块。6.权利要求5所述的固态硬盘固件模块智能化测试方法,其特征在于,所述步骤S52,具体包括以下步骤:步骤S521、获取关联模块的测试用例的测试时间,比对关联模块的测试用例的测试时间和预设测试时间,获取管...

【专利技术属性】
技术研发人员:张发壮弗兰克
申请(专利权)人:至誉科技武汉有限公司
类型:发明
国别省市:

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

1