一种测试与诊断相结合的测试序列动态管理方法与流程

文档序号:12063573阅读:443来源:国知局
一种测试与诊断相结合的测试序列动态管理方法与流程

技术领域

本发明涉及自动化测控技术领域,具体涉及一种对测试序列进行动态管理,正常时按设定的顺序执行测试序列,当发生故障时,根据故障诊断软件测试策略动态生成测试子序列,并将其加载执行的方法。



背景技术:

自动测试系统是指在人极少参与或不参与的情况下,自动进行测量,数据处理,并以适当方式显示或输出测试结果的系统。与人工测试相比,自动测试省时、省力,能提高劳动生产率和产品质量。故障测试软件是自动测试系统实现的基础,也为故障诊断软件提供必要的故障信息。

传统的测试系统软件按照静态的顺序执行预先生成的固定测试集,随后在测试过程中按照一个固定的次序独立地运行各个测试子序列,如果需要更改测试顺序,则必须重新编译,测试软件运行效率和灵活性不高。

并且传统的故障测试与故障诊断之间没有交互,不能根据诊断系统的要求为诊断提供必要的信息。每次必须等到测试流程走完后才能进行诊断,对于诊断而言,此时测试获取的信息可能冗余,也可能信息过少而无法进行正确诊断。



技术实现要素:

针对现有技术的不足,本发明给出了测试系统与诊断系统相交互、测试序列动态生成和执行的测试序列动态管理机制。在正常情况下,测试过程按照预先设置的测试序列进行;当检测出故障时,激发诊断系统,根据诊断系统的结果,生成新的测试序列,并加载执行。

该测试与诊断相结合的测试序列动态管理方法,具体步骤如下:

步骤一,编写测试各步骤对应的测试程序,在此基础上建立测试序列,并保存为模板;

步骤二,加载执行测试序列,在没有检测出故障的情况下,测试步骤按照设置的测试序列进行,直至测试结束,进入步骤六;当检测出故障时,进行步骤三;

步骤三,启动诊断系统,如果诊断不成功进入步骤六;诊断成功则进入步骤四;

步骤四,根据诊断输出结果,如果需要进行加测,则进入步骤五;如果已定位故障或诊断出错,则进入步骤六;

步骤五,根据诊断系统提供的加测项目产生新的测试序列,并进行加测,加测完成后进入步骤三,进行再次诊断;

步骤六,故障测试与诊断结束,输出测试与诊断结果,以及相应的维修建议。

进一步,测试系统和诊断系统的交互方式有两个方面:

1、测试参数出现异常条件下,通过参数代码、时间戳和诊断使能标志触发诊断软件,诊断软件启动开始诊断;

2、诊断完成后,对诊断结果进行解释有三种情况:a、出故障结果和策略;b、有故障无结果和策略;c、出加测策略,等待新数据指令。诊断系统将最终的诊断结果返给测试系统。

根据测试系统与诊断系统的交互方式,步骤一中,在TestStand软件环境下,建立一个测试序列模板,在研制阶段,需要把特定UUT(被测设备)测试的所有测试项目加入到模板文件,并进行相应的参数设置。在测试阶段,通过“序列配置对话框”手动配置测试流程,生成不同UUT、特定UUT不同测试状态的测试序列文件,并保存为配置文件,方便以后加载执行;

步骤二,加载执行测试序列,在没有检测出故障的情况下,测试步骤按照设置的测试序列进行,直至测试结束,进入步骤六;当检测出故障时,进行步骤三;

步骤三,根据检测到的错误,输出参数代码、时间戳和诊断使能标志触发诊断系统,诊断系统进行故障诊断,输出诊断状态标志。参数代码表征系统级测试项目和组件级测试项目的特征参数,时间戳是该特征参数获取的时间,使能标志定义诊断系统是否需要有效激发,诊断状态标志则是诊断系统运行的结果反馈,其中0表示启动诊断程序未成功,进入步骤六;1表示诊断程序运行结束了,诊断结果放在诊断结果表中,进入步骤四;

步骤四,诊断状态字为1,表示本次诊断顺利结束,测试软件随后按照“序号”字段对历史诊断表中的记录进行索引,找出序号值最大的记录,并对该记录中“策略”字段进行解析,并执行对应的操作。“策略”字段中,0表示诊断出故障结果,提取“定位”字段和“原因”字段的信息,进入步骤六;“策略”字段中1,表示未诊断出结果,也不需要再加测,进入步骤6;“策略”字段中六,表示诊断信息不够,需要进行加测才能进行正确诊断,进入步骤五;

步骤五,测试软件根据诊断信息中的加测项目产生、加载并执行新的测试序列集,以获取诊断软件需要的额外测试信息,最后一个加测序列执行完毕后测试软件输入原始故障发生时相同的参数代码和时间戳,并将使能标志置为有效,开始二次故障诊断,进入步骤三;

步骤六,故障测试与诊断结束,输出测试与诊断结果,以及相应的维修建议。

在测试软件编写时,需要对原有的测试代码进行数据封装和功能抽象,提供测试序列中的测试步骤(Pass/Fail Test类型)调用,并预留对应的命令接口,这样,用户只需要更改相应的命令参数,就能进行功能的切换而不需要重新编译。

与现有技术相比,本发明的优点在于:

由于测试序列可以动态生成,在需要更改测试顺序时,则不必像现有技术那样重新编译,使得测试软件的运行效率和灵活性得以提高。另外,通过测试系统与诊断系统的交互,使得在发现故障时可以进行测试序列的跳转,根据诊断系统的需求进行测试,为诊断系统提供必要的故障信息,而不必顺序执行完所有的测试项目才能进行诊断,提高了故障测试与诊断的效率。

