CN108664395B - 应用程序测试方法、装置、设备及存储介质 - Google Patents

应用程序测试方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN108664395B
CN108664395B CN201810386060.XA CN201810386060A CN108664395B CN 108664395 B CN108664395 B CN 108664395B CN 201810386060 A CN201810386060 A CN 201810386060A CN 108664395 B CN108664395 B CN 108664395B
Authority
CN
China
Prior art keywords
application
terminal
network
application program
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.)
Active
Application number
CN201810386060.XA
Other languages
English (en)
Other versions
CN108664395A (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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810386060.XA priority Critical patent/CN108664395B/zh
Publication of CN108664395A publication Critical patent/CN108664395A/zh
Application granted granted Critical
Publication of CN108664395B publication Critical patent/CN108664395B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • 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/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明实施例公开了一种应用程序测试方法、装置、设备及存储介质。该方法包括:应用测试终端接收与目标应用程序对应的输入数据;所述应用测试终端依据所述输入数据生成网络请求数据,并通过预先建立的网络连接,将所述网络请求数据发送至应用执行终端;所述应用测试终端通过所述网络连接,接收所述应用执行终端依据所述网络请求数据执行所述目标应用程序时生成的反馈结果,对所述目标应用程序进行测试。通过上述技术方案,实现了在应用测试终端,对运行于应用执行终端中的目标应用程序进行程序测试,使得应用测试终端能够实时获取目标应用程序测试所需的准确数据,从而提高目标应用程序测试的实时性、准确性及便捷性。

Description

应用程序测试方法、装置、设备及存储介质
技术领域
本发明实施例涉及计算机技术,尤其涉及一种应用程序测试方法、装置、设备及存储介质。
背景技术
为了提高诸如智能手机和平板电脑等移动终端的性能,一些移动终端设备厂商提供了移动终端专用的CPU芯片及相应的指令集,例如ARM芯片和ARM架构处理器扩展结构(NEON)指令集,开发人员可以基于NEON指令集来实现移动终端中的不同功能,比如视频编解码功能或用户身份验证功能等。
虽然基于移动终端专用的CPU芯片和相应的指令集进行程序开发,能够提高移动终端的运行性能及信息安全性。但是,由于指令的差异,基于NEON指令集开发的移动终端的应用程序,只能在移动终端上运行,无法在诸如台式电脑或服务器等非移动终端上运行。这样就只能对该应用程序进行功能可否实现的简单功能测试,而无法借助PC终端或服务器等非移动终端的功能测试工具或者开发人员自行编写的功能测试脚本,对该应用程序进行完整的程序测试,比如功能测试、安全测试、性能测试以及兼容性测试等,使得对应用程序的完整测试变得极为不便。
发明内容
本发明实施例提供一种应用程序测试方法、装置、设备及存储介质,以实现更加实时且准确地对应用程序进行程序测试。
第一方面,本发明实施例提供了一种应用程序测试方法,包括:
应用测试终端接收与目标应用程序对应的输入数据;
所述应用测试终端依据所述输入数据生成网络请求数据,并通过预先建立的网络连接,将所述网络请求数据发送至应用执行终端;
所述应用测试终端通过所述网络连接,接收所述应用执行终端依据所述网络请求数据执行所述目标应用程序时生成的反馈结果,对所述目标应用程序进行测试。
第二方面,本发明实施例还提供了一种应用程序测试装置,该装置包括:
输入数据接收模块,用于接收与目标应用程序对应的输入数据;
网络请求数据发送模块,用于依据所述输入数据生成网络请求数据,并通过预先建立的网络连接,将所述网络请求数据发送至应用执行终端;
测试模块,用于通过所述网络连接,接收所述应用执行终端依据所述网络请求数据执行所述目标应用程序时生成的反馈结果,对所述目标应用程序进行测试。
第三方面,本发明实施例还提供了一种设备,该设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的应用程序测试方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例所提供的应用程序测试方法。
本发明实施例中应用测试终端通过预先建立的应用测试终端与应用执行终端之间的网络连接,将接收的与目标应用程序对应的输入数据发送至应用执行终端,以触发应用执行终端实时地执行目标应用程序生成测试必需的反馈结果,并根据反馈结果对目标应用程序进行测试,实现了在应用测试终端,对运行于应用执行终端中的目标应用程序进行程序测试,使得应用测试终端能够实时获取目标应用程序测试所需的准确数据,从而提高目标应用程序测试的实时性、准确性及便捷性。
附图说明
图1是本发明实施例一中的一种应用程序测试方法的流程图;
图2是本发明实施例二中的一种应用程序测试方法的流程图;
图3是本发明实施例三中的一种应用程序测试方法的流程图;
图4是本发明实施例三中的TCP网络连接示意图;
图5是本发明实施例四中的一种应用程序测试装置的结构示意图;
图6是本发明实施例五中的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
本实施例提供的应用程序测试方法可适用于在应用测试终端,对应用执行终端中的目标应用程序进行完整的程序测试,且该目标应用程序中的输入数据和/或对应的输出数据无法预先确定的情况。该方法可以由应用程序测试装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在具备完整的应用程序测试的设备中,例如典型的是非移动终端设备,例如台式电脑或服务器等。参见图1,本实施的方法具体包括如下步骤:
S110、应用测试终端接收与目标应用程序对应的输入数据。
其中,应用测试终端是指用于进行应用程序测试的终端,例如可以是台式电脑(即PC终端)或服务器等非移动终端。目标应用程序是指待测试的应用程序,例如可以是直播应用、购物应用及办公应用等。输入数据是指目标应用程序得以执行的必需的启动数据,其可以是用户输入的数据,也可以是服务器下发的数据,还可以是应用测试终端内置的数据,例如可以是用户名及登录密码等身份验证信息,也可以是待执行打开或加密等操作的文件数据,也可以是用于加密信息的随机数,还可以是待解码的视频数据等。
具体地,将目标应用程序设置于应用测试终端中,用于进行程序测试。应用测试终端则开始执行该目标应用程序,接收该目标应用程序对应的输入数据。例如,可以是应用测试终端接收用户输入的输入数据;也可以是应用测试终端向服务器发送数据获取请求,并接收服务器对数据获取请求进行响应而下发的响应数据作为输入数据;还可以是应用测试终端根据输入数据在其内部的预置路径,进行输入数据的查找与获取。
S120、应用测试终端依据输入数据生成网络请求数据,并通过预先建立的网络连接,将网络请求数据发送至应用执行终端。
其中,预先建立的网络连接是指预先在应用测试终端和应用执行终端之间建立的,能够进行网络传输的连接。应用执行终端是指目标应用程序开发时设定的应用运行终端,例如可以是智能手机或平板电脑等移动终端。
具体地,应用测试终端在与应用执行终端进行数据传输之前,需要预先构建两端之间的网络连接。考虑到应用执行终端是用于接收数据的,故可以在应用执行终端构建网络连接的服务器,而在应用测试终端构建网络连接的客户端。在两端均构建了相应的网络连接程序之后,可以实现两端之间的网络连接。之后,应用测试终端根据预先建立的网络连接对应的网络传输协议,将输入数据封装为网络请求数据。之后,通过网络连接,将该网络请求数据发送给应用执行终端。
S130、应用测试终端通过网络连接,接收应用执行终端依据网络请求数据执行目标应用程序时生成的反馈结果,对目标应用程序进行测试。
具体地,应用执行终端在获取到网络请求数据之后,需要利用网络传输协议对网络请求数据进行解析,以获取到网络请求数据中携带的输入数据。之后,以输入数据为程序启动数据,执行目标应用程序,生成输入数据对应的输出数据,即反馈结果。再通过预先建立的网络连接,将该反馈结果反馈至应用测试终端。应用测试终端则以该反馈结果为测试数据,并利用该测试数据,对目标应用程序进行程序测试,比如功能可否实现的功能测试,程序运行是否稳定的边界条件测试和压力测试等性能测试,程序是否存在安全漏洞等的安全测试及程序兼容性测试等。
本实施例的技术方案,应用测试终端通过预先建立的应用测试终端与应用执行终端之间的网络连接,将接收的与目标应用程序对应的输入数据发送至应用执行终端,以触发应用执行终端执行目标应用程序生成测试必需的反馈结果,并根据反馈结果对目标应用程序进行测试,实现了在应用测试终端,对运行于应用执行终端中的目标应用程序进行程序测试,使得应用测试终端能够实时获取目标应用程序测试所需数据,从而提高目标应用程序测试的实时性及准确性。
示例性地,在上述技术方案的基础上,目标应用程序中包含待模拟功能,待模拟功能基于NEON指令集实现。
其中,待模拟功能是指应用测试终端执行目标应用程序时,需要模拟的目标应用程序中的功能,例如可以是身份验证功能、数据加解密功能或视频编解码功能等。NEON指令集是ARM架构处理器扩展结构指令集。
具体地,目标应用程序所能实现的诸多功能中包含待模拟功能,该待模拟功能是基于移动终端专有芯片和专有指令集NEON指令集实现的,也就是说,该目标应用程序中的待模拟功能在进行程序开发时,所依赖的指令集为NEON指令集。这样,采用移动终端专有指令集进行功能开发,不仅能够提高移动终端中相应功能的运行速度,而且使得该功能仅可运行于移动终端,从而避免黑客在非移动终端对该待模拟功能进行模拟,以实施一些非法行为,比如刷单行为或伪造直播主播的虚假人气行为等,能够对移动终端应用起到一定的保护作用。
但是,正是由于基于NEON指令集实现的功能无法在非移动终端执行,故非移动终端无法对包含待模拟功能在内的应用程序直接进行程序测试。所以,本发明实施例中采用应用测试终端与应用执行终端之间进行网络连接的形式,达到在应用测试终端对目标应用程序中待模拟功能的模拟,使得目标应用程序能够运行于应用测试终端,进而使得应用测试终端能够对目标应用程序进行程序测试。本发明实施例中的应用程序测试方法尤其适用于目标应用程序只能在应用执行终端中运行,而无法在应用测试终端中运行时,对目标应用程序进行程序测试的情况。
实施例二
本实施例在上述实施例一的基础上,以待模拟功能为身份验证功能为例,对应用程序测试方法进行详细说明。其中与上述各实施例相同或相应的术语的解释在此不再赘述。
在对本实施例的应用程序测试方法进行详细说明之前,先对以身份验证功能为例时的输入输出数据进行说明。
示例性地,待模拟功能包括身验证功能,输入数据包括身份验证信息、随机数及当前时间戳,反馈结果包括目标身份验证加密信息。
其中,随机数是一个由随机数生成设备依据特定的随机数生成规则生成的数值,其优选是依据实时的随机数生成触发条件实时生成,以保证程序测试数据的实时性;也可以是根据随机数生成规则预先生成,预先生成的随机数可以以列表形式存储于随机数生成设备(如服务器)或应用测试终端(非移动终端)中,以供应用测试终端调取,减少程序测试的交互过程。当前时间戳是指身份验证功能执行时的当前系统时间,其可以由应用测试终端在监测到身份验证功能执行时,实时获取当前系统时间来确定。目标身份验证加密信息是指最终确定的对身份验证信息加密后的身份验证加密信息。
具体地,待模拟功能为身份验证功能,也就是说,目标应用程序中包含身份验证功能,该身份验证功能是基于NEON指令集开发的,其只能运行于移动终端,而不可运行于PC终端或服务器。例如,直播应用软件中的用户登录功能,其密码加密算法是基于NEON指令来完成的。如果非移动终端要利用测试脚本对直播应用软件进行程序测试,那么首先需要进行登录。然而,由于其算法是NEON指令,所以无法通过脚本直接登录。此时,需要通过本发明实施例所提供的应用程序测试方法来实现。
当待模拟功能包括身份验证功能时,输入数据则应当包括身份验证信息。又考虑到信息安全性,需要对身份验证信息进行加密传输,故输入数据还可以包括能够对身份验证信息加密的随机数以及当前时间戳。相应地,应用执行终端的反馈结果就应当是对身份验证信息加密之后的目标身份验证加密信息。
参见图2,本实施例提供的应用程序测试方法包括:
S210、应用测试终端接收与目标应用程序对应的身份验证信息、随机数及当前时间戳。
具体地,应用测试终端执行目标应用程序,例如直播应用软件,至用户登录界面时,即启动了目标应用程序在应用测试终端的身份验证功能。此时,应用测试终端接收用户输入的身份验证信息,同时获取当前系统时间作为当前时间戳,并向服务器发送随机数获取请求。服务器则依据随机数获取请求,依据随机数生成规则生成一个随机数,并将该随机数下发至应用测试终端。
S220、应用测试终端依据身份验证信息、随机数及当前时间戳,生成网络请求数据,并通过预先建立的网络连接,将网络请求数据发送至应用执行终端。
具体地,应用测试终端根据网络连接对应的网络传输协议,将身份验证信息、随机数及当前时间戳封装为网络请求数据。之后,通过网络连接,将该网络请求数据发送给应用执行终端。
S230、应用测试终端通过网络连接,接收应用执行终端依据网络请求数据执行目标应用程序时生成的目标身份验证加密信息,并依据目标身份验证加密信息,对目标应用程序进行测试。
示例性地,应用执行终端依据网络请求数据执行目标应用程序时生成反馈结果包括:应用执行终端依据与网络连接对应的网络传输协议,解析网络请求数据,获得身份验证信息、随机数及当前时间戳;应用执行终端依据身份验证信息、随机数及当前时间戳,执行目标应用程序时,调用预设验证加密程序,生成目标身份验证加密信息。
其中,预设验证加密程序是指预先设置的,用于根据输入数据对身份验证信息进行加密的程序。示例性地,预设验证加密程序包括数据传输接口及身份验证加密程序。这里的身份验证加密程序与应用执行终端中目标应用程序中身份验证功能的实现程序对应一致。
具体地,应用执行终端通过与应用测试终端的网络连接接收到网络请求数据之后,利用相应的网络传输协议,对该网络请求数据进行解析,获取到网络请求数据中携带的身份验证信息、随机数及当前时间戳。然后,应用执行终端以身份验证信息、随机数及当前时间戳为输入数据,调用预设验证加密程序,实现对身份验证信息的加密,生成目标身份验证加密信息。
进一步地,应用执行终端依据身份验证信息、随机数及当前时间戳,执行目标应用程序时,调用预设验证加密程序,生成目标身份验证加密信息包括:应用执行终端通过数据传输接口,接收身份验证信息、随机数及当前时间戳;应用执行终端利用随机数,采用消息摘要算法,对身份验证信息加密,获得初始身份验证加密信息;应用执行终端利用当前时间戳,采用预设NEON加密算法,对初始身份验证加密信息加密,获得目标身份验证加密信息。
其中,预设NEON加密算法基于NEON指令集生成,即预先利用NEON指令编写的加密算法。
具体地,以运行于移动终端的直播应用软件中的用户登录功能的为例。应用执行终端(移动终端)中的直播应用软件进入登录页面时,其通过预设验证加密程序中的数据传输接口接收身份验证信息(如登录密码)、随机数及当前时间戳。之后,移动终端依据登录密码和随机数,利用第五版消息摘要算法(MD5),计算MD5值,获得一次加密结果,即初始身份验证加密信息。然后,依据当前时间戳,利用预设NEON加密算法,对计算的MD5值做进一步的加密计算,获得二次加密结果,即目标身份验证加密信息。其具体实现过程可以如下:
Result=Md5.Create(server_rand_data+password);
Result2=Neon_encrypt(Result,timestamp)。
其中,Md5.Create则是MD5的计算接口,server_rand_data是服务器生成的随机数,password是用户输入的登录密码,Result是初始身份验证加密信息,Neon_encrypt是预设NEON加密算法的计算接口,timestamp是当前时间戳,Result2是目标身份验证加密信息。
应用测试终端通过网络连接获取到目标身份验证加密信息之后,将该目标身份验证加密信息发送给服务器进行登录验证,则可以实现登录功能,完成通过非移动终端对移动终端中身份验证功能的模拟,并可进一步对直播应用软件的后续程序进行程序测试。
本实施例的技术方案,以身份验证功能为例,通过应用测试终端接收用户输入的身份验证信息以及从服务器获取随机数,能够使得应用测试终端对目标应用程序的测试更加全面。通过应用测试终端接收应用执行终端执行目标应用程序后返回的目标身份验证加密信息,并对目标应用程序进行测试,能够用网络连接实时返回的数据,对应用测试终端中身份验证功能对应的程序代码进行屏蔽,从而实现对移动终端中身份验证功能的模拟,使得基于移动终端专有指令集开发的功能程序能够运行于非移动终端,进而使得非移动终端更加实时且准确地对目标应用程序进行程序测试。
实施例三
本实施例在上述实施例一的基础上,对“应用测试终端通过预先建立的网络连接,将网络请求数据发送至应用执行终端”进行了进一步优化。其中与上述各实施例相同或相应的术语的解释在此不再赘述。参见图3,本实施例提供的应用程序测试方法包括:
S310、应用测试终端接收与目标应用程序对应的输入数据。
S320、应用测试终端依据输入数据生成网络请求数据,并通过预先建立的传输控制协议TCP网络连接,将网络请求数据发送至应用执行终端。
具体地,应用测试终端与应用执行终端之间预先建立的网络连接具体为传输控制协议TCP网络连接,在应用执行终端上搭建TCP网络服务器,即在应用执行终端上编写TCP服务器程序,在应用测试终端上搭建TCP网络客户端,即在应用测试终端上编写TCP客户端程序,进而实现两端之间的TCP网络连接。
在确定TCP网络连接之后,应用测试终端根据TCP传输控制协议,封装输入数据,生成网络请求数据。之后,通过建立的TCP网络连接,将该网络请求数据发送至应用执行终端。
示例性地,应用测试终端通过预先建立的传输控制协议TCP网络连接,将网络请求数据发送至应用执行终端包括:应用测试终端创建传输控制协议TCP的客户端网络套接字,并通过客户端网络套接字,向应用执行终端创建的传输控制协议TCP服务器发送网络连接请求;应用执行终端创建独立线程,用于创建传输控制协议TCP的服务器网络套接字,并绑定端口至服务器网络套接字;应用执行终端通过端口监听网络连接请求,并在监听到网络连接请求时,接收应用测试终端的网络连接请求,以建立传输控制协议TCP网络连接;应用测试终端通过传输控制协议TCP网络连接,将网络请求数据发送至应用执行终端。
具体地,在建立TCP网络连接之前,依据传输控制协议TCP协议及本发明实施例中需要TCP网络连接实现的功能,对应用测试终端和应用执行终端的通信协议格式和通信协议内容进行设计。这里仍以直播应用软件中的用户登录为例,其具体设计可以为:
应用测试终端中TCP客户端发送给应用执行终端的请求协议设计为:
type@=req_calc/
其中,type@=req_calc表示消息的请求头,标识消息类型。
然后则是紧跟协议的参数(网络请求数据):
type@=req_calc/timestamp@=1522152858633/password@=******
其中包括当前时间戳参数timestamp@=1522152858633,及用户登录密码参数password@=******。
应用执行终端中TCP服务器回应TCP客户端的数据协议格式设计如下:
type@=res_calc/
其中,type@=res_calc表示消息的请求头,标识消息类型。
然后则是紧跟协议的参数(反馈结果):
type@=req_calc/result@=xxxxxx
其中包括计算的反馈结果值result@=xxxxxx。
在对两端的通信协议格式和通信协议内容设计完成之后,需要在两端分别构建相应的网络连接程序。
在应用执行终端中开辟一个独立线程,用于创建TCP服务器程序,例如创建TCP服务,帧听其他TCP客户端连接过来的消息,及接收TCP客户端的连接等。其简单的实现流程如下:
1、创建TCP服务器一侧的网络套接字socket(即服务器网络套接字):
int listenfd=socket(AF_INET,SOCK_STREAM,0)
2、绑定端口到服务器网络套接字上:
servaddr.sin_family=AF_INET;//地址族
ervaddr.sin_addr.s_addr=htonl(INADDR_ANY);//INADDR_ANY指定IP地址为0.0.0.0(所有地址)
servaddr.sin_port=htons(13);//端口号(主机字节序到网络字节序)
bind(listenfd,(struct sockaddr*)&servaddr,sizeof(servaddr));
3、监听TCP客户端的套接字(即客户端套接字):
listen(listenfd,5);//指定允许在该监听描述符上排队的最大客户连接数为5个。
4、等待TCP客户端的连接:
connfd=accept(listenfd,(struct sockaddr*)&cliaddr,&clilen));
5、接收TCP客户端连接后发送的网络请求数据。
当应用测试终端连接上应用执行终端中建立的TCP服务器程序后,则会发送请求的网络请求数据,具体则是上文定义的通信协议内容:
type@=req_calc/timestamp@=1522152858633/password@=xxxxxx。
在应用测试终端创建连接TCP服务器的TCP客户端程序,其简单的实现流程如下:
1、创建TCP客户端一侧的客户端网络套接字socket:
int listenfd=socket(AF_INET,SOCK_STREAM,0)
2、建立与应用执行终端中的TCP服务器的连接:
servaddr.sin_family=AF_INET;//地址族
servaddr.sin_port=htons(13);//端口号(主机字节序到网络字节序)
connect(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr))
3、写入网络请求数据,并发送给应用执行终端中的TCP服务器:
write(sockfd,buf,strlen(buf));//buf则是写入的网络请求数据。
S330、应用测试终端通过TCP网络连接,接收应用执行终端依据网络请求数据执行目标应用程序时生成的反馈结果,对目标应用程序进行测试。
具体地,应用测试终端通过TCP网络连接,从应用执行终端中的TCP服务器接收反馈结果,其实现为:Read(sockfd,buf,sizeof(buf))。
参见图4,基于本发明实施例提供的各个实施例,应用测试方法的整个实现流程具体为:应用测试终端(非移动终端)410对直播应用软件进行测试,运行至用户登录界面时,即启动了目标应用程序在应用测试终端的身份验证功能。此时,应用测试终端410通过预先创建的TCP客户端来连接应用执行终端(移动终端)420中的TCP服务器,并通过建立的TCP网络连接,将封装有身份验证信息、随机数和当前时间戳的网络请求数据,发送至应用执行终端420的TCP服务器。应用执行终端420的TCP服务器则对接收到的网络请求数据进行解析,获得身份验证信息、随机数和当前时间戳,并依据获得的数据,调用预设验证加密程序,生成目标身份验证加密信息。之后,应用执行终端420将目标身份验证加密信息进行封装,并将封装的反馈结果,通过TCP网络连接,发送至应用测试终端410。应用测试终端410则对接收的数据进行解析,获得目标身份验证加密信息,进而使得应用测试终端可以继续对直播应用软件的后续程序进行程序测试。
本实施例的技术方案,通过在应用测试终端及应用执行终端之间建立TCP网络连接,实现了程序测试所需数据的可靠且高效地传输,提高了应用测试终端对运行于应用执行终端中的目标应用程序进行测试的便利性。
以下是本发明实施例提供的应用程序测试装置的实施例,该装置与上述各实施例的应用程序测试方法属于同一个发明构思,在应用程序测试装置的实施例中未详尽描述的细节内容,可以参考上述应用程序测试方法的实施例。
实施例四
本实施例提供一种应用程序测试装置,配置于应用测试终端,参见图5,该装置具体包括:
输入数据接收模块510,用于接收与目标应用程序对应的输入数据;
网络请求数据发送模块520,用于依据输入数据接收模块510接收的输入数据生成网络请求数据,并通过预先建立的网络连接,将网络请求数据发送至应用执行终端;
测试模块530,用于通过网络连接,接收应用执行终端依据网络请求数据执行目标应用程序时生成的反馈结果,对目标应用程序进行测试。
可选地,目标应用程序中包含待模拟功能,待模拟功能基于NEON指令集实现。
可选地,待模拟功能包括身验证功能,输入数据包括身份验证信息、随机数及当前时间戳,反馈结果包括目标身份验证加密信息。
可选地,测试模块530具体用于:
应用执行终端依据与网络连接对应的网络传输协议,解析网络请求数据,获得身份验证信息、随机数及时间戳;
应用执行终端依据身份验证信息、随机数及当前时间戳,执行目标应用程序时,调用预设验证加密程序,生成目标身份验证加密信息,其中,预设验证加密程序包括数据传输接口及身份验证加密程序。
进一步地,测试模块530具体用于:
应用执行终端通过数据传输接口,接收身份验证信息、随机数及当前时间戳;
应用执行终端利用随机数,采用消息摘要算法,对身份验证信息加密,获得初始身份验证加密信息;
应用执行终端利用当前时间戳,采用预设NEON加密算法,对初始身份验证加密信息加密,获得目标身份验证加密信息,其中,预设NEON加密算法基于NEON指令集生成。
可选地,网络请求数据发送模块520具体用于:
应用测试终端通过预先建立的传输控制协议TCP网络连接,将网络请求数据发送至应用执行终端。
进一步地,网络请求数据发送模块520具体用于:
应用测试终端创建传输控制协议TCP的客户端网络套接字,并通过客户端网络套接字,向应用执行终端创建的传输控制协议TCP服务器发送网络连接请求;
应用执行终端创建独立线程,用于创建传输控制协议TCP的服务器网络套接字,并绑定端口至服务器网络套接字;
应用执行终端通过端口监听网络连接请求,并在监听到网络连接请求时,接收应用测试终端的网络连接请求,以建立传输控制协议TCP网络连接;
应用测试终端通过传输控制协议TCP网络连接,将网络请求数据发送至应用执行终端。
通过本发明实施例四的一种应用程序测试装置,实现了在应用测试终端,对运行于应用执行终端中的目标应用程序进行程序测试,使得应用测试终端能够实时获取目标应用程序测试所需的准确数据,从而提高目标应用程序测试的实时性、准确性及便捷性。
本发明实施例所提供的应用程序测试装置可执行本发明任意实施例所提供的应用程序测试方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述应用程序测试装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例五
参见图6,本实施例提供了一种设备600,其包括:一个或多个处理器620;存储装置610,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器620执行,使得一个或多个处理器620实现本发明实施例所提供的应用程序测试方法,包括:
应用测试终端接收与目标应用程序对应的输入数据;
应用测试终端依据输入数据生成网络请求数据,并通过预先建立的网络连接,将网络请求数据发送至应用执行终端;
应用测试终端通过网络连接,接收应用执行终端依据网络请求数据执行目标应用程序时生成的反馈结果,对目标应用程序进行测试。
当然,本领域技术人员可以理解,处理器620还可以实现本发明任意实施例所提供的应用程序测试方法的技术方案。
图6显示的设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,该设备600包括处理器620、存储装置610、输入装置630和输出装置640;设备中处理器620的数量可以是一个或多个,图6中以一个处理器620为例;设备中的处理器620、存储装置610、输入装置630和输出装置640可以通过总线或其他方式连接,图6中以通过总线650连接为例。
存储装置610作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的……方法对应的程序指令/模块(例如,配置于应用测试终端中的应用程序测试装置中的输入数据接收模块、网络请求数据发送模块和测试模块)。
存储装置610可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置610可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置610可进一步包括相对于处理器620远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置630可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置640可包括显示屏等显示设备。
实施例六
本实施例提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种应用程序测试方法,该方法包括:
应用测试终端接收与目标应用程序对应的输入数据;
应用测试终端依据输入数据生成网络请求数据,并通过预先建立的网络连接,将网络请求数据发送至应用执行终端;
应用测试终端通过网络连接,接收应用执行终端依据网络请求数据执行目标应用程序时生成的反馈结果,对目标应用程序进行测试。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本发明任意实施例所提供的应用程序测试方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所提供的应用程序测试方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (9)

