CN109582556A - 一种应用程序在移动终端运行情况的测试方法、装置和系统 - Google Patents

一种应用程序在移动终端运行情况的测试方法、装置和系统 Download PDF

Info

Publication number
CN109582556A
CN109582556A CN201710903369.7A CN201710903369A CN109582556A CN 109582556 A CN109582556 A CN 109582556A CN 201710903369 A CN201710903369 A CN 201710903369A CN 109582556 A CN109582556 A CN 109582556A
Authority
CN
China
Prior art keywords
information
test
mobile terminal
response message
application program
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.)
Granted
Application number
CN201710903369.7A
Other languages
English (en)
Other versions
CN109582556B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710903369.7A priority Critical patent/CN109582556B/zh
Publication of CN109582556A publication Critical patent/CN109582556A/zh
Application granted granted Critical
Publication of CN109582556B publication Critical patent/CN109582556B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请公开了一种用于应用程序在移动终端运行情况的测试方法、装置和系统。其中所述测试方法包括:拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征;所述响应信息是指下述信息:位于所述移动终端的被测试的应用程序的进程向网络服务器发起网络请求,所述响应信息是针对所述网络请求返回的响应信息;判断所述与信息模拟相关的信息特征是否与预设的配置信息中模拟信息特征相符;若是,则根据所述被拦截的响应信息的类型,生成对应该类型的测试用模拟信息,并将该测试用模拟信息返回给所述移动终端的被测试的应用程序的进程。本申请实现了移动终端测试中自动模拟运营第三方服务器的返回结果,也提供了自动模拟特殊场景的手段。

Description

