测试进程异常检测方法以及自动化测试控制装置的制作方法

文档序号:6608021阅读:144来源:国知局
专利名称:测试进程异常检测方法以及自动化测试控制装置的制作方法
技术领域
本发明涉及数据通信领域的自动化测试技术,尤其涉及一种用于测试嵌入式设备 的自动化测试系统中的测试进程异常检查技术。
背景技术
近年来自动化测试技术在数据通信领域得到了广泛的应用,很大程度上减少了手 工测试人员大量的重复劳动,同时也为缩减产品开发成本,缩短开发周期作出了很大贡献。为了提高自动化测试的效率,目前大部分自动化测试系统都支持并行的运行多个 测试进程,每个测试进程负责一组测试任务。比如有十个模块,最大的一个模块需要3个小 时测试完成,在设备资源允许的情况下,可以给每个模块分配一个测试进程来测试,并行执 行十个测试进程分别测试这十个模块,就可以在短短3个小时左右完成所有的测试工作, 并给出测试结果报表。这和以往手工测试或者串行的自动化测试方法相比,测试的效率提 高了许多倍。当并行的执行测试进程时,特别是在晚上,不可能靠人工来实时监控每个进程的 运行情况,这样会浪费大量的人力,所以当其中一个或者几个进程出现异常挂起了,但是进 程并没有退出,就会导致其资源不能及时释放,影响设备利用率。同时由于未能及时的发现 这样的情况,将会导致异常进程所执行的测试任务不能按时完成,影响测试进度。

发明内容
本发明要解决的技术问题是,提供一种自动化测试系统中能够及时发现并处理异 常进程的方法以及实现该方法的自动化测试控制装置。本发明为解决上述技术问题所采用的技术方案是,测试进程异常检测方法,包括 步骤a、每个测试进程启动时,为每个测试进程创建一个对应的日志文件;测试进程在 执行测试时需实时更新所述日志文件;b、异常检查进程周期性检查每个测试进程对应的日志文件是否更新超时,如是, 则判定该测试进程异常,删除该测试进程并释放该测试进程占用的资源;如否,则判定该测 试进程正常。因出现异常而挂起的进程,虽然失去了 CPU,但是由于没有结束,仍然会占用内存 和互斥资源。本发明通过对日志文件进行检测,能间接了解到测试进程是否正常运行。因 出现异常而挂起的测试进程无法在规定时间刷新其日志文件,所以对刷新超时的日志文件 所对应的测试进程进行删除,能即时释放其占用的资源,从而提高资源利用率。具体的,步骤a中,在为测试进程创建一个对应的日志文件同时,还对应创建一个 测试进程文件;所述测试进程文件包括有测试进程ID、测试进程对应的日志文件路径及名 称;步骤b中,异常检查进程周期性检查每个测试进程对应的日志文件的具体步骤为bl、异常检查获取一个测试进程文件;b2、判断该测试进程文件中的测试进程ID是否存在,如是,进入步骤b3,如否,删 除当前测试进程文件返回步骤bl ;b3、从测试进程文件中获取该测试进程对应的日志文件路径及名称;b4、读取该测试进程对应的日志文件,判断该日志文件在规定时间内是否被更新, 如否,删除该测试进程并释放该测试进程占用资源,并返回步骤bl ;如是,直接返回步骤 bl。进一步的,为给日志文件确定一个合理的更新时间值,测试进程文件还包括有最 大超时时间、测试必要等待时间;最大超时时间为,测试进程运行过程中,从一次指令发送到被测设备返回指令执 行结果并写日志文件所需的最长时间;测试必要等待时间为,测试执行过程中,根据测试需要,测试用例所安排等待的时 间;测试进程在进入必要等待之前会先将测试必要等待时间的时间值写入对应的测试进程 文件中,在必要等待完成后把对应测试进程文件中的测试必要等待时间设置为0 ;步骤b4中,判断该日志文件在规定时间内是否被更新的具体方法是如当前系统 时间减去最近一次日志文件刷新时间的结果大于测试进程文件中最大超时时间与测试必 要等待时间之和,则判定日志文件在规定时间内未被更新,否则,判定日志文件在规定时间 内已被更新。具体的,日志文件的内容包括向被测设备发送的测试指令、指令执行结果、返回信 息的解析与处理结果。测试进程占用资源包括被测设备、辅测设备、划分拓扑所需的VLAN寸。自动化测试控制装置,包括控制模块、测试进程模块、日志存储模块、异常检查进 程模块;测试进程模块用于,运行测试进程,并在执行测试时实时更新日志文件;控制模块用于,启动测试进程,为每个测试进程对应创建一个日志文件,并将日志 文件保存在日志存储模块中;启动异常检查进程;日志存储模块用于,存储日志文件;异常检查进程模块用于,运行异常检查进程,周期性检查日志存储模块每个测试 进程对应的日志文件是否更新超时,如是,则判定该测试进程异常,删除该测试进程并释放 该测试进程占用资源;如否,则判定该测试进程正常。具体的,自动化测试控制装置还包括测试进程文件存储模块;控制模块还用于,在为测试进程对应创建一个日志文件同时,还对应创建一个测 试进程文件,并将测试进程文件保存在测试进程文件存储模块中;测试进程文件存储模块用于,存储测试进程文件;所述测试进程文件包括有测试 进程ID、测试进程对应的日志文件路径及名称;异常检查进程模块还用于,通过读取测试进程文件中日志文件路径及名称,从而 在日志存储模块中获取该测试进程对应的日志文件;当判断出测试进程文件中的测试进程 ID不存在,则删除当前测试进程文件。
进一步的,测试进程文件还包括有最大超时时间、测试必要等待时间;测试进程模块还用于,测试进程在进入必要等待之前,将测试必要等待时间的时 间值写入测试进程文件存储模块中对应的测试进程文件中,在必要等待完成后,测试进程 模块将测试进程文件存储模块中对应测试进程文件中的测试必要等待时间设置为0 ;异常检查进程模块还用于,通过计算当前系统时间减去最近一次日志文件刷新时 间的结果是否大于测试进程文件中最大超时时间与测试必要等待时间之和,来判定日志文 件是否在规定时间内更新,如是,判定日志文件在规定时间内未被更新;如否,判定日志文 件在规定时间内已被更新。本发明的有益效果是,能够自动、快速地检测到异常测试进程,终止异常进程并释 放相关资源,大大的提高了资源的利用率,在测试质量不变的情况下最大程度保证自动化 测试进度。


