一种嵌入式软件测试监控方法及系统的制作方法

文档序号:6399769阅读:216来源:国知局
专利名称:一种嵌入式软件测试监控方法及系统的制作方法
技术领域
本发明涉及嵌入式软件测试领域,尤其涉及一种嵌入式软件测试监控方法及系统。
背景技术
嵌入式软件是基于嵌入式系统设计的软件,嵌入式软件广泛应用于国防、工控、消费电子、通信产业等领域,例如移动电话、掌上电脑、数码相机、机顶盒等都是用嵌入式软件技术对传统产品进行智能化改造的结果。当嵌入式软件处于现场测试阶段时,例如机顶盒产品在研发后期,需要测试人员到现场进行最后的定版测试,如果在测试过程中出现低频率复现问题,而负责开发软件的工程师不在现场,只能通过现场测试人员的描述得到测试情况,现场测试人员通过电话或者邮件的方式对出现的问题进行描述,又现场测试人员对被测试的软件不熟悉,对开发软件的内容掌握程度不够,在描述测试结果和测试过程中出现的问题时不准确。现有技术中通过运行在独立的计算机上的脚本程序实现对嵌入式应用软件的监测,需要独立的计算机设备,且被监测的程序需要被动接收监控数据,终端需要主动向脚本解释器发送监控数据,过程较复杂,步骤繁琐,不利于研发成本的控制。

