著录项信息
专利名称 | 一种异常信息获取方法、装置及智能终端设备 |
申请号 | CN201310376283.5 | 申请日期 | 2013-08-26 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2015-03-18 | 公开/公告号 | CN104424094A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F11/36 | IPC分类号 | G;0;6;F;1;1;/;3;6;;;G;0;6;F;1;1;/;3;4查看分类表>
|
申请人 | 腾讯科技(深圳)有限公司 | 申请人地址 | 广东省深圳市福田区振兴路赛格科技园2栋东403室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 腾讯科技(深圳)有限公司 | 当前权利人 | 腾讯科技(深圳)有限公司 |
发明人 | 皮凯 |
代理机构 | 广州三环专利商标代理有限公司 | 代理人 | 郝传鑫;熊永强 |
摘要
本发明实施例提供了一种异常信息获取方法、装置及智能终端设备,其中,所述方法包括:根据获取的测试需求信息组装生成测试命令行,并运行所述生成的测试命令行发出测试指令以执行所述需求信息所指示条件的测试;监听测试日志,并对所述测试日志的内容进行关键字识别;若识别出所述测试日志中出现测试异常关键字,提取测试日志中与该异常关键字关联的信息作为异常信息。采用本发明可较为快速、准确、及时地得到相关应用程序的异常情况,节约了现有技术中需要人工从包括多个应用程序的日志中确定出本次测试的应用程序的异常信息所耗费的时间,并且基本上避免了异常信息遗漏的问题,有利于应用程序的完善改进。
1.一种异常信息获取方法,其特征在于,包括:
获取用户在需求录入框中输入的测试需求信息,所述测试需求信息包括测试次数信息、测试对象信息、间隔信息、事件占比信息中的任一种或多种;
基于Monkey命令行工具,根据获取的测试需求信息组装生成测试命令行,并运行所述生成的测试命令行发出测试指令以执行所述需求信息所指示条件的测试;其中,根据组装生成的测试命令行向终端系统发出测试需求信息对应的随机用户事件流,以对测试对象信息所指示内容进行测试;
监听测试日志,并对所述测试日志的内容进行关键字识别;其中,所述测试日志包括Logcat日志、Monkey日志和ANR日志;
若在关键字识别过程中所述测试日志中出现用于表示出现异常的关键字,则确定该用于表示出现异常的关键字是否是由于执行所述需求信息所指示条件的测试产生的;若是,则确定所述测试日志中出现测试异常关键字;
若识别出所述测试日志中出现测试异常关键字,提取测试日志中与该异常关键字关联的信息作为异常信息;其中,对于Logcat日志,预先设置异常关键字,当所述Logcat日志中确定出现关于包括当前被测试的目标应用程序的进程名的且预先设置的异常关键字所在的字段时,则将所述关键字所在的字段作为所述目标应用程序的异常信息,提取该异常信息以C层异常信息存储至数据库中;对于Monkey日志,将CRASH字段作为异常关键字,当出现关于包括当前被测试的目标应用程序的进程名的CRASH字段时,则将所述CRASH字段作为所述目标应用程序的异常信息,提取该异常信息以java层异常信息存储至数据库中;对于ANR日志,将ANR字段作为异常关键字,当出现关于包括当前被测试的目标应用程序的进程名的ANR字段时,则将所述ANR字段作为所述目标应用程序的异常信息,提取该异常信息以ANR存储至数据库中;
在异常显示窗口中显示所述提取得到的异常信息。
2.如权利要求1所述的方法,其特征在于,所述若在关键字识别过程中所述测试日志中出现用于表示出现异常的关键字,则确定该用于表示出现异常的关键字是否是由于执行所述需求信息所指示条件的测试产生的,包括:
当所述测试日志包括Logcat日志时,判断所述Logcat日志中是否出现异常信息关键字;
若出现异常信息关键字,则进一步判断该用于表示出现异常的关键字是否是由于执行所述需求信息所指示条件的测试产生的;
若是,则确定所述测试日志中出现测试异常关键字。
3.如权利要求1所述的方法,其特征在于,所述若在关键字识别过程中所述测试日志中出现用于表示出现异常的关键字,则确定该用于表示出现异常的关键字是否是由于执行所述需求信息所指示条件的测试产生的,包括:
当所述测试日志包括Monkey日志时,判断所述Monkey日志中是否出现崩溃CRASH字段;
若出现崩溃CRASH字段,则进一步判断该崩溃CRASH字段是否是由于执行所述需求信息所指示条件的测试产生的;
若是,则确定所述测试日志中出现测试异常关键字。
4.如权利要求1所述的方法,其特征在于,所述若在关键字识别过程中所述测试日志中出现用于表示出现异常的关键字时,进一步确定该用于表示出现异常的关键字是否是由于执行所述需求信息所指示条件的测试产生的,包括:
当所述测试日志包括ANR日志时,判断所述ANR日志中是否出现表示响应异常的ANR字段;
若出现表示响应异常的ANR字段,则进一步判断该表示响应异常的ANR字段是否是由于执行所述需求信息所指示条件的测试产生的;
若是,则确定所述测试日志中出现测试异常关键字。
5.一种异常信息获取装置,其特征在于,包括:
获取模板,用于获取用户在需求录入框中输入的测试需求信息,所述测试需求信息包括测试次数信息、测试对象信息、间隔信息、事件占比信息中的任一种或多种;
测试运行模块,用于基于Monkey命令行工具,根据获取的测试需求信息组装生成测试命令行,并运行所述生成的测试命令行发出测试指令以执行所述需求信息所指示条件的测试;其中,根据组装生成的测试命令行向终端系统发出测试需求信息对应的随机用户事件流,以对测试对象信息所指示内容进行测试;
识别模块,用于监听测试日志,并对所述测试日志的内容进行关键字识别;其中,所述测试日志包括Logcat日志、Monkey日志和ANR日志;
确定模块,用于若在关键字识别过程中所述测试日志中出现用于表示出现异常的关键字,则确定该用于表示出现异常的关键字是否是由于执行所述需求信息所指示条件的测试产生的;若是,则确定所述测试日志中出现测试异常关键字;
提取模块,用于若识别出所述测试日志中出现测试异常关键字时,提取测试日志中与该异常关键字关联的信息作为异常信息;其中,对于Logcat日志,预先设置异常关键字,当所述Logcat日志中确定出现关于包括当前被测试的目标应用程序的进程名的且预先设置的异常关键字所在的字段时,则将所述关键字所在的字段作为所述目标应用程序的异常信息,提取该异常信息以C层异常信息存储至数据库中;对于Monkey日志,将CRASH字段作为异常关键字,当出现关于包括当前被测试的目标应用程序的进程名的CRASH字段时,则将所述CRASH字段作为所述目标应用程序的异常信息,提取该异常信息以java层异常信息存储至数据库中;对于ANR日志,将ANR字段作为异常关键字,当出现关于包括当前被测试的目标应用程序的进程名的ANR字段时,则将所述ANR字段作为所述目标应用程序的异常信息,提取该异常信息以ANR存储至数据库中;
显示模块,用于在异常显示窗口中显示所述提取模块提取得到的异常信息。
6.如权利要求5所述的装置,其特征在于,所述确定模块包括:
第一判断单元,用于当所述测试日志包括Logcat日志时,判断所述Logcat日志中是否出现异常信息关键字,并在出现异常信息关键字时,进一步判断该用于表示出现异常的关键字是否是由于执行所述需求信息所指示条件的测试产生的;
第一确定单元,用于在所述第一判断单元的判断结果为是时,则确定所述测试日志中出现测试异常关键字。
7.如权利要求5所述的装置,其特征在于,所述确定模块包括:
第二判断单元,用于当所述测试日志包括Monkey日志时,判断所述Monkey日志中是否出现崩溃CRASH字段;并在出现崩溃CRASH字段时,则进一步判断该崩溃CRASH字段是否是由于执行所述需求信息所指示条件的测试产生的;
第二确定单元,用于在所述第二判断单元的判断结果为是时,则确定所述测试日志中出现测试异常关键字。
8.如权利要求5所述的装置,其特征在于,所述确定模块包括:
第三判断单元,用于当所述测试日志包括ANR日志时,判断所述ANR日志中是否出现表示响应异常的ANR字段;并当出现表示响应异常的ANR字段时,则进一步判断该表示响应异常的ANR字段是否是由于执行所述需求信息所指示条件的测试产生的;
第三确定单元,用于在所述第三判断单元的判断结果为是时,则确定所述测试日志中出现测试异常关键字。
9.一种智能终端设备,其特征在于,包括如权利要求5-8任一项所述的异常信息获取装置。
一种异常信息获取方法、装置及智能终端设备\n技术领域\n[0001] 本发明涉及计算机应用测试技术领域,尤其涉及一种异常信息获取方法、装置及智能终端设备。\n背景技术\n[0002] 在各类智能计算机应用制作完成后,一般需要对这些应用程序进行测试,不仅包括普通的功能性测试,还需要进行压力测试。在压力测试中,一般通过模拟用户的触摸屏幕、滑动、按键、点击等操作来对设备上的应用程序进行测试,以检测该应用程序在什么情况下,多久的时间会发生异常。\n[0003] 现有技术中,在压力测试过程中若应用程序发生故障、错误时,测试用户一般通过查看系统日志的形式,来确定对应应用程序出现故障的日志记录,得到相关的异常信息来进行分析,以对该应用程序作出改进。由于系统日志中包括有大量的信息,包括正常的日志信息,因此,用户在查找时会耗费大量的查找时间,并且查找还容易遗漏,不利于应用程序的改进。\n发明内容\n[0004] 本发明实施例提供了一种异常信息获取方法、装置及智能终端设备,可自动地对测试日志的内容进行识别,基于测试异常关键字来提取异常信息。\n[0005] 为了解决上述问题,本发明实施例提供了一种异常信息获取方法,包括:\n[0006] 根据获取的测试需求信息组装生成测试命令行,并运行所述生成的测试命令行发出测试指令以执行所述需求信息所指示条件的测试;\n[0007] 监听测试日志,并对所述测试日志的内容进行关键字识别;\n[0008] 若识别出所述测试日志中出现测试异常关键字,提取测试日志中与该异常关键字关联的信息作为异常信息。\n[0009] 相应地,本发明实施例还提供了一种异常信息获取装置,包括:\n[0010] 测试运行模块,用于根据获取的测试需求信息组装生成测试命令行,并运行所述生成的测试命令行发出测试指令以执行所述需求信息所指示条件的测试;\n[0011] 识别模块,用于监听测试日志,并对所述测试日志的内容进行关键字识别;\n[0012] 提取模块,用于若识别出所述测试日志中出现测试异常关键字时,提取测试日志中与该异常关键字关联的信息作为异常信息。\n[0013] 相应地,本发明实施例还提供了一种智能终端设备,包括上述的异常信息获取装置。\n[0014] 本发明实施例通过测试需求信息组装生成测试命令行对用于程序发起测试,并基于关键字识别来提取测试日志中的异常信息,较为快速、准确、及时地得到相关应用程序的异常情况,节约了现有技术中需要人工从包括多个应用程序的日志中确定出本次测试的应用程序的异常信息所耗费的时间,并且基本上避免了异常信息遗漏的问题,有利于应用程序的完善改进。\n附图说明\n[0015] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。\n[0016] 图1是本发明实施例的一种异常信息获取方法的流程示意图;\n[0017] 图2是本发明实施例的另一种异常信息获取方法的流程示意图;\n[0018] 图3是本发明实施例的一种异常信息获取装置的结构示意;\n[0019] 图4是本发明实施例的另一种异常信息获取装置的结构示意图;\n[0020] 图5是图4中的确定模块的其中一种结构示意图;\n[0021] 图6是图4中的确定模块的其中另一种结构示意图;\n[0022] 图7是图4中的确定模块的其中再一种结构示意图。\n具体实施方式\n[0023] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。\n[0024] 请参见图1,是本发明实施例的一种异常信息获取方法的流程示意图,本发明实施例的所述方法可应用在诸如智能手机、平板电脑、智能可穿戴设备等智能终端设备中,,也可以应用在一些用于对智能终端设备的应用程序进行测试的服务器中,用于实现对制作的应用程序进行测试以及自动地提取测试过程中的异常信息,具体的,所述方法包括:\n[0025] S101:根据获取的测试需求信息组装生成测试命令行,并运行所述生成的测试命令行发出测试指令以执行所述需求信息所指示条件的测试。\n[0026] 可基于现有常见的命令行工具,来对用户录入的测试需求信息进行组装处理。可以通过一个人机交互界面来提示用户输入对应的测试需求信息。例如,如果采用的是基于Monkey命令行工具的测试方式,则可以提供包括测试次数、测试对象、事件之间的间隔时长、事件的占比等信息录入框,由用户直接录入相应的信息即可。Monkey命令行工具是一种可以发送随机的用户事件流实现对正在开发的应用程序进行压力测试的工具。\n[0027] 在组装得到相应的测试命令行后,可通过调用对应的命令行工具的方式发出测试指令,执行所述需求信息所指示条件的测试。即进行基于用户的需求信息对应的用户事件流使被测试的应用程序执行操作以及响应。\n[0028] S102:监听测试日志,并对所述测试日志的内容进行关键字识别。\n[0029] 在应用程序的测试过程中,其测试的相关日志信息可以记录在Logcat日志(是一种在安卓Android平台上应用的日志信息)、Monkey日志、或ANR(Application Not Responding,应用无响应)日志等形式的日志中。在本发明实施例中,通过实时地或者短时间间隔地对这些日志的中记录信息的关键字进行识别,这些关键字为预先设置的用于表示目标应用程序在测试过程出现异常时关于日志中记录的异常信息的关键字,以便于从各类日志中提取出本次测试的目标应用程序的异常信息,\n[0030] S103:若识别出所述测试日志中出现测试异常关键字,提取测试日志中与该异常关键字关联的信息作为异常信息。\n[0031] 所述S103中可以将异常关键字所在的信息作为异常信息复制提取出来,进行保存。对于Logcat日志,可预先设置一些异常关键字,当该Logcat日志中出现关于包括当前被测试的目标应用程序的进程名的日志中包括预先设置的异常关键字时,则将该关键字所在的信息作为所述目标应用程序的异常信息,提取这些异常信息并以C层异常信息存储到数据库中;对于Monkey日志,将“CRASH”字段作为关键字,当出现关于包括当前被测试的目标应用程序的进程名的“CRASH”字段时,将该“CRASH”字段作为所述目标应用程序的异常信息,将该“CRASH”字段已java层异常信息存储到数据库中;对于ANR日志,将ANR字段作为异常关键字,当出现包括关于当前被测试的目标应用程序的进程名的ANR字段时,则将该ANR字段作为所述目标应用程序的异常信息,将终端中相关的anr文件导出作为异常信息以ANR存储到数据库中。\n[0032] 另外,在提取到异常信息或者测试完成后,可以将获取到的信息通过一个显示界面显示给用户。\n[0033] 本发明实施例通过测试需求信息组装生成测试命令行对用于程序发起测试,并基于关键字识别来提取测试日志中的异常信息,较为快速、准确、及时地得到相关应用程序的异常情况,节约了现有技术中需要人工从包括多个应用程序的日志中确定出本次测试的应用程序的异常信息所耗费的时间,并且基本上避免了异常信息遗漏的问题,有利于应用程序的完善改进。\n[0034] 再请参见图2,是本发明实施例的另一种异常信息获取方法的流程示意图,本发明实施例的所述方法可应用在诸如智能手机、平板电脑、智能可穿戴设备等智能终端设备中,用于实现对制作的应用程序进行测试以及自动地提取测试过程中的异常信息,具体的,所述方法包括:\n[0035] S201:获取用户在需求录入框中输入的测试需求信息;\n[0036] 在本发明实施例中,可以设置一个人机界面用户获取用户输入的测试信息,在该人机界面中还可以包括一个提示界面,以便于后续在该界面中显示被测试的目标应用程序的异常信息,当然该提示界面也可以是一个单独的界面。\n[0037] 在本发明实施例中,以进行基于Monkey命令行工具的压力测试为例进行说明,所述S201中获取的测试需求信息包括测试次数信息、测试对象信息、间隔信息、事件占比信息中的任一种或多种。\n[0038] S202:根据获取的测试需求信息组装生成测试命令行,并运行所述生成的测试命令行发出测试指令以执行所述需求信息所指示条件的测试。\n[0039] 即根据组装生产的测试命令行向终端系统发出测试需求信息对应的随机用户事件流,包括触摸事件、点击事件、滑动事件等用户时间,以对测试对象信息所指示内容进行测试。\n[0040] S203:监听测试日志,并对所述测试日志的内容进行关键字识别;\n[0041] 关键字为预先设置的用于标记各类日志中异常信息的关键字。该关键字可以为默认的,也可以是用户通过诸如上述的人机界面中设置。\n[0042] S204:若在关键字识别过程中所述测试日志中出现用于表示出现异常的关键字,则确定该用于表示出现异常的关键字是否是由于执行所述需求信息所指示条件的测试产生的;\n[0043] S205:若是,则确定所述测试日志中出现测试异常关键字。\n[0044] 具体的,在所述S205中,对于Logcat日志设置一个异常关键字,当所述测试日志包括Logcat日志时,判断所述Logcat日志中是否出现异常信息关键字;若出现异常信息关键字,则进一步判断该用于表示出现异常的关键字是否是由于执行所述需求信息所指示条件的测试产生的;若是,则确定所述测试日志中出现测试异常关键字。\n[0045] 对于Monkey日志,将崩溃CRASH字段作为异常关键字,当所述测试日志包括Monkey日志时,判断所述Monkey日志中是否出现崩溃CRASH字段;若出现崩溃CRASH字段,则进一步判断该崩溃CRASH字段是否是由于执行所述需求信息所指示条件的测试产生的;若是,则确定所述测试日志中出现测试异常关键字。\n[0046] 对于ANR日志,将表示响应异常的ANR字段作为异常关键字,当所述测试日志包括ANR日志时,判断所述ANR日志中是否出现表示响应异常的ANR字段;若出现表示响应异常的ANR字段,则进一步判断该表示响应异常的ANR字段是否是由于执行所述需求信息所指示条件的测试产生的;若是,则确定所述测试日志中出现测试异常关键字。\n[0047] 其中,在判断相应的异常信息(关键字所在的字段、崩溃CRASH字段、表示响应异常的ANR字段)是否是由于执行所述需求信息所指示条件的测试产生的,是通过判断这些异常信息中是否包括当前被测试的目标应用程序的进程名,若包括,则确定该异常信息是由于执行所述需求信息所指示条件的测试产生的,否则,则可能是终端系统中其他的应用程序的异常信息,并不需要提取。\n[0048] 在测试过程中,本发明实施例的所述S205可以同时采用其中的一种或者多个组合的确定方式来确定是否出现测试异常关键字。\n[0049] S206:若识别出所述测试日志中出现测试异常关键字,提取测试日志中与该异常关键字关联的信息作为异常信息。\n[0050] 可以通过复制转存等形式来完成这些异常信息的存储。\n[0051] S207:在异常显示窗口中显示所述提取得到的异常信息。即将所述S206中的提取测试日志中与该异常关键字关联的信息作为异常信息显示给用户。\n[0052] 本发明实施例通过测试需求信息组装生成测试命令行对用于程序发起测试,并基于关键字识别来提取测试日志中的异常信息,较为快速、准确、及时地得到相关应用程序的异常情况,节约了现有技术中需要人工从包括多个应用程序的日志中确定出本次测试的应用程序的异常信息所耗费的时间,并且基本上避免了异常信息遗漏的问题,有利于应用程序的完善改进。并且通过人机界面可方便用户快速地完成测试需求信息的设置,用户不需要知道具体的命令行格式,使得操作简单易上手。\n[0053] 下面对本发明实施例的异常信息获取装置进行详细描述。\n[0054] 请参见图3,是本发明实施例的一种异常信息获取装置的结构示意图,本发明实施例的所述装置可设置在诸如智能手机、平板电脑、智能可穿戴设备等智能终端设备中,也可以设置在一些用于对智能终端设备的应用程序进行测试的服务器中,具体的,所述装置包括:\n[0055] 测试运行模块1,用于根据获取的测试需求信息组装生成测试命令行,并运行所述生成的测试命令行发出测试指令以执行所述需求信息所指示条件的测试;\n[0056] 识别模块2,用于监听测试日志,并对所述测试日志的内容进行关键字识别;\n[0057] 提取模块3,用于若识别出所述测试日志中出现测试异常关键字时,提取测试日志中与该异常关键字关联的信息作为异常信息。\n[0058] 所述测试运行模块1可以基于现有常见的命令行工具,来对用户录入的测试需求信息进行组装处理。具体可以通过一个人机交互界面来提示用户输入对应的测试需求信息。例如,如果采用的是基于Monkey命令行工具的测试方式,则可以提供包括测试次数、测试对象、事件之间的间隔时长、事件的占比等信息录入框,由用户直接录入相应的信息即可。Monkey命令行工具是一种可以发送随机的用户事件流实现对正在开发的应用程序进行压力测试的工具。\n[0059] 在组装得到相应的测试命令行后,所述测试运行模块1可通过调用对应的命令行工具的方式发出测试指令,执行所述需求信息所指示条件的测试。即进行基于用户的需求信息对应的用户事件流使被测试的应用程序执行操作以及响应。\n[0060] 在应用程序的测试过程中,其测试的相关日志信息可以记录在Logcat日志、Monkey日志、或ANR日志等形式的日志中。在本发明实施例中,所述识别模块2通过实时地或者短时间间隔地对这些日志的中记录信息的关键字进行识别,这些关键字为预先设置的用于表示目标应用程序在测试过程出现异常时关于日志中记录的异常信息的关键字,以便于从各类日志中提取出本次测试的目标应用程序的异常信息,\n[0061] 所述提取模块3可以将异常关键字所在的信息作为异常信息复制提取出来,进行保存。对于Logcat日志,可预先设置一些异常关键字,当所述识别模块2识别出该Logcat日志中出现关于包括当前被测试的目标应用程序的进程名的日志中包括预先设置的异常关键字时,所述提取模块3将该关键字所在的信息作为所述目标应用程序的异常信息,提取这些异常信息并以C层异常信息存储到数据库中;对于Monkey日志,将“CRASH”字段作为关键字,当所述识别模块2识别出现关于包括当前被测试的目标应用程序的进程名的“CRASH”字段时,所述提取模块3将该“CRASH”字段作为所述目标应用程序的异常信息,将该“CRASH”字段已java层异常信息存储到数据库中;对于ANR日志,将ANR字段作为异常关键字,当所述识别模块2识别出现包括关于当前被测试的目标应用程序的进程名的ANR字段时,所述提取模块3将该ANR字段作为所述目标应用程序的异常信息,将终端中相关的anr文件导出作为异常信息以ANR存储到数据库中。\n[0062] 另外,在提取到异常信息或者测试完成后,可以将获取到的信息通过一个显示界面显示给用户。\n[0063] 本发明实施例通过测试需求信息组装生成测试命令行对用于程序发起测试,并基于关键字识别来提取测试日志中的异常信息,较为快速、准确、及时地得到相关应用程序的异常情况,节约了现有技术中需要人工从包括多个应用程序的日志中确定出本次测试的应用程序的异常信息所耗费的时间,并且基本上避免了异常信息遗漏的问题,有利于应用程序的完善改进。\n[0064] 再请参见图4,是本发明实施例的另一种异常信息获取装置的结构示意图,本发明实施例的所述装置可设置在诸如智能手机、平板电脑、智能可穿戴设备等智能终端设备中,也可以设置在一些用于对智能终端设备的应用程序进行测试的服务器中,其包括上一实施例中的测试运行模块1、识别模块2以及提取模块3,进一步地,在本发明实施例中,所述装置还包括:\n[0065] 确定模块4,用于若在关键字识别过程中所述测试日志中出现用于表示出现异常的关键字,则确定该用于表示出现异常的关键字是否是由于执行所述需求信息所指示条件的测试产生的;若是,则确定所述测试日志中出现测试异常关键字。\n[0066] 具体的,如图5所示,对于Logcat日志,所述确定模块4可以包括以下单元进行相关处理:\n[0067] 第一判断单元41,用于当所述测试日志包括Logcat日志时,判断所述Logcat日志中是否出现异常信息关键字,并在出现异常信息关键字时,进一步判断该用于表示出现异常的关键字是否是由于执行所述需求信息所指示条件的测试产生的;\n[0068] 第一确定单元42,用于在所述第一判断单元41的判断结果为是时,则确定所述测试日志中出现测试异常关键字。\n[0069] 如图6所述,对于Monkey日志,所述确定模块4可以包括以下单元进行相关处理:\n[0070] 第二判断单元43,用于当所述测试日志包括Monkey日志时,判断所述Monkey日志中是否出现崩溃CRASH字段;并在出现崩溃CRASH字段时,则进一步判断该崩溃CRASH字段是否是由于执行所述需求信息所指示条件的测试产生的;\n[0071] 第二确定单元44,用于在所述第二判断单元43的判断结果为是时,则确定所述测试日志中出现测试异常关键字。\n[0072] 如图7所示,对于ANR日志,所述确定模块4可以包括以下单元进行相关处理:\n[0073] 第三判断单元45,用于当所述测试日志包括ANR日志时,判断所述ANR日志中是否出现表示响应异常的ANR字段;并当出现表示响应异常的ANR字段时,则进一步判断该表示响应异常的ANR字段是否是由于执行所述需求信息所指示条件的测试产生的;\n[0074] 第三确定单元46,用于在所述第三判断单元45的判断结果为是时,则确定所述测试日志中出现测试异常关键字。\n[0075] 其中,所述第一判断模块41、第二判断模块43以及第三判断模块45在判断相应的异常信息是否是由于执行所述需求信息所指示条件的测试产生的时,具体是通过判断这些异常信息中是否包括当前被测试的目标应用程序的进程名,若包括,则确定该异常信息是由于执行所述需求信息所指示条件的测试产生的,否则,则可能是终端系统中其他的应用程序的异常信息,并不需要提取。\n[0076] 所述确定模块4可以包括图5至图7的具体结构中的任一个或者多个的组合,用于实现对不同日志的异常信息的获取。\n[0077] 进一步地,本发明实施例的所述装置还可以包括:\n[0078] 获取模块5,用于获取用户在需求录入框中输入的测试需求信息,所述测试需求信息包括测试次数信息、测试对象信息、间隔信息、事件占比信息中的任一种或多种。\n[0079] 显示模块6,用于在异常显示窗口中显示所述提取模块3提取得到的异常信息。\n[0080] 在本发明实施例中,所述获取模块5可以通过设置的一个人机界面用户获取用户输入的测试信息。在该人机界面中还可以包括一个提示界面,以便于所述显示模块6后续在该界面中显示被测试的目标应用程序的异常信息,当然该提示界面也可以是一个单独的界面。\n[0081] 本发明实施例通过测试需求信息组装生成测试命令行对用于程序发起测试,并基于关键字识别来提取测试日志中的异常信息,较为快速、准确、及时地得到相关应用程序的异常情况,节约了现有技术中需要人工从包括多个应用程序的日志中确定出本次测试的应用程序的异常信息所耗费的时间,并且基本上避免了异常信息遗漏的问题,有利于应用程序的完善改进。并且通过人机界面可方便用户快速地完成测试需求信息的设置,用户不需要知道具体的命令行格式,使得操作简单易上手。\n[0082] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可基于用户录入的需求信息对程序进行测试,并根据用于表示出现异常的关键字,来完成异常信息识别获取。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。\n[0083] 以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
法律信息
- 2019-04-23
- 2016-09-14
实质审查的生效
IPC(主分类): G06F 11/36
专利申请号: 201310376283.5
申请日: 2013.08.26
- 2015-03-18
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2011-05-25
|
2010-12-31
| | |
2
| |
2010-06-30
|
2008-12-24
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |