应用软件审计测试方法及装置、应用软件审计测试系统与流程

文档序号:14249351阅读:301来源:国知局
应用软件审计测试方法及装置、应用软件审计测试系统与流程

本发明实施例涉及软件测试技术领域,并且更具体地,涉及一种应用软件审计测试方法、应用软件审计测试装置,以及包括该应用软件审计测试装置的应用软件审计测试系统。



背景技术:

应用软件审计测试就是在终端对应用软件进行下载和安装,之后操作安装好的应用软件,相关的审计设备就对该应用软件进行审计,得到审计测试的结果。

目前应用软件审计测试需要人工地去安装以及操作应用软件,并且在审计设备审计结束后还需要人工的去查看审计记录,进而确定审计测试的结果。市面上流行的应用软件多达上千种,需要定期进行覆盖审计测试,并且,应用软件更新速度很快,每次更新都需要对应用软件重新进行审计测试,来判断更新后的应用软件能否审计到。利用现有的应用软件审计测试手段,单纯依靠人工来完成这些应用软件的审计测试将是一件重复性非常大、数量非常多的庞大工程,不仅费时费力,效率低下,并且会浪费大量的人力资源和成本。

综上,如何自动完成应用软件审计测试,避免人工操作是目前亟待解决的问题。



技术实现要素:

本发明实施例提供一种应用软件审计测试方法、应用软件审计测试装置,以及包括该应用软件审计测试装置的应用软件审计测试系统,其能够自动安装、操作应用软件以及自动确定审计测试结果,实现了完全自动进行应用软件的审计测试,提高了应用软件审计测试的效率,并且避免人工操作,节省了大量的人力资源和成本。

第一方面,提供了一种应用软件审计测试方法,所述方法包括如下步骤:

根据第一预定信息连接模拟器,其中,所述模拟器对应于使用待测试应用软件的终端;

根据第二预定信息安装待测试应用软件;

获取所述待测试应用软件在所述模拟器上的第一位置信息,并根据所述第一位置信息打开所述待测试应用软件;

获取与所述待测试应用软件需要测试的操作对应的第二位置信息,并根据所述第二位置信息执行对应的操作;

将第一审计信息发送给审计测试服务器,以使所述审计测试服务器根据所述第一审计信息和第二审计信息确定所述待测试应用软件的审计测试结果;其中,所述第一审计信息为测试所述待测试应用软件对应的审计信息,所述第二审计信息为审计设备检测到的所述待测试应用软件对应的审计信息。

结合第一方面,在第一种可能的实现方式中,所述方法在打开所述待测试应用软件之后,并且在获取与所述待测试软件需要测试的操作对应的第二位置信息之前,还包括如下步骤:

获取验证信息的输入位置;其中,所述验证信息为所述待测试应用软件登陆需要验证的信息;

根据所述输入位置输入所述验证信息;

根据输入的所述验证信息执行所述待测试应用软件的登陆操作。

结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法在根据所述第二位置信息执行对应的操作之后,并且在将第一审计信息发送给审计测试服务器之前,还包括如下步骤:

获取执行所述待测试软件需要测试的操作后,所述终端呈现的页面的截图;其中所述第一审计信息包括所述截图。

结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述方法包括如下步骤:

根据第三预定信息卸载所述待测试应用软件。

结合第一方面的第二种可能的实现方式,在第四种可能的实现方式中,所述方法在根据第二预定信息安装待测试应用软件之后,并且在获取所述待测试应用软件在所述模拟器上的第一位置信息之前,还包括如下步骤:

等待预定时间段对应的时间。

结合第一方面,在第五种可能的实现方式中,所述第二位置信息包括若干个位置的位置坐标。

结合第一方面,在第六种可能的实现方式中,所述方法在根据第二预定信息安装待测试应用软件之后,并且在获取所述待测试应用软件在所述模拟器上的第一位置信息之前,还包括如下步骤:

返回所述终端的主页面;所述第一位置信息为所述待测试软件在所述主页面上的位置信息。

第二方面,提供了一种应用软件审计测试装置,所述装置包括:

连接模块,用于根据第一预定信息连接模拟器,其中,所述模拟器对应于使用待测试应用软件的终端;

安装模块,用于根据第二预定信息安装待测试应用软件;

软件打开模块,用于获取所述待测试应用软件在所述模拟器上的第一位置信息,并根据所述第一位置信息打开所述待测试应用软件;

操作执行模块,用于获取与所述待测试应用软件需要测试的操作对应的第二位置信息,并根据所述第二位置信息执行对应的操作;