发明内容
本发明实施例所要解决的技术问题在于,提供一种嵌入式软件测试监控方法及系统。可采用快照监控模式或运行状态跟踪模式监控嵌入式软件的测试,提高了软件开发效率,减少了研发成本。为了解决上述技术问题,本发明实施例提供了一种嵌入式软件测试监控方法,包括:判断是否开启快照监控模式或运行状态跟踪模式;若开启快照监控模式,则判断当前的快照监控线程的时间参数是否满足预设的快照监控时间参数阈值;如果满足,根据所述当前的快照监控线程的时间参数建立对应的目标程序快照,并保存所述目标程序快照;若开启运行状态跟踪模式,则判断目标程序中是否存在满足预设的运行状态跟踪条件的线程;如果存在,监控所述目标程序中满足预设的运行状态跟踪条件的线程。其中,所述快照监控线程的时间参数至少包括:快照监控滞留时间和快照监控时间间隔。其中,所述预设的运行状态跟踪条件包括:配置的线程名字、配置的函数名字、配置的全局变量名字中的一个或多个;所述监控所述目标程序中满足预设的运行状态跟踪条件的线程包括:
如果所述目标程序中存在与所述配置的线程名字相一致的线程,监控所述目标程序中与所述配置的线程名字相一致的线程;或如果所述目标程序中存在与所述配置的函数名字相一致的线程,记录所述配置的函数名字对应的函数接口 ;或如果所述目标程序中存在与所述配置的全局变量名字相一致的线程,记录所述配置的全局变量名字对应的变量值的变化轨迹。其中,所述判断是否开启快照监控模式或运行状态跟踪模式之前包括:创建并配置所述快照监控线程;或创建并配置所述运行状态跟踪线程。其中,所述监控所述目标程序中满足预设的运行状态跟踪条件的线程之后包括:
根据所述监控结果得到运行状态跟踪数据,并保存所述运行状态跟踪数据。相应地,本发明实施例还提供了一种嵌入式软件测试监控系统,包括:快照监控模块或运行状态跟踪模块,其中:所述快照监控模块包括:快照监控判断单元和快照建立单元,其中,所述快照监控判断单元,用于当开启快照监控模式时,判断当前的快照监控线程的时间参数是否满足预设的快照监控时间参数阈值;所述快照建立单元,用于当快照监控判断单元判断结果为是时,根据所述当前的快照监控线程的时间参数建立对应的目标程序快照,并保存所述目标程序快照;所述运行状态跟踪模块包括:运行状态跟踪条件判断单元和运行状态监控单元,其中,所述运行状态跟踪条件判断单元,用于当开启运行状态跟踪模式时,判断目标程序中是否存在满足预设的运行状态跟踪条件的线程;所述运行状态监控单元,用于当所述运行状态跟踪条件判断单元判断结果为是时,监控所述目标程序中满足预设的运行状态跟踪条件的线程。其中,所述快照监控线程的时间参数至少包括:快照监控滞留时间和快照监控时间间隔。其中,所述预设的运行状态跟踪条件包括:配置的线程名字、配置的函数名字、配置的全局变量名字中的一个或多个;所述运行状态监控单元包括:线程监控子单元,用于当所述目标程序中存在与所述配置的线程名字相一致的线程时,监控所述目标程序中与所述配置的线程名字相一致的线程;函数接口记录子单元,用于当所述目标程序中存在与所述配置的函数名字相一致的线程时,记录所述配置的函数名字对应的函数接口 ;变化轨迹记录子单元,用于当所述目标程序中存在与所述配置的全局变量名字相一致的线程时,记录所述配置的全局变量名字对应的变量值的变化轨迹。 其中,所述快照监控模块还包括:快照监控线程创建单元,用于创建并配置所述快照监控线程;所述运行状态跟踪模块还包括:运行状态跟踪线程创建单元,用于创建并配置所述运行状态跟踪线程。其中,所述运行状态跟踪模块还包括:
运行状态跟踪数据存储单元,用于根据所述监控结果得到运行状态跟踪数据,并保存所述运行状态跟踪数据。实施本发明实施例,可采用快照监控模式或运行状态跟踪模式监控嵌入式软件的测试,且该嵌入式软件测试监控系统可与嵌入式软件一起运行在同一个嵌入式设备上,还可以导出监控结果数据进而可循环复现测试出现的问题,可降低研发周期,提高了软件开发效率,减少了研发成本。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种嵌入式软件测试监控系统的结构示意图;图2是本发明实施例提供的一种嵌入式软件测试监控方法的流程图;图3是本发明实施例提供的又一种嵌入式软件测试监控方法的流程图;图4是本发明实施例提供的另一种嵌入式软件测试监控方法的流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。请参阅图1,图1为本发明实施例提供的一种嵌入式软件测试监控系统的结构示意图。其中,本发明实施例提供的嵌入式软件测试监控系统可以实现在如机顶盒、智能手机、平板电脑、车载信息终端、导航仪等终端中,本发明实施例以在机顶盒上实现的嵌入式软件测试监控系统为例详细论述。如图1所示,该嵌入式软件测试监控系统至少包括快照监控模块101或运行状态跟踪模块102,其中:快照监控模块包括101:快照监控判断单元1011和快照建立单元1012,其中:快照监控判断单元1011,用于当开启快照监控模式时,判断当前的快照监控线程的时间参数是否满足预设的快照监控时间参数阈值。具体实现中,当开启快照监控模式时,例如可以通过语句 I “SNAPSHOR_SERVER_STATE=YES” 或语句 2 “SNAPSHOR_SERVER_STATE=N0T”来识别是否开启快照监控模式,语句I为开启快照监控模式,语句2为关闭快照监控模式。快照监控线程的时间参数至少包括:快照监控滞留时间和快照监控时间间隔。快照监控滞留时间可以以秒为单元,可设置默认值,例如60秒,实现语句例如:“Monitor_t ime=60 ”,表示会保存当前时间的前60秒的内存快照,用于快照恢复和与后续状态的对比。快照监控时间间隔可以以秒为单位,可设置默认值,例如30秒,实现语句例如:“Monitor_time_gap=30”,表示每隔30秒进行一次快照建立。预设的快照监控时间参数阈值,例如预设的快照监控滞留时间为60秒(“Monitor_time=60 ”)、预设的快照监控时间间隔为30秒(“Monitor_time_gap=30”)等,判断当前的快照监控线程的时间参数是否满足预设的快照监控时间参数阈值,例如,在嵌入式软件测试过程中,在时间点I停止测试,则保存时间点I前60秒的内存快照;在嵌入式软件测试过程中,判断当前的快照监控时间间隔是否满足30秒。快照(Snapshot)是指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照的作用主要有:能进行在线数据备份与恢复。当存储设备发生应用故障或者文件损坏时可以进行快速的数据恢复,将数据恢复某个可用的时间点的状态;为存储用户提供另一个数据访问通道,当原数据进行在线应用处理时,用户可以访问快照数据,还可以利用快照进行测试等工作。快照建立单元1012,用于当快照监控判断单元1011判断结果为是时,根据所述当前的快照监控线程的时间参数建立对应的目标程序快照,并保存所述目标程序快照。具体实现中,如果当前的快照监控线程的时间参数满足预设的快照监控时间参数阈值,建立目标程序快照,即每隔30秒建立目标程序快照,并保存该目标程序快照到指定目录中,例如可以通过语句:“Monitor_save_path=./”实现保存该目标程序快照到指定目录中。当保存目标程序快照时,会更新原目标程序快照,即删除原目标程序快照,循环保存新建立的目标程序快照,在目录里只存在一个目标程序快照。进而,可以将目标程序快照通过串口网线或USB (Universal Serial BUS,通用串行总线)设备导出,可进行测试数据的备份与恢复。进一步可选的,本发明实施例中的快照监控模块101还可以包括快照监控线程创建单元1013,其中:快照监控线程创建单元1013,用于创建并配置所述快照监控线程。具体实现中,在开启快照监控模式前,快照监控线程创建单元1013创建并配置快照监控线程,例如创建并配置一个Snapsh0t_Server线程,其中,配置快照监控线程可以包括:配置预设的快照监控时间参数阈值。运行状态跟踪模块102包括:运行状态跟踪条件判断单元1021和运行状态监控单元1022,其中:运行状态跟踪条件判断单元1021,用于当开启运行状态跟踪模式时,判断目标程序中是否存在满足预设的运行状态跟踪条件的线程。具体实现中,当开启运行状态跟踪模式时,例如,可以通过语句 3 “M0NIT0R_SERVER_STATE=YES” 或语句 4 “M0NIT0R_SERVER_STATE=N0T”来识别是否开启运行状态跟踪模式,语句3为开启运行状态跟踪模式,语句4为关闭运行状态跟踪模式。预设的运行状态跟踪条件包括:配置的线程名字、配置的函数名字、配置的全局变量名字中的一个或多个。判断目标程序中是否存在满足预设的运行状态跟踪条件的线程至少可以包括:判断目标程序中是否存在与配置的线程名字相一致的线程;或判断目标程序中是否存在与配置的函数名字相一致的线程;或判断目标程序中是否存在与配置的全局变量名字相一致的线程。例如:判断目标程序中是否存在与配置的线程名字相一致的线程,实现语句例如:“M0nit0r_thread_names=”””,如果实现语句中无配置的线程名字则默认为不监控,配置值为ALL时表示全部监控;判断目标程序中是否存在与配置的函数名字相一致的线程,实现语句例如:“Monitor_function_names=”””,如果实现语句中无配置的函数名字则默认为不监控,配置值为ALL时表示全部监控;判断目标程序中是否存在与配置的全局变量名字相一致的线程,实现语句例如:“Monitor_variable_names=”””,如果实现语句中无配置的全局变量名字则默认为不监控,配置值为ALL时表示全部监控。其中,判断目标程序中是否存在与配置的线程名字相一致的线程、判断目标程序中是否存在与配置的函数名字相一致的线程或判断目标程序中是否存在与配置的全局变量名字相一致的线程,以上三个判断可以独立运行,也可以同时运行任意两个判断,也可以同时运行三个判断。运行状态监控单元1022,用于当所述运行状态跟踪条件判断单元1021判断结果为是时,监控所述目标程序中满足预设的运行状态跟踪条件的线程。具体实现中,当目标程序中存在满足预设的运行状态跟踪条件的线程时,监控目标程序中满足预设的运行状态跟踪条件的线程。进一步可选的,运行状态监控单元1022可以包括:线程监控子单元、函数接口记录子单元或变化轨迹记录子单元,其中:线程监控子单元,用于当所述目标程序中存在与所述配置的线程名字相一致的线程时,监控所述目标程序中与所述配置的线程名字相一致的线程。函数接口记录子单元,用于当所述目标程序中存在与所述配置的函数名字相一致的线程时,记录所述配置的函数名字对应的函数接口。具体实现中,通过检测程序计数器,以线程为分类,把每个线程中与配置的函数名字对应的函数接口的调用轨迹以树形结构记录下来。变化轨迹记录子单元,用于当所述目标程序中存在与所述配置的全局变量名字相一致的线程时,记录所述配置的全局变量名字对应的变量值的变化轨迹。进一步可选的,本发明实施例中的运行状态跟踪模块102还可以包括运行状态跟踪线程创建单元1023和运行状态跟踪数据存储单元1024,其中:运行状态跟踪线程创建单元1023,用于创建并配置所述运行状态跟踪线程。具体实现中,在开启运行状态跟踪模式前,运行状态跟踪线程创建单元1023创建并配置运行状态跟踪线程,例如创建并 配置一个MonitOT^Server线程,其中,配置运行状态跟踪线程可以包括:配置预设的运行状态跟踪条件。运行状态跟踪数据存储单元1024,用于根据所述监控结果得到运行状态跟踪数据,并保存所述运行状态跟踪数据。具体实现中,根据运行状态监控单元1022的监控结果得到运行状态跟踪数据,将运行状态跟踪数据保存到指定目录中,例如可以通过语句:“Monitor_save_path=./”实现。进一步可选的,可以根据语句“Monitor_time_gap= M”(M为具体配置的时间值,例如30秒、60秒等)实现按照一定的时间间隔追加保存运行状态跟踪数据到指定目录中。进一步可选的,本发明实施例的嵌入式软件测试监控系统,可以只开启快照监控模式,也可以只开启运行状态跟踪模式,还可以同时开启快照监控模式和运行状态跟踪模式。通过实施本发明实施例提供的一种嵌入式软件测试监控系统,可采用快照监控模式或运行状态跟踪模式监控嵌入式软件的测试,且该嵌入式软件测试监控系统可与嵌入式软件一起运行在同一个嵌入式设备上,还可以导出监控结果数据进而可循环复现测试出现的问题,可降低研发周期,提高了软件开发效率,减少了研发成本。下面阐述本发明实施例提供的嵌入式软件测试监控方法的具体实现。图2是本发明实施例中一种嵌入式软件测试监控方法的流程图,如图2所示嵌入式软件测试监控方法至少包括:
步骤S201,判断是否开启快照监控模式,如果是,执行步骤S204,如果否,执行步骤S203。具体实现中,判断是否开启快照监控模式可以通过具体的执行语句来判断,例如,语句 I “SNAPSHOR_SERVER_STATE=YES”表示开启快照监控模式,语句 2 “SNAPSHOR_SERVER_STATE=N0T ”表示关闭快照监控模式。步骤S202,判断是否开启运行状态跟踪模式,如果是,执行步骤S206,如果否,执行步骤S203。具体实现中,判断是否开启运行状态跟踪模式可以通过具体的执行语句来判断,例如,语句3 “M0NIT0R_SERVER_STATE=YES ”表示开启运行状态跟踪模式,语句4 “M0NIT0R_SERVER_STATE=N0T”表示关闭运行状态跟踪模式。在本发明实施例中,上述步骤S201、步骤S202没有先后顺序之分,可以同时进行,也可只执行任意一个步骤。步骤S203,运行目标程序。具体实现中,在嵌入式系统测试过程中,当确定快照监控模式或运行状态跟踪模式中任一个模式关闭或两个模式都关闭时,运行目标程序。步骤S204,判断当前的快照监控线程的时间参数是否满足预设的快照监控时间参数阈值,判断结果为是时,执行步骤S205,判断结果为否时,返回步骤S204。具体实现中,快照监控线程的时间参数至少包括:快照监控滞留时间和快照监控时间间隔,预设的快照监控时间参数阈值,例如预设的快照监控滞留时间为60秒(实现语句例如:“Monitor_time=60”)、预设的快照监控时间间隔为30秒(实现语句例如:“Monitor_time_gap=30”)等,判断当前的快照监控线程的时间参数是否满足预设的快照监控时间参数阈值,例如,在嵌入式软件测试过程中,在时间点I停止测试,则保存时间点I前60秒的内存快照;在嵌入式软件测试过程中,判断当前的快照监控时间间隔是否满足30秒。快照的作用主要有:能进行在线数据备份与恢复,还可以利用快照进行测试等工作。步骤S205,根据所述当前的快照监控线程的时间参数建立对应的目标程序快照,并保存所述目标程序快照。具体实现中,如果当前的快照监控线程的时间参数满足预设的快照监控时间参数阈值,建立目标程序快照,即每隔30秒建立目标程序快照,并保存该目标程序快照到指定目录中,例如可以通过语句:“Monitor_save_path=./”实现保存该目标程序快照到指定目录中。当保存目标程序快照时,会更新原目标程序快照,即删除原目标程序快照,循环保存新建立的目标程序快照,在目录里只存在一个目标程序快照。进而,可以将目标程序快照通过串口网线或USB设备导出,可进行测试数据的备份与恢复。步骤S206,判断目标程序中是否存在满足预设的运行状态跟踪条件的线程判断结果为是时,执行步骤S207,判断结果为否时,返回步骤S206。具体实现中,预设的运行状态跟踪条件包括:配置的线程名字、配置的函数名字、配置的全局变量名字中的一个或多个。判断目标程序中是否存在满足预设的运行状态跟踪条件的线程至少可以包括:判断目标程序中是否存在与配置的线程名字相一致的线程;或判断目标程序中是否存在与配置的函数名字相一致的线程;或判断目标程序中是否存在与配置的全局变量名字相一致的线程。其中,判断目标程序中是否存在与配置的线程名字相一致的线程、判断目标程序中是否存在与配置的函数名字相一致的线程或判断目标程序中是否存在与配置的全局变量名字相一致的线程,以上三个判断可以独立执行,也可以同时执行任意两个,也可以同时执行三个。步骤S207,监控所述目标程序中满足预设的运行状态跟踪条件的线程。具体实现中,当目标程序中存在满足预设的运行状态跟踪条件的线程时,监控目标程序中满足预设的运行状态跟踪条件的线程。进一步可选的,监控目标程序中满足预设的运行状态跟踪条件的线程可以包括:当所述目标程序中存在与所述配置的线程名字相一致的线程时,监控所述目标程序中与所述配置的线程名字相一致的线程;当所述目标程序中存在与所述配置的函数名字相一致的线程时,记录所述配置的函数名字对应的函数接口 ;当所述目标程序中存在与所述配置的全局变量名字相一致的线程时,记录所述配置的全局变量名字对应的变量值的变化轨迹。本发明实施例中一种嵌入式软件测试监控方法,可采用快照监控模式或运行状态跟踪模式监控嵌入式软件的测试,提高了软件开发效率,减少了研发成本。如图3是本发明实施例中嵌入式软件测试监控方法的又一流程图,则该发明嵌入式软件测试监控方法至少可以包括:步骤S301,创建并配置快照监控线程。具体实现中,在开启快照监控模式前,创建并配置快照监控线程,例如创建并配置一个SnapShot_Server线程,其中,配置快照监控线程可以包括:配置预设的快照监控时间参数阈值。步骤S302,判断当前的快照监控线程的时间参数是否满足预设的快照监控时间参数阈值,判断结果为是时,执行步骤S303,判断结果为否时,返回步骤S302。具体实现中,快照监控线程的时间参数至少包括:快照监控滞留时间和快照监控时间间隔。快照监控滞留时间可以以秒为单元,可设置默认值,例如60秒,实现语句例如:“MOnitOr_time=60”,表示会保存当前时间的前60秒的内存快照,用于快照恢复和与后续状态的对比。快照监控时间间隔可以以秒为单位,可设置默认值,例如30秒,实现语句例如:“MOnitOr_time_gap=30”,表示每隔30秒进行一次快照建立。预设的快照监控时间参数阈值,例如预设的快照监控滞留时间为60秒(“Monitor_time=60”)、预设的快照监控时间间隔为30秒(“Monitor_time_gap=30”)等,判断当前的快照监控线程的时间参数是否满足预设的快照监控时间参数阈值,例如,在嵌入式软件测试过程中,在时间点I停止测试,则保存时间点I前60秒的内存快照;在嵌入式软件测试过程中,判断当前的快照监控时间间隔是否满足30秒。快照是指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照的作用主要有:能进行在线数据备份与恢复。当存储设备发生应用故障或者文件损坏时可以进行快速的数据恢复,将数据恢复某个可用的时间点的状态;为存储用户提供另一个数据访问通道,当原数据进行在线应用处理时,用户可以访问快照数据,还可以利用快照进行测试等工作。步骤S303,根据所述当前的快照监控线程的时间参数建立对应的目标程序快照,并保存所述目标程序快照。具体实现中,如果当前的快照监控线程的时间参数满足预设的快照监控时间参数阈值,建立目标程序快照,即每隔30秒建立目标程序快照,并保存该目标程序快照到指定目录中,例如可以通过语句:“Monitor_save_path=./”实现保存该目标程序快照到指定目录中。当保存目标程序快照时,会更新原目标程序快照,即删除原目标程序快照,循环保存新建立的目标程序快照,在目录里只存在一个目标程序快照。进而,可以将目标程序快照通过串口网线或USB设备导出,可进行测试数据的备份与恢复。本发明实施例中一种嵌入式软件测试监控方法,采用快照监控模式监控嵌入式软件的测试,可定时建立并保存目标程序快照,从而可根据目标程序快照恢复现场测试及对比前后测试状态,且该嵌入式软件测试监控系统可与嵌入式软件一起运行在同一个嵌入式设备上,可降低研发周期,提高了软件开发效率,减少了研发成本。如图4是本发明实施例中嵌入式软件测试监控方法的另一流程图,则该发明嵌入式软件测试监控方法至少可以包括:步骤S401,创建并配置运行状态跟踪线程。具体实现中,在开启运行状态跟踪模式前,创建并配置运行状态跟踪线程,例如创建并配置一个MonitoLServer线程,其中,配置运行状态跟踪线程可以包括:配置预设的运行状态跟踪条件。步骤S402,判断所述目标程序中是否存在与所述配置的线程名字相一致的线程,判断结果为是时,执行步骤S403,判断结果为否时,返回步骤S402。具体实现中,判断目标程序中是否存在与配置的线程名字相一致的线程,实现语句例如:“Monitor_thread_names=”””,如果实现语句中无配置的线程名字则默认为不监控,配置值为ALL时表示全部监控。步骤S403,监控所述目标程序中与所述配置的线程名字相一致的线程。步骤S404,判断所述目标程序中是否存在与所述配置的函数名字相一致的线程,判断结果为是时,执行步骤S405,判断结果为否时,返回步骤S404。具体实现中,判断目标程序中是否存在与配置的函数名字相一致的线程,实现语句例如:“M0nit0r_fUncti0n_names=”””,如果实现语句中无配置的函数名字则默认为不监控,配置值为ALL时表示全部监控。步骤S405,记录所述配置的函数名字对应的函数接口。具体实现中,通过检测程序计数器,以线程为分类,把每个线程中与配置的函数名字对应的函数接口的调用轨迹以树形结构记录下来。步骤S406,判断所述目标程序中是否存在与所述配置的全局变量名字相一致的线程,判断结果为是时,执行步骤S407,判断结果为否时,返回步骤S406。具体实现中,判断目标程序中是否存在与配置的全局变量名字相一致的线程,实现语句例如:“Monitor_Variable_names=”””,如果实现语句中无配置的全局变量名字则默认为不监控,配置值为ALL时表示全部监控。步骤S407,记录所述配置的全局变量名字对应的变量值的变化轨迹。具体实现中,记录配置的全局变量名字对应的变量值的变化轨迹。在本发明实施例中,所述步骤S402 步骤S403、步骤S404 步骤S405、步骤S406 步骤S407没有先后顺序之分,可以同时进行,也可先执行任意一个步骤再执行其他步骤。步骤S408,根据所述监控记录结果得到运行状态跟踪数据,并保存所述运行状态跟踪数据。具体实现中,根据步骤S403的监控结果、步骤S405记录的函数接口和步骤S407记录的变化轨迹得到运行状态跟踪数据,将运行状态跟踪数据保存到指定目录中,例如可以通过语句:“Monitor_save_path=./”实现。进一步可选的,可以根据语句“Monitor_time_gap= Μ”(Μ为具体配置的时间值,例如30秒、60秒等)实现按照一定的时间间隔追加保存运行状态跟踪数据到指定目录中。本发明实施例中一种嵌入式软件测试监控方法,采用运行状态跟踪模式监控嵌入式软件的测试,可监控与配置的线程名字相一致的线程、记录与配置的函数名字对应的函数接口或记录与配置的全局变量名字对应的变量值的变化轨迹,从而得到运行状态跟踪数据,可通过串口网线或者USB设备导出运行状态跟踪数据,从而对测试过程进行分析或还原现场测试的情况,可降低研发周期,提高了软件开发效率,且该嵌入式软件测试监控系统可与嵌入式软件一起运行在同一个嵌入式设备上,减少了研发成本。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
权利要求
1.一种嵌入式软件测试监控方法,其特征在于,所述方法包括: 判断是否开启快照监控模式或运行状态跟踪模式; 若开启快照监控模式,则判断当前的快照监控线程的时间参数是否满足预设的快照监控时间参数阈值; 如果满足,根据所述当前的快照监控线程的时间参数建立对应的目标程序快照,并保存所述目标程序快照; 若开启运行状态跟踪模式,则判断目标程序中是否存在满足预设的运行状态跟踪条件的线程; 如果存在,监控所述目标程序中满足预设的运行状态跟踪条件的线程。
2.根据权利要求1所述的方法,其特征在于,所述快照监控线程的时间参数至少包括:快照监控滞留时间和快照监控时间间隔。
3.根据权利要求1所述的方法,其特征在于,所述预设的运行状态跟踪条件包括:配置的线程名字、配置的函数名字、配 置的全局变量名字中的一个或多个; 所述监控所述目标程序中满足预设的运行状态跟踪条件的线程包括: 如果所述目标程序中存在与所述配置的线程名字相一致的线程,监控所述目标程序中与所述配置的线程名字相一致的线程;或 如果所述目标程序中存在与所述配置的函数名字相一致的线程,记录所述配置的函数名字对应的函数接口 ;或 如果所述目标程序中存在与所述配置的全局变量名字相一致的线程,记录所述配置的全局变量名字对应的变量值的变化轨迹。
4.根据权利要求1所述的方法,其特征在于,所述判断是否开启快照监控模式或运行状态跟踪模式之前包括: 创建并配置所述快照监控线程;或 创建并配置所述运行状态跟踪线程。
5.根据权利要求1所述的方法,其特征在于,所述监控所述目标程序中满足预设的运行状态跟踪条件的线程之后包括: 根据所述监控结果得到运行状态跟踪数据,并保存所述运行状态跟踪数据。
6.一种嵌入式软件测试监控系统,其特征在于,所述系统包括:快照监控模块或运行状态跟踪I旲块,其中: 所述快照监控模块包括:快照监控判断单元和快照建立单元,其中,所述快照监控判断单元,用于当开启快照监控模式时,判断当前的快照监控线程的时间参数是否满足预设的快照监控时间参数阈值;所述快照建立单元,用于当快照监控判断单元判断结果为是时,根据所述当前的快照监控线程的时间参数建立对应的目标程序快照,并保存所述目标程序快昭.所述运行状态跟踪模块包括:运行状态跟踪条件判断单元和运行状态监控单元,其中,所述运行状态跟踪条件判断单元,用于当开启运行状态跟踪模式时,判断目标程序中是否存在满足预设的运行状态跟踪条件的线程;所述运行状态监控单元,用于当所述运行状态跟踪条件判断单元判断结果为是时,监控所述目标程序中满足预设的运行状态跟踪条件的线程。
7.根据权利要求6所述的系统,其特征在于,所述快照监控线程的时间参数至少包括:快照监控滞留时间和快照监控时间间隔。
8.根据权利要求6所述的系统,其特征在于,所述预设的运行状态跟踪条件包括:配置的线程名字、配置的函数名字、配置的全局变量名字中的一个或多个; 所述运行状态监控单元包括: 线程监控子单元,用于当所述目标程序中存在与所述配置的线程名字相一致的线程时,监控所述目标程序中与所述配置的线程名字相一致的线程; 函数接口记录子单元,用于当所述目标程序中存在与所述配置的函数名字相一致的线程时,记录所述配置的函数名字对应的函数接口 ; 变化轨迹记录子单元,用于当所述目标程序中存在与所述配置的全局变量名字相一致的线程时,记录所述配置的全局变量名字对应的变量值的变化轨迹。
9.根据权利要求6所述的系统,其特征在于,所述快照监控模块还包括: 快照监控线程创建单元,用于创建并配置所述快照监控线程; 所述运行状态跟踪模块还包 括: 运行状态跟踪线程创建单元,用于创建并配置所述运行状态跟踪线程。
10.根据权利要求6所述的系统,其特征在于,所述运行状态跟踪模块还包括: 运行状态跟踪数据存储单元,用于根据所述监控结果得到运行状态跟踪数据,并保存所述运行状态跟踪数据。
全文摘要
本发明实施例公开了一种嵌入式软件测试监控方法,包括判断是否开启快照监控模式或运行状态跟踪模式;若开启快照监控模式,则判断当前的快照监控线程的时间参数是否满足预设的快照监控时间参数阈值;如果满足,根据所述当前的快照监控线程的时间参数建立对应的目标程序快照,并保存所述目标程序快照;若开启运行状态跟踪模式,则判断目标程序中是否存在满足预设的运行状态跟踪条件的线程;如果存在,监控所述目标程序中满足预设的运行状态跟踪条件的线程。本发明实施例还公开了一种嵌入式软件测试监控系统。采用本发明,可采用快照监控模式或运行状态跟踪模式监控嵌入式软件的测试,提高了软件开发效率,减少了研发成本。
文档编号G06F11/36GK103176901SQ20131006183
公开日2013年6月26日 申请日期2013年2月27日 优先权日2013年2月27日
发明者刘炳伟 申请人:深圳创维数字技术股份有限公司, 深圳市创维软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1