附图说明

图1 本发明的诊断软件接口函数图;

图2 本发明的诊断系统和测试系统之间的交互图;

图3 本发明的测试、诊断工作原理图。

具体实施方式

本发明公开了一种新的技术方案解决了测试序列动态管理的问题,以及测试与诊断相交互的问题。下面做进一步的说明。

为了便于测试使用及软件移植的需要,诊断软件和测试软件信息交互接口设计成动态链接库的形式,如图1所示,输入参数分别是参数代码、时间戳和使能标志,输出参数为诊断状态标志。其中,参数代码表征系统级测试项目和组件级测试项目的特征参数,时间戳是该特征参数获取的时间,使能标志定义了诊断系统是否需要有效激发,诊断状态标志则是诊断系统运行的结果反馈,0表示启动诊断程序未成功;1表示诊断程序运行结束了,诊断结果放在诊断结果表中。

如图2所示,为诊断系统和测试系统之间的交互图。诊断系统和测试系统之间的交互采用测试系统触发诊断系统,诊断系统将最终的结果返给测试系统的方法。测试参数出现异常条件下,通过参数代码、时间戳和诊断使能标志触发诊断软件,诊断软件启动开始诊断;诊断完成后,对诊断结果进行解释有三种情况:1、出故障结果和策略;2、有故障无结果和策略;3、出加测策略,等待新数据指令。诊断系统将最终的诊断结果返给测试系统。

本发明设计了一种测试与诊断相结合的测试序列动态管理方法,其测试、诊断工作原理如图3所示,其步骤为:

步骤一,开发测试步骤对应的测试程序,再在TestStand序列编辑器中开发测试序列文件,以文件扩展名.seq为标识,一个测试序列文件由若干个测试步骤(Step)组成;

步骤二,测试操作员进行必要的用户登陆,进入测试主界面,点击测试序列配置菜单,进入测试序列配置界面,在测试步骤集中选择本次测试需要的测试步骤,并对每个测试步骤的输入输出参数进行设置,对于常用的测试内容可以保存为一个测试序列文件,简化配置过程。然后,输入特定UUT的测试信息,点击测试开始按键,启动自动测试流程,TestStand引擎自动加载用户测试序列并完成对应的测试步骤;

步骤三,执行测试步骤时弹出运行界面,显示被测产品的各种测试信息,包括信号波形、合格指示、实测数据等等,其中与测试报表相关的测试信息被写入到数据库中。如果当前测试步骤的测试结果合格(即测试结果=PASS),加载执行下一个测试步骤,进入步骤四;测试结果不合格(即测试结果=FAIL),进入步骤五;

步骤四,如果测试序列全部执行完成,进入步骤七;否则继续运行下一测试步骤,进入步骤三;

步骤五,置使能标志有效,激发诊断软件。输入参数代码、时间戳和使能标志,诊断系统启动后进行相应的检查无误后,根据输入的故障征兆以及从知识库、数据库中获取的知识按照一定的规则进行推理,得出可能的故障原因,并将这些诊断信息写入诊断结果表和历史诊断表中,并输出诊断状态标志。诊断状态标志有两种状态,分别为0和1,0表示启动诊断程序未成功进入步骤七;1表示诊断程序运行结束,诊断结果放在诊断结果表,进入下一步骤;

步骤六,测试软件解析诊断结果表,按照“序号”字段对诊断结果表中的记录进行索引,找出序号值最大的记录,并对该记录中“策略”字段进行解析,并执行对应的操作。“策略”字段中0,表示诊断出故障结果,提取“定位”字段和“原因”字段的信息,进入步骤七;“策略”字段中1,表示未诊断出结果,也不需要再加测,进入步骤七;“策略”字段中2,表示需要进行加测,测试软件根据诊断信息中的加测项目产生、加载并执行新的测试序列集,以获取诊断软件需要的额外测试信息,最后一个加测序列执行完毕后测试软件输入原始故障发生时相同的参数代码和时间戳,进入步骤五;

步骤七,测试与诊断流程结束,输出结果,根据测试步骤执行情况自动生成测试报告。

上述步骤中,为实现测试序列动态的跳转功能,采用了成功失败型测试类型(Pass/Fail Test)作为所有测试步骤的原型,每一个测试步骤对应动态链接库(DLL)的一个库函数,根据每一个测试步骤的工作状态决定后续测试步骤的走向,如果测试结果为PASS,则顺序执行测试序列中的下一个测试步骤;如果测试结果为FAIL,则进行诊断,根据诊断结果进行加测,获取更多故障信息,以正确定位故障。

加测项目可能有好几个,为了提高效率,前面的加测项目使能标志均置为无效,不激发诊断软件,最后一个加测项目中将使能标志置为有效,表示上次诊断系统要求的加测项目已经全部完成,可以进行二次诊断,参数代码、时间戳和上次故障参数代码和时间戳保持一致,诊断软件将更新后数据提取后再次推理,并得出结论写入数据库中的诊断结果表中,同时将加测项目字段设为空,至此完成一个完整的诊断过程。

在运行阶段,可以对测试序列进行开始、跳转、中断、停止等操作,其中跳转操作是故障诊断软件根据测试策略进行的自动干预,不同的故障跳转到不同的加测序列中。

本发明采用了测试序列的动态管理方法,在需要更改测试顺序时,不必重新编译,使得测试软件的运行效率和灵活性得以提高。而测试与诊断相交互的方法,使得在发现故障时可以进行测试序列的跳转,根据诊断系统的需求进行测试,为诊断系统提供必要的故障信息,而不必顺序执行完所有的测试项目才能进行诊断,提高了故障测试与诊断的效率。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1