CN109376078B - 移动应用的测试方法、终端设备及介质 - Google Patents

移动应用的测试方法、终端设备及介质 Download PDF

Info

Publication number
CN109376078B
CN109376078B CN201811116315.7A CN201811116315A CN109376078B CN 109376078 B CN109376078 B CN 109376078B CN 201811116315 A CN201811116315 A CN 201811116315A CN 109376078 B CN109376078 B CN 109376078B
Authority
CN
China
Prior art keywords
client
application
test
control event
event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811116315.7A
Other languages
English (en)
Other versions
CN109376078A (zh
Inventor
席悦洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xinshi Technology Development Co ltd
Shenzhen Lian Intellectual Property Service Center
Original Assignee
Beijing Xinshi Technology Development Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Xinshi Technology Development Co ltd filed Critical Beijing Xinshi Technology Development Co ltd
Priority to CN201811116315.7A priority Critical patent/CN109376078B/zh
Publication of CN109376078A publication Critical patent/CN109376078A/zh
Application granted granted Critical
Publication of CN109376078B publication Critical patent/CN109376078B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明适用于测试技术领域,提供了一种移动应用的测试方法、终端设备及介质,该方法包括:在***模拟器中运行应用安装包,并在***模拟器中安装待测试应用;根据客户端发出的远程桌面连接请求,令***模拟器与客户端建立通信连接;获取客户端对待测试应用发出的测试指令,并触发与测试指令对应的操控事件;向关联操控事件的网页接口发出扫描请求,扫描请求用于请求对所述网页接口的逻辑漏洞进行检测;基于接收到的扫描响应信息,输出网页接口对应的测试结果。本发明实现了用户在无须配制移动终端且无须安装底层插件的情况下,也能执行对移动应用的测试操作,故降低了移动应用的测试难度;实现了web接口的自动化识别,提高了移动应用的测试效率。

Description

移动应用的测试方法、终端设备及介质
技术领域
本发明属于测试技术领域,尤其涉及一种移动应用的测试方法、终端设备及计算机可读存储介质。
背景技术
各大应用***在上线发布之前,均需要由测试人员对其所存在的安全漏洞进行检测处理。传统的测试方式中,通常都需要以网页web扫描的方式来爬取应用***的各个网页页面,进而识别出各个web接口后再进行漏洞检测。然而,当发布的应用***为基于客户端形式的移动应用时,由于其所包含的web页面仅能够集成展示于移动设备的客户端中,故无法通过web扫描工具来对其web页面进行爬取,难以进行web接口的自动化识别及检测校验。因此,现有技术中存在移动应用测试难度较大的问题。
发明内容
有鉴于此,本发明实施例提供了一种移动应用的测试方法、终端设备及计算机可读存储介质,以解决现有技术中所存在的移动应用的测试难度较大的问题。
本发明实施例的第一方面提供了一种移动应用的测试方法,包括:
在***模拟器中运行应用安装包,并在所述***模拟器中安装待测试应用;
根据客户端发出的远程桌面连接请求,令所述***模拟器与所述客户端建立通信连接;
获取所述客户端对所述待测试应用发出的测试指令,并触发与所述测试指令对应的操控事件;
向关联所述操控事件的网页接口发出扫描请求,所述扫描请求用于请求对所述网页接口的逻辑漏洞进行检测;
基于接收到的扫描响应信息,输出所述网页接口对应的测试结果。
本发明实施例的第二方面提供了一种终端设备,包括存储器以及处理器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
在***模拟器中运行应用安装包,并在所述***模拟器中安装待测试应用;
根据客户端发出的远程桌面连接请求,令所述***模拟器与所述客户端建立通信连接;
获取所述客户端对所述待测试应用发出的测试指令,并触发与所述测试指令对应的操控事件;
向关联所述操控事件的网页接口发出扫描请求,所述扫描请求用于请求对所述网页接口的逻辑漏洞进行检测;
基于接收到的扫描响应信息,输出所述网页接口对应的测试结果。
本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
在***模拟器中运行应用安装包,并在所述***模拟器中安装待测试应用;
根据客户端发出的远程桌面连接请求,令所述***模拟器与所述客户端建立通信连接;
获取所述客户端对所述待测试应用发出的测试指令,并触发与所述测试指令对应的操控事件;
向关联所述操控事件的网页接口发出扫描请求,所述扫描请求用于请求对所述网页接口的逻辑漏洞进行检测;
基于接收到的扫描响应信息,输出所述网页接口对应的测试结果。
本发明实施例中,通过在***模拟器中安装待测试的移动应用,用户可利用其客户端,以远程桌面的方式连接***模拟器,进而在该***模拟器中模拟各类操控事件,使得移动应用所关联的web页面不再仅限于移动设备的客户端中,因此,实现了用户在无须配制移动终端且无须安装繁琐底层插件的情况下,也能执行对移动应用的测试操作,故降低了移动应用的测试难度,提高了测试灵活性。通过触发测试指令对应的操控事件,向关联操控事件的web接口发出扫描请求,保证了能够对预设的底层web请求进行抓取,实现了web接口的自动化识别,因此,本发明实施例也提高了移动应用的测试效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的移动应用的测试方法的实现流程图;
图2是本发明实施例提供的移动应用的测试方法S103的具体实现流程图;
图3是本发明另一实施例提供的移动应用的测试方法的实现流程图;
图4是本发明又一实施例提供的移动应用的测试方法的实现流程图;
图5是本发明实施例提供的移动应用的测试方法S103的另一具体实现流程图;
图6是本发明实施例提供的移动应用的测试装置的结构框图;
图7是本发明实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1示出了本发明实施例提供的移动应用的测试方法的实现流程,该方法流程包括步骤S101至S105。各步骤的具体实现原理如下:
S101:在***模拟器中运行应用安装包,并在所述***模拟器中安装待测试应用。
本发明实施例中,***模拟器包括安卓模拟器、iOS模拟器以及关于各类移动终端操作***的模拟器等。***模拟器用于对移动终端的操作***进行模拟,其等同于一个虚拟移动终端桌面,以使用户在***模拟器中能够执行与其在移动终端操作***中所能执行的相同操作。
对于预设的***模拟器,将接收到的应用安装包导入该***模拟器中,并在检测到用户对该应用安装包发出的选取指令时,对该应用安装包进行运行处理,得到安装于***模拟器中的待测试应用。其中,上述待测试应用为开发人员所需执行安全漏洞处理的移动应用,其应用安装包由预先连接的客户端上传获得,也可由用户预先保存于安卓模拟器所属的本地终端中。
S102:根据客户端发出的远程桌面连接请求,令所述***模拟器与所述客户端建立通信连接。
通过基于SPICE协议的插件,启动远程桌面功能,以对外提供远程桌面连接服务。本发明实施例中,若接收到客户端发出的远程桌面连接请求,则对客户端的用户账号信息进行合法性校验。若合法性校验通过,则对该远程桌面连接请求进行响应,并与客户端建立通信连接。若合法性校验不通过,则拒绝与该客户端建立通信连接。
S103:获取所述客户端对所述待测试应用发出的测试指令,并触发与所述测试指令对应的操控事件。
本发明实施例中,上述客户端运行于用户终端。在与客户端建立通信连接后,将包含上述***模拟器的远程桌面展示于客户端所属用户终端的显示界面中。因此,基于查看到的界面信息,用户可在客户端中对远程桌面所运行的待测试应用执行各项控制操作,以生成对应的各项测试指令。
本发明实施例中,获取客户端对待测试应用发出的测试指令。根据预设的代码逻辑,触发与每一条测试指令对应的操控事件。例如,若检测到客户端发出的用于测试登陆操作是否正常的测试指令,则触发对应的登陆事件。
作为本发明的一个实施例,图2示出了本发明实施例提供的移动应用的测试方法S103的具体实现流程,详述如下:
S1031:获取所述客户端上传的触控参数,所述触控参数基于所述客户端所捕获到的触控手势生成。
本发明实施例中,客户端所属的用户终端为包含触控屏的终端设备。通过在触控屏中对远程桌面的***模拟器进行展示,用户可利用各类触控手势来点击选取待测试应用中的任意控件,并输入关于选取控件的操作参数。客户端根据检测到的控件选取指令以及操作参数,将其转换为对应的触控参数后进行上传。因此,通过远程通信连接,可接收到来自该客户端上传的触控参数。
示例性地,上述触控参数可以是用户在终端界面中所选择的控件坐标值以及控件移动距离等。
S1032:获取所述***模拟器的***类型。
本发明实施例中,***模拟器的***类型包括安卓、iOS、windows以及miui等类型。在***模拟器所对应的安装目录下,查找与该***模拟器关联的安装描述文件。对安装描述文件中对应***类型的预设字段进行读取,以根据该预设字段的属性值,确定***模拟器的***类型。
S1033:在与所述***类型匹配的函数库中,通过预设的映射算法解析所述触控参数,得到对应于所述触控参数的操作函数。
每一***类型与一预设的函数库匹配。因此,根据上述S1032中所确定出的***模拟器的***类型,获取与该***类型匹配的函数库。函数库中包含有预存储的多个操作函数。其中,每一操作函数用于调用对应的部分逻辑代码,进而实现对应的一项***功能。
本发明实施例中,通过预设的映射算法对客户端上传的触控参数进行解析,以基于控件坐标值以及控件移动距离等触控参数所包含的各类参数值,从确定出的函数库中,查找对应该触控参数的操作函数。上述映射算法用于表示触控参数与操作函数之间的映射关系。
示例性地,若触控参数包括图标控件A,则在上述函数库中,根据图标控件A的控件标识,查找出逻辑代码中包含有该控件标识的操作函数;若触控参数包括图标控件A的移动距离a,则根据该移动距离所等比例映射的远程桌面距离值b,查找出逻辑代码中包含有该远程桌面距离值b的操作函数。
S1034:生成基于所述操作函数的测试指令,并在所述***模拟器中,触发与所述测试指令对应的操控事件。
由于操作函数用于调用其对应的部分逻辑代码,因此,为了将其逻辑代码转换为机器可识读的可执行指令,生成基于上述操作函数的测试指令。
优选地,若检测到触控参数所对应的操作函数有多个,则将多个操作函数进行结合后,生成关联上述多个操作函数的测试指令。例如,若查找出的操作函数包括用于对图标控件A进行移动的操作函数以及用于平移50个像素点距离的操作函数,则生成基于该两个操作函数的测试指令,使得该测试指令用于将图标控件A平移50个像素点。
本发明实施例中,令***模拟器执行上述生成的测试指令,以触发对应该测试指令的操控事件。
本发明实施例中,通过获取所述客户端上传的触控参数,并通过预设的映射算法来解析出与其对应的操作函数,进而生成基于操作函数的测试指令,保证了用户只需在其移动终端的显示界面中执行触控操作,***模拟器便能够根据自身的***类型,自动生成并执行对应的测试指令以及操控事件,因此,提高了移动应用的测试灵活性,避免了用户需要在不同的测试场景之下,手工输入符合不同指令编写规范的测试指令,故也降低了移动应用的测试繁琐度。
S104:向关联所述操控事件的网页接口发出扫描请求,所述扫描请求用于请求对所述网页接口的逻辑漏洞进行检测。
在开发各类移动应用的过程中,对于移动应用所允许执行的每一项操控事件,均会提供对应的一个底层web接口,以使其与外部第三方的服务器进行对接。因此,根据开发人员预先输入的逻辑代码,确定出与当前所执行的操控事件相关联的web接口,并对确定出的web接口发出扫描请求,以检测该web接口是否存在逻辑漏洞。
示例性地,若***模拟器所检测到的测试指令为用于提交商品订单的操作指令,则触发商品支付事件,此时,通过预设的底层web请求抓取,识别出与商品支付事件对应的web接口(例如,识别出第三方购物平台服务器所提供的对接接口地址等)。因此,对于识别得到的该web接口,执行扫描请求,以检测该web接口中是否存在逻辑漏洞。
作为本发明的一个具体实施示例,逻辑漏洞的检测过程包括:获取与扫描请求对应的参数返回值,并提取该参数返回值中所包含的接口参数;加载与该web接口对应的风险判断条件;检测提取得到的接口参数是否满足上述风险判断条件;若检测结果为是,则确定存在逻辑漏洞攻击。
其中,上述风险判断条件包括但不限于:1)参数返回值所包含的接口参数的总数与预设的参数数目不同;2)当前所检测得到的接口参数的参数类型与web接口对应的参数类型不同;3)接口参数所关联的用户账号与扫描请求所携带的用户账号不同。
示例性地,若当前扫描请求所调用的web接口主要用于查询商品订单号、订单价格以及流水号这三个参数,则该扫描请求的参数返回值中应当包含三个接口参数,若实际监测到的接口参数的数目为四个,则确定上述风险判断条件1)成立。
本发明实施例中,当上述任一风险判断条件成立时,将该成立的风险判断条件作为扫描响应信息进行返回。
S105:基于接收到的扫描响应信息,输出所述网页接口对应的测试结果。
本发明实施例中,若接收到的扫描相应信息为非空值,则确定存在任一风险判断条件成立,此时,输出web接口对应的测试结果为存在逻辑漏洞风险;若接收到的扫描相应信息为空值,则确定每一风险判断条件均不成立,故输出web接口对应的测试结果为不存在逻辑漏洞风险。
本发明实施例中,通过在***模拟器中安装待测试的移动应用,用户可利用其客户端,以远程桌面的方式连接***模拟器,进而在该***模拟器中模拟各类操控事件,使得移动应用所关联的web页面不再仅限于移动设备的客户端中,因此,实现了用户在无须配制移动终端且无须安装繁琐底层插件的情况下,也能执行对移动应用的测试操作,故降低了移动应用的测试难度,提高了测试灵活性。通过触发测试指令对应的操控事件,向关联操控事件的web接口发出扫描请求,保证了能够对预设的底层web请求进行抓取,实现了web接口的自动化识别,因此,本发明实施例也提高了移动应用的测试效率。
作为本发明的另一个实施例,如图3所示,在上述S103之后,还包括步骤S106以及S107;在上述S105之后,还包括S108及S109。各步骤的实现原理具体如下:
S106:获取与所述操控事件关联的测试参数。
本发明实施例中,与操控事件关联的测试参数包括操控事件的触发时间、操控控件标识、操控时长以及响应时间等在操控过程中所涉及的各项参数。在检测到任一测试指令所对应的操控事件完成后,在预设的日志存储路径,获取与该操控事件对应的日志文件,并提取出其关联的各项测试参数。
S107:根据所述操控事件的触发顺序,依次将各个所述操控事件及所述测试参数的对应关系记录于预设的信息表中。
在预设时长内检测到多个操控事件被触发,则根据各个操控事件的触发时间的先后顺序,对各个操控事件进行排序。将每一操控事件及其对应的测试参数记录于预设信息表的同一记录信息中,并使触发时间较早的操控事件所属的记录信息排序在信息表的上方。
S108:若检测到所述网页接口对应的测试结果为测试异常,则通过所述信息表,确定出最近一次录入的所述操控事件。
本发明实施例中,若检测到所述网页接口对应的测试结果为存在逻辑漏洞风险,则确定当前测试异常。此时,加载上述预先生成的信息表。根据当前时刻的***时间,在该信息表中,查找出触发时间与***时间的差值最小的一条记录信息,并对该记录信息所对应的操控事件进行读取,则该操控事件为最近一次录入的操控事件。
S109:基于所述操控事件所对应的所述测试参数,重新触发该操控事件,并返回执行所述向关联所述操控事件的网页接口发出扫描请求的步骤。
在信息表所查找出的上述记录信息中,读取最近一次录入的操控事件所对应的测试参数。由于测试参数包含有关联操控事件的各项参数信息,因此,基于各项参数信息,生成操控事件所匹配的测试指令。通过执行上述测试指令,实现对该操控事件的再次触发。
本发明实施例中,在重新触发最近一次所录入的操控事件后,返回执行上述步骤S104,以向关联该操控事件的web接口重新发出扫描请求。
本发明实施例中,通过依次将各个操控事件及其测试参数的对应关系记录于预设的信息表中,实现了对用户所执行的各项操控事件的录制处理。在检测到测试过程出现异常时,根据先前录制得到的信息表,依序执行最近一次所录制的操控事件,保证了用户在无需重复输入相同的测试参数、也无需手工进行点击选取等操作的情况下,***模拟器也依然能实现移动应用的自动化测试效果,因此,提高了移动应用的测试效率。
作为本发明的又一个实施例,图4示出了本发明实施例提供的移动应用的测试方法的实现流程。如图4所示,在上述S102之后,还包括:
S110:对所述客户端的账户信息进行合法性校验,并在校验成功时创建账户登录会话。
本发明实施例中,在接收到客户端发出的远程桌面连接请求时,解析出远程桌面连接请求所携带的账户信息。其中,账户信息包括账户标识以及账户密码。
基于预设的授权访问列表,对上述账户信息进行合法性校验。授权访问列表中包含有授权使用该移动应用的各个合法账户标识以及每一合法账户标识对应的账户密码。对于当前客户端所上传的账户标识以及账户密码,若该账户标识为合法账户标识,且该账户密码与该合法账户标识所对应的账户密钥匹配,则确定当前账户信息通过合法性校验,触发关于该账户信息的登录事件。此时,创建与客户端关联的账户登录会话,并根据操控事件的触发时间顺序,将该登录事件所关联的各项测试参数录入上述预设的信息表中。
S111:若检测到所述账户登录会话中断,则在预设的所述信息表中,获取最近一次登录事件的触发时间。
每隔预设的时间间隔,检测上述已创建的账户登录会话是否存在会话连接。在任一时刻,若检测到账户登录会话不存在会话连接,则确定账户登录会话发生中断。此时,对上述包含各个操控事件以及测试参数的对应关系的信息表进行加载。
可选地,根据登录事件的预设标识,在信息表中查找出包含该预设标识的记录信息,并将其中最迟录入的一条记录信息的触发时间确定为最近一次登录事件的触发时间。
可选地,根据上述登录时间所关联的账户信息,在信息表中查找出包含该账户信息的记录信息,并将其中最迟录入的一条记录信息的触发时间确定为最近一次登录事件的触发时间。
S112:确定出在所述触发时间之前所记录的N个所述操控事件,并根据对应的所述测试参数,依序执行N个所述操控事件以及所述登录事件;其中,所述N为大于零的预设值。
本发明实施例中,由于信息表中各项信息记录的排列次序均以其对应的触发时间为依据,故在基于上述步骤S111确定出最近一次登录事件的触发时间后,可筛选出在该触发时间之前所录入的N条信息记录。对筛选出的每一条信息记录,读取其所对应的操控事件以及测试参数,并基于该测试参数,对该操控事件进行重新触发。
当筛选出的每一条信息记录所对应的操控事件均触发完成后,再次触发关于上述账户信息的登录事件。
本发明实施例适用于在待测试应用的web接口扫描过程中,存在用户的非法访问操作而导致登录会话出现中断的情况之下,例如,在登录事件完成后,用户继续执行其他操控事件,但可能因某些不小心的操作而访问到了非法页面,则其用户账号将会被强制登出,因而出现登录会话中断。然而,在移动应用中,由于待测试的很多应用功能往往都需要在用户执行登录操作之后方能执行,故本发明实施例中,时刻保持对账户登录会话的检测,只要检测到当前账户登录会话中断,则不再对用户所执行的操控事件进行web扫描,而是根据预先录制得到的各类测试参数来自动恢复登录事件后,才继续执行之前未完成的web扫描。因此,避免了因用户的账号被登出而导致web接口扫描中断的问题,故提高了移动应用的测试效率以及测试稳定性。
作为本发明的一个实施例,图5示出了本发明实施例提供的移动应用的测试方法S103的另一具体实现流程,详述如下:
S1034:若接收到所述客户端发出的应用登录请求,则基于预设的逻辑漏洞检测点触发安全检测事件。
S1035:获取所述安全检测事件对应的检测结果。
S1036:若所述检测结果为存在逻辑漏洞风险,则对所述应用登录请求所关联的用户账号执行账号登出操作,并将所述用户账号标记为异常状态。
在登录事件所关联的web接口中,预先添加用于触发安全检测事件的埋点代码,则该埋点代码为逻辑漏洞检测点。其中,安全检测事件用于判断当前接收到的应用登录请求是否携带逻辑漏洞风险。
若用户需要利用其客户端来对移动应用的登录功能进行测试,则将会接收到客户端发出的应用登录请求。此时,基于上述预设的逻辑漏洞检测点,触发安全检测事件。
本发明实施例中,若当前安全检测事件对应的反馈结果为存在逻辑漏洞风险,则对应用登录请求所关联的用户账号进行账号登出操作。若当前安全检测事件对应的反馈结果为不存在逻辑漏洞风险,则保持当前的账户登录会话,并继续响应用户所触发的后续操控事件。
本发明实施例中,通过在接收到客户端发出的关于上述登录事件的应用登录请求时,基于预设的逻辑漏洞检测点,可自动触发安全检测事件并获取对应的反馈结果;通过在反馈结果为存在逻辑漏洞风险时,对应用登录请求的来源用户账号进行强制登出处理,保证了在攻击事件出现的情况之下,攻击者也无法对其权限范围之外的后续业务流程进行逻辑攻击测试,故实现了一定程度上的安全防御,由此也提高了移动应用的安全性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的移动应用的测试方法,图6示出了本发明实施例提供的移动应用的测试装置的结构框图。为了便于说明,仅示出了与本发明实施例相关的部分。
参照图6,该装置包括:
运行单元61,用于在***模拟器中运行应用安装包,并在所述***模拟器中安装待测试应用。
连接单元62,用于根据客户端发出的远程桌面连接请求,令所述***模拟器与所述客户端建立通信连接。
第一获取单元63,用于获取所述客户端对所述待测试应用发出的测试指令,并触发与所述测试指令对应的操控事件。
请求单元64,用于向关联所述操控事件的网页接口发出扫描请求,所述扫描请求用于请求对所述网页接口的逻辑漏洞进行检测。
输出单元65,用于基于接收到的扫描响应信息,输出所述网页接口对应的测试结果。
可选地,所述移动应用的测试装置还包括:
第二获取单元,用于获取与所述操控事件关联的测试参数。
记录单元,用于根据所述操控事件的触发顺序,依次将各个所述操控事件及所述测试参数的对应关系记录于预设的信息表中。
确定单元,用于若检测到所述网页接口对应的测试结果为测试异常,则通过所述信息表,确定出最近一次录入的所述操控事件。
返回单元,用于基于所述操控事件所对应的所述测试参数,重新触发该操控事件,并返回执行所述向关联所述操控事件的网页接口发出扫描请求的步骤。
可选地,所述移动应用的测试装置还包括:
校验单元,用于对所述客户端的账户信息进行合法性校验,并在校验成功时创建账户登录会话。
第三获取单元,用于若检测到所述账户登录会话中断,则在预设的所述信息表中,获取最近一次登录事件的触发时间。
执行单元,用于确定出在所述触发时间之前所记录的N个所述操控事件,并根据对应的所述测试参数,依序执行N个所述操控事件以及所述登录事件。
其中,所述N为大于零的预设值。
可选地,所述第一获取单元63包括:
第一获取子单元,用于获取所述客户端上传的触控参数,所述触控参数基于所述客户端所捕获到的触控手势生成。
第二获取子单元,用于获取所述***模拟器的***类型。
解析子单元,用于在与所述***类型匹配的函数库中,通过预设的映射算法解析所述触控参数,得到对应于所述触控参数的操作函数。
生成子单元,用于生成基于所述操作函数的测试指令,并在所述***模拟器中,触发与所述测试指令对应的操控事件。
可选地,所述第一获取单元63包括:
触发子单元,用于若接收到所述客户端发出的应用登录请求,则基于预设的逻辑漏洞检测点触发安全检测事件;
第三获取子单元,用于获取所述安全检测事件对应的检测结果。
标记子单元,用于若所述检测结果为存在逻辑漏洞风险,则对所述应用登录请求所关联的用户账号执行账号登出操作,并将所述用户账号标记为异常状态。
图7是本发明一实施例提供的终端设备的示意图。如图7所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如移动应用的测试程序。所述处理器70执行所述计算机程序72时实现上述各个移动应用的测试方法实施例中的步骤,例如图1所示的步骤101至105。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图6所示单元61至65的功能。
示例性的,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。
所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (4)

