一种Monkey测试方法及装置与流程

文档序号:12863712阅读:272来源:国知局
一种Monkey测试方法及装置与流程

本发明实施例涉及测试领域,尤其涉及一种monkey测试方法及装置。



背景技术:

monkey测试又称随机测试或稳定性测试,是将monkey测试程序在模拟器或真实设备中运行时,程序会产生一定数量或一定时间内的随机模拟用户的点击、按键和手势等用户操作事件以及一些系统级别的事件等,测试设备出现异常的次数或时间,进而获知待测设备的稳定性。

现有技术中,通常采用手动获取或手动选择待测设备中的测试包名进行后续测试,步骤繁琐。同时,待获取或待选择的测试包名的专业性较强,在进行测试时匹配和查找较为困难,尤其不便于对monkey测试不了解的测试人员进行测试操作,致使此类测试人员测试体验不佳。



技术实现要素:

本发明提供一种monkey测试方法和装置,以实现对monkey测试不了解的测试人员能够进行测试操作,提高测试体验度。

第一方面,本发明实施例提供了一种monkey测试方法,该方法包括:

自动获取智能终端中所有应用程序对应的包名,获得可测试包名称列表;

获取所述智能终端中的待测试应用程序对应的待测试模块名称列表;

设置对所述待测试应用程序进行测试时的测试参数,获得测试参数列表;

在所述可测试包名称列表中自动匹配所述待测试模块名称列表,获得待测试包名称列表;

根据所述测试参数列表中的所述测试参数对所述待测试包名称列表中的所有待测试包进行测试;

生成测试日志。

第二方面,本发明实施例还提供了一种monkey测试装置,该装置包括:

可测试包名称获取模块,用于自动获取智能终端中所有应用程序对应的包名,获得可测试包名称列表;

待测试模块名称获取模块,用于获取所述智能终端中的待测试应用程序对应的待测试模块名称列表;

测试参数设置模块,用于设置对所述待测试应用程序进行测试时的测试参数,获得测试参数列表;

待测试包名称获取模块,用于在所述可测试包名称列表中自动匹配所述待测试模块名称列表,获得待测试包名称列表;

测试模块,用于根据所述测试参数列表中的所述测试参数对所述待测试包名称列表中的所有待测试包进行测试;

测试日志生成模块,用于生成测试日志。

本发明通过在自动获取的可测试包名称列表中自动匹配获取的待测试模块名称列表,获得待测试包名称列表,根据该待测试包名称列表结合设置的测试参数列表对待测试包名称列表中的待测试包进行测试,并生成相应的测试日志的技术方案,解决了采用手动获取或手动选择待测设备中的测试包名步骤繁琐的问题。同时由于待获取或待选择的测试包名的专业性较强,在进行测试时匹配和查找较为困难,实现了对monkey测试不了解的测试人员也能进行测试操作,提高此类测试人员的测试体验的有益效果。

附图说明

图1是本发明实施例一提供的一种monkey测试方法的流程示意图。

图2是本发明实施例二提供的一种monkey测试方法的流程示意图。

图3是本发明实施例三提供的一种monkey测试方法的流程示意图。

图4a是本发明实施例三中的一种测试结果分析饼状图的示意图。

图4b是本发明实施例三中的一种测试结果分析柱状图的示意图。

图5是本发明实施例四提供的一种monkey测试方法的流程示意图。

图6是本发明实施例五提供的一种monkey测试装置的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种monkey测试方法的流程示意图,本实施例可用于对诸如手机、平板电脑等智能终端设备进行稳定性测试的情况,该方法可以由软件和/或硬件来执行,具体包括如下步骤:

步骤110、自动获取智能终端中所有应用程序对应的包名,获得可测试包名称列表;

其中,智能终端可以是移动终端设备,也可以是固定终端设备。可测试包名称列表至少包括智能终端中所有应用程序呈现给用户的惯用名称与智能终端中存储的应用程序包的专用名称形成的名称对照表。以智能手机为例,用户直观的获取的智能手机中的短信图标下显示的“短信”即为惯用名称;在智能手机中存储的短信应用程序对应的程序包“com.android.mms”即为专用名称。

步骤120、获取所述智能终端中的待测试应用程序对应的待测试模块名称列表;

其中,待测试模块名称列表中的待测试应用程序对应的名称均为惯用名称。另外,对获取待测试模块名称列表中每个惯用名称的具体呈现方式不做限定。也即,如果智能终端针对以汉语为母语的用户,则惯用名称为中文形式;如果智能终端针对以其他语言为母语的用户,则惯用名称为对应的语言形式。

