CN108347361A - 应用程序测试方法、装置、计算机设备和存储介质 - Google Patents
应用程序测试方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN108347361A CN108347361A CN201810185270.2A CN201810185270A CN108347361A CN 108347361 A CN108347361 A CN 108347361A CN 201810185270 A CN201810185270 A CN 201810185270A CN 108347361 A CN108347361 A CN 108347361A
- Authority
- CN
- China
- Prior art keywords
- network request
- data
- application program
- request data
- terminal
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种应用程序测试方法、装置、计算机设备和存储介质。所述方法包括:拦截经过应用程序加密后的第一网络请求数据;获取第一网络请求数据的加密类型,并获取与加密类型对应的密钥;通过所获取到的密钥对第一网络请求数据进行解密得到解密数据;显示解密数据,根据解密数据对应用程序进行测试。上述方法通过终端拦截应用程序产生的第一网络请求数据,并根据第一网络请求数据的类型获取对应的密钥,对第一网络请求数据进行解密,将解密后的解密数据显示在终端的显示界面上的;在终端上即可查看对应用程序的测试结果,无需借助其他设备,简化了测试步骤。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种应用程序测试方法、装置、计算机设备和存储介质。
背景技术
随着现代网络科技的发展,手机在我们的日常生活中发挥的作用越来越重要,人们常用手机作为终端,连接网络实现支付和浏览网页等数据交换的功能,各种手机等终端的应用程序也成为研发热门。
在终端进行网络数据交换时,由于应用程序中网络请求数据使用Https(HyperText Transfer Protocol over Secure Socket Layer是以安全为目标的HTTP通道)证书强校验和自定义的数据加密协议,因此在对终端的网络请求进行测试时,无法在终端进行抓包或出现抓包数据乱码的情况,从而需要借助其他测试仪器对终端的应用程序进行测试,测试步骤复杂。
发明内容
基于此,有必要针对上述技术问题,提供一种简化测试步骤的应用程序测试接入方法、装置、计算机设备和存储介质。
一种应用程序测试方法,所述方法包括:
拦截经过应用程序加密后的第一网络请求数据;
获取所述第一网络请求数据的加密类型,并获取与所述加密类型对应的密钥;
通过所获取到的密钥对所述第一网络请求数据进行解密得到解密数据;
显示所述解密数据,根据所述解密数据对所述应用程序进行测试。
在其中的一个实施例中,所述方法还包括:
获取未经过应用程序加密的第二网络请求数据;
所述显示所述解密数据之前,还包括:
将所述解密数据与所述第二网络请求数据进行比较;
当所述解密数据与所述第二网络请求数据不相同时,则输出所述应用程序测试失败的信息。
在其中一个实施例中,所述显示所述解密数据之后,包括:
对所显示的解密数据进行截屏得到屏幕截图;
根据所述屏幕截图以及所述第二网络请求数据生成测试日志。
在其中一个实施例中,所述拦截经过应用程序加密后的第一网络请求数据,包括:
获取终端的处理模式;
当所述处理模式为测试模式时,则获取登录应用程序的账号;
判断与所述账号对应的用户是否具有测试权限;
当与所述账号对用的用户具有测试权限时,则拦截经过应用程序加密后的第一网络请求数据。
在其中一个实施例中,所述方法还包括:
当未获取到与所述加密类型对应的密钥,则生成与所述第一网络请求数据对应的第一异常信息;
显示所述第一异常信息。
在其中一个实施例中,所述拦截经过应用程序加密后的第一网络请求数据之后,还包括:
根据预设规则对所述第一网络请求数据进行物理校验;
当所述第一网络请求数据校验失败时,则生成与所述第一网络请求数据对应的第二异常信息;
显示所述第二异常信息。
在其中的一个实施例中,所述方法还包括:
统计与所述第一网络请求数据对应的流量;
当所述流量超过预设值时,则生成报警通知;
显示所述报警通知。
一种应用程序测试装置,所述装置包括:
拦截模块,用于拦截经过应用程序加密后的第一网络请求数据;
密钥获取模块,用于获取所述第一网络请求数据的加密类型,并获取与所述加密类型对应的密钥;
解密模块,用于通过所获取到的密钥对所述第一网络请求数据进行解密得到解密数据;
显示模块,用于显示所述解密数据,根据所述解密数据对所述应用程序进行测试。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
上述应用程序测试方法、装置、计算机设备和存储介质,终端拦截自身产生的第一网络请求数据,并根据第一网络请求数据的类型获取对应的密钥,对第一网络请求数据进行解密,将解密后的解密数据显示在终端的显示界面上的;在终端访问有Https证书强校验和自定义的数据加密协议的网站时,可以将交互的经过应用程序加密的第一网络请求数据解密后,显示在终端屏幕上,在终端上即可查看对应用程序的测试结果,无需借助其他设备,简化了测试步骤。
附图说明
图1为一个实施例中应用程序测试方法的应用场景图;
图2为一个实施例中应用程序测试方法的流程示意图;
图3为一个实施例中的模式验证步骤的流程示意图;
图4为一个实施例中应用程序测试装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的应用程序测试方法,可以应用于如图1所示的应用环境中。其中,终端通过网络与服务器进行通信。终端通过安装在终端上的应用程序对网络请求数据进行加密,发送给服务器。而在对应用程序加密后的请求数据进行测试时,终端需要在应用程序对网络请求数据进行加密后,将加密后的第一网络请求数据拦截下来,并通过加密类型获取到对应的密钥,通过密钥对加密后的第一网络请求数据解密,并显示在终端的显示界面上。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种应用程序测试方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
S202,拦截经过应用程序加密后的第一网络请求数据。
其中,第一网络请求数据是用于测试应用程序加密功能的数据,是应用程序对向服务器发送的网络请求数据经过加密后得到;如在金融业务中,终端中的应用程序与服务器交互的交易数据需要经过加密算法加密后得到第一网络请求数据,再将第一网络请求数据发送至网络服务器,从而实现终端与网络服务器进行交互。
具体地,终端将应用程序加密后的第一网络请求数据拦截下来进行对应用程序对网络请求数据的加密功能进行测试,例如可以在网络接口处设置拦截函数以将第一网络请求数据进行拦截,该拦截函数的输入可以为该应用程序的标识,从而当拦截函数检测到与该应用程序标识对应的第一网络请求数据时,则将该第一网络请求数据进行拦截。可选地,针对此操作形成一个测试APP(安装在终端上的应用程序),此APP在终端上设置一个网络数据拦截器,拦截终端通过预设的应用程序接口向外发送的所有数据,将其保存在终端的缓存区间。
S204,获取第一网络请求数据的加密类型,并获取与加密类型对应的密钥。
其中,加密类型是终端对网络请求数据加密算法的类型,包括Https证书强校验。Https协议是使用SSL(Secure Sockets Layer)协议用于对HTTP(Hyper Text TransferProtocol超文本传输协议)传输的数据进行加密后的数据,另外还可以包括其他自定义的数据加密协议。
密钥是一种用于将第一网络请求参数解密为明文的参数。数据的发送方和接收方可以使用对应的密钥去加密和解密数据。该密钥可以存储在终端上,或者存储到终端的物理安全芯片中,以保证密钥的安全性。
具体地,在终端对网络请求数据进行加密时,需要根据网络传输协议,或者服务器的识别需求,选取对应的加密算法,对网络请求数据进行加密;由于与终端进行数据交互的服务器要求不同,应用程序对网络请求数据的加密类型也不同;而在对应用程序的测试过程中,重点需要测试应用程序对网络请求数据加密的操作是否正确,因此需要对应用程序已加密的第一网络请求数据进行解密,而在对第一网络请求数据进行解密时,需要调用与加密算法对应的密钥,故在对第一网络请求数据解密前,需要先识别出第一网络请求数据的加密类型,并根据此加密类型获取对应的密钥。
可选地,在对数据进行加密时,重要的数据往往采用哈希算法进行加密。例如,Linux(一种计算机操作系统)密码使用sha512(Secure Hash Algorithm 512版本,安全散列算法),Windows(另一种计算机操作系统)密码采用LM、NTLM,而网站密码采用MD5。这些常见哈希算法有几十种。每种密文都有一定规律。可以使用加密工具来识别数据的加密类型,如Linux提供的hash-identifier(一种判断密文加密类型的工具)。终端将在第一网络请求数据中识别到的加密数据的哈希密文输入加密工具中,就可以得到密文所使用的哈希算法类型,从而获取第一网络请求数据的加密类型。
S206,通过所获取到的密钥对第一网络请求数据进行解密得到解密数据。
终端获取了第一网络请求数据的加密类型和对应的密钥后,可以根据密钥对第一网络请求数据进行加密算法的逆运算,将应用程序经过加密得到的第一网络请求数据解密为可供测试人员检测的明文,即解密数据。
S208,显示解密数据,根据解密数据对应用程序进行测试。
具体地,步骤S206中解密后的解密数据,在终端的显示界面进行显示,然后根据终端显示的解密数据对应用程序对数据加密的功能进行测试。
可选地,将解密后的请求数据按照设预设简略规则进行简化处理,如提取解密后的请求数据的URL地址、请求数据关键字以及返回参数等信息,还可以包括数据类型等信息,将这些信息显示在终端的状态栏中,测试人员点击终端状态栏显示的简化信息即可跳转至对应的解密后数据的详细内容。
上述应用程序测试方法,通过终端拦截自身产生的第一网络请求数据,并根据第一网络请求数据的类型获取对应的密钥,对第一网络请求数据进行解密,将解密后的解密数据显示在终端的显示界面上的;在终端访问有Https证书强校验和自定义的数据加密协议的网站时,可以将交互的经过应用程序加密的第一网络请求数据解密后,显示在终端屏幕上,在终端上即可查看对应用程序的测试结果,无需借助其他设备,简化了测试步骤。
在一个实施例中,上述应用程序测试方法还包括:获取未经过应用程序加密的第二网络请求数据。则上述应用程序测试方法中步骤S208,即显示解密数据之前,还可以包括:将解密数据与第二网络请求数据进行比较;当解密数据与第二网络请求数据不相同时,则输出应用程序测试失败的信息。
具体地,为了验证应用程序对网络请求数据的进行加密的准确性,终端通过所获取到的密钥对第一网络请求数据进行解密得到解密数据之后,需要从应用程序中获取第一网络数据请求加密前的第二网络请求数据,将解密数据与第二网络数据请求相比较,若解密数据与加密前的第二网络数据请求相同,则证明应用程序的加密正确;若不同,则证明应用程序的加密错误,需要将应用程序测试失败的信息输出,以提示测试人员此应用程序可能存在计算错误的问题,测试人员可以针对此应用程序测试失败的信息对应用程序进行排查和纠错。
可选地,终端在输出应用程序测试失败的信息后,可以将此应用程序测试失败的信息显示在终端的显示界面上,也可以存储在终端对应的文件夹中或者发送给测试服务器,测试服务器可以集中收集每个终端的应用程序测试失败的信息,对其进行集中的管理和排错。
上述实施例中,在应用程序测试错误时,输出应用程序测试失败的信息,自动监控应用程序加密错误的数据,并进行自动化管理,提高了上述应用程序测试方法的测试效率。
在一个实施例中,上述应用程序测试方法中步骤S208,即显示解密数据之后,可以包括:对所显示的解密数据进行截屏得到屏幕截图;根据屏幕截图以及第二网络请求数据生成测试日志。
其中,测试日志是用于记录解密数据及与其对应的第二网络请求数据的日志文件;此测试日志可以包括在终端上显示的屏幕截图的存储地址与第二网络请求数据,而屏幕截图则被存储在终端的固定的存储位置,屏幕截图中包含有解密数据。
具体地,在对应用程序进行测试的过程中,可能存在因为数据错误或者解密进程错误导致测试程序异常执行,而造成测试结束,或者终端关机等情况;此时需要记录错误信息和当前已经获取的解密数据,避免数据遗漏和二次测试。可以在终端将第一网络请求数据进行解密后得到的解密数据在终端屏幕上显示后,对显示的内容进行屏幕截图,且将此截图与第二网络请求数据对应产生测试日志,将测试日志存储在终端的预设文件夹里,在造成测试结束的情况消失后,可以通过查看测试日志,来检查发生造成测试结束的情况时,通过查看预设文件夹中的测试日志,来查看此次测试的结果。
可选地,测试日志中还可以包括错误信息,即在由于某种原因造成测试结束时,可以将测试结束时的错误信息一起存入测试日志中。测试人员在造成测试结束的情况消失后,也可以通过查看测试日志,了解造成此次测试结束的原因。其中,错误信息可以是当应用程序测试过程被强制结束时,针对强制结束应用程序的情况,终端返回的信息。如当应用程序测试过程被强制结束的原因为终端断电,则终端返回的错误信息为“测试结束原因:power off(断电)”等。
另外,本实施例中提供的应用程序测试方法也可以实现自动监控应用程序对网络请求数据的加密进程,无需测试人员时刻检查终端屏幕的显示结果,而是通过测试日志的方式,在测试结束后,直接查看测试日志即可查看测试结果,对应用程序的加密功能的测试实现自动化。
上述实施例中,可以在测试由于错误信息而结束时,仍然能够保存测试数据,避免数据丢失,且能够收集错误信息。且根据上述的日志,可以进行自动测试,无需时刻监控测试程序的运行状态,直接根据日志信息检测此段时间间隔内的测试状态,提高测试效率和测试灵活性。
在一个实施例中,请参见图3,上述应用程序测试方法中步骤S202,即拦截经过应用程序加密后的第一网络请求数据之前,还包括模式验证的步骤,此模式验证步骤具体包括:
S302,获取终端的处理模式。
其中,处理模式是操作终端的人员对于终端使用权限的不同模式;当终端处于不同处理模式时,终端允许执行的数据处理权限也不同;处理模式可以包括测试模式、正式使用模式等。
具体地,上述应用程序测试方法可以包括允许对安装在终端上的应用程序和数据进行操作和处理的不同使用权限的多种处理模式。如处理模式可以包括测试模式、正式使用模式等。只有在终端当前处于测试模式时,测试人员才能够执行上述的应用程序测试方法,进入测试过程。而当终端处于非测试模式时,如正式使用模式,则不执行上述应用程序测试方法,测试人员无权限在终端对已加密的第一网络请求数据进行解密、查看。
S304,当处理模式为测试模式时,则获取登录应用程序的账号。
具体地,当检测到终端处于测试模式时,还需要验证正在操作终端的用户是否具有访问权限,可以通过密码验证的方式。由用户输入登录应用程序的账号,若账号验证成功后,则可以执行上述应用程序测试方法。
S306,判断与账号对应的用户是否具有测试权限。
具体地,在步骤S306中用户在终端输入登录应用程序的账号后,终端判断此账号是否有执行上述应用程序测试方法的权限。若此账号无执行上述应用程序测试方法的权限,则终端退出登录页面,不允许用户进行测试。
可选地,当输入的账号无执行上述应用程序测试方法的权限时,终端可以生成一个错误信息,提醒用户账号错误。
S308,当与账号对用的用户具有测试权限时,则拦截经过应用程序加密后的第一网络请求数据。
具体地,当输入的账号无执行上述应用程序测试方法的权限时,运行用户对应用程序进行测试,则继续拦截经过应用程序加密后的第一网络请求数据的步骤,执行上述应用程序测试方法。
可选地,用户访问终端的测试模式的验证方法可以是:通过规定的服务器对终端下发访问测试模式的访问请求,服务器发送的此访问请求中包含密文验证,终端在接收该访问请求后,需要通过应用程序中预设的密钥对密文解密,验证成功后,才可进入测试模式。
上述实施例中,通过验证终端的处理模式,只有终端处于测试模式,且具有访问终端的测试权限时,才可开始应用程序测试步骤,避免非测试人员访问测试模式,避免数据泄露,保证数据安全。
在一个实施例中,上述应用程序测试方法还可以包括:当未获取到与加密类型对应的密钥,则生成与第一网络请求数据对应的第一异常信息;显示第一异常信息。
其中,第一异常信息是用于表示终端无法通过获取到的密钥对所述第一网络请求数据进行解密的错误提醒。第一异常信息可以以短信、弹窗等形式显示在手机等终端的显示界面上。
具体地,在终端拦截到第一网络数据请求后,当未获取到与所述加密类型对应的密钥,则可能是应用程序对第二网络数据请求加密错误,终端无法获取到对应的密钥对第一网络数据请求进行解密,针对此第一请求数据的错误信息生成一个异常信息;将异常信息显示在手机等终端的显示页面上;提示工作人员对此错误进行检测和解决。
可选地,可以将与第一异常信息通过邮件或微信通知等方式发送到后台,后台的工作人员可以根据此异常信息更新手机终端中运行程序的对应部分。也可以通过终端识别第一异常信息中的关键词,在终端的显示界面上只显示关键词信息,如:异常提醒:解密失败等。
另外,终端未获取到与加密类型对应的密钥也可能是由于终端没有存储此加密类型的密钥,可以在终端的密钥库中补充此密钥,继续通过所获取到的密钥对所述第一网络请求数据进行解密的操作。
上述实施例中,可能存在应用程序对第二网络请求数据加密错误,或者终端无法通过已存储的密钥对第一网络请求数据进行解密等错误;这种情况下需要生成第一异常信息,并把第一异常信息显示在终端的显示页面上。通过第一异常信息提醒测试人员对错误原因进行排查,完善此应用程序测试方法。
在一个实施例中,上述应用程序测试方法中步骤S202,即拦截经过应用程序加密后的第一网络请求数据之后,还可以包括:根据预设规则对第一网络请求数据进行物理校验;当第一网络请求数据校验失败时,则生成与第一网络请求数据对应的第二异常信息;显示第二异常信息。
其中,预设规则用于对第一网络请求数据进行物理校验,主要用于检查第一网络请求数据是否符合发送要求,保证经过应用程序加密得到的第一网络请求数据满足与服务器进行数据交互的需要。如当第一网络请求数据代表银行卡片密码时,则应当为不包含空格、固定位数的加密信息,则预设规则可以是验证第一网络请求数据的位数是否正确、是否包含空格等非法字符等。物理校验主要是对第一网络请求数据的格式进行校验。
第二异常信息是用于表示第一网络请求数据进行物理校验失败时的错误信息。第二异常信息可以是以短信、弹窗等形式显示在手机等终端的显示界面上。
具体地,终端拦截经过应用程序加密后的第一网络请求数据之后,对第一网络请求数据根据预设规则进行物理校验,检查第一网络请求数据的形式是否符合与服务器进行数据交互的要求。若第一网络请求数据的无法通过物理校验,则终端生成第二异常信息,并显示在终端上,提醒测试人员对应用程序可能存在错误进行排查。
上述实施例中,通过第二异常信息提醒测试人员关注经过应用程序加密后的第一网络请求数据存在的物理校验错误,并对错误进行排查,完善上述测试方法。
在一个实施例中,上述应用程序测试方法还可以包括:统计与第一网络请求数据对应的流量;当流量超过预设值时,则生成报警通知;显示报警通知。
其中,预设值是用于监控应用程序使用流量的阈值,可以通过第一网络数据请求对应的数据加密协议解码的难易程度、数据大小和测试环境的网络状况等数据进行灵活设置。
报警通知是当应用程序使用流量超过预设值时的报警信息。可以以短信、弹窗等形式显示在终端的显示界面上。
具体地,终端统计应用程序发送加密后的第一网络数据请求所使用的流量;根据统计的流量监测应用程序的运行状况,当流量超过预设值时,表示此应用程序加密后的第一网络请求数据可能存在错误,第一网络请求数据中被添加了其他不需要的内容等,导致第一网络请求数据变大,从而浪费流量。终端生成一个报警通知,并显示在终端的显示页面上。从而测试人员可以根据此报警通知对与第一网络请求数据对应的流程超过预设值的原因进行排查,解决应用程序存在的错误。
上述实施例中,当通过检测与第一网络请求数据对应的流量,来判断第一网络请求数据是否存在错误,简单可靠。
在一个实施例中,在手机上启动一个测试程序,此测试程序支持测试模式和正式模式,在正式模式时,手机不执行上述应用程序测试方法,编译时提供空实现,避免数据泄露。只有当测试程序处于测试模式,且能够通过权限信息验证登录后,才能对应用程序进行测试。在手机执行上述应用程序测试方法时,在底层网络库中添加一个拦截器拦截待测试的应用程序加密后的第一网络请求数据,并添加一个侧边栏视图用于查看网络数据,支持对第一网络请求数据进行解密,得到第二网络请求数据;并将解密数据显示在手机的屏幕上。并将屏幕上显示的解密数据进行截图,与第一网络请求数据加密前对应的第二网络请求数据进行映射保存,生成测试日志。而对于在测试程序对应用程序加密后的数据进行测试的过程中,还可以根据不同的设置识别对应的失败信息,通过在手机屏幕上显示异常信息的方式提示测试人员。
传统的应用程序测试方法中,通常都是通过服务器或测试后台对应用程序进行测试,即手机将请求数据发送至服务器,然后在服务器处获取请求数据,并进行测试等,对于该请求数据的反馈也不会直接表现在手机上;而上述实施例则主要针对在金融类APP中,对于交互数据较少,且关系到数据加密协议时,提供一种更加直观且更符合实际情况的测试方式。
应该理解的是,虽然图2至图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种应用程序测试装置,包括:拦截模块402、密钥获取模块404、解密模块406和显示模块408,其中:
拦截模块402,用于拦截经过应用程序加密后的第一网络请求数据。
密钥获取模块404,用于获取第一网络请求数据的加密类型,并获取与加密类型对应的密钥。
解密模块406,用于通过所获取到的密钥对第一网络请求数据进行解密得到解密数据。
显示模块408,用于显示解密数据,根据解密数据对应用程序进行测试。
在一个实施例中,上述应用程序测试装置还可以包括:原请求模块,用于获取未经过应用程序加密的第二网络请求数据。
加密验证模块,用于将解密数据与第二网络请求数据进行比较;当解密数据与第二网络请求数据不相同时,则输出应用程序测试失败的信息。
在一个实施例中,上述应用程序测试装置还可以包括:日志模块,用于对所显示的解密数据进行截屏得到屏幕截图;根据屏幕截图以及第二网络请求数据生成测试日志。
在一个实施例中,上述应用程序测试装置的拦截模块可以包括:
模式识别单元,用于获取终端的处理模式。
账号获取单元,用于当处理模式为测试模式时,则获取登录应用程序的账号;
权限认证单元,用于判断与账号对应的用户是否具有测试权限。
拦截单元,用于当与账号对用的用户具有测试权限时,则拦截经过应用程序加密后的第一网络请求数据。
在一个实施例中,上述应用程序测试装置还可以包括:第一异常模块,用于当未获取到与加密类型对应的密钥,则生成与第一网络请求数据对应的第一异常信息;显示第一异常信息。
在一个实施例中,上述应用程序测试装置还可以包括:第二异常模块,用于根据预设规则对第一网络请求数据进行物理校验;当第一网络请求数据校验失败时,则生成与第一网络请求数据对应的第二异常信息;显示第二异常信息。
在一个实施例中,上述应用程序测试装置还可以包括:报警模块,用于统计与第一网络请求数据对应的流量;当流量超过预设值时,则生成报警通知;显示报警通知。
关于应用程序测试装置的具体限定可以参见上文中对于应用程序测试方法的限定,在此不再赘述。上述应用程序测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用程序测试方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:拦截经过应用程序加密后的第一网络请求数据;获取第一网络请求数据的加密类型,并获取与加密类型对应的密钥;通过所获取到的密钥对第一网络请求数据进行解密得到解密数据;显示解密数据,根据解密数据对应用程序进行测试。
在一个实施例中,处理器执行计算机程序时还可以实现:获取未经过应用程序加密的第二网络请求数据;处理器执行计算机程序时实现的显示解密数据之前,还包括:将解密数据与第二网络请求数据进行比较;当解密数据与第二网络请求数据不相同时,则输出应用程序测试失败的信息。
在一个实施例中,处理器执行计算机程序时实现的显示解密数据之后,可以包括:对所显示的解密数据进行截屏得到屏幕截图;根据屏幕截图以及第二网络请求数据生成测试日志。
在一个实施例中,处理器执行计算机程序时实现的拦截经过应用程序加密后的第一网络请求数据,可以包括:获取终端的处理模式;当处理模式为测试模式时,则获取登录应用程序的账号;判断与账号对应的用户是否具有测试权限;当与账号对用的用户具有测试权限时,则拦截经过应用程序加密后的第一网络请求数据。
在一个实施例中,处理器执行计算机程序时还可以实现:当未获取到与加密类型对应的密钥,则生成与第一网络请求数据对应的第一异常信息;显示第一异常信息。
在一个实施例中,处理器执行计算机程序时实现的拦截经过应用程序加密后的第一网络请求数据之后,还可以包括:根据预设规则对第一网络请求数据进行物理校验;当第一网络请求数据校验失败时,则生成与第一网络请求数据对应的第二异常信息;显示第二异常信息。
在一个实施例中,处理器执行计算机程序时还可以实现:统计与第一网络请求数据对应的流量;当流量超过预设值时,则生成报警通知;显示报警通知。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:拦截经过应用程序加密后的第一网络请求数据;获取第一网络请求数据的加密类型,并获取与加密类型对应的密钥;通过所获取到的密钥对第一网络请求数据进行解密得到解密数据;显示解密数据,根据解密数据对应用程序进行测试。
在一个实施例中,计算机程序被处理器执行时还可以实现:获取未经过应用程序加密的第二网络请求数据;处理器执行计算机程序时实现的显示解密数据之前,还包括:将解密数据与第二网络请求数据进行比较;当解密数据与第二网络请求数据不相同时,则输出应用程序测试失败的信息。
在一个实施例中,计算机程序被处理器执行时实现的显示解密数据之后,可以包括:对所显示的解密数据进行截屏得到屏幕截图;根据屏幕截图以及第二网络请求数据生成测试日志。
在一个实施例中,计算机程序被处理器执行时实现的拦截经过应用程序加密后的第一网络请求数据,可以包括:获取终端的处理模式;当处理模式为测试模式时,则获取登录应用程序的账号;判断与账号对应的用户是否具有测试权限;当与账号对用的用户具有测试权限时,则拦截经过应用程序加密后的第一网络请求数据。
在一个实施例中,计算机程序被处理器执行时还可以实现:当未获取到与加密类型对应的密钥,则生成与第一网络请求数据对应的第一异常信息;显示第一异常信息。
在一个实施例中,计算机程序被处理器执行时实现的拦截经过应用程序加密后的第一网络请求数据之后,还可以包括:根据预设规则对第一网络请求数据进行物理校验;当第一网络请求数据校验失败时,则生成与第一网络请求数据对应的第二异常信息;显示第二异常信息。
在一个实施例中,计算机程序被处理器执行时还可以实现:统计与第一网络请求数据对应的流量;当流量超过预设值时,则生成报警通知;显示报警通知。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种应用程序测试方法,所述方法包括:
拦截经过应用程序加密后的第一网络请求数据;
获取所述第一网络请求数据的加密类型,并获取与所述加密类型对应的密钥;
通过所获取到的密钥对所述第一网络请求数据进行解密得到解密数据;
显示所述解密数据,根据所述解密数据对所述应用程序进行测试。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取未经过应用程序加密的第二网络请求数据;
所述显示所述解密数据之前,还包括:
将所述解密数据与所述第二网络请求数据进行比较;
当所述解密数据与所述第二网络请求数据不相同时,则输出所述应用程序测试失败的信息。
3.根据权利要求2所述的方法,其特征在于,所述显示所述解密数据之后,包括:
对所显示的解密数据进行截屏得到屏幕截图;
根据所述屏幕截图以及所述第二网络请求数据生成测试日志。
4.根据权利要求1所述的方法,其特征在于,所述拦截经过应用程序加密后的第一网络请求数据,包括:
获取终端的处理模式;
当所述处理模式为测试模式时,则获取登录应用程序的账号;
判断与所述账号对应的用户是否具有测试权限;
当与所述账号对用的用户具有测试权限时,则拦截经过应用程序加密后的第一网络请求数据。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当未获取到与所述加密类型对应的密钥,则生成与所述第一网络请求数据对应的第一异常信息;
显示所述第一异常信息。
6.根据权利要求1所述的方法,其特征在于,所述拦截经过应用程序加密后的第一网络请求数据之后,还包括:
根据预设规则对所述第一网络请求数据进行物理校验;
当所述第一网络请求数据校验失败时,则生成与所述第一网络请求数据对应的第二异常信息;
显示所述第二异常信息。
7.根据权利要求1至6任意一项所述的方法,其特征在于,所述方法还包括:
统计与所述第一网络请求数据对应的流量;
当所述流量超过预设值时,则生成报警通知;
显示所述报警通知。
8.一种应用程序测试装置,其特征在于,所述装置包括:
拦截模块,用于拦截经过应用程序加密后的第一网络请求数据;
密钥获取模块,用于获取所述第一网络请求数据的加密类型,并获取与所述加密类型对应的密钥;
解密模块,用于通过所获取到的密钥对所述第一网络请求数据进行解密得到解密数据;
显示模块,用于显示所述解密数据,根据所述解密数据对所述应用程序进行测试。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810185270.2A CN108347361B (zh) | 2018-03-06 | 2018-03-06 | 应用程序测试方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810185270.2A CN108347361B (zh) | 2018-03-06 | 2018-03-06 | 应用程序测试方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108347361A true CN108347361A (zh) | 2018-07-31 |
CN108347361B CN108347361B (zh) | 2020-08-04 |
Family
ID=62956482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810185270.2A Active CN108347361B (zh) | 2018-03-06 | 2018-03-06 | 应用程序测试方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108347361B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535934A (zh) * | 2019-08-26 | 2019-12-03 | 苏宁云计算有限公司 | 客户端https消息测试方法、装置、计算机设备 |
CN110912856A (zh) * | 2018-09-14 | 2020-03-24 | 千寻位置网络有限公司 | 非侵入式mock支付方法及系统、支付服务端、mock服务端 |
CN110928595A (zh) * | 2018-08-31 | 2020-03-27 | 北京搜狗科技发展有限公司 | 一种权限操作方法及装置 |
CN111224834A (zh) * | 2019-11-18 | 2020-06-02 | 北京三快在线科技有限公司 | 模拟测试方法、装置、服务器及存储介质 |
CN111935096A (zh) * | 2020-07-15 | 2020-11-13 | 广东电网有限责任公司 | 一种用于网络安全产品的测试系统、测试方法及存储介质 |
CN112328480A (zh) * | 2020-11-04 | 2021-02-05 | 浙江诺诺网络科技有限公司 | 一种系统测试方法及装置 |
CN113438134A (zh) * | 2021-06-30 | 2021-09-24 | 未鲲(上海)科技服务有限公司 | 请求报文处理方法、装置、服务器及介质 |
CN114692093A (zh) * | 2022-05-27 | 2022-07-01 | 荣耀终端有限公司 | 一种应用程序安装方法及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120182884A1 (en) * | 2011-01-19 | 2012-07-19 | Maksim Pyatkovskiy | Fast SSL Testing Using Precalculated Cryptographyc Data |
CN106130830A (zh) * | 2016-08-31 | 2016-11-16 | 北京奇虎科技有限公司 | 安全设备稳定性的测试方法和测试装置 |
CN106371993A (zh) * | 2016-08-31 | 2017-02-01 | 北京奇虎科技有限公司 | 基于数据包的测试方法和测试装置 |
CN106411653A (zh) * | 2016-10-26 | 2017-02-15 | 飞天诚信科技股份有限公司 | 一种对智能密钥设备进行测试的方法及装置 |
CN107528820A (zh) * | 2017-06-07 | 2017-12-29 | 中国银联股份有限公司 | 针对应用程序的加解密方法、装置及安全审计方法和平台 |
-
2018
- 2018-03-06 CN CN201810185270.2A patent/CN108347361B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120182884A1 (en) * | 2011-01-19 | 2012-07-19 | Maksim Pyatkovskiy | Fast SSL Testing Using Precalculated Cryptographyc Data |
CN106130830A (zh) * | 2016-08-31 | 2016-11-16 | 北京奇虎科技有限公司 | 安全设备稳定性的测试方法和测试装置 |
CN106371993A (zh) * | 2016-08-31 | 2017-02-01 | 北京奇虎科技有限公司 | 基于数据包的测试方法和测试装置 |
CN106411653A (zh) * | 2016-10-26 | 2017-02-15 | 飞天诚信科技股份有限公司 | 一种对智能密钥设备进行测试的方法及装置 |
CN107528820A (zh) * | 2017-06-07 | 2017-12-29 | 中国银联股份有限公司 | 针对应用程序的加解密方法、装置及安全审计方法和平台 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928595A (zh) * | 2018-08-31 | 2020-03-27 | 北京搜狗科技发展有限公司 | 一种权限操作方法及装置 |
CN110928595B (zh) * | 2018-08-31 | 2024-02-02 | 北京搜狗科技发展有限公司 | 一种权限操作方法及装置 |
CN110912856A (zh) * | 2018-09-14 | 2020-03-24 | 千寻位置网络有限公司 | 非侵入式mock支付方法及系统、支付服务端、mock服务端 |
CN110535934A (zh) * | 2019-08-26 | 2019-12-03 | 苏宁云计算有限公司 | 客户端https消息测试方法、装置、计算机设备 |
CN111224834A (zh) * | 2019-11-18 | 2020-06-02 | 北京三快在线科技有限公司 | 模拟测试方法、装置、服务器及存储介质 |
CN111224834B (zh) * | 2019-11-18 | 2021-12-14 | 北京三快在线科技有限公司 | 模拟测试方法、装置、服务器及存储介质 |
CN111935096A (zh) * | 2020-07-15 | 2020-11-13 | 广东电网有限责任公司 | 一种用于网络安全产品的测试系统、测试方法及存储介质 |
CN112328480A (zh) * | 2020-11-04 | 2021-02-05 | 浙江诺诺网络科技有限公司 | 一种系统测试方法及装置 |
CN113438134A (zh) * | 2021-06-30 | 2021-09-24 | 未鲲(上海)科技服务有限公司 | 请求报文处理方法、装置、服务器及介质 |
CN114692093A (zh) * | 2022-05-27 | 2022-07-01 | 荣耀终端有限公司 | 一种应用程序安装方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108347361B (zh) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108347361A (zh) | 应用程序测试方法、装置、计算机设备和存储介质 | |
Specter et al. | The ballot is busted before the blockchain: A security analysis of voatz, the first internet voting application used in {US}. federal elections | |
CN104933362B (zh) | Android应用软件API误用类漏洞自动化检测方法 | |
CN112217835B (zh) | 报文数据的处理方法、装置、服务器和终端设备 | |
CN108306876A (zh) | 客户身份验证方法、装置、计算机设备和存储介质 | |
US9275257B2 (en) | Secure communication architecture | |
US20150058972A1 (en) | Method And Apparatus For Accessing An Application Program | |
CN103765811A (zh) | 用于跨越不受信任的信道安全地共享图像的方法和设备 | |
US9356787B2 (en) | Secure communication architecture including sniffer | |
US9454677B1 (en) | Secure communication architecture including video sniffer | |
CN111241555A (zh) | 模拟用户登录的访问方法、装置、计算机设备和存储介质 | |
CN110519268A (zh) | 基于区块链的投票方法、装置、设备、系统及存储介质 | |
CN106559386A (zh) | 一种认证方法及装置 | |
CN108416224A (zh) | 一种数据加解密方法及装置 | |
CN110445757A (zh) | 人事信息加密方法、装置、计算机设备和存储介质 | |
CN110166471A (zh) | 一种Portal认证方法及装置 | |
CN110472429A (zh) | 数据校验方法、装置、电子设备及存储介质 | |
CN108763934B (zh) | 数据处理方法及装置、存储介质、服务器 | |
CN110535934A (zh) | 客户端https消息测试方法、装置、计算机设备 | |
CN109698863A (zh) | 一种确定http报文安全性的方法、装置、设备及存储介质 | |
CN106533685A (zh) | 身份认证方法、装置及系统 | |
Zhang | Smartphone app security: Vulnerabilities and implementations | |
CN112989297A (zh) | 一种电子社保卡扫码登录应用方法及系统 | |
CN112685293A (zh) | 一种加密接口的测试方法及相关设备 | |
US20170063916A1 (en) | System and method for automatically identifying broken authentication and other related vulnerabilities in web services |
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 |