1.一种移动应用的测试方法,其特征在于,包括:
在***模拟器中运行应用安装包,并在所述***模拟器中安装待测试应用;
根据客户端发出的远程桌面连接请求,令所述***模拟器与所述客户端建立通信连接;
获取所述客户端对所述待测试应用发出的测试指令,并触发与所述测试指令对应的操控事件;
向关联所述操控事件的网页接口发出扫描请求,所述扫描请求用于请求对所述网页接口的逻辑漏洞进行检测;
基于接收到的扫描响应信息,输出所述网页接口对应的测试结果;
在所述获取所述客户端对所述待测试应用发出的测试指令,并触发与所述测试指令对应的操控事件之后,还包括:
获取与所述操控事件关联的测试参数;
根据所述操控事件的触发顺序,依次将各个所述操控事件及所述测试参数的对应关系记录于预设的信息表中;
在所述基于接收到的扫描响应信息,输出所述网页接口对应的测试结果之后,还包括:
若检测到所述网页接口对应的测试结果为测试异常,则通过所述信息表,确定出最近一次录入的所述操控事件;
基于所述操控事件所对应的所述测试参数,重新触发该操控事件,并返回执行所述向关联所述操控事件的网页接口发出扫描请求的步骤;
在所述根据客户端发出的远程桌面连接请求,令所述***模拟器与所述客户端建立通信连接之后,还包括:
对所述客户端的账户信息进行合法性校验,并在校验成功时创建账户登录会话;
若检测到所述账户登录会话中断,则在预设的所述信息表中,获取最近一次登录事件的触发时间;
确定出在所述触发时间之前所记录的N个所述操控事件,并根据对应的所述测试参数,依序执行N个所述操控事件以及所述登录事件;
其中,所述N为大于零的预设值;
所述获取所述客户端对所述待测试应用发出的测试指令,并触发与所述测试指令对应的操控事件,包括:
获取所述客户端上传的触控参数,所述触控参数基于所述客户端所捕获到的触控手势生成;
获取所述***模拟器的***类型;
在与所述***类型匹配的函数库中,通过预设的映射算法解析所述触控参数,得到对应于所述触控参数的操作函数;
生成基于所述操作函数的测试指令,并在所述***模拟器中,触发与所述测试指令对应的操控事件。
2.如权利要求1所述的移动应用的测试方法,其特征在于,所述获取所述客户端对所述待测试应用发出的测试指令,并触发与所述测试指令对应的操控事件,包括:
若接收到所述客户端发出的应用登录请求,则基于预设的逻辑漏洞检测点触发安全检测事件;
获取所述安全检测事件对应的检测结果;
若所述检测结果为存在逻辑漏洞风险,则对所述应用登录请求所关联的用户账号执行账号登出操作,并将所述用户账号标记为异常状态。
3.一种终端设备,包括存储器以及处理器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如下步骤:
在***模拟器中运行应用安装包,并在所述***模拟器中安装待测试应用;
根据客户端发出的远程桌面连接请求,令所述***模拟器与所述客户端建立通信连接;
获取所述客户端对所述待测试应用发出的测试指令,并触发与所述测试指令对应的操控事件;
向关联所述操控事件的网页接口发出扫描请求,所述扫描请求用于请求对所述网页接口的逻辑漏洞进行检测;
基于接收到的扫描响应信息,输出所述网页接口对应的测试结果;
所述处理器执行所述计算机程序时还实现如下步骤:
获取与所述操控事件关联的测试参数;
根据所述操控事件的触发顺序,依次将各个所述操控事件及所述测试参数的对应关系记录于预设的信息表中;
若检测到所述网页接口对应的测试结果为测试异常,则通过所述信息表,确定出最近一次录入的所述操控事件;
基于所述操控事件所对应的所述测试参数,重新触发该操控事件,并返回执行所述向关联所述操控事件的网页接口发出扫描请求的步骤;
所述处理器执行所述计算机程序时还实现如下步骤:
对所述客户端的账户信息进行合法性校验,并在校验成功时创建账户登录会话;
若检测到所述账户登录会话中断,则在预设的所述信息表中,获取最近一次登录事件的触发时间;
确定出在所述触发时间之前所记录的N个所述操控事件,并根据对应的所述测试参数,依序执行N个所述操控事件以及所述登录事件;
其中,所述N为大于零的预设值;
所述获取所述客户端对所述待测试应用发出的测试指令,并触发与所述测试指令对应的操控事件的步骤,具体包括:
获取所述客户端上传的触控参数,所述触控参数基于所述客户端所捕获到的触控手势生成;
获取所述***模拟器的***类型;
在与所述***类型匹配的函数库中,通过预设的映射算法解析所述触控参数,得到对应于所述触控参数的操作函数;
生成基于所述操作函数的测试指令,并在所述***模拟器中,触发与所述测试指令对应的操控事件。
4.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1或2所述方法的步骤。
CN201811116315.7A 2018-09-25 2018-09-25 移动应用的测试方法、终端设备及介质 Active CN109376078B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811116315.7A CN109376078B (zh) 2018-09-25 2018-09-25 移动应用的测试方法、终端设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811116315.7A CN109376078B (zh) 2018-09-25 2018-09-25 移动应用的测试方法、终端设备及介质

