CN112115038A - 一种应用测试方法、装置和存储介质 - Google Patents

一种应用测试方法、装置和存储介质 Download PDF

Info

Publication number
CN112115038A
CN112115038A CN201910543749.3A CN201910543749A CN112115038A CN 112115038 A CN112115038 A CN 112115038A CN 201910543749 A CN201910543749 A CN 201910543749A CN 112115038 A CN112115038 A CN 112115038A
Authority
CN
China
Prior art keywords
user behavior
script
application
target
user
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.)
Pending
Application number
CN201910543749.3A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910543749.3A priority Critical patent/CN112115038A/zh
Publication of CN112115038A publication Critical patent/CN112115038A/zh
Pending legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种应用测试方法、装置和存储介质,其中,通过用户终端监听并记录目标应用运行过程中的用户行为信息,当检测到目标应用发生异常运行事件时,向服务器发送包含已记录的用户行为信息的脚本生成请求,指示服务器根据已记录的用户行为信息生成用户行为脚本,然后,接收服务器返回的用户行为脚本,并重启目标应用,最后调用脚本执行工具来执行用户行为脚本中的操作指令,从而模拟目标应用发生异常运行事件前的用户行为,复现异常运行事件,由此,相对于现有技术根据有限的异常信息来定位应用运行异常原因的方案,本发明能够高概率的复现异常运行事件,辅助技术人员分析应用运行异常的原因,降低了定位应用运行异常原因的难度。

Description

