一种Monkey测试方法及装置的制造方法

文档序号:9750704阅读:233来源:国知局
一种Monkey测试方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别是涉及一种Monkey测试方法及装置。
【背景技术】
[0002]目前,基于Android、1S等操作平台开发的应用软件越来越多,用户在使用应用软件的过程中,当用户所点击的操作控件区域所关联的内部程序有bug时,应用软件会由于程序出错而出现闪退等问题。为了保证应用软件在使用过程中的稳定性,尽量避免由于应用软件内部程序的bug所造成的闪退等问题,对所开发的应用软件进行Monkey测试,修复应用软件内部程序中的bug。
[0003]Monkey是可以运行在模拟器里或实际设备中的程序,它向系统发送随机的伪输入事件流(如按键输入、触摸屏输入以及手势输入等),实现对正在开发的应用程序进行稳定性测试。现有技术中,Monkey测试程序随机生成一个应用软件界面上的点击坐标,自动触发所述点击坐标所产生的输入操作作为一个伪输入事件,若此时应用软件的程序出错闪退,则表明应用软件与所述点击坐标区域关联的内部程序有bug,则技术人员找出上述内部程序中的bug并进行修复。
[0004]采用上述方法进行Monkey测试时,只有点击坐标为应用软件界面上的操作控件区域内的坐标时,自动触发所述点击坐标才能产生伪输入事件。由于现有技术中点击坐标是Monkey测试程序随机生成的,当点击坐标不是应用软件界面上操作控件区域内的坐标时,无法触发伪输入事件,此次Monkey测试执行无效。一般情况下,应用软件界面上有大量的非操作控件区域,触发伪输入事件的几率低,降低Monkey测试执行效率。

【发明内容】

[0005]本发明解决的技术问题在于提供一种Monkey测试方法及装置,从预设创建的控件坐标数据库中选取被触发时能够产生伪输入事件的控件坐标,避免使用随机生成的点击坐标进行Monkey测试时,无法产生伪输入事件导致Monkey测试无效的问题。
[0006]为此,本发明解决技术问题的技术方案是:
[0007]—种Monkey测试方法,给待测试应用软件预先创建控件坐标数据库,所述控件坐标数据库存储有多个控件坐标及每个控件坐标所在的显示界面的标识,每个所述控件坐标被触发时都能够产生一个伪输入事件,所述方法包括:
[0008]从所述控件坐标数据库中选取当前显示界面的标识所对应的至少一个控件坐标;
[0009]依次触发所获取的控件坐标;
[0010]响应触发每个所述控件坐标所产生的伪输入事件,判断所述待测试应用软件是否出错闪退;
[0011]当所述待测试应用软件出错闪退时,捕获堆栈中所述待测试应用软件闪退前所响应的最后一个伪输入事件所调用的应用程序。
[0012]可选的,所述给待测试的应用软件预先创建控件坐标数据库包括:
[0013]获取待测试应用软件每个显示界面上的基本操作控件的坐标作为控件坐标;
[0014]存储每个控件坐标与此控件坐标所在的显示界面的标识之间的对应关系。
[0015]可选的,所述给待测试的应用软件预先创建控件坐标数据库还包括:
[0016]给所述待测试应用软件的每个显示界面生成第一预设数量的第一点击坐标,每个所述第一点击坐标与此第一点击坐标所在的显示界面中的基本操作控件的坐标不同;
[0017]依次触发每个第一点击坐标;
[0018]判断触发所述第一点击坐标后是否产生伪输入事件,使得被触发的第一点击坐标所在的显示界面跳转到新显示界面;
[0019]当触发所述第一点击坐标产生伪输入事件时,将所述第一点击坐标作为控件坐标,存储所述控件坐标以及此控件坐标所在的显示界面的标识之间的对应关系。
[0020]可选的,所述给待测试的应用软件预先创建控件坐标数据库包括:
[0021]按照预定的顺序以及预设的间隔分别给所述待测试的应用软件的每个显示界面生成多个第二点击坐标;
[0022]依次触发每个第二点击坐标;
[0023]判断触发所述第二点击坐标后是否产生伪输入事件,使得被触发的第二点击坐标所在的显示界面跳转到新显示界面;
[0024]当触发所述第二点击坐标产生伪输入事件时,将所述第二点击坐标作为控件坐标,存储所述控件坐标与此控件坐标所在的显示界面的标识之间的对应关系。
[0025]可选的,所述给待测试的应用软件预先创建控件坐标数据库还包括:
[0026]存储每个控件坐标被触发伪输入事件后所跳转到的新显示界面的标识与此控件坐标与之间的对应关系。
[0027]可选的,所述方法还包括:
[0028]生成第二预设数量的与控件坐标数据库中所存储的当前显示界面的标识所对应的控件坐标不同的第三点击坐标;
[0029]依次触发每个第三点击坐标;
[0030]判断触发所述第三点击坐标后是否产生伪输入事件,使得当前显示界面跳转到新显示界面;
[0031]当触发所述第三点击坐标产生伪输入事件时,响应触发所述第三点击坐标所产生的伪输入事件,判断所述待测试应用软件是否出错闪退;
[0032]当所述待测试应用软件出错闪退时,捕获堆栈中所述第三点击坐标所产生的伪输入事件所调用的应用程序。
[0033]可选的,所述方法还包括:
[0034]当触发所述第三点击坐标产生伪输入事件时,将所述第三点击坐标作为控件坐标,将所述控件坐标与所述当前显示界面的标识之间的对应关系存储至所述控件坐标数据库。
[0035]一种Monkey测试装置,所述装置包括:
[0036]创建模块,用于给待测试应用软件预先创建控件坐标数据库,所述控件坐标数据库存储有多个控件坐标及每个控件坐标所在的显示界面的标识,每个所述控件坐标被触发时都能够产生一个伪输入事件;
[0037]选取模块,用于从所述控件坐标数据库中选取当前显示界面的标识所对应的至少一个控件坐标;
[0038]第一触发模块,用于依次触发所获取的控件坐标;
[0039]第一判断模块,用于响应触发每个所述控件坐标所产生的伪输入事件,判断所述待测试应用软件是否出错闪退;
[0040]第一捕获模块,用于当所述待测试应用软件出错闪退时,捕获堆栈中所述待测试应用软件闪退前所响应的最后一个伪输入事件所调用的应用程序。
[0041 ] 可选的,所述创建模块包括:
[0042]获取单元,用于获取待测试应用软件每个显示界面上的基本操作控件的坐标作为控件坐标;
[0043]第一存储单元,用于存储每个控件坐标与此控件坐标所在的显示界面的标识之间的对应关系。
[0044]可选的,所述创建模块还包括:
[0045]第一生成单元,用于给所述待测试应用软件的每个显示界面生成第一预设数量的第一点击坐标,每个所述第一点击坐标与此第一点击坐标所在的显示界面中的基本操作控件的坐标不同;
[0046]第一触发单元,用于依次触发每个第一点击坐标;
[0047]第一判断单元,用于判断触发所述第一点击坐标后是否产生伪输入事件,使得被触发的第一点击坐标所在的显示界面跳转到新显示界面;
[0048]第二存储单元,用于当触发所述第一点击坐标产生伪输入事件时,将所述第一点击坐标作为控件坐标,存储所述控件坐标以及此控件坐标所在的显示界面的标识之间的对应关系。
[0049]可选的,所述创建模块包括:
[0050]第二生成单元,用于按照预定的顺序以及预设的间隔分别给所述待测试的应用软件的每个显示界面生成多个第二点击坐标;
[0051]第二触发单元,用于依次触发每个第二点击坐标;
[0052]第二判断单元,用于判断触发所述第二点击坐标后是否产生伪输入事件,使得被触发的第二点击坐标所在的显示界面跳转到新显示界面;
[0053]第三存储单元,用于当触发所述第二点击坐标产生伪输入事件时,将所述第二点击坐标作为控件坐标,存储所述控件坐标与此控件坐标所在的显示界面的标识之间的对应关系。
[0054]可选的,所述创建模块还包括:
[0055]第四存储单元,用于存储每个控件坐标被触发伪输入事件后所跳转到的新显示界面的标识与此控件坐标与之间的对应关系。
[0056]可选的,所述装置还包括:
[0057]生成模块,用于生成第二预设数量的与控件坐标数据库中所存储的当前显示界面的标识所对应的控件坐标不同的第三点击坐标;
[0058]第二触发模块,用于依次触发每个第三点击坐标;
[0059]第二判断模块,用于判断触发所述第三点击坐标后是否产生伪输入事件,使得当前显示界面跳转到新显示界面;
[0060]第三判断模块,用于当触发所述第三点击坐标产生伪输入事件时,响应触发所述第三点击坐标所产生的伪输入事件,判断所述待测试应用软件是否出错闪退;
[0061]第二捕获模块,用于当所述待测试应用软件出错闪退时,捕获堆栈中所述第三点击坐标所产生的伪输入事件所调用的应用程序。
[0062]可选的,所述装置包括:
[0063]存储模块,用于当触发所述第三点击坐标产生伪输入事件时,将所述第三点击坐标作为控件坐标,将所述控件坐标与所述当前显示界面的标识之间的对应关系存储至所述控件坐标数据库。
[0064]通过上述技术方案可知,本发明有如下有益效果:
[0065]本发明提供了一种Monkey测试方法及装置,给待测试应用软件预先创建控件坐标数据库,所述控件坐标数据库存储有多个控件坐标及每个控件坐标所在的显示界面的标识,每个所述控件坐标被触发时都能够产生一个伪输入事件,从所述控件坐标数据库中选取当前显示界面的标识所对应的至少一个控件坐标;依次触发所获取的控件坐标;响应触发每个所述控件坐标所产生的伪输入事件,判断所述待测试应用软件是否出错闪退;当所述待测试应用软件出错闪退时,捕获堆栈中所述待测试应用软件闪退前所响应的最后一个伪输入事件所调用的应用程序。从所述控件坐标数据库中选取控件坐标对待测试应用软件进行Monkey测试,由于每个控件坐标被触发时都能够产生伪输入事件,利用所述控件坐标数据库中的控件坐标进行Monkey测试执行有效,避免触发随机生成的点击坐标无法产生伪输入事件导致Monkey测试失效的问题,提高Monkey测试的执行效率。若待测试应用软件在响应伪输入事件出错闪退时,则所调用的应用程序有bug,捕获所调用的应用程序进行修复。
【附图说明】
[0066]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0067]图1为本发明一种Monkey测试方法实施例一流程图;
[0068]图2为本发明一种Monkey测试方法实施例二流程图;
[0069]图3为本发明一种Monkey测试方法实施例三流程图;
[0070]图4为待测应用软件的一个显示界面示意图;
[0071]图5为本发明一种Monkey测试装置实施例四结构示意图;
[0072]图6为本发明一种Monkey测试装置实施例五结构示意图;
[0073]图7为本发明一种Monkey测试装置实施例六结构示意图;
[0074]图8为本发明一种服务器结构示意图。
【具体实施方式】
[0
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1