1.一种应用程序测试方法,其特征在于,包括:
应用测试终端接收与目标应用程序对应的输入数据;
所述应用测试终端依据所述输入数据生成网络请求数据,并通过预先建立的网络连接,将所述网络请求数据发送至应用执行终端;
所述应用测试终端通过所述网络连接,接收所述应用执行终端依据所述网络请求数据执行所述目标应用程序时生成的反馈结果,对所述目标应用程序进行测试;
所述应用测试终端是指用于进行应用程序测试的终端,所述应用执行终端是指目标应用程序开发时设定的应用运行终端;
所述目标应用程序中包含待模拟功能,所述待模拟功能基于NEON指令集实现。
2.根据权利要求1所述的方法,其特征在于,所述待模拟功能包括身验证功能,所述输入数据包括身份验证信息、随机数及当前时间戳,所述反馈结果包括目标身份验证加密信息。
3.根据权利要求2所述的方法,其特征在于,所述应用执行终端依据所述网络请求数据执行所述目标应用程序时生成反馈结果包括:
所述应用执行终端依据与所述网络连接对应的网络传输协议,解析所述网络请求数据,获得所述身份验证信息、所述随机数及所述时间戳;
所述应用执行终端依据所述身份验证信息、所述随机数及所述当前时间戳,执行所述目标应用程序时,调用预设验证加密程序,生成目标身份验证加密信息,其中,所述预设验证加密程序包括数据传输接口及身份验证加密程序。
4.根据权利要求3所述的方法,其特征在于,所述应用执行终端依据所述身份验证信息、所述随机数及所述当前时间戳,执行所述目标应用程序时,调用预设验证加密程序,生成目标身份验证加密信息包括:
所述应用执行终端通过所述数据传输接口,接收所述身份验证信息、所述随机数及所述当前时间戳;
所述应用执行终端利用所述随机数,采用消息摘要算法,对所述身份验证信息加密,获得初始身份验证加密信息;
所述应用执行终端利用所述当前时间戳,采用预设NEON加密算法,对所述初始身份验证加密信息加密,获得所述目标身份验证加密信息,其中,所述预设NEON加密算法基于所述NEON指令集生成。
5.根据权利要求1所述的方法,其特征在于,所述应用测试终端通过预先建立的网络连接,将所述网络请求数据发送至应用执行终端包括:
所述应用测试终端通过预先建立的传输控制协议TCP网络连接,将所述网络请求数据发送至所述应用执行终端。
6.根据权利要求5所述的方法,其特征在于,所述应用测试终端通过预先建立的传输控制协议TCP网络连接,将所述网络请求数据发送至所述应用执行终端包括:
所述应用测试终端创建传输控制协议TCP的客户端网络套接字,并通过所述客户端网络套接字,向所述应用执行终端创建的传输控制协议TCP服务器发送网络连接请求;
所述应用执行终端创建独立线程,用于创建传输控制协议TCP的服务器网络套接字,并绑定端口至所述服务器网络套接字;
所述应用执行终端通过所述端口监听所述网络连接请求,并在监听到所述网络连接请求时,接收所述应用测试终端的网络连接请求,以建立所述传输控制协议TCP网络连接;
所述应用测试终端通过所述传输控制协议TCP网络连接,将所述网络请求数据发送至所述应用执行终端。
7.一种应用程序测试装置,配置于应用测试终端,其特征在于,包括:
输入数据接收模块,用于接收与目标应用程序对应的输入数据;
网络请求数据发送模块,用于依据所述输入数据生成网络请求数据,并通过预先建立的网络连接,将所述网络请求数据发送至应用执行终端;
测试模块,用于通过所述网络连接,接收所述应用执行终端依据所述网络请求数据执行所述目标应用程序时生成的反馈结果,对所述目标应用程序进行测试;
所述应用测试终端是指用于进行应用程序测试的终端,所述应用执行终端是指目标应用程序开发时设定的应用运行终端;
所述目标应用程序中包含待模拟功能,所述待模拟功能基于NEON指令集实现。
8.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的应用程序测试方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一所述的应用程序测试方法。
CN201810386060.XA 2018-04-26 2018-04-26 应用程序测试方法、装置、设备及存储介质 Active CN108664395B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810386060.XA CN108664395B (zh) 2018-04-26 2018-04-26 应用程序测试方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810386060.XA CN108664395B (zh) 2018-04-26 2018-04-26 应用程序测试方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN108664395A CN108664395A (zh) 2018-10-16
CN108664395B true CN108664395B (zh) 2022-02-22

Family

ID=63781085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810386060.XA Active CN108664395B (zh) 2018-04-26 2018-04-26 应用程序测试方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN108664395B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109560998B (zh) * 2019-02-02 2022-07-08 腾讯科技(深圳)有限公司 一种网络机制测试方法、装置、终端及存储介质
CN110069397A (zh) * 2019-03-15 2019-07-30 深圳壹账通智能科技有限公司 功能测试方法、装置、计算机设备及存储介质
CN110098980B (zh) * 2019-04-18 2022-06-14 深圳壹账通智能科技有限公司 网络调试方法、装置、计算机设备和存储介质
CN110224897B (zh) * 2019-06-26 2022-10-04 深圳市腾讯信息技术有限公司 应用程序的弱网络测试方法、装置、移动设备及存储介质
CN112448860B (zh) * 2019-08-30 2023-04-07 北京奇艺世纪科技有限公司 一种应用程序的测试方法及相关设备
CN111092906A (zh) * 2019-12-27 2020-05-01 广州市百果园网络科技有限公司 网络数据显示方法、装置、存储介质、设备及系统
CN112367362B (zh) * 2020-10-23 2024-01-09 深圳市信锐网科技术有限公司 一种数据处理方法、装置、设备及计算机存储介质
CN113204477B (zh) * 2021-03-31 2024-01-12 北京达佳互联信息技术有限公司 应用测试方法、装置、电子设备及存储介质
CN113094290B (zh) * 2021-05-21 2024-02-23 珠海金山数字网络科技有限公司 程序测试系统及方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104216826A (zh) * 2013-06-05 2014-12-17 腾讯科技(深圳)有限公司 测试方法及装置
US9852049B2 (en) * 2014-05-27 2017-12-26 International Business Machines Corporation Screenshot validation testing
CN107666470B (zh) * 2016-07-28 2020-05-19 腾讯科技(深圳)有限公司 一种验证信息的处理方法及装置

Also Published As

Publication number Publication date
CN108664395A (zh) 2018-10-16

Similar Documents

Publication Publication Date Title
CN108664395B (zh) 应用程序测试方法、装置、设备及存储介质
CN108650149B (zh) 服务器的测试方法、装置、设备及计算机可读存储介质
CN108628743B (zh) 应用程序测试方法、装置、设备及存储介质
CN111628967B (zh) 日志数据的传输方法、装置、计算机设备和存储介质
WO2016029595A1 (zh) 开放平台的调用方法、装置、设备及非易失性计算机存储介质
CN107689868B (zh) 客户端应用与可信应用的通信方法、装置以及终端
US10262146B2 (en) Application-to-application messaging over an insecure application programming interface
CN108228444B (zh) 一种测试方法和装置
CN109558739B (zh) 程序运行方法、装置、终端及可读介质
CN107862091B (zh) 实现网页访问的控制方法及装置
CN111159019B (zh) 一种应用程序的测试方法、测试控制终端以及测试终端
CN111224834B (zh) 模拟测试方法、装置、服务器及存储介质
CN111865882A (zh) 一种微服务认证方法和系统
WO2019237576A1 (zh) 校验虚拟机通信性能的方法及装置
WO2021179578A1 (zh) 业务逻辑调试方法、装置、设备及计算机可读存储介质
CN111404695A (zh) 令牌请求验证方法和装置
CN111416816A (zh) 联调接口的访问方法、装置、计算机设备和存储介质
WO2022062980A1 (zh) 一种通信方法、装置及电子设备和存储介质
CN104570967B (zh) 基于Android系统的远程控制方法及系统
CN116094793A (zh) 基于数据证书建立运营中心与安全设备连接的方法及系统
CN113204449B (zh) 会话备份方法、计算机可读存储介质及终端设备
CN114996730A (zh) 一种数据加解密系统、方法、计算机设备及存储介质
CN114116448A (zh) 应用程序的压力测试方法、装置、存储介质及计算机设备
CN112685293A (zh) 一种加密接口的测试方法及相关设备
WO2023159900A1 (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