Publications (2)

Publication Number Publication Date
CN109376078A CN109376078A (zh) 2019-02-22
CN109376078B true CN109376078B (zh) 2023-08-25

Family

ID=65402386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811116315.7A Active CN109376078B (zh) 2018-09-25 2018-09-25 移动应用的测试方法、终端设备及介质

Country Status (1)

Country Link
CN (1) CN109376078B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463580A (zh) * 2019-09-09 2021-03-09 英业达科技有限公司 基于虚拟化装置的测试***及其方法
CN110764982A (zh) * 2019-09-24 2020-02-07 钛马信息网络技术有限公司 一种测试stomp应用程序的方法及装置
CN111049684B (zh) * 2019-12-12 2023-04-07 闻泰通讯股份有限公司 数据分析方法、装置、设备和存储介质
CN111159028B (zh) * 2019-12-23 2023-08-01 望海康信(北京)科技股份公司 网页测试方法及装置
CN111555928A (zh) * 2020-04-14 2020-08-18 珠海格力电器股份有限公司 监控***异常的方法、装置、计算机设备和存储介质
CN112019544B (zh) * 2020-08-28 2022-10-11 支付宝(杭州)信息技术有限公司 网络接口的安全扫描方法、装置及***
CN113448746B (zh) * 2020-12-30 2023-09-15 北京新氧科技有限公司 配置处理方法、配置平台及相关设备
CN112799970B (zh) * 2021-04-08 2021-07-06 腾讯科技(深圳)有限公司 测试数据处理方法、装置、电子设备及介质
CN113395348B (zh) * 2021-06-11 2022-03-08 安谋科技(中国)有限公司 一种车载芯片、功能故障检查方法及电子设备
CN113505079A (zh) * 2021-07-27 2021-10-15 平安普惠企业管理有限公司 应用程序测试方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152458A (zh) * 2011-12-07 2013-06-12 ***通信集团广东有限公司 测试手机、远程手机测试***、远程手机测试方法与装置
CN104156213A (zh) * 2014-08-12 2014-11-19 百度在线网络技术(北京)有限公司 安卓应用的运行方法及装置
CN105787364A (zh) * 2014-12-23 2016-07-20 深圳市腾讯计算机***有限公司 任务的自动化测试方法、装置及***
CN107346287A (zh) * 2017-07-20 2017-11-14 广东艾檬电子科技有限公司 一种题库应用程序测试方法、终端及模拟器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9965375B2 (en) * 2016-06-28 2018-05-08 Intel Corporation Virtualizing precise event based sampling

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152458A (zh) * 2011-12-07 2013-06-12 ***通信集团广东有限公司 测试手机、远程手机测试***、远程手机测试方法与装置
CN104156213A (zh) * 2014-08-12 2014-11-19 百度在线网络技术(北京)有限公司 安卓应用的运行方法及装置
CN105787364A (zh) * 2014-12-23 2016-07-20 深圳市腾讯计算机***有限公司 任务的自动化测试方法、装置及***
CN107346287A (zh) * 2017-07-20 2017-11-14 广东艾檬电子科技有限公司 一种题库应用程序测试方法、终端及模拟器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
电力***移动应用安全测试技术研究;郭静等;电力工程技术;全文 *