步骤130、设置对所述待测试应用程序进行测试时的测试参数,获得测试参数列表;

其中,测试参数至少包括事件次数/测试时长、时间间隔以及测试策略。值得说明的是,事件次数是指执行一次monkey测试需要循环的测试次数,用户可以根据需求自行输入;测试时长是指对待测试的测试包在预设的时间段内执行monkey测试,当时间超过该预设时长,则测试终止;时间间隔是指两次monkey测试事件之间的间隔时间,用户可以根据需求自行设定,默认为500ms。

设置的事件次数/测试时长、时间间隔或者测试策略不同,则形成的测试参数列表也不同,最终形成的测试指令也就不同。

步骤140、在所述可测试包名称列表中自动匹配所述待测试模块名称列表,获得待测试包名称列表;

其中,待测试包名称列表中包含的每个待测试包的名称均为专用名称,以便形成最终的测试指令。

步骤150、根据所述测试参数列表中的所述测试参数对所述待测试包名称列表中的所有待测试包进行测试;

步骤160、生成测试日志。

该monkey测试方法的工作原理是:通过获取智能终端中的所有应用程序对应的包名的惯用名称和专用名称形成的可测试包名称列表,获取待测试的应用程序对应的惯用名称形成的待测试模块名称列表。将上述两列表中的内容进行自动匹配后获取由待测试模块列表中的待测试应用程序惯用名称对应的专用名称形成待测试包名称列表。并且,结合测试人员手动输入和/或手动选择的测试参数形成的测试参数列表,对待测试包名称列表中的所有待测试包进行monkey测试,最终生成测试日志。

本发明通过在自动获取的可测试包名称列表中自动匹配获取的待测试模块名称列表,获得待测试包名称列表,根据该待测试包名称列表结合设置的测试参数列表对待测试包名称列表中的待测试包进行测试,并生成相应的测试日志的技术方案,解决了采用手动获取或手动选择待测设备中的测试包名步骤繁琐的问题。同时由于待获取或待选择的测试包名的专业性较强,在进行测试时匹配和查找较为困难,实现了对monkey测试不了解的测试人员也能进行测试操作,提高此类测试人员的测试体验的有益效果。

实施例二

图2为本发明实施例二提供的一种monkey测试方法的流程示意图,本实施例在上述各实施例的技术方案的基础上,进一步增加了其他特征。

进一步地,在生成测试日志之后,还包括:

步骤170、自动分析所述测试日志,生成测试结果分析图和/或测试结果分析表。

具体地,对测试日志进行分析可以采用搜索关键字的方法,在测试日志中检索anr(applicationnoresponse,应用程序无响应)、crash(崩溃)和exception(异常)并将其定位到测试日志中的具体的关键段落,然后在段落中提取关键信息,生成测试结果分析图和/或测试结果分析表。

进一步地,在自动分析所述测试日志,生成测试结果分析图和/或测试结果分析表之后,还包括:

步骤180、将所述测试日志和/或测试结果分析图和/或测试结果分析表发送到指定邮箱。

具体地,将测试日志以及后续经自动分析生成的测试结果分析图和/或测试结果分析表自动发送至研发及测试的相关人员的电子邮箱中。其中,相关人员的邮箱地址可以在智能终端中进行设置。

本实施例的技术方案,通过自动分析测试日志,生成测试结果分析图和/或测试结果分析表能够直观呈现本次测试应用程序的问题点。通过将测试日志以及后续经自动分析后生成的测试结果分析图和/或测试结果分析表自动发送至研发及测试的相关人员的电子邮箱,方便研发人员及测试的相关人员及时获取测试信息,以便有针对性的进行后续的优化。

实施例三

图3为本发明实施例三提供的一种monkey测试方法的流程示意图。本实施例可以以上述各实施例的技术方案为基础,提供了一种优选实施例。具体包括以下步骤:

步骤110、自动获取智能终端中所有应用程序对应的包名,获得可测试包名称列表;

具体地,在测试前需要将包含测试程序脚本文件组成的批量处理文件和安装在智能终端中的安装包文件放入电脑端的同一文件夹内。将智能终端连接在电脑上,电脑端启动该批量处理文件,通过运行批量处理文件中的安卓测试桥接指令将安装包文件安装到智能终端内,并运行该安装包文件对应的应用程序。该应用程序将会呈现用于与用户进行交互的monkey测试工具主界面,同时后台运行获取智能终端中所有应用程序对应的包名,获得可测试包名称列表。该列表存储在智能终端中,方便后续测试操作。

其中,可测试包名称列表至少包括智能终端中所有应用程序呈现给用户的惯用名称与智能终端中存储的应用程序包的专用名称形成的名称对照表。其中,诸如“qq浏览器”、“电话服务”、“短信”等形式的名称均为惯用名称;与之对应的“com.tencent.mtt”、“com.android.phone”、“com.android.mms”等形式的名称均为专用名称。另外,值得注意的是,可测试包名称列表可以是txt文本格式,也可以是其他存储格式。

需要说明的是,如果自动获取成功,将继续执行后续步骤;否则将会以诸如弹窗等形式提醒用户重新操作。

步骤120、获取所述智能终端中的待测试应用程序对应的待测试模块名称列表;

其中,待测试模块名称列表中的待测试应用程序对应的名称均为惯用名称。另外,对获取待测试模块名称列表中每个惯用名称的具体方式不做限定。

具体地,用户可以通过智能终端中的monkey测试工具主界面输入的所有的待测试应用程序的惯用名称形成待测试模块名称列表。在此,对该待测试模块名称列表在智能终端中的存储格式和存储路径不做任何限定。

优选地,步骤120可以包括:

步骤121a、测试人员文本输入所述待测试应用程序对应的名称;

步骤122a、根据所述名称,获得所述待测试模块名称列表。

具体地,用户可以在monkey测试工具主界面的文本框中手动输入待测试应用程序的惯用名称,然后采用上述惯用名称形成待测试模块名称列表。

需要说明的是,用户可以一次或者多次在monkey测试工具主界面的文本框中输入待测试应用程序的惯用名称。在两次文本输入之间,该主界面可以出现选择窗口供用户选择是否继续输入。在此,对选择窗口的具体呈现形式不做任何限定。

步骤130、设置对所述待测试应用程序进行测试时的测试参数,获得测试参数列表;

具体地,用户可以在monkey测试工具主界面中手动输入或者手动选择相应的测试参数。

示例性地,当用户设置的事件次数为1200000000,选择“-v–v–v;”、“--pct-trackball<percent>;”以及“--ignore-crashes;”,最终形成的测试参数列表为:忽略崩溃事件(--ignore-crashes);轨迹球事件占比0%(--pct-trackball<percent>);详细输出日志信息(-v–v–v);测试间隔500ms(--throttle500);事件次数(1200000000)。

步骤140、在所述可测试包名称列表中自动匹配所述待测试模块名称列表,获得待测试包名称列表;

其中,待测试包名称列表中包含的每个待测试包的名称均为专用名称,以便形成最终的测试指令。

具体地,智能终端将可测试包名称列表、待测试模块名称列表和测试参数列表一并导入电脑端。电脑端在可测试包名称列表中根据待测试包名称列表中的每一个惯用名称自动匹配相应的专用名称,形成待测试包名称列表。

需要说明的是,如果用户在未输入任何待测试应用程序的惯用名称的情况下进行测试,则可以设置为对可测试包名称列表中的所有应用程序包进行测试,或者设置为不进行任何测试。

另外,如果待测试模块名称列表中存在诸如用户输入名称有误或者智能终端中并未安装该惯用名称对应的应用程序等原因造成自动匹配的过程中可能存在匹配不成功的情况。此时,电脑端可以提醒用户未匹配成功的惯用名称,然后继续执行后续测试步骤;还可以终止后续步骤的操作,提醒用户重新执行步骤120。

步骤150、根据所述测试参数列表中的所述测试参数对所述待测试包名称列表中的所有待测试包进行测试;

步骤160、生成测试日志。

步骤170、自动分析所述测试日志,生成测试结果分析图和/或测试结果分析表。

具体地,对测试日志进行分析可以采用搜索关键字的方法,在测试日志中检索anr(applicationnoresponse,应用程序无响应)、crash(崩溃)和exception(异常)将测试日志中的相关内容定位到具体的关键段落,然后在段落中提取关键信息,生成测试结果分析图和/或测试结果分析表。

具体地,测试结果分析图至少包括发生anr、crash、exception三种异常的异常次数。对该测试结果分析图的具体呈现形式不做任何限定,本实施例示例性的提供测试结果分析饼状图(参见图4a)和测试结果分析柱状图(参见图4b)。

具体地,测试结果分析表至少包括monkey测试总结表和/或monkey日志异常信息统计表。