一种应用程序在移动终端运行情况的测试方法、装置和系统
技术领域
本申请涉及软件测试领域,具体涉及用于应用程序在移动终端运行情况的测试方法,以及用于应用程序在移动终端运行情况的测试装置,以及用于应用程序在移动终端运行情况的测试系统。
背景技术
目前国内的手机测试技术属于低端级别的手工操作,缺少自动测试工具进行功能和性能测试。无论从实现技术上,流程的规范性与合理性,还是从对测试概念的理解上都存在相当的不足。
具体表现为,在测试过程中,由于运营第三方的响应并不受测试方控制,导致返回结果可能不符合测试场景的需要,并导致测试异常。因此,对测试阶段而言,控制作为服务端的运营第三方返回符合测试需求的响应信息非常重要。现有方式需要测试人员手工到运营第三方配置模拟返回的结果。由于受运营第三方环境、制度、时间等限制,无法实现自动化,给测试工作带来诸多不便,也不便于全测试链路的自动化。
其次,在测试过程中,经常需要模拟手机运行在一些特殊场景,如弱网,内存已满的情况,高CPU的情况,APP冲突的情况,手机定位的情况,手机处于陀螺仪的情况等。这些场景或单独或并发运行。现有方式,单纯依靠手工制作模拟数据非常困难。而采用安全性测试工具可以批量制作模拟数据,但需要人工控制安全性测试工具进入测试的时间,也不便于全测试链路的自动化。
发明内容
本申请提供一种用于应用程序在移动终端运行情况的测试方法、装置和系统,以解决移动终端测试中无法使模拟运营第三方服务器返回结果和模拟特殊场景实现自动化的问题。
本申请提供一种应用程序在移动终端运行情况的测试方法,其特征在于,包括:
拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征;所述响应信息是指下述信息:位于所述移动终端的被测试的应用程序的进程向网络服务器发起网络请求,所述响应信息是针对所述网络请求返回的响应信息;
判断所述与信息模拟相关的信息特征是否与预设的配置信息中模拟信息特征相符;
若是,则根据所述被拦截的响应信息的类型,生成对应该类型的测试用模拟信息,并将该测试用模拟信息返回给所述移动终端的被测试的应用程序的进程。
若与预设的配置信息中模拟信息特征不相符,则将所述响应信息返回给所述移动终端的被测试的应用程序的进程。
可选的,所述生成对应该类型的测试用模拟信息,包括:采用预先确定的与所述被拦截的响应信息的类型对应的生成模拟信息的方法,生成所述测试用模拟信息。
进一步的,所述生成模拟信息的方法,包括如下方法的至少一种:
采用预先准备的定制信息作为所述模拟信息;
利用安全性测试工具生成所述模拟信息。
进一步的,所述定制信息,采用预设的脚本语言文件根据所述预设的配置信息中脚本配置信息生成。
进一步的,所述脚本配置信息,包括支持所述脚本语言文件执行预设的模拟测试步骤的信息。
所述预设的脚本语言文件,布置在所述响应信息被拦截的本地。
进一步的,所述脚本配置信息,布置在所述预设的脚本语言文件所在地或包括预设配置信息的中心服务器,中心服务器的位置区别于所述预设的脚本语言文件所在地。
可选的,所述利用安全性测试工具生成所述模拟信息,包括安全性测试工具根据所述预设的配置信息中提供的安全性测试工具配置信息生成。
进一步的,所述安全性测试工具配置信息,包括支持所述安全性测试工具执行预设的模拟测试步骤的信息。
进一步的,所述安全性测试工具,布置在以下位置中的至少一处:所述响应信息被拦截的本地或者服务器;所述服务器的位置区别于所述响应信息被拦截的本地。
进一步的,所述安全性测试工具配置信息,布置在与该安全性测试工具配置信息相对应的所述安全性测试工具所在地或包括预设配置信息的中心服务器;所述中心服务器的位置区别于与该配置信息相对应的所述安全性测试工具所在地。
可选的,所述利用安全性测试工具生成所述模拟信息,包括以下信息中的至少一种:用于模拟移动终端运行环境的信息、用于测试进程运行的随机数据。
进一步的,所述用于模拟移动终端运行环境的信息,包括以下信息中的至少一种:用于模拟CPU使用量的信息、用于模拟内存使用量的信息、用于模拟输入输出使用量的信息、用于模拟传感器状态的信息、用于模拟定位功能的信息。
可选的,所述安全性测试工具,采用fuzz测试工具。
可选的,所述拦截网络服务器返回的响应信息的步骤中,所述拦截采用Hook技术。
可选的,所述生成测试用模拟信息,具体是采用需要测试的网络协议生成所述测试用模拟信息。
进一步的,所述采用需要测试的网络协议生成所述测试用模拟信息,包括采用如下方式:
使用被拦截的响应信息所采用的网络协议,生成采用该网络协议的所述测试用模拟信息。
进一步的,所述生成采用该网络协议的所述测试用模拟信息,所述测试用模拟信息包括:模拟采用所述网络协议的响应数据、模拟采用所述网络协议的状态行、模拟采用所述网络协议的消息报头。
可选的,所述包括预设配置信息的中心服务器,包括用于集中设置所述预设配置信息的配置中心服务器。
本申请提供一种应用程序在移动终端运行情况的测试装置,其特征在于,包括:
拦截响应信息单元,用于拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征;所述响应信息是指下述信息:位于所述移动终端的被测试的应用程序的进程向网络服务器发起网络请求,所述响应信息是针对所述网络请求返回的响应信息;
信息特征判断单元,用于判断所述信息模拟相关的信息特征是否与预设的配置信息中模拟信息特征相符;
生成测试用模拟信息单元,用于当所述信息特征判断单元的输出为“是”时,则根据所述被拦截的响应信息的类型,生成对应该类型的测试用模拟信息,并将该测试用模拟信息返回给所述移动终端的被测试的应用程序的进程;
响应信息返回单元,用于当所述信息特征判断单元的输出为“否”时,则将所述响应信息返回给所述移动终端的被测试的应用程序的进程。
可选的,所述生成测试用模拟信息单元,包括如下子单元的至少一种:
定制信息子单元,用于采用预先准备的定制信息作为所述模拟信息;
安全测试工具子单元,用于利用安全性测试工具生成所述模拟信息。
可选的,还包括配置中心单元,用于集中设置所述预设配置信息。
本申请提供一种应用程序在移动终端运行情况的测试系统,其特征在于,包括:移动终端、配置中心服务器、配置信息库;
所述移动终端,用于存储被测试的应用程序以及测试模块,在所述应用程序的进程向网络服务器发起网络请求后,所述测试模块执行下述步骤:拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征;判断所述与信息模拟相关的信息特征是否与配置信息库的预设的配置信息中模拟信息特征相符;若是,则根据所述被拦截的响应信息的类型,生成对应该类型的测试用模拟信息,并将该测试用模拟信息返回给所述移动终端的被测试的应用程序的进程;若否,则将所述响应信息返回给所述移动终端的被测试的应用程序的进程;
所述配置中心服务器,用于集中设置所述预设配置信息,并将所述预设配置信息保存在配置信息库中;
所述配置信息库,用于存储预设的配置信息。
可选的,所述测试模块,包括拦截响应信息子模块和模拟信息子模块:
所述拦截响应信息子模块,用于移动终端拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征;判断所述与信息模拟相关的信息特征是否与配置信息库的预设的配置信息中模拟信息特征相符;若是,则根据所述信息特征类型向模拟信息子模块发出生成对应该类型的测试用模拟信息的指令;若否,则将所述响应信息返回给所述移动终端的被测试的应用程序的进程;
所述模拟信息子模块,根据拦截响应信息子模块发出的所述指令,采用对应该指令的方法及配置信息库的预设的配置信息,生成对应所述信息特征类型的测试用模拟信息,并将该测试用模拟信息返回给所述移动终端的被测试的应用程序的进程;所述对应该指令的方法,包括采用权利要求3-14任一项所述应用程序在移动终端运行情况的测试方法。
可选的,所述配置信息库位于所述配置中心服务器的磁盘或被调用的本地磁盘。
本申请提供一种计算机可读介质,其特征在于,存储有指令,所述指令能够被处理器加载并执行以下步骤:
拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征;所述响应信息是指下述信息:位于所述移动终端的被测试的应用程序的进程向网络服务器发起网络请求,所述响应信息是针对所述网络请求返回的响应信息;
判断所述与信息模拟相关的信息特征是否与预设的配置信息中模拟信息特征相符;
若是,则根据所述被拦截的响应信息的类型,生成对应该类型的测试用模拟信息,并将该测试用模拟信息返回给所述移动终端的被测试的应用程序的进程;
若否,则将所述响应信息返回给所述移动终端的被测试的应用程序的进程。
本申请提供一种电子设备,其特征在于包括:存储器,以及处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征;所述响应信息是指下述信息:位于所述移动终端的被测试的应用程序的进程向网络服务器发起网络请求,所述响应信息是针对所述网络请求返回的响应信息;
判断所述与信息模拟相关的信息特征是否与预设的配置信息中模拟信息特征相符;
若是,则根据所述被拦截的响应信息的类型,生成对应该类型的测试用模拟信息,并将该测试用模拟信息返回给所述移动终端的被测试的应用程序的进程;
若否,则将所述响应信息返回给所述移动终端的被测试的应用程序的进程。
与现有技术相比,本申请具有以下优点:
本申请提供一种用于应用程序在移动终端运行情况的测试方法、装置和系统。从位于所述移动终端的被测试的应用程序的进程向网络服务器发起网络请求;拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征;判断所述与信息模拟相关的信息特征是否与预设的配置信息中模拟信息特征相符;若是,则根据所述被拦截的响应信息的类型,生成对应该类型的测试用模拟信息,并将该测试用模拟信息返回给所述移动终端的被测试的应用程序的进程;若否,则将所述响应信息返回给所述移动终端的被测试的应用程序的进程。本申请提供的技术方案通过根据不同的响应信息的判断,提供相关的测试用模拟信息,从而实现了移动终端测试中自动模拟运营第三方服务器的返回结果,也提供了自动模拟特殊场景的手段,从而解决了现有技术下在测试过程中运营第三方的响应数据自动控制问题;本申请的技术方案同时为模拟手机的运行特殊场景提供了可能的自动实现的技术手段。
附图说明
图1是本申请第一实施例提供的应用程序在移动终端运行情况的测试方法的流程图;
图2是本申请第二实施例提供的应用程序在移动终端运行情况的测试装置的单元框图;
图3是本申请第三实施例提供的应用程序在移动终端运行情况的测试系统的系统示意图;
图4是本申请第三实施例提供的测试模块的子模块框图;
图5是本申请第五实施例提供的设备结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
应用程序开发过程中,测试是必不可少的工作流程,移动终端的通讯具有无线连接的特点,对移动终端的应用程序运行情况的测试具有与有线网络测试不同的特点。
本申请第一实施例提供一种应用程序在移动终端运行情况的测试方法,通过拦截响应信息,并按照预设的测试步骤的要求生成模拟信息返回给请求方,以实现测试目的。以下结合图1对本申请的第一实施例提供一种应用程序在移动终端运行情况的测试方法进行详细说明。
移动终端,或者叫移动通信终端是指可以在移动中使用的计算机设备,广义的讲包括手机、笔记本、平板电脑、POS机甚至包括车载电脑。在软件体系上,移动终端必须具备操作系统,如Windows Mobile、Symbian、Palm、Android、iOS等。基于操作系统平台开发的软件称为应用程序。应用程序指为完成某项或多项特定工作的计算机程序,它运行在用户模式,可以和用户进行交互,具有可视的用户界面。
移动终端是具备通信功能的微型计算机设备,具有灵活的接入方式和高带宽通信性能,并且能根据所选择的业务和所处的环境,自动调整所选的通信方式,从而方便用户使用。移动终端可以适应多种制式的移动网络,不仅支持语音业务,更支持多种无线数据业务。其中,所述移动网络(Mobile Web)指移动终端无需固定设备连接到公共网络,实现互联网访问的方式。主要基于浏览器的Web服务,如万维网,WAP和i-mode等;移动网络的服务端连接着服务器。
网络服务器是网络环境下能为网络用户提供集中计算、信息发表及数据管理等服务的专用计算机。也就是指网络中能对其它机器提供某种服务的高性能计算机系统。网络服务器对稳定性、安全性、性能等方面要求更高。
所述网络服务器,通常是指提供Web服务的服务器。
Web服务是一个平台独立的,低耦合的,自包含的、基于可编程的Web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
Web服务技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。特点是:开放性、跨平台性。开放性是Web服务的基础。
步骤S101,拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征。所述响应信息是指下述信息:位于所述移动终端的被测试的应用程序的进程向网络服务器发起网络请求,所述响应信息是针对所述网络请求返回的响应信息。
本步骤用于获取与信息模拟相关的信息特征,获取这些信息特征后,才能确定后续如何根据测试的需要进行相应的信息模拟。
狭义来讲,正在运行的应用程序的实例称为进程。所述进程,是一个具有一定独立功能的程序针对某个数据集合的一次运行活动。
所述测试,一般为检测特定的目标是否符合标准而采用专用的工具或者方法进行验证,并最终得出特定的结果。
应用程序测试,是应用程序生命周期中应用程序运行阶段前必须经历的一个重要阶段。应用程序测试,是指用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,应用程序测试是一种实际输出与预期输出之间的审核或者比较过程。在规定的条件下对应用程序进行操作,以发现程序错误,衡量软件质量,并对程序是否能满足设计要求进行评估的过程。应用程序测试的目标是:发现一些可以通过测试避免的开发风险;实施测试来降低所发现的风险;确定何时进入应用程序运行阶段;在开发项目的过程中将测试看作是一个标准项目。
所述移动终端的被测试的应用程序的进程,就是安装在移动终端的正在运行的被测试的应用程序。
所述向网络服务器发起网络请求,在本实施例中,是指通过移动网络向网络服务器发出包括网络协议的请求信息。
网络协议是网络上所有设备(网络服务器、计算机及交换机、路由器、防火墙等)之间通信规则的集合,它规定了通信时信息必须采用的格式和这些格式的意义。在网络的各层中存在着许多协议,接收方和发送方同层的协议必须一致,否则一方将无法识别另一方发出的信息。也就是网络请求与响应的协议必须一致。网络协议一般有文件传输协议FTP、电子邮件协议(SMTP、POP、POP3、IMAP)、超文本传输协议HTTP、通信协议(NetBEUI、IPX/SPX、NWLink、TCP/IP)等。
在本实施例中,所述位于所述移动终端的被测试的应用程序的进程向网络服务器发起网络请求,目的是发起预设的模拟测试;为此,本步骤具体实现方式为:按照预设的模拟测试步骤,位于所述移动终端的被测试的应用程序的进程按照网络协议的格式生成请求信息,并通过移动网络将请求信息发送给提供网络服务的服务器。以超文本传输协议HTTP为例,请求格式一般由四个部分组成:请求行、请求报头、空行、请求数据。请求数据中包括被测试的应用程序的进程发出的请求信息内容。所述预设的模拟测试步骤,是根据模拟测试的应用场景提前设计的测试步骤,通过配置中心服务器的配置信息设置预设的模拟测试步骤的环境信息。通过各应用程序的应用单元远程调用配置中心服务器中或配置中心服务器传送并保存在中心服务器中的相应的配置信息、或调用下载到各应用程序的应用单元的本地的配置信息,可使测试按照预设的模拟测试步骤进行测试。
所述响应信息是针对所述网络请求返回的响应信息。
所述响应信息是一种以网络协议的形式对请求信息做出回应的信息;响应信息与请求信息的网络协议保持一致。
在测试中,要实现模拟响应信息的目的,必须使用网络拦截技术对响应信息进行拦截,以便读取信息特征。
网络拦截技术,是将以网络协议封装的响应信息传送到终点前截获并对响应信息的内容根据特定目的进行改写。网络拦截技术的实现方法有很多,包括从网卡拦截数据包的技术、Hook技术、代理服务器拦截技术等。本实施例中,在响应信息到达移动终端的发起请求信息的应用程序的进程前,在移动终端采用Hook技术拦截响应信息,对响应信息根据预设的模拟测试步骤的要求模拟响应信息。当然,也可以采用上述列举的其它方式实现对响应信息的拦截。以下仅仅对Hook技术的方式作出详细说明。
Hook技术,是典型的网络拦截技术,也叫钩子技术。常用于分析程序中逻辑路径被执行的频率或在程序中插入特定功能等。通过Hook技术,可以暂停系统调用,或通过改变系统调用的参数来改变正常的输出结果,或中止正在运行的进程并掌握进程的控制权。Hook技术本质是函数调用。本实施例中,采用Hook技术拦截的返回给移动终端的应用程序的进程的响应信息多数采用最常用的超文本传输协议HTTP封装。
超文本传输协议HTTP的响应格式一般由三个部分组成,分别是:状态行、消息报头、响应数据。
所述拦截网络服务器返回的响应信息,就是通过网络拦截技术,比如Hook技术,拦截提供网络服务的服务器返回的包括网络协议的响应信息。拦截的目的是要获取与信息模拟相关的信息特征,具体是根据预设的配置信息提取响应信息中与信息模拟相关的信息特征。
配置信息,是支持应用程序的进程按照预设的模拟测试步骤执行所加载的运行环境信息和数据的集合。常常包括环境开关量、使用的文件名称、环境数据、版本号等。测试所需的配置信息是在配置中心服务器的配置信息平台上根据预设的模拟测试步骤集中设置。配置信息可根据不同的测试场景和目的分类保存。测试前,各应用程序的应用单元可直接调用配置中心服务器中与各应用程序的应用单元相对应的配置信息;也可以将配置信息传送到中心服务器,该中心服务器专门用于保存按照预设的模拟测试步骤设置的配置信息,各应用程序的应用单元可通过中心服务器直接调用;也可以各应用程序的应用单元将配置中心服务器中与各应用程序的应用单元相对应的配置信息下载到各应用程序的应用单元的本地保存,直接在本地调用;或者将以上三种方式混合使用。
本实施例中,预设的配置信息包括:响应信息信息特征、模拟信息特征、生成模拟信息的方法、脚本配置信息和安全性测试工具配置信息等。所述预设的配置信息保存在至少一种数据存储方式中:数据库、配置文件、注册表等。
所述响应信息信息特征,是用于从包括网络协议的响应信息中获得与信息模拟有关的信息特征的内容。本实施例中,以超文本传输协议HTTP为例,响应信息信息特征至少包括以下特征之一:网络协议类型特征、状态行特征、消息报头特征、响应数据特征等。
所述获取与信息模拟相关的信息特征,就是通过预设的配置信息中提供的需要采取信息模拟方式进行替换的响应信息的信息特征,从包括网络协议的响应信息中获得相关信息的情况。所述与信息模拟相关的信息特征,是指响应信息信息特征中可以用于确定响应信息需要以信息模拟方式进行替换的有关特征。
所述拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征,就是通过网络拦截技术——比如Hook技术,拦截提供网络服务的服务器返回的包括网络协议的响应信息,比如超文本传输协议HTTP——将包括网络协议的响应信息按照预先设置的配置信息中响应信息的信息特征的要求,提取出与信息模拟相关的信息特征。获取与信息模拟相关的信息特征的目的是用于在后续步骤中判断其是否与预设的配置信息中的模拟信息特征相符,以便对是否需要对该相应信息采用生成对应的测试用模拟信息的方式进行替换;具体的过程在后续步骤中会详细阐述。
步骤S102、判断所述与信息模拟相关的信息特征是否与预设的配置信息中模拟信息特征相符。
本步骤用于判断所述与信息模拟相关的信息特征是否与预设的配置信息中模拟信息特征相符。
所述预设的配置信息中模拟信息特征,就是根据预设的模拟测试步骤的要求,预先设置在配置信息中,作为从包括网络协议的响应信息中获取的与模拟信息有关的信息特征比较的信息。所述判断所述与信息模拟相关的信息特征是否与预设的配置信息中模拟信息特征相符。就是根据上一步所获得的响应信息,判断与信息模拟相关的信息特征的内容是否与预设的配置信息中模拟信息特征的内容相符。若上一步骤中获得的信息模拟相关的信息特征满足所述配置信息中的模拟信息特征,则本步骤判断结果为是;相反,若上一步骤中获得的信息模拟相关的信息特征不满足所述配置信息中的模拟信息特征相符,则本步骤的判断结果为否。
本实施例中,以超文本传输协议HTTP为例,模拟信息特征至少包括以下特征之一:网络协议类型特征、状态行特征、消息报头特征、响应数据特征等。
步骤S103、若是,则根据所述被拦截的响应信息的类型,生成对应该类型的测试用模拟信息,并将该测试用模拟信息返回给所述移动终端的被测试的应用程序的进程。
本步骤用于在步骤S102中的逻辑判断结果为“是”的情况下,获得测试用模拟信息,以实现测试目的,达到测试的预期效果。所述被拦截的响应信息的类型,根据所述被拦截的响应信息的各种特征分类获得的类别描述,不同的类型需要采用不同的生成测试用模拟信息的方式。根据保存在预设的配置信息中的相关配置信息,可将不同类型的响应信息关联到对应该各自类型的生成模拟信息的对应的方法;以下说明具体的实现方案。
所述生成对应该类型的测试用模拟信息,包括:采用预先确定的与所述被拦截的响应信息的类型对应的生成模拟信息的方法,生成所述测试用模拟信息。所述预先确定的与所述被拦截的响应信息的类型对应的生成模拟信息的方法,记录在配置信息中。
所述生成模拟信息方法,包括如下方法的至少一种:
方法一:采用预先准备的定制信息作为所述模拟信息;
方法二:利用安全性测试工具生成所述模拟信息。
在方法一中,所述定制信息,采用预设的脚本语言文件根据所述预设的配置信息中脚本配置信息生成;通过所述定制信息,可以实现预设的模拟测试步骤。
所述脚本语言,是为了缩短传统的编写-编译-链接-运行过程而创建的计算机编程语言。又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制应用程序,脚本通常以文本文件的形式保存,在被调用时进行解释或编译。本实施例中,脚本语言是用于实现对数据个性化或随机化的修改,以达到最好的测试效果。具体采用的脚本语言可以是Javascript、lua、php、python等脚本语言中的任何一种;脚本语言通常记载在脚本语言文件中。本实施例中,脚本语言文件通过脚本语言描述生成所述模拟信息的过程。预设的脚本语言文件是为实现预设的模拟测试步骤而设计的文件;一般在配置中心服务器预设脚本语言文件,并布置在所述响应信息被拦截的本地。
所述脚本配置信息,包括支持所述脚本语言文件执行预设的模拟测试步骤的信息。本实施例中,在配置中心服务器预设脚本配置信息,并布置在所述预设的脚本语言文件所在地或包括预设配置信息的中心服务器,中心服务器的位置区别于所述预设的脚本语言文件所在地。所述包括预设配置信息的中心服务器,包括用于集中设置所述预设配置信息的配置中心服务器。
本实施例中,为了实现预设的模拟测试步骤,保存在预设的脚本语言文件地址的脚本语言文件,根据预设的脚本配置信息内容中的脚本配置信息生成测试用模拟信息。
所述采用预先准备的定制信息作为所述模拟信息,就是采用在响应信息被拦截的本地预设的脚本语言文件根据所述预设的配置信息中脚本配置信息生成的模拟信息。
在方法二中,所述利用安全性测试工具生成所述模拟信息,具体可以由安全性测试工具根据所述预设的配置信息中提供的安全性测试工具配置信息生成。为了明确可能的来自各个方面的潜在威胁,确认有哪些攻击界面,必须对应用程序的进程和系统进行安全性测试。
所述安全性测试,是软件测试阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程。是有关验证应用程序的安全服务和识别潜在安全性缺陷的过程。常用的安全性测试包括:渗透测试、模糊测试(fuzz测试)等。本实施例中,利用模糊测试(fuzz测试)介于完全的手工渗透测试与完全的自动化测试之间的特性,根据预设的配置信息中提供的安全性测试工具配置信息通过工具自动分析协议,生成所述模拟信息,实现所述安全测试;该方法解决了人工编造数据成本高的问题。
所述模糊测试(fuzz测试),是一种通过向目标系统提供非预期的输入,监视异常结果,发现系统漏洞的方法。它能够利用工具,随机生成和发送数据;同时,又能够引进业内安全专家在安全性方面的建议。fuzz测试中,模拟数据具有不确定性、非针对性、非逻辑性的特点。
fuzz测试,可拦截客户端和服务器之间的通信数据,根据分析通讯数据获得网络协议,利用获得的网络协议封装模拟数据攻击应用程序的进程及系统,尝试找到可能的漏洞。相比于代码审计成本要低,而这种关注协议层面的攻击,其效率更高。
fuzz测试工具包括Sulley、SPIKE、Bunny、Scratch等。主要测试应用程序的健壮性及抵御意外输入的能力。本实施例中,为了更好的符合预设的模拟测试步骤的要求开发了一种定制的fuzz测试工具。
本实施例中,安全性测试工具,布置在以下位置中的至少一处:所述响应信息被拦截的本地或者服务器;所述服务器的位置区别于所述响应信息被拦截的本地。
本实施例中,安全性测试工具配置信息,包括支持所述安全性测试工具执行预设的模拟测试步骤的信息。在配置中心服务器预设安全性测试工具配置信息,并布置在与该安全性测试工具配置信息相对应的所述安全性测试工具所在地或包括预设配置信息的中心服务器,所述中心服务器的位置区别于与该配置信息相对应的所述安全性测试工具所在地。所述包括预设配置信息的中心服务器,包括用于集中设置所述预设配置信息的配置中心服务器。
本实施例中,为了实现预设的模拟测试步骤,保存在安全性测试工具地址的安全性测试工具,根据关于安全性测试工具配置信息内容中预设的安全性测试工具配置信息,生成测试用模拟信息。
所述利用安全性测试工具生成所述模拟信息,包括以下信息中的至少一种:用于模拟移动终端运行环境的信息、用于测试进程运行的随机数据。
所述用于模拟移动终端运行环境的信息,包括以下信息中的至少一种:用于模拟CPU使用量的信息、用于模拟内存使用量的信息、用于模拟输入输出使用量的信息、用于模拟传感器状态的信息、用于模拟定位功能的信息。通过模拟移动终端运行环境的信息的测试,检查对移动终端的应用程序的进程运行的影响程度。
所述生成测试用模拟信息,具体是采用需要测试的网络协议生成所述测试用模拟信息。包括采用如下方式:使用被拦截的响应信息所采用的网络协议,生成采用该网络协议的所述测试用模拟信息。其中,所述生成采用该网络协议的所述测试用模拟信息,所述测试用模拟信息包括:模拟采用所述网络协议的响应数据、模拟采用所述网络协议的状态行、模拟采用所述网络协议的消息报头。
步骤S104、若否,则将所述响应信息返回给所述移动终端的被测试的应用程序的进程。
本步骤用于在步骤S102中的逻辑判断结果为“否”的情况下,返回被拦截的原始的响应信息。
所述若否,则将所述响应信息返回给所述移动终端的被测试的应用程序的进程。所述信息模拟相关的信息特征与预设的配置信息中模拟信息特征不相符,则返回被拦截的原始的响应信息。
本实施例,通过预设环境配置信息,无需依赖移动网络服务器即可完成预设的模拟测试步骤。采用编译后机器语言实现引用内的数据管理、信息拦截等工作。使用脚本语言实现在本地对数据个性化或者随机化的修改,实现差异化、自动化的数据模拟功能,达到最好的测试效果;使用安全测试工具实现灵活的自动的数据模拟能力。在应用内使用宿主机语言Objective-C及Java实现引用内的数据管理,拦截响应信息等工作。
具体举例如下:
在手机购物的支付环节,由于测试过程不可能实际支付,也就不可能获得银行服务器端正常的响应信息,为了不影响整个测试正常进行,手机端的应用程序的进程向银行提供网络服务的服务器发起支付请求,通过在手机端预先设置的Hook技术拦截银行服务器返回的支付异常的响应信息。预设的配置信息包括:响应信息信息特征、模拟信息特征、生成模拟信息的方法、脚本配置信息和安全性测试工具配置信息等。由配置中心服务器根据预设的模拟测试步骤集中设置,并保存在配置中心服务器的数据库中,测试前下载到手机端相应的数据库中。Hook根据下载到手机端数据库中描述的需要进行模拟替换的响应信息的信息特征,从所述响应信息中获得与信息模拟相关的信息特征;判断与信息模拟相关的信息特征是否与保存在数据库中的模拟信息特征相符,若是,则根据下载到手机端数据库中的生成模拟信息方法生成对应所述被拦截的响应信息的类型的测试用模拟信息,在本具体例子中,所述与信息模拟相关的信息特征,也就是反映该响应信息为对所述进程反馈的支付结果的响应并且响应结果为异常的信息特征。若符合该特征,则所述与信息模拟相关的信息特征与所述模拟信息特征相符合,即步骤S102的判断结果为是,需要进入步骤S103,即生成对应该类型的测试用模拟信息的步骤中。
在本具体实例中,所述生成测试用模拟信息的方法具体采用如下方法:手机端的脚本语言文件根据下载到手机端的数据库中的脚本配置信息生成所述测试用模拟信息,并将该测试用模拟信息返回给手机端的被测试的应用程序的进程;该进程根据测试用模拟信息生成相应的下一步信息,例如待收货信息。
为了进一步测试手机端应用程序进程的强壮性,拦截响应信息后还可以在生成模拟的支付正常的响应信息的同时,指令布置在手机端的fuzz测试工具根据下载到手机端的数据库中的安全性测试工具配置信息生成用于模拟手机端运行环境的信息,包括用于模拟CPU使用量的信息、用于模拟内存使用量的信息、用于模拟输入输出使用量的信息、用于模拟传感器状态的信息、用于模拟定位功能的信息等,增加手机运行的负荷,进一步测试被测试的应用程序的进程在不同负荷下的工作能力。
在上述具体实例中,若所获得的响应信息的信息特征与数据库中的模拟信息特征不相符,则将网络服务器返回的原始响应信息返回给所述手机的被测试的应用程序的进程。
采用本实施例提供的技术方案中,可以按照预设的模拟测试步骤拦截网络服务器返回的响应信息,并根据预设的配置信息生成测试用模拟信息;同样的,可以按照预设的测试进程强壮性的步骤,利用安全性测试工具根据预设的配置信息自动生成测试用模拟信息。利用在配置中心服务器集中设置的预设的配置信息,实现了移动终端测试中,使模拟运营第三方服务器返回结果和模拟特殊场景自动化的问题。进一步的,利用配置信息还可以将预设的模拟测试步骤中不同的测试内容有机的串联在一起,实现数据共享,进而实现预设的模拟测试步骤全链路的测试自动化。
本申请第二实施例提供一种应用程序在移动终端运行情况的测试装置,该应用程序在移动终端运行情况的测试装置与本申请第一实施例提供的应用程序在移动终端运行情况的测试方法相对应,在此予以简要介绍。
请参考图2为本申请第二实施例的单元框图。
如图2所示,所述应用程序在移动终端运行情况的测试装置,包括:拦截响应信息单元201、信息特征判断单元202、生成测试用模拟信息单元203、响应信息返回单元204。
所述拦截响应信息单元201,用于拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征;所述响应信息是指下述信息:位于所述移动终端的被测试的应用程序的进程向网络服务器发起网络请求,所述响应信息是针对所述网络请求返回的响应信息;
所述信息特征判断单元202,用于判断所述信息模拟相关的信息特征是否与预设的配置信息中模拟信息特征相符;
所述生成测试用模拟信息单元203,用于当所述信息特征判断单元的输出为“是”时,则根据所述被拦截的响应信息的类型,生成对应该类型的测试用模拟信息,并将该测试用模拟信息返回给所述移动终端的被测试的应用程序的进程;
所述响应信息返回单元204,用于当所述信息特征判断单元的输出为“否”时,则将所述响应信息返回给所述移动终端的被测试的应用程序的进程。
所述生成测试用模拟信息单元203,包括如下子单元的至少一种:
定制信息子单元,用于采用预先准备的定制信息作为所述模拟信息;
安全测试工具子单元,用于利用安全性测试工具生成所述模拟信息。
所述应用程序在移动终端运行情况的测试装置还包括配置中心单元,用于集中设置所述预设配置信息。
本申请第三实施例提供一种应用程序在移动终端运行情况的测试系统,该应用程序在移动终端运行情况的测试系统与本申请第一实施例和第二实施例提供的应用程序在移动终端运行情况的测试方法和装置相对应,在此予以简要介绍。
请参考图3,该图为本申请第三实施例的系统示意图。
如图3所示,所述应用程序在移动终端运行情况的测试系统,包括:移动终端301、配置中心服务器302、配置信息库303。
所述移动终端301,用于存储被测试的应用程序以及测试模块,在所述应用程序的进程向网络服务器发起网络请求后,所述测试模块执行下述步骤:拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征;判断所述与信息模拟相关的信息特征是否与配置信息库的预设的配置信息中模拟信息特征相符;若是,则根据所述被拦截的响应信息的类型,生成对应该类型的测试用模拟信息,并将该测试用模拟信息返回给所述移动终端的被测试的应用程序的进程;若否,则将所述响应信息返回给所述移动终端的被测试的应用程序的进程;
所述配置中心服务器302,用于集中设置所述预设配置信息,并将所述预设配置信息保存在配置信息库303中;
所述配置信息库303,用于存储预设的配置信息。
如图4所示,所述测试模块,包括拦截响应信息子模块301-1和模拟信息子模块301-2:
所述拦截响应信息子模块301-1,用于移动终端拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征;判断所述与信息模拟相关的信息特征是否与配置信息库的预设的配置信息中模拟信息特征相符;若是,则根据所述信息特征类型向模拟信息子模块发出生成对应该类型的测试用模拟信息的指令;若否,则将所述响应信息返回给所述移动终端的被测试的应用程序的进程;
所述模拟信息子模块301-2,根据拦截响应信息子模块301-1发出的所述指令,采用对应该指令的方法及配置信息库303的预设的配置信息,生成对应所述信息特征类型的测试用模拟信息,并将该测试用模拟信息返回给所述移动终端的被测试的应用程序的进程;所述对应该指令的方法,采用本申请第一实施例提供的应用程序在移动终端运行情况的测试方法。
所述配置信息库303位于所述配置中心服务器302的磁盘或被调用的本地磁盘。
通过上述系统,即可较好的实现前述第一实施例提供的应用程序在移动终端运行情况的测试方法、以及第二实施例提供的应用程序在移动终端运行情况的测试装置;进一步的,利用预设的配置信息还可以将预设的模拟测试步骤中不同的测试内容有机的串联在一起,实现数据共享,进而实现预设的模拟测试步骤全链路的测试自动化。
本申请第四实施例还提供了一种应用程序在移动终端运行情况的测试的计算机可读介质。计算机可读介质,是存储指令的载体,包括:磁带、磁盘、光盘、磁光盘、只读存储器(ROM)、可编程只读存储器(PROM)、视频高密光盘(VCD)、高密度数字视频光盘(DVD)、USB闪存盘等。
本申请提供的所述计算机可读介质实施例描述得比较简单,相关的部分请参见上述提供的所述应用程序在移动终端运行情况的测试方法实施例的对应说明即可。下述描述的实施例仅仅是示意性的。
本申请提供一种计算机可读介质,包括:存储有指令,所述指令能够被处理器加载并执行以下步骤:
拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征;所述响应信息是指下述信息:位于所述移动终端的被测试的应用程序的进程向网络服务器发起网络请求,所述响应信息是针对所述网络请求返回的响应信息;
判断所述与信息模拟相关的信息特征是否与预设的配置信息中模拟信息特征相符;
若是,则根据所述被拦截的响应信息的类型,生成对应该类型的测试用模拟信息,并将该测试用模拟信息返回给所述移动终端的被测试的应用程序的进程;
若否,则将所述响应信息返回给所述移动终端的被测试的应用程序的进程。
本申请第五实施例还提供了一种应用程序在移动终端运行情况的测试的电子设备。所述电子设备,包括:手机、笔记本电脑、平板电脑、POS机、掌上电脑、台式机、服务器等。
本申请提供的所述电子设备实施例描述得比较简单,相关的部分请参见上述提供的所述应用程序在移动终端运行情况的测试方法实施例的对应说明即可。下述描述的实施例仅仅是示意性的。
请参考图5,该图为本申请第五实施例的设备结构示意图。如图5所示,本申请提供一种电子设备,包括:存储器502,以及处理器501;
所述存储器502用于存储计算机可执行指令,所述处理器501用于执行所述计算机可执行指令:
拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征;所述响应信息是指下述信息:位于所述移动终端的被测试的应用程序的进程向网络服务器发起网络请求,所述响应信息是针对所述网络请求返回的响应信息;
判断所述与信息模拟相关的信息特征是否与预设的配置信息中模拟信息特征相符;
若是,则根据所述被拦截的响应信息的类型,生成对应该类型的测试用模拟信息,并将该测试用模拟信息返回给所述移动终端的被测试的应用程序的进程;
若否,则将所述响应信息返回给所述移动终端的被测试的应用程序的进程。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
处理器(Central Processing Unit,CPU)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心(Control Unit)。它的功能主要是解析计算机指令以及处理计算机软件中的数据。处理器主要包括运算器(算术逻辑运算单元,Arithmetic LogicUnit,ALU)和高速缓冲存储器(Cache)及实现它们之间联系的数据总线、控制总线和状态总线。处理器与内部存储器(Memory)和输入/输出(I/O)设备合称为电子计算机三大核心部件。
输入/输出(I/O)设备,是数据处理系统的关键外部设备之一,用于外部设备与计算机主机进行交互,如:键盘、写字板、麦克风、音响、显示器等。输入/输出(I/O)设备与计算机主机相互连接的电路称为输入/输出接口。输入/输出接口通过总线与CPU相连。网络接口属于输入/输出接口,是计算机主机连接各种网络设备的接口。常用的网络接口为以太网接口。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (28)

1.一种应用程序在移动终端运行情况的测试方法,其特征在于,包括:
拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征;所述响应信息是指下述信息:位于所述移动终端的被测试的应用程序的进程向网络服务器发起网络请求,所述响应信息是针对所述网络请求返回的响应信息;
判断所述与信息模拟相关的信息特征是否与预设的配置信息中模拟信息特征相符;
若是,则根据所述被拦截的响应信息的类型,生成对应该类型的测试用模拟信息,并将该测试用模拟信息返回给所述移动终端的被测试的应用程序的进程。
2.根据权利要求1所述应用程序在移动终端运行情况的测试方法,其特征在于,
若与预设的配置信息中模拟信息特征不相符,则将所述响应信息返回给所述移动终端的被测试的应用程序的进程。
3.根据权利要求1所述应用程序在移动终端运行情况的测试方法,其特征在于,所述生成对应该类型的测试用模拟信息,包括:采用预先确定的与所述被拦截的响应信息的类型对应的生成模拟信息的方法,生成所述测试用模拟信息。
4.根据权利要求3所述应用程序在移动终端运行情况的测试方法,其特征在于,所述生成模拟信息的方法,包括如下方法的至少一种:
采用预先准备的定制信息作为所述模拟信息;
利用安全性测试工具生成所述模拟信息。
5.根据权利要求4所述应用程序在移动终端运行情况的测试方法,其特征在于,所述定制信息,采用预设的脚本语言文件根据所述预设的配置信息中脚本配置信息生成。
6.根据权利要求5所述应用程序在移动终端运行情况的测试方法,其特征在于,所述脚本配置信息,包括支持所述脚本语言文件执行预设的模拟测试步骤的信息。
7.根据权利要求5所述应用程序在移动终端运行情况的测试方法,其特征在于,所述预设的脚本语言文件,布置在所述响应信息被拦截的本地。
8.根据权利要求7所述应用程序在移动终端运行情况的测试方法,其特征在于,所述脚本配置信息,布置在所述预设的脚本语言文件所在地或包括预设配置信息的中心服务器,中心服务器的位置区别于所述预设的脚本语言文件所在地。
9.根据权利要求4所述应用程序在移动终端运行情况的测试方法,其特征在于,所述利用安全性测试工具生成所述模拟信息,包括安全性测试工具根据所述预设的配置信息中提供的安全性测试工具配置信息生成。
10.根据权利要求9所述应用程序在移动终端运行情况的测试方法,其特征在于,所述安全性测试工具配置信息,包括支持所述安全性测试工具执行预设的模拟测试步骤的信息。
11.根据权利要求9所述应用程序在移动终端运行情况的测试方法,其特征在于,所述安全性测试工具,布置在以下位置中的至少一处:所述响应信息被拦截的本地或者服务器;所述服务器的位置区别于所述响应信息被拦截的本地。
12.根据权利要求11所述应用程序在移动终端运行情况的测试方法,其特征在于,所述安全性测试工具配置信息,布置在与该安全性测试工具配置信息相对应的所述安全性测试工具所在地或包括预设配置信息的中心服务器;所述中心服务器的位置区别于与该配置信息相对应的所述安全性测试工具所在地。
13.根据权利要求4所述应用程序在移动终端运行情况的测试方法,其特征在于,所述利用安全性测试工具生成所述模拟信息,包括以下信息中的至少一种:用于模拟移动终端运行环境的信息、用于测试进程运行的随机数据。
14.根据权利要求13所述应用程序在移动终端运行情况的测试方法,其特征在于,所述用于模拟移动终端运行环境的信息,包括以下信息中的至少一种:用于模拟CPU使用量的信息、用于模拟内存使用量的信息、用于模拟输入输出使用量的信息、用于模拟传感器状态的信息、用于模拟定位功能的信息。
15.根据权利要求4-14任一项所述应用程序在移动终端运行情况的测试方法,其特征在于,所述安全性测试工具,采用fuzz测试工具。
16.根据权利要求1-14任一项所述应用程序在移动终端运行情况的测试方法,其特征在于,所述拦截网络服务器返回的响应信息的步骤中,所述拦截采用Hook技术。
17.根据权利要求1-14任一项所述应用程序在移动终端运行情况的测试方法,其特征在于,所述生成测试用模拟信息,具体是采用需要测试的网络协议生成所述测试用模拟信息。
18.根据权利要求17任一项所述应用程序在移动终端运行情况的测试方法,其特征在于,所述采用需要测试的网络协议生成所述测试用模拟信息,包括采用如下方式:
使用被拦截的响应信息所采用的网络协议,生成采用该网络协议的所述测试用模拟信息。
19.根据权利要求18所述应用程序在移动终端运行情况的测试方法,其特征在于,所述生成采用该网络协议的所述测试用模拟信息,所述测试用模拟信息包括:模拟采用所述网络协议的响应数据、模拟采用所述网络协议的状态行、模拟采用所述网络协议的消息报头。
20.根据权利要求8或12任一项所述应用程序在移动终端运行情况的测试方法,其特征在于,所述包括预设配置信息的中心服务器,包括用于集中设置所述预设配置信息的配置中心服务器。
21.一种应用程序在移动终端运行情况的测试装置,其特征在于,包括:
拦截响应信息单元,用于拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征;所述响应信息是指下述信息:位于所述移动终端的被测试的应用程序的进程向网络服务器发起网络请求,所述响应信息是针对所述网络请求返回的响应信息;
信息特征判断单元,用于判断所述信息模拟相关的信息特征是否与预设的配置信息中模拟信息特征相符;
生成测试用模拟信息单元,用于当所述信息特征判断单元的输出为“是”时,则根据所述被拦截的响应信息的类型,生成对应该类型的测试用模拟信息,并将该测试用模拟信息返回给所述移动终端的被测试的应用程序的进程;
响应信息返回单元,用于当所述信息特征判断单元的输出为“否”时,则将所述响应信息返回给所述移动终端的被测试的应用程序的进程。
22.根据权利要求21所述应用程序在移动终端运行情况的测试装置,其特征在于,所述生成测试用模拟信息单元,包括如下子单元的至少一种:
定制信息子单元,用于采用预先准备的定制信息作为所述模拟信息;
安全测试工具子单元,用于利用安全性测试工具生成所述模拟信息。
23.根据权利要求21或22任一项所述应用程序在移动终端运行情况的测试装置,其特征在于,还包括配置中心单元,用于集中设置所述预设配置信息。
24.一种应用程序在移动终端运行情况的测试系统,其特征在于,包括:移动终端、配置中心服务器、配置信息库;
所述移动终端,用于存储被测试的应用程序以及测试模块,在所述应用程序的进程向网络服务器发起网络请求后,所述测试模块执行下述步骤:拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征;判断所述与信息模拟相关的信息特征是否与配置信息库的预设的配置信息中模拟信息特征相符;若是,则根据所述被拦截的响应信息的类型,生成对应该类型的测试用模拟信息,并将该测试用模拟信息返回给所述移动终端的被测试的应用程序的进程;若否,则将所述响应信息返回给所述移动终端的被测试的应用程序的进程;
所述配置中心服务器,用于集中设置所述预设配置信息,并将所述预设配置信息保存在配置信息库中;
所述配置信息库,用于存储预设的配置信息。
25.根据权利要求24所述应用程序在移动终端运行情况的测试系统,其特征在于,所述测试模块,包括拦截响应信息子模块和模拟信息子模块:
所述拦截响应信息子模块,用于移动终端拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征;判断所述与信息模拟相关的信息特征是否与配置信息库的预设的配置信息中模拟信息特征相符;若是,则根据所述信息特征类型向模拟信息子模块发出生成对应该类型的测试用模拟信息的指令;若否,则将所述响应信息返回给所述移动终端的被测试的应用程序的进程;
所述模拟信息子模块,根据拦截响应信息子模块发出的所述指令,采用对应该指令的方法及配置信息库的预设的配置信息,生成对应所述信息特征类型的测试用模拟信息,并将该测试用模拟信息返回给所述移动终端的被测试的应用程序的进程;所述对应该指令的方法,包括采用权利要求3-14任一项所述应用程序在移动终端运行情况的测试方法。
26.根据权利要求24所述应用程序在移动终端运行情况的测试系统,其特征在于,所述配置信息库位于所述配置中心服务器的磁盘或被调用的本地磁盘。
27.一种计算机可读介质,其特征在于,存储有指令,所述指令能够被处理器加载并执行以下步骤:
拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征;所述响应信息是指下述信息:位于所述移动终端的被测试的应用程序的进程向网络服务器发起网络请求,所述响应信息是针对所述网络请求返回的响应信息;
判断所述与信息模拟相关的信息特征是否与预设的配置信息中模拟信息特征相符;
若是,则根据所述被拦截的响应信息的类型,生成对应该类型的测试用模拟信息,并将该测试用模拟信息返回给所述移动终端的被测试的应用程序的进程;
若否,则将所述响应信息返回给所述移动终端的被测试的应用程序的进程。
28.一种电子设备,其特征在于包括:存储器,以及处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
拦截网络服务器返回的响应信息,获取与信息模拟相关的信息特征;所述响应信息是指下述信息:位于所述移动终端的被测试的应用程序的进程向网络服务器发起网络请求,所述响应信息是针对所述网络请求返回的响应信息;
判断所述与信息模拟相关的信息特征是否与预设的配置信息中模拟信息特征相符;
若是,则根据所述被拦截的响应信息的类型,生成对应该类型的测试用模拟信息,并将该测试用模拟信息返回给所述移动终端的被测试的应用程序的进程;
若否,则将所述响应信息返回给所述移动终端的被测试的应用程序的进程。
CN201710903369.7A 2017-09-29 2017-09-29 应用程序在移动终端运行情况的测试方法、装置和系统 Active CN109582556B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710903369.7A CN109582556B (zh) 2017-09-29 2017-09-29 应用程序在移动终端运行情况的测试方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710903369.7A CN109582556B (zh) 2017-09-29 2017-09-29 应用程序在移动终端运行情况的测试方法、装置和系统

Publications (2)

Publication Number Publication Date
CN109582556A true CN109582556A (zh) 2019-04-05
CN109582556B CN109582556B (zh) 2022-04-12

Family

ID=65913857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710903369.7A Active CN109582556B (zh) 2017-09-29 2017-09-29 应用程序在移动终端运行情况的测试方法、装置和系统

Country Status (1)

Country Link
CN (1) CN109582556B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110515850A (zh) * 2019-08-29 2019-11-29 北京拉勾网络技术有限公司 一种应用程序测试方法、移动终端及存储介质
CN110727588A (zh) * 2019-09-29 2020-01-24 浙江大搜车软件技术有限公司 网络应用的测试方法、系统、计算机设备和可读存储介质
CN110928769A (zh) * 2019-10-28 2020-03-27 五八有限公司 基于小程序模拟定位的方法、装置、电子设备及存储介质
CN111176981A (zh) * 2019-12-11 2020-05-19 南京理工大学 Android应用网络相关行为测试方法
CN112148580A (zh) * 2019-06-26 2020-12-29 腾讯科技(深圳)有限公司 测试方法、装置及电子设备
CN113204477A (zh) * 2021-03-31 2021-08-03 北京达佳互联信息技术有限公司 应用测试方法、装置、电子设备及存储介质
CN113726770A (zh) * 2021-08-30 2021-11-30 平安国际融资租赁有限公司 数据拦截方法、装置、计算机设备及存储介质
CN114827257A (zh) * 2022-05-10 2022-07-29 携程旅游网络技术(上海)有限公司 企业客户端的应用程序的推送方法、装置、设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130152047A1 (en) * 2011-11-22 2013-06-13 Solano Labs, Inc System for distributed software quality improvement
CN105335283A (zh) * 2014-08-01 2016-02-17 阿里巴巴集团控股有限公司 终端设备中的应用测试方法及装置
CN105354143A (zh) * 2015-12-02 2016-02-24 北京奇虎科技有限公司 一种用于应用程序的测试方法及装置
CN106681922A (zh) * 2016-12-27 2017-05-17 广州唯品会信息科技有限公司 模拟服务器响应方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130152047A1 (en) * 2011-11-22 2013-06-13 Solano Labs, Inc System for distributed software quality improvement
CN105335283A (zh) * 2014-08-01 2016-02-17 阿里巴巴集团控股有限公司 终端设备中的应用测试方法及装置
CN105354143A (zh) * 2015-12-02 2016-02-24 北京奇虎科技有限公司 一种用于应用程序的测试方法及装置
CN106681922A (zh) * 2016-12-27 2017-05-17 广州唯品会信息科技有限公司 模拟服务器响应方法及系统

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112148580A (zh) * 2019-06-26 2020-12-29 腾讯科技(深圳)有限公司 测试方法、装置及电子设备
CN112148580B (zh) * 2019-06-26 2024-01-30 腾讯科技(深圳)有限公司 测试方法、装置及电子设备
CN110515850A (zh) * 2019-08-29 2019-11-29 北京拉勾网络技术有限公司 一种应用程序测试方法、移动终端及存储介质
CN110727588A (zh) * 2019-09-29 2020-01-24 浙江大搜车软件技术有限公司 网络应用的测试方法、系统、计算机设备和可读存储介质
CN110727588B (zh) * 2019-09-29 2023-12-12 浙江大搜车软件技术有限公司 网络应用的测试方法、系统、计算机设备和可读存储介质
CN110928769B (zh) * 2019-10-28 2023-10-20 五八有限公司 基于小程序模拟定位的方法、装置、电子设备及存储介质
CN110928769A (zh) * 2019-10-28 2020-03-27 五八有限公司 基于小程序模拟定位的方法、装置、电子设备及存储介质
CN111176981A (zh) * 2019-12-11 2020-05-19 南京理工大学 Android应用网络相关行为测试方法
CN111176981B (zh) * 2019-12-11 2022-10-21 南京理工大学 Android应用网络相关行为测试方法
CN113204477B (zh) * 2021-03-31 2024-01-12 北京达佳互联信息技术有限公司 应用测试方法、装置、电子设备及存储介质
CN113204477A (zh) * 2021-03-31 2021-08-03 北京达佳互联信息技术有限公司 应用测试方法、装置、电子设备及存储介质
CN113726770A (zh) * 2021-08-30 2021-11-30 平安国际融资租赁有限公司 数据拦截方法、装置、计算机设备及存储介质
CN114827257A (zh) * 2022-05-10 2022-07-29 携程旅游网络技术(上海)有限公司 企业客户端的应用程序的推送方法、装置、设备和介质

Also Published As

Publication number Publication date
CN109582556B (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
CN109582556A (zh) 一种应用程序在移动终端运行情况的测试方法、装置和系统
US9697108B2 (en) System, method, and apparatus for automatic recording and replaying of application executions
US8141043B2 (en) Automated business process testing that spans multiple platforms or applications
US8819638B2 (en) Application protoyping suite
CN105100127B (zh) 用于验证在云计算环境中的应用部署拓扑的设备和方法
US20200201689A1 (en) System and method for determining a process flow of a software application and for automatically generating application testing code
CN109302522A (zh) 测试方法、装置以及计算机系统和介质
CN105389263B (zh) 应用软件权限监控方法、系统及设备
CN110262964A (zh) 测试方法、装置、设备及计算机可读存储介质
CN108009087A (zh) 数据库测试方法、装置及计算机可读存储介质
US20230036072A1 (en) AI-Based Method and System for Testing Chatbots
CN109726108A (zh) 基于模拟数据的前端代码测试方法、装置、系统和介质
CN107797932A (zh) 支付回调的获取方法、装置及存储介质
CN110347604A (zh) 编程接口测试方法及设备、电子设备和可读存储介质
CN110363009A (zh) 应用程序安全测试方法、装置和计算机可读存储介质
US8661305B2 (en) Method and system for test vector generation
US11027202B2 (en) Computerized gaming system and method of operating thereof
US10310962B2 (en) Infrastructure rule generation
US11368554B2 (en) Systems and methods for regulating service behavior
CN116346660A (zh) 基于依赖替换服务的数据处理方法、装置、设备及介质
CN109976773A (zh) 游戏测试环境的部署方法和装置
KR101004082B1 (ko) 금융시스템 자동 테스트 방법 및 시스템과 이를 위한프로그램 기록매체
CN107885755A (zh) 应用资源信息的控制方法及装置
CN113515452A (zh) 应用的自动测试方法、系统、电子设备及存储介质
CN113495498A (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
GR01 Patent grant
GR01 Patent grant