一种应用测试方法、装置和存储介质
技术领域
本发明涉及终端应用测试领域,具体涉及一种应用测试方法、装置和存储介质。
背景技术
目前,随着终端的普及与发展,如手机、平板电脑等用户终端已经成为人们日常学习和生活中不可或缺的工具,当今用户终端除了能够提供基本的通话和短信功能之外,还提供了各种各样的软件应用功能。
现有技术中,由于应用本身的复杂性,这些应用在运行过程中可能因各种原因出现异常而无法正常实现功能。为了能够分析应用运行异常的原因,相关技术人员通常收集到比如应用异常时所有线程的寄存器和调用堆栈信息等有限的异常信息,进而分析判断应用运行异常的原因。
在对现有技术的研究和实践过程中,本发明的发明人发现,现有技术中,能够获取到的异常信息可能不能准确的辅助技术人员准确的判定错误原因,使得技术人员难以定位到应用的发生异常的真正原因。
发明内容
本发明实施例提供一种应用测试方法、装置和存储介质,可以降低定位应用运行异常原因的难度。
本发明实施例提供一种应用测试方法,包括:
监听目标应用运行过程中的用户行为信息,并记录所述用户行为信息;
当检测到所述目标应用发生异常运行事件时,向服务器发送脚本生成请求,其中,所述脚本生成请求包含已记录的用户行为信息,所述脚本生成请求用于指示所述服务器根据所述已记录的用户行为信息生成用户行为脚本,所述用户行为脚本包括所述已记录的用户行为信息对应的操作指令;
接收所述服务器返回的所述用户行为脚本,并重启所述目标应用;
针对重启后的目标应用,调用脚本执行工具以执行所述用户行为脚本中的操作指令。
本发明所述还提供一种应用测试方法,包括:
接收应用测试请求,其中,所述应用测试请求包含用户终端标识,用于指示需要进行测试的用户终端;
当接收到所述应用测试请求时,根据所述应用测试请求包含的用户终端标识确定需要进行测试的目标用户终端;
获取所述目标用户终端上的目标应用发生异常运行事件前的目标用户行为信息,并生成对应所述目标用户行为信息的操作指令以得到用户行为脚本;
将所述用户行为脚本提供给所述目标用户终端,使得所述目标用户终端重启所述目标应用,并针对重启后的目标应用调用脚本执行工具以执行所述用户行为脚本中的操作指令。
本发明实施例还提供一种应用测试装置,包括:
监听模块,用于监听目标应用运行过程中的用户行为信息,并记录所述用户行为信息;
上报模块,用于当检测到所述目标应用发生异常运行事件时,向服务器发送脚本生成请求,其中,所述脚本生成请求包含已记录的用户行为信息,所述脚本生成请求用于指示所述服务器根据所述已记录的用户行为信息生成用户行为脚本,所述用户行为脚本包括所述已记录的用户行为信息对应的操作指令;
获取模块,用于接收所述服务器返回的所述用户行为脚本,并重启所述目标应用;
测试模块,用于针对重启后的目标应用,调用脚本执行工具以执行所述用户行为脚本中的操作指令。
在一实施例中,在记录所述用户行为信息时,所述监听模块用于:
当监听到目标应用运行过程中的用户行为信息时,根据预设用户行为信息和行为标识之间的对应关系,确定所述用户行为信息的目标行为标识;
记录所述目标行为标识以及用户行为对应的时间信息;
而当检测到所述目标应用发生异常运行事件,向服务器发送脚本生成请求时,所述上报模块用于:
当检测到所述目标应用发生异常运行事件时,向所述服务器发送包含已记录的目标行为标识以及用户行为对应的时间信息的脚本生成请求;
其中,所述脚本生成请求用于指示所述服务器将所述已记录的目标行为标识转换为所述用户行为信息,并生成对应所述用户行为信息的操作指令,以及按照用户行为对应的时间信息的先后顺序排列生成的操作指令,得到所述用户行为脚本。
在一实施例中,在调用脚本执行工具以执行所述用户行为脚本中的操作指令时,所述测试模块用于:
根据所述已记录的用户行为对应的时间信息,获取相邻两个用户行为之间的时间间隔;
调用所述脚本执行工具,按照获取到的时间间隔依次执行所述用户行为脚本中的操作指令。
在一实施例中,在调用脚本执行工具以执行所述用户行为脚本中的操作指令之前,所述测试模块还用于:
获取发生所述异常运行事件前的应用运行环境信息,根据所述应用运行环境信息恢复发生所述异常运行事件前的应用运行环境;
而在调用脚本执行工具以执行所述用户行为脚本中的操作指令时,所述测试模块用于:
在恢复的应用运行环境中调用所述脚本执行工具以执行所述用户行为脚本中的操作指令。
在一实施例中,应用测试装置还包括报告模块,用于在所述测试模块执行所述用户行为脚本的过程中,若所述目标应用再次发生所述异常运行事件,则向所述服务器发送报告生成请求,其中,所述报告生成请求包含已产生的测试日志,所述报告生成请求用于指示所述服务器根据所述已产生的测试日志生成测试报告;以及接收所述服务器返回的所述测试报告。
本发明实施例还提供一种应用测试装置,包括:
接收模块,用于接收应用测试请求,其中,所述应用测试请求包含用户终端标识,用于指示需要进行测试的用户终端;
识别模块,用于当接收到所述应用测试请求时,根据所述应用测试请求包含的用户终端标识确定需要进行测试的目标用户终端;
构建模块,用于获取所述目标用户终端上的目标应用发生异常运行事件前的目标用户行为信息,并生成对应所述目标用户行为信息的操作指令以得到用户行为脚本;
下发模块,用于将所述用户行为脚本提供给所述目标用户终端,使得所述目标用户终端重启所述目标应用,并针对重启后的目标应用调用脚本执行工具以执行所述用户行为脚本中的操作指令。
在一实施例中,获取所述目标用户终端上的目标应用发生异常运行事件前的目标用户行为信息时,所述识别模块用于:
获取对应所述异常运行事件的用户行为日志,所述用户行为日志包括所述目标用户终端在发生所述异常运行事件前记录的行为标识以及用户行为对应的时间信息;
根据所述已记录的行为标识以及预设用户行为信息和行为标识之间的对应关系,获取所述目标用户终端在目标应用发生所述异常运行事件前的目标用户行为信息;
而在生成对应所述目标用户行为信息的操作指令以得到用户行为脚本时,所述构建模块用于:
生成对应所述目标用户行为信息的操作指令,并按照所述已记录的用户行为对应的时间信息的先后顺序排列生成的操作指令,得到所述用户行为脚本。
在一实施例中,应用测试装置还包括存储模块,用于在所述接收模块接收应用测试请求之前,接收所述用户终端在目标应用发生异常运行事件时提供的其在发生异常运行事件前记录的行为标识以及对应的时间信息;以及根据接收到的行为标识以及对应的时间信息生成用户行为日志。
在一实施例中,应用测试装置还包括报告模块,用于在所述下发模块将用户行为脚本提供给所述用户终端之后,接收所述用户终端在目标应用发生相同的异常运行事件时发送的报告生成请求,所述报告生成请求包含所述用户终端已产生的测试日志;以及解析所述报告生成请求中的测试日志,根据解析结果生成测试报告;以及将生成的测试报告提供给所述用户终端。
此外,本发明实施例还提供一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一种应用测试方法中的步骤。
本发明实施例通过用户终端监听并记录目标应用运行过程中的用户行为信息,当检测到目标应用发生异常运行事件时,向服务器发送包含已记录的用户行为信息的脚本生成请求,指示服务器根据已记录的用户行为信息生成用户行为脚本,然后,接收服务器返回的用户行为脚本,并重启目标应用,最后调用脚本执行工具来执行用户行为脚本中的操作指令,从而模拟目标应用发生异常运行事件前的用户行为,复现异常运行事件,由此,相对于现有技术根据有限的异常信息来定位应用运行异常原因的方案,本发明能够高概率的复现异常运行事件,辅助技术人员分析应用运行异常的原因,降低了定位应用运行异常原因的难度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的应用测试方法的场景示意图;
图2a是本发明实施例提供的应用测试方法的一流程示意图;
图2b是本发明实施例中用户行为和行为标识的对应关系示意图;
图2c是本发明实施例中时间信息的记录形式示意图;
图2d是本发明实施例中解析得到用户行为及对应时间信息的示意图;
图3a是本发明实施例提供的应用测试方法的另一流程示意图;
图3b是本发明实施例提供的应用测试界面的示意图;
图3c是本发明实施例提供的选择子界面的示意图;
图4是本发明实施例提供的应用测试方法又一流程示意图;
图5是本发明实施例提供的应用测试装置的一结构示意图;
图6是本发明实施例提供的应用测试装置的另一结构示意图;
图7是本发明实施例提供的用户终端的结构示意图;
图8是本发明实施例提供的服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种应用测试方法、装置和存储介质。
请参阅图1,图1为本发明实施例所提供的应用测试***的场景示意图,包括:用户终端和服务器,用户终端与服务器之间可以通过通信网络连接,该通信网络包括无线网络以及有线网络,其中无线网络包括无线广域网、无线局域网、无线城域网、以及无线个人网中的一种或多种的组合。网络中包括路由器、网关等等网络实体,图中并未示意出。用户终端可以通过通信网络与服务器进行信息交互,实现对用户终端上应用的压力测试。
本发明提供的应用测试装置具体可以集成在图1的用户终端或服务器中,例如,当该应用测试装置集成于用户终端时,使得用户终端能够监听目标应用运行过程中的用户行为信息,并记录用户行为信息;当检测到目标应用发生异常运行事件时,向服务器发送脚本生成请求,其中,脚本生成请求包含已记录的用户行为信息,用于指示服务器根据已记录的用户行为信息生成用户行为脚本,该用户行为脚本包括已记录的用户行为信息对应的操作指令;然后,接收服务器返回的用户行为脚本,并重启目标应用;最后,针对重启后的目标应用,调用脚本执行工具以执行用户行为脚本中的操作指令,从而模拟目标应用发生异常运行事件前的用户行为,复现异常运行事件,由此,能够高概率的复现异常运行事件,辅助技术人员分析应用发生运行异常的真正原因。
又比如,当该应用测试装置集成于服务器时,使得服务器能够接收应用测试请求,其中,应用测试请求包含用户终端标识,用于指示需要进行测试的用户终端;当接收到应用测试请求时,根据应用测试请求包含的用户终端标识确定需要进行测试的目标用户终端;获取目标用户终端上的目标应用发生异常运行事件前的目标用户行为信息,并生成对应目标用户行为信息的操作指令以得到用户行为脚本;将用户行为脚本提供给目标用户终端,使得目标用户终端重启目标应用,并调用脚本执行工具以执行用户行为脚本中的操作指令,从而模拟目标应用发生异常运行事件前的用户行为,复现异常运行事件,由此,能够高概率的复现异常运行事件,辅助技术人员分析应用发生运行异常的真正原因。
需要说明的是,图1所示的应用测试***的场景示意图仅仅是一个示例,本发明实施例描述的应用测试***以及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着应用测试***的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
以下分别进行详细说明。需说明的是,以下实施例的顺序不作为对实施例优选顺序的限定。
实施例一、
在本实施例中,将从应用测试装置的角度进行描述,该应用测试装置具体集成在用户终端中。
本发明实施例提供一种应用测试方法,适用于用户终端,包括:监听目标应用运行过程中的用户行为信息,并记录监听到的用户行为信息;当检测到目标应用发生异常运行事件时,向服务器发送脚本生成请求,其中,脚本生成请求包含已记录的用户行为信息,脚本生成请求用于指示服务器根据已记录的用户行为信息生成用户行为脚本,用户行为脚本包括已记录的用户行为信息对应的操作指令;接收服务器返回的用户行为脚本,并重启目标应用;针对重启后的目标应用,调用脚本执行工具以执行用户行为脚本中的操作指令。
如图2a所示,该应用测试方法的具体流程可以如下:
在201中,监听目标应用运行过程中的用户行为信息,并记录监听到的用户行为信息。
其中,应用测试装置可以实时对其集成的用户终端上的目标应用在运行过程中的用户行为信息进行监听,用户行为信息用于描述用户所执行的用户行为,包括但不限于用户的按键输入、触摸屏输入、语音输入以及手势输入等。此外,应用测试装置在监听到用户行为信息时,还对监听到的用户行为信息进行记录。
应当说明的是,目标应用可以为用户终端上的任一应用,可以是前台运行的应用,也可以是后台运行的应用,通俗的说,无论用户终端前台运行应用或是后台运行应用,只要存在运行的应用,应用测试装置均会对用户终端上的用户行为信息进行监听。
比如,用户终端前台运行某音乐播放应用A,应用测试装置监听到用户行为信息:“点击了音量键+”、“点击了音量键+”、“点击了音量键+”、“点击了音量键-”、“点击了硬件back”等,相应的,应用测试装置记录监听到的这些用户行为信息。
可具体的,“记录监听到的用户行为信息”,包括:
(1)当监听到目标应用运行过程中的用户行为信息时,根据预设用户行为信息和行为标识之间的对应关系,确定用户行为信息的目标行为标识;
(2)记录目标行为标识以及用户行为对应的时间信息。
本发明实施例中,为了能够更高效的对监听到的用户行为信息进行记录,并不记录用户行为信息本身,而是记录对应的行为标识来代替用户行为信息。
为此,本发明实施例预先设置有用户行为和行为标识的对应关系,应当说明的是,对于用户行为信息和行为标识的对应关系,可由本领域普通技术人员根据实际需要进行设置,本发明实施例对此不做具体限制。此外,本发明实施例中对行为标识的展现形式也不做具体限制,可以采用数字序号或者字母序号等作为行为标识以表征对应的用户行为信息。
比如,请参照图2b,采用数字序号作行为标识,用户行为信息和行为标识的对应关系以映射表的形式展示,其中,
行为标识“5001”对应用户行为信息“向上滑动”;
行为标识“5002”对应用户行为信息“向左滑动”;
行为标识“5003”对应用户行为信息“向右滑动”;
行为标识“5004”对应用户行为信息“向下滑动”;
行为标识“5005”对应用户行为信息“点击”;
行为标识“5006”对应用户行为信息“长按”;
行为标识“5007”对应用户行为信息“选择视图控件”;
行为标识“5101”对应用户行为信息“点击了硬件back”;
行为标识“5102”对应用户行为信息“点击了硬件menu”;
行为标识“5103”对应用户行为信息“点击了音量键+”;
行为标识“5104”对应用户行为信息“点击了音量键-”;
行为标识“5105”对应用户行为信息“搜索键”。
本发明实施例中,应用测试装置在监听到其集成的用户终端上目标应用在运行过程中的用户行为信息时,根据预设用户行为信息和行为标识之间的对应关系,确定对应监听到的用户行为信息的目标行为标识,从而将监听到的用户行为信息转换为对应的行为标识。
之后,应用测试装置即可记录确定的目标行为标识以及监听到的用户行为信息描述的用户行为所对应的时间信息,其中,用户行为所对应的时间信息描述了该用户行为的发生时刻。由此,一条关联的目标行为标识和时间信息即描述了对应时刻所发生的用户行为。
应当说明的是,本发明实施例中对于时间信息的记录形式不做具体限制,可由本领域普通技术人员根据实际需要采用合适的记录形式,比如,请参照图2c,本发明实施例中,采用毫秒的形式记录时间信息,并用“###”分隔不同的“用户行为”,如图2c所示,其中,
记录“1555148598774 5103”表示2019-04-13 17:43:18发生了用户行为“点击了音量键+”;
记录“1555148599184 5103”表示2019-04-13 17:43:19发生了用户行为“点击了音量键+”;
记录“1555148606423 5103”表示2019-04-13 17:43:26发生了用户行为“点击了音量键+”;
记录“1555148615175 5104”表示2019-04-13 17:43:35发生了用户行为“点击了音量键-”;
记录“1555148615469 5104”表示2019-04-13 17:43:35发生了用户行为“点击了音量键-”。
在202中,当检测到目标应用发生异常运行事件时,向服务器发送脚本生成请求,其中,脚本生成请求包含已记录的用户行为信息,脚本生成请求用于指示服务器根据已记录的用户行为信息生成用户行为脚本,用户行为脚本包括已记录的用户行为信息对应的操作指令。
可以理解的是,应用是由人编写的,其并不完美,在应用运行过程中,应用可能因各种各样的原因而运行异常,包括但不限于应用崩溃和应用无响应等。
本发明实施中,应用测试装置在其集成的用户终端上的目标应用发生异常运行事件时,生成包含已记录的用户行为信息的脚本生成请求,并将生成的脚本生成请求发送至服务器,指示服务器按照预先设定的脚本编写规则来根据已记录的用户行为信息生成用户行为脚本。其中,用户行为脚本包括对应各条已记录的用户行为信息的操作指令,利用该操作指令,即可在用户终端复现各条已记录的用户行为信息所描述的用户行为。
比如,用户终端运行的某音乐播放应用A发生崩溃,与此同时,应用测试装置侦测到音乐播放应用A发生崩溃的异常运行事件,将已记录的用户行为信息(也即是在音乐播放应用A发生崩溃前所记录的用户行为信息)提供给服务器,使得服务器根据音乐播放应用A发生崩溃前所记录的用户行为信息编写得到对应的用户行为脚本。
可具体的,“当检测到目标应用发生异常运行事件时,向服务器发送脚本生成请求”,包括:
当检测到目标应用发生异常运行事件时,向服务器发送包含已记录的目标行为标识以及用户行为对应的时间信息的脚本生成请求;
其中,脚本生成请求用于指示服务器将已记录的目标行为标识转换为用户行为信息,并生成对应用户行为信息的操作指令,以及按照用户行为对应的时间信息的先后顺序排列生成的操作指令,得到用户行为脚本。
本发明实施例中,在服务器预设有与用户终端相同的用户行为信息和行为标识的对应关系,这样,服务器在接收到用户终端发送的脚本生成请求之后,即可根据前述用户行为和行为标识的对应关系将脚本生成请求包含的目标行为标识解析为对应的用户行为信息。
比如,请参照图2d,服务器在获取到应用测试装置提供的图2c所示的记录后,对其进行解析,得到用户终端在发生异常运行事件前所监听到的用户行为信息及其对应的时间信息,其中,用户在2019-04-13 17:43:18点击了音量键+,在2019-04-13 17:43:19点击了音量键+,在2019-04-13 17:43:26点击了音量键+,在2019-04-13 17:43:35点击了音量键-,在2019-04-13 17:43:35点击了音量键-。
此外,服务器在解析得到用户终端在发生异常运行事件前所监听到的用户行为信息及其对应的时间信息之后,进一步基于预设脚本编写规则,将用户行为信息转换为对应的操作指令,使得用户终端执行操作指令即可复现用户行为信息所描述的用户行为。
之后,服务器再按照时间信息的先后顺序排列各用户行为信息所对应的操作指令,得到用户行为脚本。由此,使得用户行为脚本中的操作指令所期望复现用户行为的顺序与实际已发生的用户行为一致。
比如,服务器在编写用户行为脚本时,可以基于MonkeyRunner命令集,将用户行为转换为对应的操作指令,进而得到用户行为脚本。
在203中,接收服务器返回的用户行为脚本,并重启目标应用。
其中,应用测试装置可以在服务器生成对应的用户行为脚本之后,接收服务器返回的用户行为脚本。其中,用户行为脚本携带有服务器生成用户行为脚本所采用的脚本编写规则的描述信息,由此,通过该描述信息指示用户终端调用对应的脚本执行根据来执行用户行为脚本。
在204中,针对重启后的目标应用,调用脚本执行工具以执行用户行为脚本中的操作指令。
应用测试装置在接收到服务器返回的用户行为脚本之后,即可针对重启后的目标应用,调用脚本执行工具来执行用户行为脚本中的操作指令,从而模拟目标应用发生异常运行事件前的用户行为,对发生目标应用进行压力测试,进而复现异常运行事件,以辅助技术人员分析目标应用发生异常运行事件的原因。
比如,用户行为脚本中包含的描述信息指示服务器基于MonkeyRunner命令集生成了用户行为脚本,相应的,应用测试装置即调用MonkeyRunner工具来依次执行用户行为脚本中的各条操作指令,从而一一模拟目标应用发生异常运行事件前的用户行为,实现对目标应用的压力测试,以复现异常运行事件。
可选的,“调用脚本执行工具以执行用户行为脚本中的操作指令”,包括:
(1)根据已记录的用户行为对应的时间信息,获取相邻两个用户行为之间的时间间隔;
(2)调用脚本执行工具,按照获取到的时间间隔依次执行用户行为脚本中的操作指令。
应当说明的是,用户在实际执行用户行为时,相邻两个用户之间的时间间隔并不是一层不变的,比如,用户在执行用户行为A后,经过5秒执行用户行为B,在执行用户行为B后经过9秒执行用户行为C。为了能够进一步提高复现异常运行事件的概率,本发明实施例中执行用户行为脚本来模拟真实发生的用户行为。
其中,应用测试装置在调用脚本执行工具执行用户行为脚本时,首先根据已记录的用户行为对应的时间信息,获取到相邻两个用户行为之间的时间间隔,然后,调用脚本执行工具,按照获取到的时间间隔依次执行用户行为脚本中的操作指令。
比如,存在依次相邻的用户行为A、用户行为B以及用户行为C,其中,获取到用户行为A和用户行为B之间的时间间隔为5秒,用户行为B和用户行为C之间的时间间隔为9秒,由此,应用测试装置调用脚本执行工具,首先执行用户行为脚本中的操作指令以复现用户行为A,间隔5秒后再执行用户行为脚本中的操作指令以复现用户行为B,间隔9秒后再执行用户行为脚本中的操作指令以复现用户行为C。
可选的,“调用脚本执行工具以执行用户行为脚本中的操作指令”之前,还包括:
获取发生异常运行事件前的应用运行环境信息,根据应用运行环境信息恢复发生异常运行事件前的应用运行环境;
而“调用脚本执行工具以执行用户行为脚本中的操作指令”,包括:
在恢复的应用运行环境中调用脚本执行工具以执行用户行为脚本中的操作指令。
本发明实施例中,为了能够进一步提高复现异常运行事件的概率,应用测试装置在接收到服务器返回的用户行为脚本之后,并不立即去调用脚本执行工具执行用户行为脚本中的操作指令,而是先获取到目标应用发生异常运行事件前的应用运行环境信息,该应用运行环境信息描述了目标应用发生异常运行事件前的应用运行环境。然后,应用测试装置判断当前的应用运行环境是否与目标应用发生异常运行事件前的应用运行环境一致,是则直接调用脚本执行工具执行用户行为脚本中的操作指令,否则根据应用运行环境信息恢复目标应用发生异常运行事件前的应用运行环境,再调用脚本执行工具执行用户行为脚本中的操作指令。
其中,应用运行环境信息包括但不限于用户终端使能的软件功能、硬件功能,采用的软件配置参数以及硬件配置参数等。
可选的,在执行用户行为脚本的过程中,还包括:
(1)若目标应用再次发生前述异常运行事件,则向服务器发送报告生成请求,其中,报告生成请求包含已产生的测试日志,报告生成请求用于指示服务器根据已产生的测试日志生成测试报告;
(2)接收服务器返回的测试报告。
本发明实施例中,应用测试装置还对目标应用的测试过程进行监测,也即是对用户行为脚本的执行过程进行监测,当目标应用再次发生相同的异常运行事件时,获取到已产生的测试日志,并生成包括该测试日志的报告生成请求,将报告生成请求提供给服务器,使得服务器能够根据该测试日志生成测试报告,定位出发生异常运行事件的原因。其中,服务器可以根据专家知识定义的测试报告生成规则,基于测试日志生成测试报告。
应用测试装置在服务器生成测试报告之后,接收服务器返回的测试报告。之后,利用该测试报告,即可辅助技术人员修复目标应用,避免再次发生相同的异常运行事件。
由上可知,本发明实施例中,通过监听目标应用运行过程中的用户行为信息,并记录用户行为信息;当检测到目标应用发生异常运行事件时,向服务器发送脚本生成请求,其中,脚本生成请求包含已记录的用户行为信息,用于指示服务器根据已记录的用户行为信息生成用户行为脚本,该用户行为脚本包括已记录的用户行为信息对应的操作指令;然后,接收服务器返回的用户行为脚本,并重启目标应用;最后,针对重启后的目标应用,调用脚本执行工具以执行用户行为脚本中的操作指令,从而模拟目标应用发生异常运行事件前的用户行为,复现异常运行事件,由此,相对于现有技术根据有限的异常信息来定位应用运行异常原因的方案而言,本发明能够高概率的复现异常运行事件,辅助技术人员分析应用发生运行异常的真正原因,降低了定位应用运行异常原因的难度。
实施例二、
在本实施例中,将从应用测试装置的角度进行描述,该应用测试装置具体集成在服务器中。
本发明实施例提供一种应用测试方法,适用于服务器,包括:接收应用测试请求,其中,应用测试请求包含用户终端标识,用于指示需要进行测试的用户终端;当接收到应用测试请求时,根据应用测试请求包含的用户终端标识确定需要进行测试的目标用户终端;获取目标用户终端上的目标应用发生异常运行事件前的目标用户行为信息,并生成对应目标用户行为信息的操作指令以得到用户行为脚本;将用户行为脚本提供给目标用户终端,使得目标用户终端重启目标应用,并调用脚本执行工具以执行用户行为脚本中的操作指令。
如图3a所示,该应用测试方法的具体流程可以如下:
在301中,接收应用测试请求,其中,应用测试请求包含用户终端标识,用于指示需要进行测试的用户终端。
其中,应用测试装置可以通过多种不同的方式接收应用测试请求。
比如,应用测试装置可以通过其所集成的电子设备向技术人员提供应用测试界面,该应用测试界面包括请求输入接口,如图3b所示,该请求输入接口可以为输入框的形式,技术人员可以在该输入框形式的请求输入接口中键入需要进行应用测试的用户终端的用户终端标识,并输入确认信息(如直接按下键盘的回车键)以输入应用测试请求,该应用测试请求包含有需要进行应用测试的用户终端的用户终端标识。
又比如,在图3b所示的应用测试界面中,还包括“打开”控件,一方面,应用测试装置在侦测到该打开控件触发时,将在应用测试界面之上叠加显示选择子界面(如图3c所示),该选择子界面向技术人员提供可进行应用测试的用户终端的图标,如用户终端A、用户终端B、用户终端C、用户终端D、用户终端E、用户终端F等用户终端的图标,供技术人员查找并选中需要进行应用测试的用户终端的图标;另一方面,技术人员可以在选中需要测试的用户终端的图标之后,触发选择子界面提供的确认控件,以向应用测试装置输入应用测试请求,该应用测试请求包含有用户选择的用户终端图标所对应用户终端的用户终端标识。
在302中,当接收到应用测试请求时,根据应用测试请求包含的用户终端标识确定需要进行测试的目标用户终端。
应用测试装置在接收到应用测试请求时,即可对该应用测试请求进行解析,从而解析出其中携带的用户终端标识,将该用户终端标识所指示的用户终端确定为需要进行测试的目标用户终端。
在303中,获取目标用户终端上的目标应用发生异常运行事件前的目标用户行为信息,并生成对应目标用户行为信息的操作指令以得到用户行为脚本。
应当说明的是,在本发明实施例中,用户终端在目标应用的运行过程中对用户行为信息进行监听,用户行为信息用于描述用户所执行的用户行为,包括但不限于用户的按键输入、触摸屏输入、语音输入以及手势输入等。此外,用户终端在在监听到用户行为信息时,对监听到的用户行为信息进行记录。
应当说明的是,目标应用可以为用户终端上的任一应用,可以是前台运行的应用,也可以是后台运行的应用,通俗的说,无论用户终端前台运行应用或是后台运行应用,只要存在运行的应用,用户终端均会对应用运行过程中的用户行为信息进行监听。
比如,用户终端前台运行某音乐播放应用A,监听到用户行为信息:“点击了音量键+”、“点击了音量键+”、“点击了音量键+”、“点击了音量键-”、“点击了硬件back”等,相应的,用户终端记录监听到的这些用户行为信息。
此外,用户终端在检测到目标应用发生异常运行事件时,将已记录的用户行为信息提供给服务器。
相应的,应用测试装置在获取目标用户终端上的目标应用发生异常运行事件前的目标用户行为信息时,即可从用户终端提供的用户行为信息中获取到目标应用发生异常运行事件前的目标用户行为信息。
应用测试装置在获取到目标用户终端上的目标应用发生异常运行事件前的目标用户行为信息之后,进一步生成对应目标用户行为信息的操作指令以得到用户行为脚本。
其中,服务器按照预先设定的脚本编写规则来根据目标用户行为信息生成用户行为脚本。其中,用户行为脚本包括对应各条目标用户行为信息的操作指令,利用该操作指令,即可在用户终端复现各条目标用户行为信息所描述的用户行为。然后,根据转换得到的操作指令得到用户行为脚本。
应当说明的是,本发明实施例中对于采用的脚本编写规则不做具体限制,可由本领域普通技术人员根据实际需要选取,比如,服务器集成的应用测试装置在编写用户行为脚本时,可以基于MonkeyRunner命令集,将用户行为转换为对应的操作指令,进而得到用户行为脚本。
可具体的,“获取目标用户终端上的目标应用发生异常运行事件前的目标用户行为信息”,包括:
(1)获取对应异常运行事件的用户行为日志,用户行为日志包括目标用户终端在发生异常运行事件前记录的行为标识以及用户行为对应的时间信息;
(2)根据已记录的行为标识以及预设用户行为信息和行为标识之间的对应关系,获取目标用户终端在目标应用发生异常运行事件前的目标用户行为信息;
而“生成对应目标用户行为信息的操作指令以得到用户行为脚本”,包括:
生成对应目标用户行为信息的操作指令,并按照已记录的用户行为对应的时间信息的先后顺序排列生成的操作指令,得到用户行为脚本。
本发明实施例中,在用户终端和服务器预先设置相同的用户行为信息和行为标识的对应关系,应当说明的是,对于用户行为信息和行为标识的对应关系,可由本领域普通技术人员根据实际需要进行设置,本发明实施例对此不做具体限制。此外,本发明实施例中对行为标识的展现形式也不做具体限制,可以采用数字序号或者字母序号等作为行为标识以表征对应的用户行为信息。
比如,采用数字序号作行为标识,行为标识“5001”对应用户行为“向上滑动”,行为标识“5002”对应用户行为“向左滑动”,行为标识“5003”对应用户行为“向右滑动”,行为标识“5004”对应用户行为“向下滑动”等等。
其中,用户终端在记录用户行为信息时,根据预设用户行为信息和行为标识的对应关系,将用户行为信息转换为对应的行为标识。然后,对于用户行为信息所描述的用户行为,用户终端记录对应的行为标识及其对应的时间信息,时间信息用于描述用户行为的发生时刻。由此,一条关联的行为标识和时间信息即描述了对应时刻所发生的用户行为。在目标应用发生异常运行事件时,用户终端将已记录行为标识以及对应的时间信息提供给服务器。
另一方面,在“接收应用测试请求之前”,还包括:
(1)接收用户终端在目标应用发生异常运行事件时提供的其在发生异常运行事件前记录的行为标识以及对应的时间信息;
(2)根据接收到的行为标识以及对应的时间信息生成用户行为日志。
服务器中集成的应用测试装置接收用户终端在目标应用发生异常运行事件时提供的其在发生异常运行事件前记录的行为标识以及对应的时间信息,并根据接收到的行为标识以及对应的时间信息生成用户行为日志,即以用户行为日志的形式来存储用户终端在发生异常运行事件前的用户行为信息及对应的时间信息。
相应的,服务器集成的应用测试装置在获取目标用户终端上的目标应用发生异常运行事件前的目标用户行为信息时,即可获取对应异常运行事件的用户行为日志,从中解析出用户终端在发生异常运行事件前记录的行为标识以及对应的时间信息,然后根据预设用户行为信息和行为标识的对应关系,获取到目标用户终端上的目标应用在发生异常运行事件前的目标用户行为信息。
这样,应用测试装置在生成对应目标用户行为信息的用户行为脚本时,即可首先生成对应目标用户行为信息的操作指令,再按照已记录的用户行为对应的时间信息的先后顺序排列生成的操作指令,得到用户行为脚本。由此,使得用户行为脚本中的操作指令所期望复现用户行为的顺序与实际已发生的用户行为一致。
在304中,将用户行为脚本提供给目标用户终端,使得目标用户终端重启目标应用,并针对重启后的目标应用调用脚本执行工具执行用户行为脚本中的操作指令。
本发明实施例中,应用测试装置在生成用户行为脚本之后,将生成的用户行为脚本提供给用户终端。其中,用户行为脚本携带有服务器生成用户行为脚本所采用的脚本编写规则的描述信息,由此,通过该描述信息指示用户终端调用对应的脚本执行根据来执行用户行为脚本。
用户终端在获取到服务器提供的用户行为脚本之后,即根据调用用户行为脚本中的描述信息所指示的脚本执行工具来执行用户行为脚本中的操作指令,从而复现目标应用发生异常运行事件前的用户行为,对目标应用进行压力测试,进而复现前述异常运行事件,以辅助技术人员分析发生异常运行事件的原因。
比如,用户终端根据用户行为脚本中包含的描述信息识别到服务器集成的应用测试装置基于MonkeyRunner命令集生成了用户行为脚本,相应的,用户终端即调用MonkeyRunner工具来依次执行用户行为脚本中的各条操作指令,从而一一模拟目标应用发生异常运行事件前的用户行为,实现对目标应用的压力测试,以复现前述异常运行事件。
可选的,“将用户行为脚本提供给用户终端”之后,还包括:
(1)接收用户终端在目标应用发生相同的异常运行事件时发送的报告生成请求,报告生成请求包含用户终端已产生的测试日志;
(2)解析报告生成请求中的测试日志,根据解析结果生成测试报告;
(3)将生成的测试报告提供给用户终端。
本发明实施例中,应用测试装置还对目标应用的测试过程进行监测,也即是对用户行为脚本的执行过程进行监测,当目标应用再次发生相同的异常运行事件时,获取到已产生的测试日志,并生成包括该测试日志的报告生成请求,将报告生成请求提供给服务器。
相应的,服务器集成的应用测试装置接收用户终端在目标应用发生相同的异常运行事件时所发送的报告生成请求时,根据专家知识定义的测试报告生成规则解析报告生成请求中的测试日志,得到解析结果,并根据该解析结果生成对应的测试报告。
然后,服务器集成的应用测试装置将生成的测试报告提供给用户终端,使得技术人员能够利用该测试报告,辅助修复目标应用,避免再次发生相同的异常运行事件。
由上可知,本发明实施例中,通过接收应用测试请求,其中,应用测试请求包含用户终端标识,用于指示需要进行测试的用户终端;当接收到应用测试请求时,根据应用测试请求包含的用户终端标识确定需要进行测试的目标用户终端;获取目标用户终端上的目标应用发生异常运行事件前的目标用户行为信息,并生成对应目标用户行为信息的操作指令以得到用户行为脚本;将用户行为脚本提供给目标用户终端,使得目标用户终端重启目标应用,并调用脚本执行工具以执行用户行为脚本中的操作指令,从而模拟目标应用发生异常运行事件前的用户行为,复现异常运行事件,由此,相对于现有技术根据有限的异常信息来定位应用运行异常原因的方案而言,本发明能够高概率的复现异常运行事件,辅助技术人员分析应用发生运行异常的真正原因,降低了定位应用运行异常原因的难度。
实施例三、
根据前面实施例所描述的方法,以下将举例作进一步详细说明。
如图4所示,该应用测试方法的具体流程可以如下:
401,用户终端监听目标应用运行过程中的用户行为信息,并根据预设用户行为信息和行为标识的对应关系,确定对应用户行为信息的目标行为标识,记录确定的目标行为标识以及用户行为对应的时间信息。
其中,用户终端在目标应用的运行过程中对用户行为信息进行监听,用户行为信息用于描述用户所执行的用户行为,包括但不限于用户的按键输入、触摸屏输入、语音输入以及手势输入等。此外,用户终端在监听到用户行为信息时,还对监听到的用户行为信息进行记录。
应当说明的是,目标应用可以为用户终端上的任一应用,可以是前台运行的应用,也可以是后台运行的应用,通俗的说,无论用户终端前台运行应用或是后台运行应用,只要存在运行的应用,用户终端均会对应用运行过程中的用户行为信息进行监听。
比如,用户终端前台运行某音乐播放应用A,监听到用户行为信息:“点击了音量键+”、“点击了音量键+”、“点击了音量键+”、“点击了音量键-”、“点击了硬件back”等,相应的,还记录监听到的这些用户行为信息。
本发明实施例中,为了能够更高效的对监听到的用户行为信息进行记录,并不记录用户行为信息本身,而是记录对应的行为标识来代替用户行为信息。
为此,本发明实施例预先设置有用户行为信息和行为标识的对应关系,应当说明的是,对于用户行为信息和行为标识的对应关系,可由本领域普通技术人员根据实际需要进行设置,本发明实施例对此不做具体限制。此外,本发明实施例中对行为标识的展现形式也不做具体限制,可以采用数字序号或者字母序号等作为行为标识以表征对应的用户行为信息。
比如,请参照图2b,采用数字序号作行为标识,用户行为信息和行为标识的对应关系以映射表的形式展示,其中,
行为标识“5001”对应用户行为信息“向上滑动”;
行为标识“5002”对应用户行为信息“向左滑动”;
行为标识“5003”对应用户行为信息“向右滑动”;
行为标识“5004”对应用户行为信息“向下滑动”;
行为标识“5005”对应用户行为信息“点击”;
行为标识“5006”对应用户行为信息“长按”;
行为标识“5007”对应用户行为信息“选择视图控件”;
行为标识“5101”对应用户行为信息“点击了硬件back”;
行为标识“5102”对应用户行为信息“点击了硬件menu”;
行为标识“5103”对应用户行为信息“点击了音量键+”;
行为标识“5104”对应用户行为信息“点击了音量键-”;
行为标识“5105”对应用户行为信息“搜索键”。
本发明实施例中,用户终端在监听到用户行为信息时,根据预设用户行为信息和行为标识的对应关系,确定对应监听到的用户行为信息的目标行为标识,从而将监听到的用户行为信息转换为对应的行为标识。
之后,用户终端即可记录确定的目标行为标识以及监听到的用户行为信息描述的用户行为所对应的时间信息,其中,用户行为所对应的时间信息描述了该用户行为的发生时刻。由此,一条关联的目标行为标识和时间信息即描述了对应时刻所发生的用户行为。
应当说明的是,本发明实施例中对于时间信息的记录形式不做具体限制,可由本领域普通技术人员根据实际需要采用合适的记录形式,比如,请参照图2c,本发明实施例中,采用毫秒的形式记录时间信息,并用“###”分隔不同的“用户行为”,如图2c所示,其中,
记录“1555148598774 5103”表示2019-04-13 17:43:18发生了用户行为“点击了音量键+”;
记录“1555148599184 5103”表示2019-04-13 17:43:19发生了用户行为“点击了音量键+”;
记录“1555148606423 5103”表示2019-04-13 17:43:26发生了用户行为“点击了音量键+”;
记录“1555148615175 5104”表示2019-04-13 17:43:35发生了用户行为“点击了音量键-”;
记录“1555148615469 5104”表示2019-04-13 17:43:35发生了用户行为“点击了音量键-”。
402,用户终端在检测到目标应用发生异常运行事件时,将已记录的目标行为标识以及对应的时间信息提供给服务器。
可以理解的是,应用是由人编写的,其并不完美,在应用运行过程中,应用可能因各种各样的原因而运行异常,包括但不限于应用崩溃和应用无响应等。
本发明实施中,用户终端在检测到目标应用发生异常运行事件时,将已记录的目标行为标识以及对应的时间信息提供给服务器。比如,用户终端与服务器之间可以通过有线或无线的方式建立通信连接,从而当检测到目标应用发生异常运行事件时,将已记录的目标行为标识以及对应的时间信息通过其与服务器之间的通信连接提供给服务器。
403,服务器根据用户终端提供的目标行为标识以及对应的时间信息生成用户行为日志。
其中,服务器接收到用户终端在目标应用发生异常运行事件时提供的其在发生异常运行事件前记录的目标行为标识以及对应的时间信息,并根据接收到的目标行为标识以及对应的时间信息生成用户行为日志,即以用户行为日志的形式来存储用户终端在发生异常运行事件前的用户行为信息及对应的时间信息。
404,服务器接收应用测试请求,并根据应用测试请求包含的用户终端标识将前述用户终端确定为需要进行测试的目标用户终端。
其中,服务器可以通过多种不同的方式接收应用测试请求。
比如,服务器可以向技术人员提供应用测试界面,该应用测试界面包括请求输入接口,如图3b所示,该请求输入接口可以为输入框的形式,技术人员可以在该输入框形式的请求输入接口中键入需要进行应用测试的用户终端的用户终端标识,并输入确认信息(如直接按下键盘的回车键)以输入应用测试请求,该应用测试请求包含有需要进行应用测试的用户终端的用户终端标识。
又比如,在图3b所示的应用测试界面中,还包括“打开”控件,一方面,应用测试装置在侦测到该打开控件触发时,将在应用测试界面之上叠加显示选择子界面(如图3c所示),该选择子界面向技术人员提供可进行应用测试的用户终端的图标,如用户终端A、用户终端B、用户终端C、用户终端D、用户终端E、用户终端F等用户终端的图标,供技术人员查找并选中需要进行应用测试的用户终端的图标;另一方面,技术人员可以在选中需要测试的用户终端的图标之后,触发选择子界面提供的确认控件,以向应用测试装置输入应用测试请求,该应用测试请求包含有用户选择的用户终端图标所对应用户终端的用户终端标识。
本发明实施例中,服务器在接收到应用测试请求时,对该应用测试请求进行解析,解析出其中携带的用户终端标识,将该用户终端标识所指示的前述用户终端确定为需要进行测试的目标用户终端。
405,服务器获取对应前述用户终端的用户行为日志,并根据预设用户行为信息和行为标识的对应关系,解析用户行为日志得到前述用户终端上的目标应用发生异常运行事件前已记录的用户行为信息以及用户行为对应的时间信息。
本发明实施例中,在用户终端和服务器预先设置相同的用户行为信息和行为标识的对应关系,应当说明的是,对于用户行为信息和行为标识的对应关系,可由本领域普通技术人员根据实际需要进行设置,本发明实施例对此不做具体限制。此外,本发明实施例中对行为标识的展现形式也不做具体限制,可以采用数字序号或者字母序号等作为行为标识以表征对应的用户行为信息。
比如,采用数字序号作行为标识,行为标识“5001”对应用户行为“向上滑动”,行为标识“5002”对应用户行为“向左滑动”,行为标识“5003”对应用户行为“向右滑动”,行为标识“5004”对应用户行为“向下滑动”等等。
相应的,服务器可以根据预设的用户行为信息和行为标识的对应关系,解析用户行为日志得到前述用户终端上的目标应用发生异常运行事件前已记录的用户行为以及对应的时间信息。
406,服务器生成对应用户行为信息的操作指令,并按照已记录的用户行为对应的时间信息的先后顺序排列生成的操作指令,得到用户行为脚本。
其中,服务器可以按照预先设定的脚本编写规则,将用户行为信息转换为对应的操作指令,使得前述用户终端执行操作指令即可复现对应的用户行为。
服务器在生成对应目标用户行为的操作指令之后,按照已记录的用户行为对应的时间信息的先后顺序排列生成的操作指令,得到用户行为脚本。由此,使得用户行为脚本中的操作指令所期望复现用户行为的顺序与实际已发生的用户行为一致。
应当说明的是,本发明实施例中对于采用的脚本编写规则不做具体限制,可由本领域普通技术人员根据实际需要选取,比如,服务器在编写用户行为脚本时,可以基于MonkeyRunner命令集,将用户行为信息转换为对应的操作指令,进而得到用户行为脚本。
407,服务器将生成的用户行为脚本提供给用户终端。
本发明实施例中,服务器在生成用户行为脚本之后,将生成的用户行为脚本提供给用户终端。其中,用户行为脚本携带有服务器生成用户行为脚本所采用的脚本编写规则的描述信息,由此,通过该描述信息指示用户终端调用对应的脚本执行根据来执行用户行为脚本。
408,用户终端重启目标应用,并针对重启后的目标应用调用脚本执行工具执行用户行为脚本中的操作指令。
用户终端在获取到服务器提供的用户行为脚本之后,即根据调用用户行为脚本中的描述信息所指示的脚本执行工具来执行用户行为脚本中的操作指令,从而复现目标应用发生异常运行事件前的用户行为,对目标应用进行压力测试,进而复现前述异常运行事件,以辅助技术人员分析发生异常运行事件的原因。
比如,用户终端根据用户行为脚本中包含的描述信息识别到服务器集成的应用测试装置基于MonkeyRunner命令集生成了用户行为脚本,相应的,用户终端即调用MonkeyRunner工具来依次执行用户行为脚本中的各条操作指令,从而一一模拟目标应用发生异常运行事件前的用户行为,实现对目标应用的压力测试,以复现前述异常运行事件。
实施例四、
为了更好地实施以上方法,本发明实施例还提供一种应用测试装置,该应用测试装置具体可以集成在如手机、平板电脑、笔记本电脑等用户终端中。
例如,如图5所示,该应用测试装置可以包括监听模块501、上报模块502、获取模块503和测试模块504,如下:
监听模块501,用于监听目标应用运行过程中的用户行为信息,并记录监听到的用户行为信息;
上报模块502,用于当检测到目标应用发生异常运行事件时,向服务器发送脚本生成请求,其中,脚本生成请求包含已记录的用户行为信息,脚本生成请求用于指示服务器根据已记录的用户行为信息生成用户行为脚本,用户行为脚本包括已记录的用户行为信息对应的操作指令;
获取模块503,用于接收服务器返回的用户行为脚本,并重启目标应用;
测试模块504,用于针对重启后的目标应用,调用脚本执行工具以执行用户行为脚本中的操作指令。
在一实施例中,在记录监听到的用户行为时,监听模块501用于:
当监听到目标应用运行过程中的用户行为信息时,根据预设用户行为信息和行为标识之间的对应关系,确定用户行为信息的目标行为标识;
记录目标行为标识以及用户行为对应的时间信息;
而当检测到目标应用发生异常运行事件时,向服务器发送脚本生成请求时,上报模块502用于:
当检测到目标应用发生异常运行事件时,向服务器发送包含已记录的目标行为标识以及用户行为对应的时间信息的脚本生成请求;
其中,脚本生成请求用于指示服务器将已记录的目标行为标识转换为用户行为信息,并生成对应用户行为信息的操作指令,以及按照用户行为对应的时间信息的先后顺序排列生成的操作指令,得到用户行为脚本。
在一实施例中,在调用脚本执行工具以执行用户行为脚本中的操作指令时,测试模块504用于:
根据已记录的用户行为对应的时间信息,获取相邻两个用户行为之间的时间间隔;
调用脚本执行工具,按照获取到的时间间隔依次执行用户行为脚本中的操作指令。
在一实施例中,在调用脚本执行工具以执行用户行为脚本中的操作指令之前,测试模块504还用于:
获取发生异常运行事件前的应用运行环境信息,根据应用运行环境信息恢复发生异常运行事件前的应用运行环境;
而在调用脚本执行工具以执行用户行为脚本中的操作指令时,测试模块504用于:
在恢复的应用运行环境中调用脚本执行工具以执行用户行为脚本中的操作指令。
在一实施例中,应用测试装置还包括报告模块,用于在测试模块504执行用户行为脚本的过程中,若目标应用再次发生前述异常运行事件,则向服务器发送报告生成请求,其中,报告生成请求包含已产生的测试日志,报告生成请求用于指示服务器根据已产生的测试日志生成测试报告;以及接收服务器返回的测试报告。
应当说明的是,本发明实施例提供的应用测试装置与上文实施例中的适于用户终端的应用测试方法属于同一构思,其具体实现过程详见以上方法实施例,此处不再赘述。
实施例五、
为了更好地实施以上方法,本发明实施例还提供另外一种应用测试装置,该应用测试装置具体可以在服务器中。
例如,如图6所示,该应用测试装置可以包括接收模块601、识别模块602、构建模块603和下发模块604,如下:
接收模块601,用于接收应用测试请求,其中,应用测试请求包含用户终端标识,用于指示需要进行测试的用户终端;
识别模块602,用于当接收到应用测试请求时,根据应用测试请求包含的用户终端标识确定需要进行测试的目标用户终端;
构建模块603,用于获取目标用户终端上的目标应用发生异常运行事件前的目标用户行为信息,并生成对应目标用户行为信息的操作指令以得到用户行为脚本;
下发模块604,用于将用户行为脚本提供给目标用户终端,使得目标用户终端重启目标应用,并针对重启后的目标应用调用脚本执行工具执行用户行为脚本中的操作指令。
在一实施例中,在获取目标用户终端上的目标应用发生异常运行事件前的目标用户行为信息时,识别模块602用于:
获取对应异常运行事件的用户行为日志,用户行为日志包括目标用户终端在发生异常运行事件前记录的行为标识以及用户行为对应的时间信息;
根据已记录的行为标识以及预设用户行为信息和行为标识之间的对应关系,获取目标用户终端在目标应用发生异常运行事件前的目标用户行为信息;
而在生成对应目标用户行为信息的操作指令以得到用户行为脚本时,构建模块603用于:
生成对应目标用户行为信息的操作指令,并按照已记录的用户行为对应的时间信息的先后顺序排列生成的操作指令,得到用户行为脚本。
在一实施例中,应用测试装置还包括存储模块,用于在接收模块601接收应用测试请求之前,接收用户终端在目标应用发生异常运行事件时提供的其在发生异常运行事件前记录的行为标识以及对应的时间信息;以及根据接收到的行为标识以及对应的时间信息生成用户行为日志。
在一实施例中,应用测试装置还包括报告模块,用于在下发模块604将用户行为脚本提供给用户终端之后,接收用户终端在目标应用发生相同的异常运行事件时发送的报告生成请求,报告生成请求包含用户终端已产生的测试日志;以及解析报告生成请求中的测试日志,根据解析结果生成测试报告;以及将生成的测试报告提供给用户终端。
应当说明的是,本发明实施例提供的应用测试装置与上文实施例中的适于服务器的应用测试方法属于同一构思,其具体实现过程详见以上方法实施例,此处不再赘述。
实施例六、
本发明实施例还提供一种用户终端,该用户终端可以为手机、平板电脑、笔记本电脑等设备。如图7所示,其示出了本发明实施例所涉及的用户终端的结构示意图,具体来讲:
该用户终端可以包括一个或者一个以上处理核心的处理器701、一个或一个以上计算机可读存储介质的存储器702、电源703和输入单元704等部件。本领域技术人员可以理解,图7中示出的用户终端结构并不构成对用户终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器701是该用户终端的控制中心,利用各种接口和线路连接整个用户终端的各个部分,通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行用户终端的各种功能和处理数据。
存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行各种功能应用以及数据处理。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器702还可以包括存储器控制器,以提供处理器701对存储器702的访问。
用户终端还包括给各个部件供电的电源703,优选的,电源703可以通过电源管理***与处理器701逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
该用户终端还可包括输入单元704,该输入单元704可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,用户终端还可以包括显示单元等,在此不再赘述。具体在本实施例中,用户终端中的处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现各种功能,如下:
监听目标应用运行过程中的用户行为信息,并记录监听到的用户行为信息;当检测到目标应用发生异常运行事件时,向服务器发送脚本生成请求,其中,脚本生成请求包含已记录的用户行为信息,脚本生成请求用于指示服务器根据已记录的用户行为信息生成用户行为脚本,用户行为脚本包括已记录的用户行为信息对应的操作指令;接收服务器返回的用户行为脚本,并重启目标应用;针对重启后的目标应用,调用脚本执行工具以执行用户行为脚本中的操作指令。
应当说明的是,本发明实施例提供的用户终端与上文实施例中的适用于用户终端的应用测试方法属于同一构思,其具体实现过程详见以上方法实施例,此处不再赘述。
实施例七、
本发明实施例还提供一种服务器,如图8所示,其示出了本发明实施例所涉及的用户终端的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器801、一个或一个以上计算机可读存储介质的存储器802、电源803和输入单元804等部件。本领域技术人员可以理解,图8中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器801是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行服务器的各种功能和处理数据。
存储器802可用于存储软件程序以及模块,处理器801通过运行存储在存储器802的软件程序以及模块,从而执行各种功能应用以及数据处理。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器802还可以包括存储器控制器,以提供处理器801对存储器802的访问。
服务器还包括给各个部件供电的电源803,优选的,电源803可以通过电源管理***与处理器801逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
具体在本实施例中,服务器中的处理器801会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器802中,并由处理器801来运行存储在存储器802中的应用程序,从而实现各种功能,如下:
接收应用测试请求,其中,应用测试请求包含用户终端标识,用于指示需要进行测试的用户终端;当接收到应用测试请求时,根据应用测试请求包含的用户终端标识确定需要进行测试的目标用户终端;获取目标用户终端上的目标应用发生异常运行事件前的目标用户行为信息,并生成对应目标用户行为信息的操作指令以得到用户行为脚本;将用户行为脚本提供给目标用户终端,使得目标用户终端重启目标应用,并调用脚本执行工具以执行用户行为脚本中的操作指令。
应当说明的是,本发明实施例提供的服务器与上文实施例中的适用于服务器的应用测试方法属于同一构思,其具体实现过程详见以上方法实施例,此处不再赘述。
实施例八、
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被用户终端的处理器进行加载,以执行本发明实施例所提供的适用于用户终端的应用测试方法,例如,该指令可以执行如下步骤:
监听目标应用运行过程中的用户行为信息,并记录监听到的用户行为信息;当检测到目标应用发生异常运行事件时,向服务器发送脚本生成请求,其中,脚本生成请求包含已记录的用户行为信息,脚本生成请求用于指示服务器根据已记录的用户行为信息生成用户行为脚本,用户行为脚本包括已记录的用户行为信息对应的操作指令;接收服务器返回的用户行为脚本,并重启目标应用;针对重启后的目标应用,调用脚本执行工具以执行用户行为脚本中的操作指令。
此外,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被服务器的处理器进行加载,以执行本发明实施例所提供的适用于服务器的应用测试方法,例如,该指令可以执行如下步骤:
接收应用测试请求,其中,应用测试请求包含用户终端标识,用于指示需要进行测试的用户终端;当接收到应用测试请求时,根据应用测试请求包含的用户终端标识确定需要进行测试的目标用户终端;获取目标用户终端上的目标应用发生异常运行事件前的目标用户行为信息,并生成对应目标用户行为信息的操作指令以得到用户行为脚本;将用户行为脚本提供给目标用户终端,使得目标用户终端重启目标应用,并调用脚本执行工具以执行用户行为脚本中的操作指令。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
本发明实施例所提供的存储介质能够实现本发明实施例所提供的对应应用测试方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种应用测试方法、装置和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种应用测试方法,其特征在于,包括:
监听目标应用运行过程中的用户行为信息,并记录所述用户行为信息;
当检测到所述目标应用发生异常运行事件时,向服务器发送脚本生成请求,其中,所述脚本生成请求包含已记录的用户行为信息,所述脚本生成请求用于指示所述服务器根据所述已记录的用户行为信息生成用户行为脚本,所述用户行为脚本包括所述已记录的用户行为信息对应的操作指令;
接收所述服务器返回的所述用户行为脚本,并重启所述目标应用;
针对重启后的目标应用,调用脚本执行工具以执行所述用户行为脚本中的操作指令。
2.根据权利要求1所述的应用测试方法,其特征在于,所述记录所述用户行为信息的步骤,包括:
当监听到目标应用运行过程中的用户行为信息时,根据预设用户行为信息和行为标识之间的对应关系,确定所述用户行为信息的目标行为标识;
记录所述目标行为标识以及用户行为对应的时间信息;
所述当检测到所述目标应用发生异常运行事件时,向服务器发送脚本生成请求的步骤,包括:
当检测到所述目标应用发生异常运行事件时,向所述服务器发送包含已记录的目标行为标识以及用户行为对应的时间信息的脚本生成请求;
其中,所述脚本生成请求用于指示所述服务器将所述已记录的目标行为标识转换为所述用户行为信息,并生成对应所述用户行为信息的操作指令,以及按照用户行为对应的时间信息的先后顺序排列生成的操作指令,得到所述用户行为脚本。
3.根据权利要求2所述的应用测试方法,其特征在于,所述调用脚本执行工具以执行所述用户行为脚本中的操作指令的步骤,包括:
根据所述已记录的用户行为对应的时间信息,获取相邻两个用户行为之间的时间间隔;
调用所述脚本执行工具,按照获取到的时间间隔依次执行所述用户行为脚本中的操作指令。
4.根据权利要求1所述的应用测试方法,其特征在于,所述调用脚本执行工具以执行所述用户行为脚本中的操作指令的步骤之前,还包括:
获取发生所述异常运行事件前的应用运行环境信息,根据所述应用运行环境信息恢复发生所述异常运行事件前的应用运行环境。
所述调用脚本执行工具以执行所述用户行为脚本中的操作指令的步骤,包括:
在恢复的应用运行环境中调用所述脚本执行工具以执行所述用户行为脚本中的操作指令。
5.根据权利要求1-4任一项所述的应用测试方法,其特征在于,在执行所述用户行为脚本的过程中,还包括:
若所述目标应用再次发生所述异常运行事件,则向所述服务器发送报告生成请求,其中,所述报告生成请求包含已产生的测试日志,所述报告生成请求用于指示所述服务器根据所述已产生的测试日志生成测试报告;
接收所述服务器返回的所述测试报告。
6.一种应用测试方法,其特征在于,包括:
接收应用测试请求,其中,所述应用测试请求包含用户终端标识,用于指示需要进行测试的用户终端;
当接收到所述应用测试请求时,根据所述应用测试请求包含的用户终端标识确定需要进行测试的目标用户终端;
获取所述目标用户终端上的目标应用发生异常运行事件前的目标用户行为信息,并生成对应所述目标用户行为信息的操作指令以得到用户行为脚本;
将所述用户行为脚本提供给所述目标用户终端,使得所述目标用户终端重启所述目标应用,并针对重启后的目标应用调用脚本执行工具以执行所述用户行为脚本中的操作指令。
7.根据权利要求6所述的应用测试方法,其特征在于,所述获取所述目标用户终端上的目标应用发生异常运行事件前的目标用户行为信息的步骤,包括:
获取对应所述异常运行事件的用户行为日志,所述用户行为日志包括所述目标用户终端在所述目标应用发生所述异常运行事件前记录的行为标识以及用户行为对应的时间信息;
根据所述已记录的行为标识以及预设用户行为信息和行为标识之间的对应关系,获取所述目标用户终端在所述目标应用发生所述异常运行事件前的目标用户行为信息;
所述生成对应所述目标用户行为信息的操作指令以得到用户行为脚本的步骤,包括:
生成对应所述目标用户行为信息的操作指令,并按照所述已记录的用户行为对应的时间信息的先后顺序排列生成的操作指令,得到所述用户行为脚本。
8.一种应用测试装置,其特征在于,包括:
监听模块,用于监听目标应用运行过程中的用户行为信息,并记录所述用户行为信息;
上报模块,用于当检测到所述目标应用发生异常运行事件时,向服务器发送脚本生成请求,其中,所述脚本生成请求包含已记录的用户行为信息,所述脚本生成请求用于指示所述服务器根据所述已记录的用户行为信息生成用户行为脚本,所述用户行为脚本包括所述已记录的用户行为信息对应的操作指令;
获取模块,用于接收所述服务器返回的所述用户行为脚本,并重启所述目标应用;
测试模块,用于针对重启后的目标应用,调用脚本执行工具以执行所述用户行为脚本中的操作指令。
9.一种应用测试装置,其特征在于,包括:
接收模块,用于接收应用测试请求,其中,所述应用测试请求包含用户终端标识,用于指示需要进行测试的用户终端;
识别模块,用于当接收到所述应用测试请求时,根据所述应用测试请求包含的用户终端标识确定需要进行测试的目标用户终端;
构建模块,用于获取所述目标用户终端上的目标应用发生异常运行事件前的目标用户行为信息,并生成对应所述目标用户行为信息的操作指令以得到用户行为脚本;
下发模块,用于将所述用户行为脚本提供给所述目标用户终端,使得所述目标用户终端重启所述目标应用,并针对重启后的目标应用调用脚本执行工具以执行所述用户行为脚本中的操作指令。
10.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行如权利要求1至5所述的应用测试方法中的步骤;或者执行如权利要求6和7所述的应用测试方法中的步骤。
CN201910543749.3A 2019-06-21 2019-06-21 一种应用测试方法、装置和存储介质 Pending CN112115038A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910543749.3A CN112115038A (zh) 2019-06-21 2019-06-21 一种应用测试方法、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910543749.3A CN112115038A (zh) 2019-06-21 2019-06-21 一种应用测试方法、装置和存储介质

Publications (1)

Publication Number Publication Date
CN112115038A true CN112115038A (zh) 2020-12-22

Family

ID=73796647

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910543749.3A Pending CN112115038A (zh) 2019-06-21 2019-06-21 一种应用测试方法、装置和存储介质

Country Status (1)

Country Link
CN (1) CN112115038A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112291277A (zh) * 2020-12-29 2021-01-29 腾讯科技(深圳)有限公司 一种恶意软件检测方法、装置、设备及存储介质
CN112988580A (zh) * 2021-03-11 2021-06-18 挂号网(杭州)科技有限公司 一种测试过程的复现方法、装置、设备及存储介质
CN113221122A (zh) * 2021-05-21 2021-08-06 珠海金山网络游戏科技有限公司 漏洞重现方法及装置
CN113608990A (zh) * 2021-10-08 2021-11-05 上海豪承信息技术有限公司 终端性能检测方法、设备、存储介质及程序产品
CN117331754A (zh) * 2023-10-17 2024-01-02 书行科技(北京)有限公司 异常问题还原方法、***、电子设备和计算机存储介质
CN117435475A (zh) * 2023-09-27 2024-01-23 书行科技(北京)有限公司 运行场景的复现方法、装置、电子设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320572A (zh) * 2014-06-27 2016-02-10 腾讯科技(深圳)有限公司 浏览器异常处理方法、装置及***
CN108268364A (zh) * 2018-01-19 2018-07-10 百度在线网络技术(北京)有限公司 异常事件回放方法、装置及设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320572A (zh) * 2014-06-27 2016-02-10 腾讯科技(深圳)有限公司 浏览器异常处理方法、装置及***
CN108268364A (zh) * 2018-01-19 2018-07-10 百度在线网络技术(北京)有限公司 异常事件回放方法、装置及设备

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112291277A (zh) * 2020-12-29 2021-01-29 腾讯科技(深圳)有限公司 一种恶意软件检测方法、装置、设备及存储介质
CN112988580A (zh) * 2021-03-11 2021-06-18 挂号网(杭州)科技有限公司 一种测试过程的复现方法、装置、设备及存储介质
CN113221122A (zh) * 2021-05-21 2021-08-06 珠海金山网络游戏科技有限公司 漏洞重现方法及装置
CN113608990A (zh) * 2021-10-08 2021-11-05 上海豪承信息技术有限公司 终端性能检测方法、设备、存储介质及程序产品
CN113608990B (zh) * 2021-10-08 2022-02-01 上海豪承信息技术有限公司 终端性能检测方法、设备及存储介质
CN117435475A (zh) * 2023-09-27 2024-01-23 书行科技(北京)有限公司 运行场景的复现方法、装置、电子设备及可读存储介质
CN117331754A (zh) * 2023-10-17 2024-01-02 书行科技(北京)有限公司 异常问题还原方法、***、电子设备和计算机存储介质
CN117331754B (zh) * 2023-10-17 2024-04-19 书行科技(北京)有限公司 异常问题还原方法、***、电子设备和计算机存储介质

Similar Documents

Publication Publication Date Title
CN112115038A (zh) 一种应用测试方法、装置和存储介质
US20190227917A1 (en) Adaptive system for mobile device testing
CN111026645B (zh) 用户界面自动化测试方法、装置、存储介质及电子设备
CN111124919A (zh) 一种用户界面的测试方法、装置、设备及存储介质
US7496795B2 (en) Method, system, and computer program product for light weight memory leak detection
CN111104315A (zh) 一种测试脚本生成方法及装置、计算机可读存储介质
CN113422794B (zh) 流量录制、回放处理方法、装置及电子设备
CN101751329B (zh) 一种实现自动测试的方法和***
CN105260082B (zh) 一种测试数据展示方法及开发终端
CN112187585A (zh) 网络协议测试方法及装置
CN109726830A (zh) 设备巡检方法、装置、电子设备及存储介质
CN115658529A (zh) 用户页面的自动化测试方法以及相关设备
CN106713011B (zh) 一种获取测试数据的方法与***
CN111414309A (zh) 应用程序的自动化测试方法、计算机设备和存储介质
CN113568833A (zh) 测试用例确定方法、装置、计算机设备及可读存储介质
US20080120603A1 (en) Automation of keyboard accessibility testing
US10831634B1 (en) Replication of user interface events
CN111026651B (zh) 测试方法、装置、存储介质及电子设备
CN109634838A (zh) 定位应用程序故障的方法、装置、存储介质和电子设备
CN108984380A (zh) 一种基于Linux***的服务器测试方法、装置及介质
CN111475423A (zh) 数据录入方法、装置、电子设备及可读存储介质
KR101346835B1 (ko) 어플리케이션 오류 처리 방법 및 장치
CN113535029A (zh) 操作录制方法、终端、计算机设备及计算机可读存储介质
CN111444091A (zh) 测试用例生成方法及装置
CN114217926A (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20201222