信息发送模块,用于将第一审计信息发送给审计测试服务器,以使所述审计测试服务器根据所述第一审计信息和第二审计信息确定所述待测试应用软件的审计测试结果;其中,所述第一审计信息为测试所述待测试应用软件对应的审计信息,所述第二审计信息为审计设备检测到的所述待测试应用软件对应的审计信息。

结合第二方面,在第一种可能的实现方式中,所述装置还包括:

登陆位置获取模块,用于获取验证信息的输入位置;其中,所述验证信息为所述待测试应用软件登陆需要验证的信息;

验证信息输入模块,用于根据所述输入位置址输入所述验证信息;

登陆模块,用于根据输入的所述验证信息执行所述待测试应用软件的登陆操作。

结合第二方面,在第二种可能的实现方式中,所述装置还包括:

图片获取模块,用于获取执行所述待测试软件需要测试的操作后,所述终端呈现的页面的截图;其中所述第一审计信息包括所述截图。

第三方面,提供了一种应用软件审计测试系统,所述系统包括:

上述应用软件审计测试装置;

审计设备,用于检测得到所述待测试应用软件的第二审计信;

审计测试服务器,用于根据所述第一审计信息和第二审计信息确定所述待测试应用软件的审计测试结果。

在本发明实施例的上述技术方案中,首先根据第一预定信息连接模拟器,根据第二预定信息安装待测试应用软件;之后获取待测试应用软件在模拟器上的第一位置信息,并根据第一位置信息打开待测试应用软件;获取与待测试应用软件需要测试的操作对应的第二位置信息,并根据第二位置信息执行对应的操作;最后将第一审计信息发送给审计测试服务器,审计测试服务器根据第一审计信息和第二审计信息确定待测试应用软件的审计测试结果;其中,第一审计信息为测试待测试应用软件对应的审计信息,第二审计信息为审计设备检测到的待测试应用软件对应的审计信息。上述技术方案实现了自动安装、操作应用软件以及自动确定审计测试结果,实现了完全自动进行应用软件的审计测试,提高了应用软件审计测试的效率,并且避免人工操作以及人工确定审计测试结果,减少了应用软件审计测试消耗的时间,节省了大量的人力资源和成本。

附图说明

为了更清楚的说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示意性的示出了根据本发明一实施例的应用软件审计测试方法的流程图。

图2示意性的示出了根据本发明再一实施例的应用软件审计测试方法的流程图。

图3示意性的示出了根据本发明又一实施例的应用软件审计测试方法的流程图。

图4示意性的示出了根据本发明又一实施例的应用软件审计测试方法的流程框图。

图5a、5b、5c、5d示意性的示出了根据本发明又一实施例的应用软件审计测试方法的操作界面示意图。

图6示意性的示出了根据本发明一实施例的应用软件审计测试装置的框图。

图7示意性的示出了根据本发明再一实施例的应用软件审计测试装置的框图。

图8示意性的示出了根据本发明一实施例的应用软件审计测试系统的框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种应用软件审计测试方法,如图1所示,该方法包括如下步骤:

110、根据第一预定信息连接模拟器,其中,模拟器对应于使用待测试应用软件的终端;

此步骤中,第一预定信息可以是预定的路径,即模拟器在电脑等设备上存储的路径,根据该预定的路径即可连接到模拟器。第一预定信息不限于是预定的路径,还可以是名称等其他信息,本发明实施例对此并不进行限定。

模拟器可以是手机、电脑或ipad等终端。进一步地,模拟器可以是适用安卓系统的手机,例如华为手机等。应用软件对应的可以是手机上使用的应用软件、ipad上使用的应用软件或电脑上使用的应用软件,本发明对模拟器的类型并不进行限定。

另外,根据相关的设置该模拟器可以模拟不同的终端,例如可以选择该模拟器是模拟华为手机还是小米手机。从而避免了利用不同的模拟器或终端重复的去下载、安装以及操作应用软件等步骤来完成应用软件的审计测试,节省是时间了和人力,有效提高了应用软件的审计测试效率。

另外,连接模拟器之后,并且在安装待测试应用软件之前还可以包括检测模拟器是否连接成功的步骤,如果连接成功,则执行后续安装待测试应用软件的步骤,否则后续安装待测试应用软件的步骤不能执行,需要对模拟器进行进一步的处理,例如重新连接模拟器或更换模拟器。

120、根据第二预定信息安装待测试应用软件;