Also Published As

Publication number Publication date
CN109376078A (zh) 2019-02-22

Similar Documents

Publication Publication Date Title
CN109376078B (zh) 移动应用的测试方法、终端设备及介质
JP6680840B2 (ja) 不正デジタル証明書の自動検出
US11570211B1 (en) Detection of phishing attacks using similarity analysis
CN109743315B (zh) 针对网站的行为识别方法、装置、设备及可读存储介质
CN103679031B (zh) 一种文件病毒免疫的方法和装置
CN106133743B (zh) 用于优化预安装应用程序的扫描的***和方法
CN113489713B (zh) 网络攻击的检测方法、装置、设备及存储介质
US10740411B2 (en) Determining repeat website users via browser uniqueness tracking
KR101948721B1 (ko) 파일 해시 값을 이용한 파일 위변조 검사 방법 및 단말 장치
CN109344611B (zh) 应用的访问控制方法、终端设备及介质
CN109547426B (zh) 业务响应方法及服务器
CN110708335A (zh) 访问认证方法、装置及终端设备
CN106030527B (zh) 将可供下载的应用程序通知用户的***和方法
JP5936798B2 (ja) ログ分析装置、不正アクセス監査システム、ログ分析プログラム及びログ分析方法
CN112671605A (zh) 一种测试方法、装置及电子设备
CN113378152A (zh) 一种运维审计方法、装置、存储介质和电子设备
CN111222181B (zh) Ai模型的监管方法、***、服务器及存储介质
CN115643044A (zh) 数据处理方法、装置、服务器及存储介质
CN115238311A (zh) 一种档案管理***
JP6258189B2 (ja) 特定装置、特定方法および特定プログラム
CN113765924A (zh) 基于用户跨服务器访问的安全监测方法、终端及设备
CN112699369A (zh) 一种通过栈回溯检测异常登录的方法及装置
CN111291044A (zh) 敏感数据识别方法、装置、电子设备及存储介质
CN114121049B (zh) 一种数据处理方法、装置以及存储介质
CN111723357A (zh) 登录验证方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20230801

Address after: 518000 Room 202, block B, aerospace micromotor building, No.7, Langshan No.2 Road, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen LIAN intellectual property service center

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: PING AN PUHUI ENTERPRISE MANAGEMENT Co.,Ltd.

Effective date of registration: 20230801

Address after: Room 08, 8-1 bungalow, No. 4 (Beichang), Dahongmen West Road, Fengtai District, Beijing 100071

Applicant after: Beijing Xinshi Technology Development Co.,Ltd.

Address before: 518000 Room 202, block B, aerospace micromotor building, No.7, Langshan No.2 Road, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: Shenzhen LIAN intellectual property service center

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant