SSD设备量产测试方法、装置、存储介质及设备转让专利

申请号 : CN202111512766.4

文献号 : CN114186854B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 余凯周后理吴德全刘兴斌

申请人 : 北京得瑞领新科技有限公司

摘要 :

本发明提供了一种SSD设备量产测试方法、装置、存储介质及设备,该方法包括:获取待测SSD设备对应的测试Port实例在业务功能测试过程中的运行状态,为每一运行状态建立对应类型的状态机;根据业务功能测试的测试流程为每种状态机配置对应的前置状态,形成状态机的流转逻辑;根据业务功能的测试流程为对应的状态机配置相应的工作流程;在业务功能测试过程中,通过状态机监控当前业务功能测试的运行状态,在该运行状态执行完毕后根据状态机的流转逻辑进入下一状态机,以按照各个业务功能测试的顺序依次执行下一业务功能测试。本发明能够有效管理测试Port实例内部测试过程的状态,实现状态驱动的测试模式,彻底解决自动化测试平台运行不稳定的问题。

权利要求 :

1.一种SSD设备量产测试方法,其特征在于,所述方法包括:

获取待测SSD设备对应的测试Port实例在业务功能测试过程中的所有运行状态,为每一运行状态建立对应类型的状态机,测试Port实例在过程中的所有运行状态指的是从开始测试到测试结业务功能测试束期间,测试平台所赋予的测试状态,测试Port指的是待测SSD设备在量产测试工位装载到测试机台后,由测试机台创建的一个端口窗体对象,用于对待测SSD设备测试期间的测试状态进行捕捉;所述状态机用来追踪和记录测试Port实例在测试过程的运行状态,所述状态机的状态类型包括:空闲状态、读盘状态、测试状态和中断状态;

根据业务功能测试的测试流程为每种状态机配置对应的前置状态,以形成状态机的流转逻辑,其中,空闲状态的前置状态为空闲状态、读盘状态或测试状态,读盘状态的前置状态为空闲状态,测试状态的前置状态为读盘状态或测试状态;

根据业务功能的测试流程为对应的状态机配置相应的工作流程;

在业务功能测试过程中,通过状态机监控当前业务功能测试的运行状态,在该运行状态执行完毕后根据状态机的流转逻辑进入下一状态机,以按照各个业务功能测试的顺序依次执行下一业务功能测试;

若在业务功能测试过程中出现中断或测试异常,则利用超时机制终止当前业务功能测试流程;

根据状态机监控到的测试终止前业务功能测试的运行状态,将测试流程恢复到出现异常之前的上一测试状态并重新开始测试。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

在业务功能测试过程中,根据当前业务功能测试的运行时态配置当前状态机的状态运行结果。

3.根据权利要求2所述的方法,其特征在于,所述状态机的状态运行结果包括:

业务功能测试正在运行、业务功能测试成功和业务功能测试失败。

4.一种SSD设备量产测试装置,其特征在于,所述装置包括:

第一配置模块,用于获取待测SSD设备对应的测试Port实例在业务功能测试过程中的所有运行状态,为每一运行状态建立对应类型的状态机,测试Port实例在业务功能测试过程中的所有运行状态指的是从开始测试到测试结束期间,测试平台所赋予的测试状态,测试Port指的是待测SSD设备在量产测试工位装载到测试机台后,由测试机台创建的一个端口窗体对象,用于对待测SSD设备测试期间的测试状态进行捕捉;所述状态机用来追踪和记录测试Port实例在测试过程的运行状态,所述状态机的状态类型包括:空闲状态、读盘状态、测试状态和中断状态;

第二配置模块,用于根据业务功能测试的测试流程为每种状态机配置对应的前置状态,以形成状态机的流转逻辑,其中,空闲状态的前置状态为空闲状态、读盘状态或测试状态,读盘状态的前置状态为空闲状态,测试状态的前置状态为读盘状态或测试状态;

第三配置模块,用于根据业务功能的测试流程为对应的状态机配置相应的工作流程;

执行模块,用于在业务功能测试过程中,通过状态机监控当前业务功能测试的运行状态,在该运行状态执行完毕后根据状态机的流转逻辑进入下一状态机,以按照各个业务功能测试的顺序依次执行下一业务功能测试;

所述执行模块,还用于当在业务功能测试过程中出现中断或测试异常时,利用超时机制终止当前业务功能测试流程;根据状态机监控到的测试终止前业务功能测试的运行状态,将测试流程恢复到出现异常之前的上一测试状态并重新开始测试。

5.根据权利要求4所述的装置,其特征在于,所述装置还包括:

第四配置模块,用于在业务功能测试过程中,根据当前业务功能测试的运行时态配置当前状态机的状态运行结果。

6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1‑3任一项所述方法的步骤。

7.一种SSD设备量产测试设备,其特征在于,该设备包括存储控制器,所述存储控制器包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1‑3任一项所述方法的步骤。

说明书 :

SSD设备量产测试方法、装置、存储介质及设备

技术领域

[0001] 本发明涉及编解码技术领域,尤其涉及一种SSD设备量产测试方法、装置、存储介质及设备。

背景技术

[0002] SSD量产测试由于其定制化规格高,测试流程变动性大,多样性的测试治具和测试系统,一直以来都没有一套行业的统一标准来规范化量产测试的工艺流程。
[0003] 目前量产自动化测试平台是通过识别工单获取对应工位,通过工位配置清单的设定在测试初期创建多个测试Port实例,每个测试Port都是一个端口窗体对象,在测试Port整个生命周期中会由平台分配对应的一个Device(待测试SSD),让其代为管理。测试Port实例通过PCI‑Express连接上Device,负责在测试期间的指令传输,测试状态捕捉和显示,测试异常时页面错误提示和控制Andon设备的报警。测试的所有业务流程目前都是线性驱动方式。由于测试Port实例内部依靠单纯的业务逻辑调用关系完成多个逻辑单元的衔接,当测试过程中出现任何异常,由于无法记录目前测试过程的数据及状态,都会使程序异常中断或假死,自动化测试平台运行的极不稳定,甚至会导致多个批次的测试不得不中断或重新测试,增加了量产成本,也使得量产产能效率低,耗时长。

发明内容

[0004] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的SSD设备量产测试方法、装置、存储介质及设备。
[0005] 本发明的一个方面,提供了一种SSD设备量产测试方法,所述方法包括:
[0006] 获取待测SSD设备对应的测试Port实例在业务功能测试过程中的所有运行状态,为每一运行状态建立对应类型的状态机;
[0007] 根据业务功能测试的测试流程为每种状态机配置对应的前置状态,以形成状态机的流转逻辑;
[0008] 根据业务功能的测试流程为对应的状态机配置相应的工作流程;
[0009] 在业务功能测试过程中,通过状态机监控当前业务功能测试的运行状态,在该运行状态执行完毕后根据状态机的流转逻辑进入下一状态机,以按照各个业务功能测试的顺序依次执行下一业务功能测试。
[0010] 进一步地,所述方法还包括:
[0011] 在业务功能测试过程中,根据当前业务功能测试的运行时态配置当前状态机的状态运行结果。
[0012] 进一步地,所述状态机的状态运行结果包括:
[0013] 业务功能测试正在运行、业务功能测试成功和业务功能测试失败。
[0014] 进一步地,所述方法还包括:
[0015] 若在业务功能测试过程中出现中断或测试异常,则利用超时机制终止当前业务功能测试流程;
[0016] 根据状态机监控到的测试终止前业务功能测试的运行状态,将测试流程恢复到出现异常之前的上一测试状态并重新开始测试。
[0017] 进一步地,所述状态机的状态类型包括:空闲状态、读盘状态、测试状态和中断状态。
[0018] 本发明的第二方面,提供了一种SSD设备量产测试装置,所述装置包括:
[0019] 第一配置模块,用于获取待测SSD设备对应的测试Port实例在业务功能测试过程中的所有运行状态,为每一运行状态建立对应类型的状态机;
[0020] 第二配置模块,用于根据业务功能测试的测试流程为每种状态机配置对应的前置状态,以形成状态机的流转逻辑;
[0021] 第三配置模块,用于根据业务功能的测试流程为对应的状态机配置相应的工作流程;
[0022] 执行模块,用于在业务功能测试过程中,通过状态机监控当前业务功能测试的运行状态,在该运行状态执行完毕后根据状态机的流转逻辑进入下一状态机,以按照各个业务功能测试的顺序依次执行下一业务功能测试。
[0023] 进一步地,所述装置还包括:
[0024] 第四配置模块,用于在业务功能测试过程中,根据当前业务功能测试的运行时态配置当前状态机的状态运行结果。
[0025] 进一步地,所述执行模块,还用于当在业务功能测试过程中出现中断或测试异常时,利用超时机制终止当前业务功能测试流程;根据状态机监控到的测试终止前业务功能测试的运行状态,将测试流程恢复到出现异常之前的上一测试状态并重新开始测试。
[0026] 本发明的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上SSD设备量产测试方法的步骤。
[0027] 本发明的又一个方面,还提供了一种SSD设备量产测试设备,该设备包括存储控制器,所述存储控制器包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上SSD设备量产测试方法的步骤。
[0028] 本发明实施例提供的SSD设备量产测试方法、装置、存储介质及设备,为测试Port实例在业务功能测试过程中的所有运行状态建立对应类型的状态机,通过状态机能够有效管理测试Port实例内部测试过程的状态,将原本业务逻辑调用转换为由测试状态驱动业务功能的运行方式完成整个测试行为,彻底解决自动化测试平台运行不稳定的问题,提升量产测试效率。
[0029] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

[0030] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0031] 图1为本发明实施例提供的SSD设备量产测试方法的流程图;
[0032] 图2为本发明实施例提供的SSD设备量产测试装置的结构框图。

具体实施方式

[0033] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0034] 本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
[0035] 本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
[0036] 图1示意性示出了本发明一个实施例的SSD设备量产测试方法的流程图。参照图1,本发明实施例的SSD设备量产测试方法具体包括以下步骤:
[0037] S11、获取待测SSD设备对应的测试Port实例在业务功能测试过程中的所有运行状态,为每一运行状态建立对应类型的状态机。
[0038] 本发明实施例中,测试Port指的是待测SSD设备(即Device)在量产测试工位装载到测试机台后,测试平台创建的一个端口窗体对象,用于对Device测试期间的指令传输,测试状态捕捉和显示,测试异常时页面提示和Andon。
[0039] 测试Port实例在业务功能测试过程中的所有运行状态指的是从开始测试到测试结束期间,测试平台所赋予的测试状态。
[0040] 本发明实施例定义了一套测试port状态机,用来追踪和记录测试Port实例在测试过程的运行状态,进一步地,所述状态机的状态类型包括:空闲状态、读盘状态、测试状态和中断状态。
[0041] S12、根据业务功能测试的测试流程为每种状态机配置对应的前置状态,以形成状态机的流转逻辑。
[0042] 本实施例在定义port状态机的状态类型后,根据业务功能测试的测试流程为每种状态机配置对应的前置状态,形成状态机的流转逻辑,具体如表1所示:
[0043] 表格1状态类型
[0044]
[0045] 从开始测试到测试结束,是一套测试流程的过程集,有一些流程可反转从新开始,而有一些必须有前置状态的管控才能开始,port状态机能够记录测试流程目前所处的状态,在该状态执行完毕后根据状态机的流转逻辑进入下一状态。
[0046] S13、根据业务功能的测试流程为对应的状态机配置相应的工作流程。在创建状态机之后,还需要配置每一个测试业务功能的port状态机业务流程,例如配置Port Init业务功能,TESTIDLE是PORT重置或初始化时的一种状态,它发生在PORT窗口第一次初始化和准备读盘前的一种状态。TESTIDLE允许任何状态流转到TESTIDLE状态,但必须保证上一次的状态结果<>RUN。
[0047] 具体的,Port Init业务功能对应状态机的工作流程包括:清理端口进程数据、清理端口测试参数以及清理端口缓存数据等内容,在该运行状态执行完毕后,配置状态机状态运行结果为PASS,即完成Port Init业务功能。
[0048] S14、在业务功能测试过程中,通过状态机监控当前业务功能测试的运行状态,在该运行状态执行完毕后根据状态机的流转逻辑进入下一状态机,以按照各个业务功能测试的顺序依次执行下一业务功能测试。
[0049] 本实施例中,按测试Port实例的测试业务模块功能的顺序依次执行各业务功能测试,各业务功能内部保证POST状态机的状态流转,直到所有业务功能依次完成。
[0050] 本发明实施例提供的SSD设备量产测试方法,为测试Port实例在业务功能测试过程中的所有运行状态建立对应类型的状态机,通过状态机能够有效管理测试Port实例内部测试过程的状态,将原本业务逻辑调用转换为由测试状态驱动业务功能的运行方式完成整个测试行为,彻底解决自动化测试平台运行不稳定的问题,提升量产测试效率。
[0051] 进一步地,在业务功能测试过程中,根据当前业务功能测试的运行时态配置当前状态机的状态运行结果。状态机的状态运行结果包括:业务功能测试正在运行、业务功能测试成功和业务功能测试失败。
[0052] 本发明实施例中,预先定义port状态机的状态运行结果,并绑定到状态机的状态类型,如表2所示:
[0053] 表格2状态的结果类型
[0054] 状态结果类型 描述RUNING 正在进行
PASS 成功
FAIL 失败
[0055] 当成功赋予给PORT一种状态时,其实就是开始了当前状态的流程,每一个流程从开始到结束,不仅要记录,还需要表示出这个状态的细节,是正在处理中,还是已经有了处理的结果。以此来判断状态的时态。避免出现状态还正在执行(可能执行需要一段时间),而又有人想把它流转到其他状态的情况。
[0056] 在本发明实施例中,若在业务功能测试过程中出现中断或测试异常,则利用超时机制终止当前业务功能测试流程;根据状态机监控到的测试终止前业务功能测试的运行状态,将测试流程恢复到出现异常之前的上一测试状态并重新开始测试。
[0057] 本发明通过POST状态机记录测试Port实例中每一个业务功能中的执行情况,通过配置port状态机的状态类型及状态的流转逻辑和各业务功能模块的流程先后次序,由port状态机记录测试过程中的测试状态,并有状态驱动业务流转最终完成测试。测试过程中如出现中断或其他等异常现场也会使用超时机制终止当前业务功能,并借助POST状态机恢复到异常之前的测试状态并重新开始测试。
[0058] 在本发明实施例提供的SSD设备量产测试方法中,POST状态机是按职责链设计模式,将原本业务逻辑调用转换为由测试状态驱动业务功能的运行方式完成整个测试行为,能够彻底解决自动化测试平台运行不稳定的问题。而且量产测试不会因为自动化测试平台异常中断而重新测试,这使得量产产能效率提升,耗时大幅缩短,有效降低了量产成本。
[0059] 对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0060] 图2示意性示出了本发明一个实施例的SSD设备量产测试装置的结构示意图。参照图2,本发明实施例的SSD设备量产测试装置具体包括第一配置模块201、第二配置模块202、第三配置模块203以及执行模块204,其中:
[0061] 第一配置模块201,用于获取待测SSD设备对应的测试Port实例在业务功能测试过程中的所有运行状态,为每一运行状态建立对应类型的状态机;
[0062] 第二配置模块202,用于根据业务功能测试的测试流程为每种状态机配置对应的前置状态,以形成状态机的流转逻辑;
[0063] 第三配置模块203,用于根据业务功能的测试流程为对应的状态机配置相应的工作流程;
[0064] 执行模块204,用于在业务功能测试过程中,通过状态机监控当前业务功能测试的运行状态,在该运行状态执行完毕后根据状态机的流转逻辑进入下一状态机,以按照各个业务功能测试的顺序依次执行下一业务功能测试。
[0065] 在本发明实施中,所述装置还包括附图中未示出的第四配置模块,所述的第四配置模块,用于在业务功能测试过程中,根据当前业务功能测试的运行时态配置当前状态机的状态运行结果。
[0066] 在本发明实施中,所述执行模块204,还用于当在业务功能测试过程中出现中断或测试异常时,利用超时机制终止当前业务功能测试流程;根据状态机监控到的测试终止前业务功能测试的运行状态,将测试流程恢复到出现异常之前的上一测试状态并重新开始测试。
[0067] 对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0068] 此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法的步骤。
[0069] 本实施例中,所述SSD设备量产测试装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0070] 此外,本发明实施例还提供了一种SSD设备量产测试设备,该设备包括存储控制器,所述存储控制器包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述方法的步骤。例如图1所示的步骤S11~S14。或者,所述处理器执行所述计算机程序时实现上述SSD设备量产测试装置实施例中各模块/单元的功能,例如图2所示的第一配置模块201、第二配置模块202、第三配置模块203以及执行模块204。
[0071] 本发明实施例提供的SSD设备量产测试方法、装置、存储介质及设备,为测试Port实例在业务功能测试过程中的所有运行状态建立对应类型的状态机,通过状态机能够有效管理测试Port实例内部测试过程的状态,将原本业务逻辑调用转换为由测试状态驱动业务功能的运行方式完成整个测试行为,彻底解决自动化测试平台运行不稳定的问题,提升量产测试效率。
[0072] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0073] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0074] 此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0075] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。