此步骤在成功连接到模拟器之后执行。在执行此步骤之前还可以包括自动下载待测试应用软件的步骤,具体的可以根据预定的路径或网址自动下载待测试应用软件。

这里的第二预定信息可以是预定的路径,即待测试应用软件在电脑等设备上存储的路径,根据该预定的路径即可安装待测试应用软件。第二预定信息不限于是预定的路径,还可以是名称等其他信息,本发明实施例对此并不进行限定。

在安装待测试应用软件的操作执行之后还可以包括等待预定时间段的步骤,之后再执行后续的步骤。预定时间段可以根据实际应用场景的需求灵活的设定,例如可以是5秒。等待预定时间段是为了保证前面的步骤彻底执行完毕,避免在前面的步骤没有执行完的情况下,后面的步骤就开始执行了,也避免了跳过前面的部分步骤,执行后面的步骤,从而提高了方法中步骤执行的安全性。本发明实施例可以在每一个步骤执行完毕后都等待一个预定时间段。

130、获取待测试应用软件在模拟器上的第一位置信息,并根据第一位置信息打开待测试应用软件;

此步骤中,第一位置信息可以是待测试应用软件在页面上的位置坐标,当然可以是以其他形式表示的位置信息,本发明实施例对此并不进行限定。

在获取第一位置信息之前,可以包括返回模拟器主页面的步骤,第一位置信息为待测试软件在模拟器主页面上的位置信息。

根据位置信息,通过程序设计即可实现自动点击待测试应用软件,即实现自动打开待测试应用软件。

140、获取与待测试应用软件需要测试的操作对应的第二位置信息,并根据第二位置信息执行对应的操作;

打开待测试应用软件之后,进入了待测试应用软件的页面,此时可以对待测试应用软件执行一些需要测试的操作。执行待测试应用软件的操作,就需要转换到所要执行的操作的页面,由于所要执行操作可能没有直接呈现在待测试软件当前的页面上,那么就需要通过若干个页面的转换来到达所要执行的操作对应的页面。同时,在到达所要执行的操作对应的页面后,根据具体的操作可能还需要获取当前操作在当前页面上的某些位置的位置信息,因此第二位置信息可能包括若干个位置信息,根据这些位置信息,执行对应的程序实现页面的转换以及操作的具体执行。

另外,第二位置信息可以是在对应页面上的位置坐标,当然可以是以其他形式表示的位置信息,本发明实施例对此并不进行限定。

150、将第一审计信息发送给审计测试服务器,以使审计测试服务器根据第一审计信息和第二审计信息确定待测试应用软件的审计测试结果;其中,第一审计信息为上述步骤中测试待测试应用软件对应的审计信息,第二审计信息为审计设备检测到的待测试应用软件对应的审计信息。审计测试服务器将第一审计信息和第二审计信息进行对比,即可得到哪些待测试应用软件或哪些操作被审计到了,哪些待测试应用软件或哪些操作没有被审计到,从而得到审计结果。这里的第二审计信息和/或第二审计信息包括但不限于是待测试应用软件的名称,操作的名称等。

本实施例的方法实现了自动下载、安装、操作应用软件以及自动确定审计测试结果,实现了完全自动进行应用软件的审计测试,提高了应用软件审计测试的效率,并且避免人工操作以及人工确定审计测试结果,减少了应用软件审计测试消耗的时间,节省了大量的人力资源和成本。

在一个实施例中,应用软件审计测试方法在打开待测试应用软件之后,并且在获取与待测试软件需要测试的操作对应的第二位置信息之前,还包括如下步骤,如图2所示:

210、获取验证信息的输入位置;其中,验证信息为待测试应用软件登陆需要验证的信息;

此步骤中的验证信息可以但不限于包括账号、密码或二维码等,可以根据实际的应用场景进行选择。

这里的输入位置可以但不限于是输入位置的位置坐标。

220、根据输入位置输入验证信息;

根据输入位置,通过执行相应的程序即可自动输入验证信息。

应当说明的是在输入验证信息之前还包括获取验证信息的步骤。

230、根据输入的验证信息执行待测试应用软件的登陆操作。

本实施例中各个步骤的设计能够使本发明实施例的方法适用于通过账号、密码等信息登录的应用软件。相应的第一审计信息和/或第二审计信息也可以包括账号和密码。

在一个实施例中,应用软件审计测试方法在根据第二位置信息执行对应的操作之后,并且在将第一审计信息发送给审计测试服务器之前,还包括如下步骤,如图3所示:

310、获取执行待测试软件需要测试的操作后,模拟器呈现的页面的截图;其中第一审计信息包括截图。