其中,monkey测试总结表的内容至少包括anr次数、crash次数以及exception次数。示例性的给出一种具体的测试结果分析表的内容如下表所示:

其中,monkey日志异常信息统计表中的内容至少包括进行测试的测试包的包名、异常类型、异常内容以及异常原因等。示例性的给出一种具体的monkey日志异常信息统计表的内容如下表所示:

步骤180、将所述测试日志和/或测试结果分析图和/或测试结果分析表发送到指定邮箱。

本实施例的上述技术方案,用户通过monkey测试工具主界面中的文本框手动输入智能终端中待测试的应用程序包的惯用名称,降低了对测试人员的专业性要求,使对monkey测试不了解的测试人员也能进行测试操作,提高此类测试人员的测试体验。

实施例四

图5为本发明实施例四提供的一种monkey测试方法的流程示意图,本发明实施例与实施例三的区别在于,将上述实施例步骤120中的“获取所述智能终端中的待测试应用程序对应的待测试模块名称列表”优选为以下内容:

步骤121b、测试人员语音输入所述待测试应用程序对应的名称;

步骤122b、根据语音识别后的名称,获得所述待测试模块名称列表。

具体地,用户可以在monkey测试工具界面点击语音输入图标,此时将会调用智能终端中的语音输入模块,智能终端根据自身的语音输入模块语音识别用户输入的待检测应用程序的惯用名称,并根据上述惯用名称汇总成待测模块名称列表,用于后续测试过程。

本实施例的技术方案,用户通过在monkey测试工具主界面中点击语音输入图标来调用智能终端中的语音输入模块,智能终端获取并识别用户语音输入的待测试应用程序的惯用名称,方便了用户的测试操作,降低了对测试人员的专业性要求,使对monkey测试不了解的测试人员也能进行测试操作,提高此类测试人员的测试体验。

实施例五

图6为本发明实施例五提供的一种monkey测试装置的结构示意图,该装置包括:

可测试包名称获取模块210、待测试模块名称获取模块220、测试参数设置模块230、待测试包名称获取模块240、测试模块250以及测试日志生成模块260。

其中,可测试包名称获取模块210,用于自动获取智能终端中所有应用程序对应的包名,获得可测试包名称列表;

待测试模块名称获取模块220,用于获取所述智能终端中的待测试应用程序对应的待测试模块名称列表;

测试参数设置模块230,用于设置对所述待测试应用程序进行测试时的测试参数,获得测试参数列表;

待测试包名称获取模块240,用于在所述可测试包名称列表中自动匹配所述待测试模块名称列表,获得待测试包名称列表;

测试模块250,用于根据所述测试参数列表中的所述测试参数对所述待测试包名称列表中的所有待测试包进行测试;

测试日志生成模块260,用于生成测试日志。

本发明实施例提供的monkey测试装置,通过可测试包名称获取模块210自动获取智能终端中的可测试包名称列表;并通过待测试包名称获取模块240将待测试模块名称获取模块220获取的智能终端中的待测试应用程序的惯用名称,在可测试包名称列表中自动匹配该惯用名称对应的专用名称,获得待测试包名称列表;测试模块250结合测试参数设置模块230中的测试参数列表包含的测试参数,对待测试包名称列表中的相关测试包执行测试操作,并且测试日志生成模块260生成对应的测试日志。上述技术方案解决了采用手动获取或手动选择待测设备中的测试包名步骤繁琐的问题。同时解决了由于待获取或待选择的测试包名的专业性较强,在进行测试时匹配和查找较为困难,实现了对monkey测试不了解的测试人员也能进行测试操作,提高此类测试人员的测试体验的有益效果。

上述装置,优选地,还包括:

测试结果生成模块270,用于自动分析所述测试日志,生成测试结果分析图和/或测试结果分析表。

上述装置,优选地,还包括:

邮件发送模块280,用于将所述测试日志和/或测试结果分析图和/或测试结果分析表发送到指定邮箱。

示例性地,所述待测试模块名称获取模块230,包括:

文本输入单元,用于测试人员手动输入所述待测试应用程序对应的名称;

第一名称获取单元,用于根据所述名称,获得所述待测试模块名称列表。

示例性地,所述待测试模块名称获取模块230,包括:

语音输入单元,用于测试人员语音输入所述待测试应用程序对应的名称;

第二名称获取单元,根据语音识别后的名称,获得所述待测试模块名称列表。

上述monkey测试装置可执行本发明任意实施例所提供的monkey测试方法,具备执行方法相应的功能模块和有益效果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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