图1为实施例自动化测试控制装置示意图;图2为实施例异常检查进程和测试进程之间的关系图;图3为实施例测试进程处理流程图;图4为实施例异常检查进程处理流程图。
具体实施例方式本发明自动化测试控制装置进行异常检查方法实施例的步骤如下a、启动异常检查进程;b、获取一个测试进程文件;C、从测试文件中获取测试进程ID并判断测试进程是否存在,如果不存在,则跳到 步骤i ;d、从测试文件中获取测试进程对应的日志文件路径及名称;e、判断测试进程日志在规定时间内是否被更新,如果没有更新表明进程异常,则 跳到步骤h;f、是否已经检查完所有的测试进程文件,如果没有,则跳到步骤b;g、等待下一个检查周期到达,然后跳到步骤b ;h、删除测试进程并释放其所占资源;i、删除当前测试进程文件,然后跳到步骤b。其中,异常检查进程是一个长期运行的进程,该进程定期的检查当前正在运行的 测试进程是否处于异常状态。测试进程文件是与每个测试进程一一对应的,在启动测试进 程的时候生成,在测试进程执行测试的过程中根据需要实时更新测试进程文件。每个测试 进程文件中包含了以下内容测试进程ID、测试进程日志文件路径及名称、最大超时时间、 测试必要等待时间。日志文件是在启动测试进程的同时创建,并实时更新,该文件记录了测 试执行过程的所有详细步骤,包括向设备发送的测试指令、指令执行的结果、返回信息的 解析与处理结果等。步骤e中的判断测试进程日志在规定时间内是否被更新的方法是如 当前系统时间减去最近一次日志修改时间大于测试进程文件中的最大超时时间与测试必
6要等待时间之和,则表示日志文件没有在规定时间内被更新。资源是指需要完成一组自动 化测试所需的所有资源,这些测试进程所占资源包括被测设备、辅测设备、划分拓扑所需 的VLAN等。最大超时时间是指在测试执行过程中执行一次指令,然后等待被测设备返回指 令执行结果并写日志的最长等待时间。在进程正常的情况下,超过最长等待时间进程会将 失败的原因写入日志文件,然后进行后面的测试失败处理,后面的处理过程都会记录到日 志中。所以在测试必要等待时间为零的情况下,如果超过最大超时时间,日志文件还没有更 新,就说明进程已处于异常状态。测试必要等待时间是指在测试执行过程中根据测试需要, 测试用例故意安排等待的时间,测试进程在进入必要等待之前会先将必要等待的时间值写 入对应的测试进程文件中,在必要等待完成以后把对应测试进程文件中的测试必要等待时 间设置为0。为实现上述方法,如图1所述的自动化测试控制装置,包括控制模块、测试进程模 块、日志存储模块、异常检查进程模块、测试进程文件存储模块;控制模块用于,启动测试进程,为每个测试进程对应创建一个日志文件,并将日志 文件保存在日志存储模块中;在为测试进程对应创建一个日志文件同时,还对应创建一个 测试进程文件,并将测试进程文件保存在测试进程文件存储模块中;启动异常检查进程。测试进程模块用于,运行测试进程,并在执行测试时实时更新日志文件;测试进程 在进入必要等待之前,将测试必要等待时间的时间值写入测试进程文件存储模块中对应的 测试进程文件中,在必要等待完成后,测试进程模块将测试进程文件存储模块中对应测试 进程文件中的测试必要等待时间设置为0 ;日志存储模块用于,存储日志文件;测试进程文件存储模块用于,存储测试进程文件;异常检查进程模块用于,周期性地,通过读取测试进程文件中日志文件路径及名 称,从而在日志存储模块中获取该测试进程对应的日志文件,并检测每个测试进程对应的 日志文件是否更新超时;当判断出测试进程文件中的测试进程ID不存在,则删除当前测试 进程文件;通过计算当前系统时间减去最近一次日志文件刷新时间的结果是否大于测试 进程文件中最大超时时间与测试必要等待时间之和,来判定日志文件是否在规定时间内更 新,如是,判定日志文件在规定时间内未被更新;如否,判定日志文件在规定时间内已被更 新。如图2所示,异常检查进程和测试进程之间的关系为测试进程的作用是用来执 行一组测试工作,启动测试进程的同时就会创建一个与之唯一对应的测试进程文件,在测 试进程执行测试过程中,不断的向测试文件进程中更新测试进程当前的状态信息。另一方 面异常检查进程是一个长期运行的守护进程,它会定期的读取当前所有测试进程文件中的 信息,并根据信息判断测试进程是否异常,如果发现异常则立即中断异常的进程,释放出测 试占用的资源。下面分两部分分别详细说明测试进程和异常检查进程的处理流程。测试进程处理详细流程如图3所示,首先启动一个测试进程,并创建一个与之唯 一对应的测试进程文件,并在测试进程文件中存入以下信息测试进程ID、日志文件路径 及名称、最大超时时间(通常可以设置成一个固定值)、测试必要等待时间(根据测试需要, 在测试步骤中故意安排的等待时间,创建的时候该值为0)。然后测试进程开始执行测试步 骤,如果测试步骤中明确安排了等待时间为η秒,则在等待之前将测试进程文件中的测试必要等待时间设置为η秒,然后测试进程阻塞等待η秒,等待结束以后测试进程将测试进程 文件中的测试必要等待时间设置为0,然后测试进程继续执行下面的步骤。如果后面的步骤 中碰到类似需要等待的地方,做相同的处理。测试进程文件可以在测试进程结束的时候由 测试进程删除,也可以由异常检查进程在轮询的时候删除。 异常检查进程详细处理流程如图4所示,首先启动异常检查进程,接下来进行第 一次异常检查。获取第一个测试进程文件,从文件中获取测试进程ID、日志文件路径及名 称、最大超时时间、测试必要等待时间。然后根据测试进程ID判断测试进程是否存在,如果 不存在,则删除测试进程文件,检查下一个测试进程文件,如果存在,则判断日志文件是否 更新超时。如果日志文件更新超时,则可以断定测试进程异常,删除测试进程及对应的测试 进程文件,释放对应的测试资源(被占用的被测设备、辅测设备等资源),接下来检查下一 个测试进程文件。如果日志文件更新未超时,则继续以相同方法检查下一个测试进程文件, 直到所有的测试文件已经检查完一轮。然后阻塞异常检查进程,直到下一个异常检查周期 到来,再进行下一轮异常检查。判断日志更新是否超时的具体方法为如果当前系统时间与 日志文件最近修改时间的差值大于最大超时时间与测试必要等待时间之和,说明日志文件 更新超时,进程出现异常。
权利要求
测试进程异常检测方法,其特征在于,包括步骤a、每个测试进程启动时,为每个测试进程创建一个对应的日志文件;测试进程在执行测试时需实时更新所述日志文件;b、异常检查进程周期性检查每个测试进程对应的日志文件是否更新超时,如是,则判定该测试进程异常,删除该测试进程并释放该测试进程占用的资源;如否,则判定该测试进程正常。
2.如权利要求1所述测试进程异常检测方法,其特征在于,步骤a中,在为测试进程创 建一个对应的日志文件同时,还对应创建一个测试进程文件;所述测试进程文件包括有测 试进程ID、测试进程对应的日志文件路径及名称;步骤b中,异常检查进程周期性检查每个测试进程对应的日志文件的具体步骤为 bl、异常检查获取一个测试进程文件;b2、判断该测试进程文件中的测试进程ID是否存在,如是,进入步骤b3,如否,删除当 前测试进程文件返回步骤bl ;b3、从测试进程文件中获取该测试进程对应的日志文件路径及名称; b4、读取该测试进程对应的日志文件,判断该日志文件在规定时间内是否被更新,如 否,删除该测试进程并释放该测试进程占用资源,并返回步骤bl ;如是,直接返回步骤bl。
3.如权利要求2所述测试进程异常检测方法,其特征在于,所述测试进程文件还包括 有最大超时时间、测试必要等待时间;所述最大超时时间为,测试进程运行过程中,从一次指令发送到被测设备返回指令执 行结果并写日志文件所需的最长时间;所述测试必要等待时间为,测试执行过程中,根据测试需要,测试用例所安排等待的时 间;测试进程在进入必要等待之前会先将测试必要等待时间的时间值写入对应的测试进程 文件中,在必要等待完成后把对应测试进程文件中的测试必要等待时间设置为0 ;步骤b4中,判断该日志文件在规定时间内是否被更新的具体方法是如当前系统时间 减去最近一次日志文件刷新时间的结果大于测试进程文件中最大超时时间与测试必要等 待时间之和,则判定日志文件在规定时间内未被更新,否则,判定日志文件在规定时间内已 被更新。
4.如上述任意一项权利要求所述测试进程异常检测方法,其特征在于,所述日志文件 的内容包括向被测设备发送的测试指令、指令执行结果、返回信息的解析与处理结果。
5.如权利要求4所述测试进程异常检测方法,其特征在于,所述测试进程占用资源包 括被测设备、辅测设备、划分拓扑所需的VLAN等。
6.自动化测试控制装置,其特征在于,包括控制模块、测试进程模块、日志存储模块、异 常检查进程模块;所述测试进程模块用于,运行测试进程,并在执行测试时实时更新日志文件; 所述控制模块用于,启动测试进程,为每个测试进程对应创建一个日志文件,并将日志 文件保存在日志存储模块中;启动异常检查进程; 所述日志存储模块用于,存储日志文件;所述异常检查进程模块用于,运行异常检查进程,周期性检查日志存储模块每个测试 进程对应的日志文件是否更新超时,如是,则判定该测试进程异常,删除该测试进程并释放该测试进程占用资源;如否,则判定该测试进程正常。
7.如权利要求6所述自动化测试控制装置,其特征在于,还包括测试进程文件存储模块;所述控制模块还用于,在为测试进程对应创建一个日志文件同时,还对应创建一个测 试进程文件,并将测试进程文件保存在测试进程文件存储模块中;所述测试进程文件存储模块用于,存储测试进程文件;所述测试进程文件包括有测试 进程ID、测试进程对应的日志文件路径及名称;所述异常检查进程模块还用于,通过读取测试进程文件中日志文件路径及名称,从而 在日志存储模块中获取该测试进程对应的日志文件;当判断出测试进程文件中的测试进程 ID不存在,则删除当前测试进程文件。
8.如权利要求7所述自动化测试控制装置,其特征在于,所述测试进程文件还包括有 最大超时时间、测试必要等待时间;所述最大超时时间为,测试进程过程中,从一次指令发 送到被测设备返回指令执行结果并写日志文件所需的最长时间;所述测试必要等待时间 为,测试执行过程中,根据测试需要,测试用例所安排等待的时间;所述测试进程模块还用于,测试进程在进入必要等待之前,将测试必要等待时间的时 间值写入测试进程文件存储模块中对应的测试进程文件中,在必要等待完成后,测试进程 模块将测试进程文件存储模块中对应测试进程文件中的测试必要等待时间设置为0 ;所述异常检查进程模块还用于,通过计算当前系统时间减去最近一次日志文件刷新时 间的结果是否大于测试进程文件中最大超时时间与测试必要等待时间之和,来判定日志文 件是否在规定时间内更新,如是,判定日志文件在规定时间内未被更新;如否,判定日志文 件在规定时间内已被更新。
9.如上述任意一项权利要求所述自动化测试控制装置,其特征在于,所述日志文件的 内容包括向被测设备发送的测试指令、指令执行结果、返回信息的解析与处理结果。
10.如权利要求9所述自动化测试控制装置,其特征在于,所述测试进程占用资源包括 被测设备、辅测设备、划分拓扑所需的VLAN等。
全文摘要
本发明提供一种自动化测试系统中能够及时发现并处理异常进程的方法以及实现该方法的自动化测试控制装置。测试进程异常检测方法,包括步骤a、每个测试进程启动时,为每个测试进程创建一个对应的日志文件;测试进程在执行测试时需实时更新所述日志文件;b、异常检查进程周期性检查每个测试进程对应的日志文件是否更新超时,如是,则判定该测试进程异常,删除该测试进程并释放该测试进程占用的资源;如否,则判定该测试进程正常。本发明通过对日志文件进行检测,能间接了解到测试进程是否正常运行。
文档编号G06F11/36GK101916224SQ20101025916
公开日2010年12月15日 申请日期2010年8月20日 优先权日2010年8月20日
发明者董哲, 郭静 申请人:迈普通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1