本实施例通过相应程序的执行,能够自动得到待测试应用软件所要测试的操作的截图,从而能够更加精确的对待测试应用软件进行审计测试。

在一个实施例中,应用软件审计测试方法包括如下步骤:

根据第三预定信息卸载待测试应用软件。这里的第三预定信息包括但不限于是待测试应用软件的名称。在卸载待测试应用软件之前好包括返回终端主页面的步骤,该步骤为卸载待测试应用软件提供卸载环境。

本实施例在审计测试完成后实现了自动卸载软件,完全避免了审计测试中的人工做操,有效提高了审计测试效率。

在一个实施例中,应用软件审计测试方法包括循环测试某一待测试应用软件的步骤,其中循环次数可以通过脚本灵活设定。

应当说明的是,上述实施例的应用软件审计测试方法中每个骤执行完毕后都可以等到一个预定时间段,确保前面的步骤彻底执行完毕,从而能能够提高方法步骤的安全性。

应当说明的是,上述实施例的应用软件审计测试方法中所有步骤都是通过执行相应的程序自动完成的,可以实现应用软件自动安装,自动打开,自动登录,自动发帖等操作,而且可以针对特殊应用进行重复操作测试,重复次数可以在脚本中手动进行配置,操作测试某种应用后,可以自动判断出测试结果,极大提高了审计测试的效率,避免人工操作,节省人力的成本。

本发明实施例的应用软件审计测试方法可以适用市场上绝大部分流行的应用软件,可以模拟多种流行终端对应用软件进行自动化测试,从而提高应用软件测试效率和准确率,减少测试失误点,减少操作人员的操作时间和花费的精力。

图4示意性的示出了根据本发明又一实施例的应用软件审计测试方法的流程框图,本实施例的应用软件审计测试方法以模拟器为手机为例,包括如下步骤:

步骤一、通过执行相应的程序,自动连接模拟器;

本步骤可以利用下面的程序段实现:

device=monkeyrunner.waitforconnection(1.0,'127.0.0.1:62001')#自动连接模拟器

ifnotdevice:#判断能否连接到手机并给出提示信息

print('无法连接手机,请查看是否正确连接')

else:

print('成功连接手机')

步骤二、通过执行相应的程序,自动安装待测试应用软件;安装结果示意图如图5a所示。

本步骤可以利用下面的程序段实现:

device.installpackage('c:\users\guozesheng.sapling0\downloads\cn.tianya.light.lightapplication.apk')#自动安装天涯应用软件

monkeyrunner.sleep(5)#等待预定时间段

步骤三、通过执行相应的程序,自动打开已经安装好的待测试应用软件;打开结果示意图如图5b所示。

本步骤可以利用下面的程序段实现:

device.press('keycode_home',monkeydevice.down_and_up)#回到模拟器的主页面

time.sleep(5)#等待预定时间段

device.touch(145,290,'down_and_up')#通过位置坐标,点击打开按钮。

步骤四、通过执行相应的程序,自动输入账号和密码,登陆待测试应用软件;账号和密码输入结果示意图如图5c所示。

本步骤可以利用下面的程序段实现:

device.touch(140,230,'down_and_up')#通过输入账号的位置坐标,将光标设定在输入账号的位置处

device.type('sapling163')#输入账号sapling163

time.sleep(5)#等待预定时间段

device.touch(130,280,'down_and_up')#通过输入密码的位置坐标,将光标设定在输入密码的位置处

device.type('dptech588')#输入密码dptech588

time.sleep(5)#等待预定时间段

device.touch(200,350,'down_and_up')#通过位置坐标,点击登录按钮

time.sleep(5)#等待预定时间段

步骤五、通过执行相应的程序,自动点击发帖按钮,自动输入标题和内容;本实施例的方法是通过测试应用软件的发帖操作来审计测试当前应用软件;自动发帖结果示意图如图5d所示。

本步骤可以利用下面的程序段实现:

device.touch(240,774,'down_and_up')

time.sleep(5)#等待预定时间段

device.touch(240,774,'down_and_up')

time.sleep(5)#等待预定时间段

device.touch(168,300,'down_and_up')

time.sleep(5)#等待预定时间段

#以上程序段是通过位置坐标依次切换页面,最终到达发帖页面

device.touch(45,110,'down_and_up')#通过输入发帖标题的位置坐标,将光标设定在输入发帖标题的位置处

device.type(测试标题+str(i))#输入发帖标题

time.sleep(5)#等待预定时间段

device.touch(100,155,'down_and_up')#通过输入发帖内容的位置坐标,将光标设定在输入发帖内容的位置处

device.type(测试内容+str(i))#输入发帖内容

time.sleep(5)#等待预定时间段

device.touch(448,55,'down_and_up')#通过发帖按钮位置坐标,点击发帖按钮

time.sleep(5)#等待预定时间段

步骤六、审计设备将审计到的日志(对应于第二审计信息)发送到审计测试服务器;

步骤七、通过执行相应的程序,自动将本方法的测试信息(对应于第一审计信息)发送到审计测试服务器;

步骤八、审计测试服务器接收审计信息(即第一审计信息和第二审计信息),并进行对比,得到审计测试结果;

步骤九、等待循环测试该待测试应用软件或测试下一个待测试应用软件;此步骤中,一个应用软件可能需要测试多次,此时可以通过设计循环测试程序,实现自动多次测试一待测试应用软件。当然,也可以通过程序设计切换到下一个待测试应用软件的测试过程。

进一步地,本实施例的方法还可以包括获取操作执行结果截图的步骤,该步骤利用下面的程序段实现:

result=device.takesnapshot()

result.writetofile('d:\\app'+str(i)+'.png','png')

monkeyrunner.sleep(10)

进一步地,本实施例的方法还可以包括卸载待测试应用软件的步骤,该步骤利用下面的程序段实现:

device.press('keycode_home',monkeydevice.down_and_up)#回到模拟器的主页面

device.removepackage('cn.tianya.light')#通过名称卸载待测试应用软件

本实施例的方法基于手机应用软件进行自动化测试,可以实现自动安装、自动登录,自动发帖等操作,减少操作人员的操作时间,降低成本,提高效率。同时对复杂的手机应用软件进行测试时,由于是采用自动化技术,自动执行,所以不存在执行过程中的疏忽或错误,可以对测试内容进行保证,增加可信度。另外,本实施例可以对绝大部分流行的手机应用软件,模拟流行的手机终端进行测试,避免人工手动操作的复杂性,并且可以自动输出测试结果,不再需要人为再去比对和分析。

对应于上述应用软件审计测试方法,本发明实施例提供了一种应用软件审计测试装置,如图6所示,该装置包括:

连接模块,用于根据第一预定信息连接模拟器,其中,模拟器对应于使用待测试应用软件的终端;

安装模块,用于根据第二预定信息安装待测试应用软件;

软件打开模块,用于获取待测试应用软件在模拟器上的第一位置信息,并根据第一位置信息打开待测试应用软件;

操作执行模块,用于获取与待测试应用软件需要测试的操作对应的第二位置信息,并根据第二位置信息执行对应的操作;

信息发送模块,用于将第一审计信息发送给审计测试服务器,以使审计测试服务器根据第一审计信息和第二审计信息确定待测试应用软件的审计测试结果;其中,第一审计信息为测试待测试应用软件对应的审计信息,第二审计信息为审计设备检测到的待测试应用软件对应的审计信息。

本实施例的装置能够自动安装、操作应用软件以及自动确定审计测试结果,实现了完全自动进行应用软件的审计测试,提高了应用软件审计测试的效率,并且避免人工操作,节省了大量的人力资源和成本。

在一个实施例中,如图7所示,应用软件审计测试装置还包括:

登陆位置获取模块,用于获取验证信息的输入位置;其中,验证信息为待测试应用软件登陆需要验证的信息;

验证信息输入模块,用于根据输入位置址输入验证信息;

登陆模块,用于根据输入的验证信息执行待测试应用软件的登陆操作。

在一个实施例中,如图7所示,应用软件审计测试装置还包括:

图片获取模块,用于获取执行待测试软件需要测试的操作后,终端呈现的页面的截图;其中第一审计信息包括截图。

本发明实施例中的装置是与本发明实施例中的方法对应的产品,本发明实施例中的方法的每一个步骤均由本发明实施例中的装置的部件完成,因此对于相同的部分不再进行赘述。

本发明实施例还提供了一种应用软件审计测试系统,如图8所示,该系统包括:

上述实施例中的应用软件审计测试装置;

审计设备,用于检测得到待测试应用软件的第二审计信;

审计测试服务器,用于根据第一审计信息和第二审计信息确定待测试应用软件的审计测试结果。

本实施例的系统能够自动安装、操作应用软件以及自动确定审计测试结果,实现了完全自动进行应用软件的审计测试,提高了应用软件审计测试的效率,并且避免人工操作,节省了大量的人力资源和成本。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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