1.本发明实施例涉及人工智能技术领域,尤其涉及一种移动终端的应用程序测试方法、装置、设备及介质。
背景技术:2.随着互联网行业进入移动时代,各种产品和项目均有各自对应的移动客户端,故移动客户端测试已经成为测试领域中最重要的测试方式。其中,移动客户端测试,主要包括常规的页面功能测试和专项功能测试。
3.目前,在现有的移动客户端测试中,对于用户量较低或者面向内部使用的移动客户端,其受限于排期紧、经费少以及测试人员能力有限等原因,通常不会进行专项功能测试。而对于用户量较高的移动客户端,其专项功能测试通常是通过基于个人计算机(personal computer,pc)建立的专项功能测试工具实现。然而,在一些特殊场景下,例如,居家办公时,由于缺少pc或者pc上未安装对应的专项功能测试工具,很难实现对移动客户端的专项功能测试,降低了测试的灵活性。
技术实现要素:4.本发明实施例提供一种移动终端的应用程序测试方法、装置、设备及介质,可以在移动终端实现对应用程序的各类型性能测试,可以提升应用程序的测试灵活性。
5.第一方面,本发明实施例提供了一种移动终端的应用程序测试方法,应用于移动终端中的测试客户端,包括:
6.响应于当前登录用户针对应用程序列表的点击指令,获取目标应用程序;并响应于当前登录用户针对测试项列表的点击指令,获取至少一个目标测试项;
7.通过所述测试客户端与测试服务器之间的长连接通信链路,将所述目标应用程序和所述各目标测试项发送至所述测试服务器,并接收所述测试服务器反馈的测试指令;
8.通过所述测试客户端的后台处理模块执行所述测试服务器反馈的测试指令,以获取所述目标应用程序对应的测试结果;
9.通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试结果发送至所述测试服务器,并接收所述测试服务器根据所述目标应用程序对应的测试结果生成的测试报告。
10.第二方面,本发明实施例还提供了一种移动终端的应用程序测试方法,应用于测试服务器,包括:
11.当检测到测试客户端发送的目标应用程序和至少一个目标测试项时,根据所述目标应用程序和所述各目标测试项,获取所述目标应用程序对应的测试指令;
12.通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试指令发送至所述测试客户端;
13.当检测到所述测试客户端发送的所述目标应用程序对应的测试结果时,根据所述
目标应用程序对应的测试结果,生成所述目标应用程序对应的测试报告;
14.通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试报告发送至所述测试客户端。
15.第三方面,本发明实施例还提供了一种移动终端的应用程序测试装置,应用于移动终端中的测试客户端,包括:
16.目标测试项获取模块,用于响应于当前登录用户针对应用程序列表的点击指令,获取目标应用程序;并响应于当前登录用户针对测试项列表的点击指令,获取至少一个目标测试项;
17.测试指令接收模块,用于通过所述测试客户端与测试服务器之间的长连接通信链路,将所述目标应用程序和所述各目标测试项发送至所述测试服务器,并接收所述测试服务器反馈的测试指令;
18.测试结果获取模块,用于通过所述测试客户端的后台处理模块执行所述测试服务器反馈的测试指令,以获取所述目标应用程序对应的测试结果;
19.测试报告接收模块,用于通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试结果发送至所述测试服务器,并接收所述测试服务器根据所述目标应用程序对应的测试结果生成的测试报告。
20.第四方面,本发明实施例还提供了一种移动终端的应用程序测试装置,应用于测试服务器,包括:
21.测试指令获取模块,用于当检测到测试客户端发送的目标应用程序和至少一个目标测试项时,根据所述目标应用程序和所述各目标测试项,获取所述目标应用程序对应的测试指令;
22.测试指令发送模块,用于通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试指令发送至所述测试客户端;
23.测试报告生成模块,用于当检测到所述测试客户端发送的所述目标应用程序对应的测试结果时,根据所述目标应用程序对应的测试结果,生成所述目标应用程序对应的测试报告;
24.测试报告发送模块,用于通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试报告发送至所述测试客户端。
25.第五方面,本发明实施例还提供了一种电子设备,包括:
26.一个或多个处理器;
27.存储器,用于存储一个或多个程序;
28.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行本发明任意实施例提供的移动终端的应用程序测试方法。
29.第六方面,本发明实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的移动终端的应用程序测试方法。
30.本发明实施例提供的技术方案,客户端分别响应于当前登录用户针对应用程序列表和测试项列表的点击指令,获取目标应用程序和多个目标测试项;之后通过测试客户端与测试服务器之间的长连接通信链路,将目标应用程序和各目标测试项发送至测试服务
器,并接收测试服务器反馈的测试指令;然后通过测试客户端的后台处理模块执行测试指令,以获取目标应用程序对应的测试结果;最终通过测试客户端与测试服务器之间的长连接通信链路,将目标应用程序对应的测试结果发送至测试服务器,并接收测试服务器根据目标应用程序对应的测试结果生成的测试报告;通过在测试服务器中预先配置各种类型测试项对应的测试指令,可以在移动终端实现对应用程序的各类型性能测试,可以提升应用程序的测试灵活性。
附图说明
31.图1是本发明实施例一提供的一种移动终端的应用程序测试方法的流程图;
32.图2a是本发明实施例二提供的一种移动终端的应用程序测试方法的流程图;
33.图2b是本发明实施例二提供的测试客户端与测试服务器之间的数据交互示意图;
34.图3是本发明实施例三提供的一种移动终端的应用程序测试装置的结构示意图;
35.图4是本发明实施例四提供的一种移动终端的应用程序测试装置的结构示意图;
36.图5是本发明实施例五提供的一种电子设备的结构示意图。
具体实施方式
37.下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
38.本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
39.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
40.实施例一
41.图1为本发明实施例一提供的一种移动终端的应用程序测试方法的流程图,本发明实施例可适用于在移动终端对应用程序进行测试的情况,该方法可以由移动终端中的测试客户端来执行,并一般可集成在电子设备中,典型的,可以集成在移动终端设备中。如图1所示,该方法具体包括如下步骤:
42.s110、响应于当前登录用户针对应用程序列表的点击指令,获取目标应用程序;并响应于当前登录用户针对测试项列表的点击指令,获取至少一个目标测试项。
43.在本实施例中,测试客户端在检测到用户成功登录以后,可以向当前登录用户展示应用程序的测试界面,其中,测试界面可以包括应用程序选择控件和测试项选择控件。当前登录用户可以通过分别点击应用程序选择控件和测试项选择控件,以获取应用程序列表和测试项列表。
44.其中,应用程序列表,可以包括测试客户端所安装的移动终端上的全部应用程序,可以通过界面下拉框的形式进行展示。在本实施例中,在测试客户端成功安装到移动终端设备上之后,测试客户端可以自动对该移动终端设备的应用程序进行检测,以生成应用程序列表,同时可以获取各应用程序的各类型权限信息。可选的,当应用程序的数量较多时,应用程序可以在应用程序列表中滚动显示。在本实施例中,当前登录用户可以在应用程序列表中选择需要进行测试的应用程序,即目标应用程序。
45.测试项列表,可以包括测试客户端所支持的多个性能测试项,例如,应用程序启动性能测试等。在本实施例中,当前登录用户可以在测试列表中点击选择需要进行测试的测试项,即目标测试项。可以理解的是,当前登录用户可以一次性选择一个或多个测试项。
46.在本实施例中,测试客户端在根据当前登录用户的点击指令,确定对应的目标应用程序或者目标测试项时,可以依据当前登录用户的点击操作,获取当前登录用户的屏幕点击位置,并根据该屏幕点击位置和应用程序列表中各应用程序的屏幕显示位置,或者测试项列表中各测试项的屏幕显示位置,确定当前登录用户选择的目标应用程序或者目标测试项。可选的,当前登录用户可以对测试项列表进行纵向触摸滑动操作或者多次单击触摸操作,以选择多个目标测试项。
47.在本实施例的一个可选的实施方式中,响应于当前登录用户针对测试项列表的点击指令,获取至少一个目标测试项,可以包括:响应于当前登录用户针对测试项列表中一键测试按钮的点击指令,将所述测试项列表中各测试项确定为目标测试项,以获取至少一个目标测试项。
48.在本实施例中,测试客户端可以在测试项列表中的预设位置提供一键测试按钮,当测试客户端检测到当前登录用户对一键测试按钮的点击指令时,可以自动将测试项列表中的所有测试项确定为目标测试项。
49.上述设置的好处在于:当用户需要对目标应用程序进行全部测试项的测试时,只需一键点击即可实现,可以提升应用程序的测试效率。
50.s120、通过所述测试客户端与测试服务器之间的长连接通信链路,将所述目标应用程序和所述各目标测试项发送至所述测试服务器,并接收所述测试服务器反馈的测试指令。
51.其中,长连接通信链路,可以是基于超文本传输协议(hypertext transfer protocol,http)的长连接通信链路,其一旦建立,在保持期间内可以实现连续多个数据包的传输。在本实施例中,测试客户端在检测到用户成功登录以后,即可自动建立与测试服务器之间的长连接通信链路。因此,在确定目标应用程序和多个目标测试项之后,测试客户端可以通过与测试服务器之间的长连接通信链路,将该目标应用程序和目标测试项发送至测试服务器。
52.在本实施例中,测试服务器针对不同的应用程序和测试项,预先配置有对应的测试指令。因此,测试服务器在接收到测试客户端发送的目标应用程序和目标测试项之后,可以获取与各目标测试项对应的测试指令,进而可以将各目标测试项对应的测试指令反馈至测试客户端。
53.s130、通过所述测试客户端的后台处理模块执行所述测试服务器反馈的测试指令,以获取所述目标应用程序对应的测试结果。
54.其中,后台处理模块,可以是测试客户端中预先设置的用于处理后台任务的功能模块。
55.在本实施例中,测试客户端在接收到测试服务器反馈的测试指令后,可以在后台执行该测试指令,以实现当前登录用户对测试执行过程的无感知,可以提升用户的测试客户端使用体验。进一步的,在测试结束后,测试客户端可以获取对应的测试结果。
56.值得注意的是,在测试客户端成功安装后,测试指令对应的运行环境则已自动配置完成。因此,测试客户端在获取到测试指令之后,可以直接运行该测试指令以对目标应用程序进行对应的性能测试,可以提升应用程序的测试效率。
57.s140、通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试结果发送至所述测试服务器,并接收所述测试服务器根据所述目标应用程序对应的测试结果生成的测试报告。
58.具体的,测试客户端在获取到测试结果后,可以通过测试客户端与测试服务器之间的长连接通信链路,将该测试结果发送至测试服务器。测试服务器在接收到目标应用程序对应的测试结果后,可以根据该测试结果生成对应的测试报告。进一步的,测试服务器可以将该测试报告发送至测试客户端,以通过测试客户端向当前登录用户展示该测试报告。
59.上述设置的好处在于,可以实现对应用程序上线前的性能、稳定性、安全性以及崩溃的快速验证,同时可以避免对测试环境的搭建,以及对测试工具的选择等,可以降低对测试人员的能力要求;通过提供一键检测服务,整合了多种应用程序不同的专项测试场景。此外,通过一键测试和测试报告反馈,可以减少对应用程序进行测试时的时间消耗,使得被测试应用程序能够得到快速的验证和反馈,从而可以保证被测试应用程序的产品质量。
60.在本实施例的另一个可选的实施方式中,在响应于当前登录用户针对应用程序列表的点击指令,获取目标应用程序之前,还可以包括:获取当前访问用户在所述测试客户端的用户登录页面中输入的用户登录信息,并响应于当前访问用户对用户登录页面中登录按钮的点击指令,将所述用户登录信息发送至测试服务器;当检测到所述测试服务器反馈的与所述当前访问用户对应的登录验证通过信息时,建立所述测试客户端与所述测试服务器之间的长连接通信链路。
61.在本实施例中,测试客户端在检测到开始在前台运行时,若确定当前处于未登录状态,则可以向当前访问用户展示用户登录页面。当前访问用户可以在用户登录页面中输入用户登录信息(例如,登录账号和登录密码等),并点击登录按钮。测试客户端在检测到当前访问用户对登录按钮的点击指令时,可以将用户登录信息发送至测试服务器。
62.进一步的,测试服务器根据接收的用户登录信息进行用户登录验证,若确定该当前访问用户成功通过用户登录验证,则向测试客户端反馈登录验证通过信息。测试客户端在接收到测试服务器反馈的登录验证通过信息之后,将与测试服务器之间的通信链路保持为长连接状态,以成功建立测试客户端与测试服务器之间的长连接通信链路。
63.本发明实施例提供的技术方案,客户端分别响应于当前登录用户针对应用程序列表和测试项列表的点击指令,获取目标应用程序和多个目标测试项;之后通过测试客户端与测试服务器之间的长连接通信链路,将目标应用程序和各目标测试项发送至测试服务器,并接收测试服务器反馈的测试指令;然后通过测试客户端的后台处理模块执行测试指令,以获取目标应用程序对应的测试结果;最终通过测试客户端与测试服务器之间的长连
接通信链路,将目标应用程序对应的测试结果发送至测试服务器,并接收测试服务器根据目标应用程序对应的测试结果生成的测试报告;通过在测试服务器中预先配置各种类型测试项对应的测试指令,可以在移动终端实现对应用程序的各类型性能测试,可以提升应用程序的测试灵活性。
64.实施例二
65.图2a为本发明实施例二提供的一种移动终端的应用程序测试方法的流程图,本发明实施例可适用于在移动终端对应用程序进行测试的情况,该方法可以由测试服务器来执行,并一般可集成在电子设备中,典型的,可以集成在服务器中。如图2a所示,该方法具体包括如下步骤:
66.s210、当检测到测试客户端发送的目标应用程序和至少一个目标测试项时,根据所述目标应用程序和所述各目标测试项,获取所述目标应用程序对应的测试指令。
67.具体的,测试服务器在接收到目标应用程序和各目标测试项之后,可以根据该目标应用程序和各目标测试项,通过在本地缓存中进行匹配查找,或者通过调用预先设置的第三方框架,以获取与目标应用程序对应的测试指令。
68.在本实施例的一个可选的实施方式中,根据所述目标应用程序和所述各目标测试项,获取所述目标应用程序对应的测试指令,可以包括:
69.获取各所述目标测试项对应的测试项类型,并根据各所述目标测试项对应的测试项类型,在所述各目标测试项中筛选得到测试项类型为预设自有测试项的至少一个第一目标测试项,以及测试项类型为预设第三方提供测试项的至少一个第二目标测试项;
70.根据所述目标应用程序和所述各第一目标测试项,在本地缓存中获取所述目标应用程序对应的第一测试指令;根据所述目标应用程序和所述各第二目标测试项,通过调用与各所述第二目标测试项对应的预设第三方框架,获取所述目标应用程序对应的第二测试指令。
71.其中,目标测试项对应的测试项类型,可以包括预设自有测试项和预设第三方提供测试项。预设自有测试项,为测试服务器自身即可实现的测试项,例如,应用程序概要数据获取测试、应用程序启动性能测试等;预设第三方提供测试项,为第三方服务提供的测试项,例如,安全测试、弱网测试等。在本实施例中,可以在测试服务器中预先配置第三方服务对应的第三方框架(开源测试框架),以使测试客户端具备对应的功能测试能力(例如,2g(2-generation wireless telephone technology,第二代移动通信技术)、3g、4g网络模拟的测试能力,或者wifi(wireless fidelity,无线上网)和移动网络切换的测试能力)。
72.在本实施例中,测试服务器在接收到测试客户端发送的目标应用程序和目标测试项之后,可以首先根据各目标测试项对应的测试项类型,将全部目标测试项划分为第一目标测试项和第二目标测试项。然后,对于各第一目标测试项,可以在本地缓存中,直接查找与其对应的第一测试指令;而对于各第二目标测试项,可以通过调用对应的预设第三方框架,以获取对应的第二测试指令。最终,测试服务器可以通过与测试客户端之间的长连接通信链路,将目标应用程序对应的第一测试指令和第二测试指令,共同发送至测试客户端。
73.其中,目标测试项可以包括移动终端整体性能测试、移动终端运行性能测试、应用程序概要数据获取测试、应用程序启动性能测试、monkey测试、录制回放测试、安全测试、权限获取测试、弱网测试以及崩溃测试中的至少一项。
74.其中,移动终端整体性能测试、移动终端运行性能测试、应用程序概要数据获取测试、应用程序启动性能测试、monkey测试、录制回放测试、权限获取测试以及崩溃测试为测试服务器的预设自有测试项。安全测试和弱网测试,为预设第三方提供测试项。
75.其中,移动终端整体性能测试,可以包括针对中央处理单元(central processing unit,cpu)、内存、电池、磁盘、网络、耗电以及分辨率等移动终端硬件性能的测试;移动终端运行性能测试,是指对移动终端(例如,手机)打开很多其他应用程序时的实际性能的测试;应用程序概要数据获取测试,可以是对应用程序包名称、大小和开发者信息等数据的获取测试;应用程序启动性能测试,可以是对应用程序的启动时间的获取测试;monkey测试,可以是对应用程序执行monkey命令的测试;录制回放测试,可以包括通过移动终端上的录制回放功能,对录制过程中的接口、页面、元素的调用耗时的测试;权限测试,可以是对应用程序权限数据的获取测试;崩溃测试,可以包括通过录制回放,在每一个回放步骤上执行monkey命令,以获取稳定性数据,并记录崩溃结果、日志、anr(application not responding,应用程序无响应)、crash和exception等信息。
76.安全测试,可以是对应用程序对非法侵入的防范能力的测试,可以通过对现有的安全相关开源测试框架进行二次开发实现;弱网测试,可以包括对应用程序在弱网情况下正常运行能力的测试。
77.s220、通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试指令发送至所述测试客户端。
78.具体的,测试客户端在获取到目标应用程序对应的测试指令之后,可以通过长连接通信链路将该测试指令发送至测试客户端,以通过测试客户端执行该测试指令,以对目标应用程序执行对应的功能测试,并获取对应的测试结果。
79.s230、当检测到所述测试客户端发送的所述目标应用程序对应的测试结果时,根据所述目标应用程序对应的测试结果,生成所述目标应用程序对应的测试报告。
80.s240、通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试报告发送至所述测试客户端。
81.在本实施例中,测试服务器在接收到测试客户端发送的测试结果时,可以基于该测试结果生成对应的测试报告;例如,可以根据预设的测试报告格式,从测试结果中提取对应的信息,并将提取的信息填充至预设测试报告模板中,以获取目标应用程序对应的测试报告。进一步的,测试服务器在生成测试报告之后,可以通过与测试客户端之间的长连接通信链路,将该测试报告发送至测试客户端。测试客户端在接收到该测试报告后,可以采用图片或者文档的形式向当前登录用户进行展示。
82.本发明实施例提供的技术方案,测试服务器在检测到测试客户端发送的目标应用程序和多个目标测试项时,根据目标应用程序和各目标测试项,获取目标应用程序对应的测试指令;进而通过测试客户端与测试服务器之间的长连接通信链路,将目标应用程序对应的测试指令发送至测试客户端;当检测到测试客户端发送的目标应用程序对应的测试结果时,根据目标应用程序对应的测试结果,生成目标应用程序对应的测试报告;并通过测试客户端与测试服务器之间的长连接通信链路,将目标应用程序对应的测试报告发送至测试客户端;通过在测试服务器中预先配置各种类型测试项对应的测试指令,可以在移动终端实现对应用程序的各类型性能测试,可以提升应用程序的测试灵活性。
83.在本实施例的一个具体的实施方式中,测试客户端与测试服务器之间的数据交互可以如图2b所示。具体的,移动终端以安卓手机为例,安卓手机上预先安装有测试客户端和被测试的应用程序。首先,测试客户端在检测到用户的登录操作后,开始与测试服务器建立通信链路,并在检测到用户成功登录后,成功建立与测试服务器之间的长连接通信链路(基于http协议的通信链路)。然后,测试客户端在检测到用户对应用程序列表的点击指令时,获取用户选择的需要进行测试的目标应用程序,并在检测到用户对测试项列表中一键测试按钮的点击指令时,将测试项列表的所有测试项确定为目标测试项。
84.之后,测试客户端可以将目标应用程序和各目标测试项发送至测试服务器。测试服务器在接收到目标应用程序和各目标测试项之后,对于测试项类型为预设自有测试项的目标测试项,可以直接在本地缓存中获取对应的adb(android debug bridge,安卓调试桥)指令;而对于测试项类型为预设第三方提供测试项的目标测试项,可以通过调用预先配置的第三方框架,以获取对应的adb指令。
85.进一步的,测试服务器在成功获取到与目标应用程序对应的adb指令后,基于http协议将该adb指令发送至测试客户端。测试客户端通过执行接收的adb指令以请求目标应用程序,从而实现对目标应用程序的性能测试,并获取测试结果。之后,测试客户端可以将目标应用程序对应的测试结果发送至测试服务器。测试服务器可以根据接收的测试结果生成测试报告,并将测试报告发送至预设数据库进行存储和记录,或者测试服务器可以直接将测试结果转发至预设数据库进行存储和记录。
86.当用户需要查看测试结果或者测试报告时,可以在测试客户端中选择查看测试结果。测试客户端在检测到用户的操作后,可以向预设数据库发送测试结果查询请求或者测试报告查询请求,以从预设数据库中获取对应的测试结果或者测试报告,并将其向用户进行展示。
87.实施例三
88.图3为本发明实施例三提供的一种移动终端的应用程序测试装置的结构示意图。如图3所示,该装置应用于移动终端中的测试客户端,包括:目标测试项获取模块310、测试指令接收模块320、测试结果获取模块330和测试报告接收模块340。其中,
89.目标测试项获取模块310,用于响应于当前登录用户针对应用程序列表的点击指令,获取目标应用程序;并响应于当前登录用户针对测试项列表的点击指令,获取至少一个目标测试项;
90.测试指令接收模块320,用于通过所述测试客户端与测试服务器之间的长连接通信链路,将所述目标应用程序和所述各目标测试项发送至所述测试服务器,并接收所述测试服务器反馈的测试指令;
91.测试结果获取模块330,用于通过所述测试客户端的后台处理模块执行所述测试服务器反馈的测试指令,以获取所述目标应用程序对应的测试结果;
92.测试报告接收模块340,用于通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试结果发送至所述测试服务器,并接收所述测试服务器根据所述目标应用程序对应的测试结果生成的测试报告。
93.本发明实施例提供的技术方案,客户端分别响应于当前登录用户针对应用程序列表和测试项列表的点击指令,获取目标应用程序和多个目标测试项;之后通过测试客户端
与测试服务器之间的长连接通信链路,将目标应用程序和各目标测试项发送至测试服务器,并接收测试服务器反馈的测试指令;然后通过测试客户端的后台处理模块执行测试指令,以获取目标应用程序对应的测试结果;最终通过测试客户端与测试服务器之间的长连接通信链路,将目标应用程序对应的测试结果发送至测试服务器,并接收测试服务器根据目标应用程序对应的测试结果生成的测试报告;通过在测试服务器中预先配置各种类型测试项对应的测试指令,可以在移动终端实现对应用程序的各类型性能测试,可以提升应用程序的测试灵活性。
94.可选的,在上述技术方案的基础上,所述移动终端的应用程序测试装置,还包括:
95.用户登录信息发送模块,用于获取当前访问用户在所述测试客户端的用户登录页面中输入的用户登录信息,并响应于当前访问用户对用户登录页面中登录按钮的点击指令,将所述用户登录信息发送至测试服务器;
96.长连接通信链路建立模块,用于当检测到所述测试服务器反馈的与所述当前访问用户对应的登录验证通过信息时,建立所述测试客户端与所述测试服务器之间的长连接通信链路。
97.可选的,在上述技术方案的基础上,目标测试项获取模块310,具体用于响应于当前登录用户针对测试项列表中一键测试按钮的点击指令,将所述测试项列表中各测试项确定为目标测试项,以获取至少一个目标测试项。
98.上述装置可执行本发明实施例一所提供的移动终端的应用程序测试方法,具备执行上述方法相应的功能模块和有益效果。未在本发明实施例中详尽描述的技术细节,可参见本发明实施例一所提供的方法。
99.实施例四
100.图4为本发明实施例四提供的一种移动终端的应用程序测试装置的结构示意图。如图4所示,该装置应用于测试服务器,包括:测试指令获取模块410、测试指令发送模块420、测试报告生成模块430和测试报告发送模块440。其中,
101.测试指令获取模块410,用于当检测到测试客户端发送的目标应用程序和至少一个目标测试项时,根据所述目标应用程序和所述各目标测试项,获取所述目标应用程序对应的测试指令;
102.测试指令发送模块420,用于通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试指令发送至所述测试客户端;
103.测试报告生成模块430,用于当检测到所述测试客户端发送的所述目标应用程序对应的测试结果时,根据所述目标应用程序对应的测试结果,生成所述目标应用程序对应的测试报告;
104.测试报告发送模块440,用于通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试报告发送至所述测试客户端。
105.本发明实施例提供的技术方案,测试服务器在检测到测试客户端发送的目标应用程序和多个目标测试项时,根据目标应用程序和各目标测试项,获取目标应用程序对应的测试指令;进而通过测试客户端与测试服务器之间的长连接通信链路,将目标应用程序对应的测试指令发送至测试客户端;当检测到测试客户端发送的目标应用程序对应的测试结果时,根据目标应用程序对应的测试结果,生成目标应用程序对应的测试报告;并通过测试
客户端与测试服务器之间的长连接通信链路,将目标应用程序对应的测试报告发送至测试客户端;通过在测试服务器中预先配置各种类型测试项对应的测试指令,可以在移动终端实现对应用程序的各类型性能测试,可以提升应用程序的测试灵活性。
106.可选的,在上述技术方案的基础上,测试指令获取模块410,包括:
107.测试项类型获取单元,用于获取各所述目标测试项对应的测试项类型,并根据各所述目标测试项对应的测试项类型,在所述各目标测试项中筛选得到测试项类型为预设自有测试项的至少一个第一目标测试项,以及测试项类型为预设第三方提供测试项的至少一个第二目标测试项;
108.第一测试指令获取单元,用于根据所述目标应用程序和所述各第一目标测试项,在本地缓存中获取所述目标应用程序对应的第一测试指令;
109.第二测试指令获取单元,用于根据所述目标应用程序和所述各第二目标测试项,通过调用与各所述第二目标测试项对应的预设第三方框架,获取所述目标应用程序对应的第二测试指令。
110.可选的,在上述技术方案的基础上,所述目标测试项包括移动终端整体性能测试、移动终端运行性能测试、应用程序概要数据获取测试、应用程序启动性能测试、monkey测试、录制回放测试、安全测试、权限获取测试、弱网测试以及崩溃测试中的至少一项。
111.上述装置可执行本发明实施例二所提供的移动终端的应用程序测试方法,具备执行上述方法相应的功能模块和有益效果。未在本发明实施例中详尽描述的技术细节,可参见本发明实施例二所提供的方法。
112.实施例五
113.图5为本发明实施例五提供的一种电子设备的结构示意图,如图5所示,该电子设备包括处理器510、存储器520、输入装置530和输出装置540;电子设备中处理器510的数量可以是一个或多个,图5中以一个处理器510为例;电子设备中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线连接为例。存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明任意实施例中的一种移动终端的应用程序测试方法对应的程序指令/模块(例如,一种移动终端的应用程序测试装置中的目标测试项获取模块310、测试指令接收模块320、测试结果获取模块330和测试报告接收模块340,或者测试指令获取模块410、测试指令发送模块420、测试报告生成模块430和测试报告发送模块440)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的任意一种移动终端的应用程序测试方法。也即,该程序被处理器执行时实现:
114.响应于当前登录用户针对应用程序列表的点击指令,获取目标应用程序;并响应于当前登录用户针对测试项列表的点击指令,获取至少一个目标测试项;
115.通过所述测试客户端与测试服务器之间的长连接通信链路,将所述目标应用程序和所述各目标测试项发送至所述测试服务器,并接收所述测试服务器反馈的测试指令;
116.通过所述测试客户端的后台处理模块执行所述测试服务器反馈的测试指令,以获取所述目标应用程序对应的测试结果;
117.通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试结果发送至所述测试服务器,并接收所述测试服务器根据所述目标应用程
序对应的测试结果生成的测试报告;
118.或者,当检测到测试客户端发送的目标应用程序和至少一个目标测试项时,根据所述目标应用程序和所述各目标测试项,获取所述目标应用程序对应的测试指令;
119.通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试指令发送至所述测试客户端;
120.当检测到所述测试客户端发送的所述目标应用程序对应的测试结果时,根据所述目标应用程序对应的测试结果,生成所述目标应用程序对应的测试报告;
121.通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试报告发送至所述测试客户端。
122.存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
123.输入装置530可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,可以包括键盘和鼠标等。输出装置540可包括显示屏等显示设备。
124.可选的,该电子设备可以为服务器,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
125.实施例六
126.本发明实施例六还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述方法。当然,本发明实施例所提供的一种计算机可读存储介质,其可以执行本发明任意实施例所提供的一种移动终端的应用程序测试方法中的相关操作。也即,该程序被处理器执行时实现:
127.响应于当前登录用户针对应用程序列表的点击指令,获取目标应用程序;并响应于当前登录用户针对测试项列表的点击指令,获取至少一个目标测试项;
128.通过所述测试客户端与测试服务器之间的长连接通信链路,将所述目标应用程序和所述各目标测试项发送至所述测试服务器,并接收所述测试服务器反馈的测试指令;
129.通过所述测试客户端的后台处理模块执行所述测试服务器反馈的测试指令,以获取所述目标应用程序对应的测试结果;
130.通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试结果发送至所述测试服务器,并接收所述测试服务器根据所述目标应用程序对应的测试结果生成的测试报告;
131.或者,当检测到测试客户端发送的目标应用程序和至少一个目标测试项时,根据所述目标应用程序和所述各目标测试项,获取所述目标应用程序对应的测试指令;
132.通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用
程序对应的测试指令发送至所述测试客户端;
133.当检测到所述测试客户端发送的所述目标应用程序对应的测试结果时,根据所述目标应用程序对应的测试结果,生成所述目标应用程序对应的测试报告;
134.通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试报告发送至所述测试客户端。
135.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
136.值得注意的是,上述移动终端的应用程序测试装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
137.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
技术特征:1.一种移动终端的应用程序测试方法,其特征在于,应用于移动终端中的测试客户端,包括:响应于当前登录用户针对应用程序列表的点击指令,获取目标应用程序;并响应于当前登录用户针对测试项列表的点击指令,获取至少一个目标测试项;通过所述测试客户端与测试服务器之间的长连接通信链路,将所述目标应用程序和所述各目标测试项发送至所述测试服务器,并接收所述测试服务器反馈的测试指令;通过所述测试客户端的后台处理模块执行所述测试服务器反馈的测试指令,以获取所述目标应用程序对应的测试结果;通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试结果发送至所述测试服务器,并接收所述测试服务器根据所述目标应用程序对应的测试结果生成的测试报告。2.根据权利要求1所述的方法,其特征在于,在响应于当前登录用户针对应用程序列表的点击指令,获取目标应用程序之前,还包括:获取当前访问用户在所述测试客户端的用户登录页面中输入的用户登录信息,并响应于当前访问用户对用户登录页面中登录按钮的点击指令,将所述用户登录信息发送至测试服务器;当检测到所述测试服务器反馈的与所述当前访问用户对应的登录验证通过信息时,建立所述测试客户端与所述测试服务器之间的长连接通信链路。3.根据权利要求1所述的方法,其特征在于,响应于当前登录用户针对测试项列表的点击指令,获取至少一个目标测试项,包括:响应于当前登录用户针对测试项列表中一键测试按钮的点击指令,将所述测试项列表中各测试项确定为目标测试项,以获取至少一个目标测试项。4.一种移动终端的应用程序测试方法,其特征在于,应用于测试服务器,包括:当检测到测试客户端发送的目标应用程序和至少一个目标测试项时,根据所述目标应用程序和所述各目标测试项,获取所述目标应用程序对应的测试指令;通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试指令发送至所述测试客户端;当检测到所述测试客户端发送的所述目标应用程序对应的测试结果时,根据所述目标应用程序对应的测试结果,生成所述目标应用程序对应的测试报告;通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试报告发送至所述测试客户端。5.根据权利要求4所述的方法,其特征在于,根据所述目标应用程序和所述各目标测试项,获取所述目标应用程序对应的测试指令,包括:获取各所述目标测试项对应的测试项类型,并根据各所述目标测试项对应的测试项类型,在所述各目标测试项中筛选得到测试项类型为预设自有测试项的至少一个第一目标测试项,以及测试项类型为预设第三方提供测试项的至少一个第二目标测试项;根据所述目标应用程序和所述各第一目标测试项,在本地缓存中获取所述目标应用程序对应的第一测试指令;根据所述目标应用程序和所述各第二目标测试项,通过调用与各所述第二目标测试项
对应的预设第三方框架,获取所述目标应用程序对应的第二测试指令。6.根据权利要求4或5所述的方法,其特征在于,所述目标测试项包括移动终端整体性能测试、移动终端运行性能测试、应用程序概要数据获取测试、应用程序启动性能测试、monkey测试、录制回放测试、安全测试、权限获取测试、弱网测试以及崩溃测试中的至少一项。7.一种移动终端的应用程序测试装置,其特征在于,应用于移动终端中的测试客户端,包括:目标测试项获取模块,用于响应于当前登录用户针对应用程序列表的点击指令,获取目标应用程序;并响应于当前登录用户针对测试项列表的点击指令,获取至少一个目标测试项;测试指令接收模块,用于通过所述测试客户端与测试服务器之间的长连接通信链路,将所述目标应用程序和所述各目标测试项发送至所述测试服务器,并接收所述测试服务器反馈的测试指令;测试结果获取模块,用于通过所述测试客户端的后台处理模块执行所述测试服务器反馈的测试指令,以获取所述目标应用程序对应的测试结果;测试报告接收模块,用于通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试结果发送至所述测试服务器,并接收所述测试服务器根据所述目标应用程序对应的测试结果生成的测试报告。8.一种移动终端的应用程序测试装置,其特征在于,应用于测试服务器,包括:测试指令获取模块,用于当检测到测试客户端发送的目标应用程序和至少一个目标测试项时,根据所述目标应用程序和所述各目标测试项,获取所述目标应用程序对应的测试指令;测试指令发送模块,用于通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试指令发送至所述测试客户端;测试报告生成模块,用于当检测到所述测试客户端发送的所述目标应用程序对应的测试结果时,根据所述目标应用程序对应的测试结果,生成所述目标应用程序对应的测试报告;测试报告发送模块,用于通过所述测试客户端与所述测试服务器之间的长连接通信链路,将所述目标应用程序对应的测试报告发送至所述测试客户端。9.一种电子设备,其特征在于,包括:一个或多个处理器;存储器,用于存储一个或多个计算机程序;当所述一个或多个计算机程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行所述计算机程序时实现如权利要求1-3中任一所述的,或者如权利要求4-6中任一所述的移动终端的应用程序测试方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-3中任一所述的,或者如权利要求4-6中任一所述的移动终端的应用程序测试方法。
技术总结本发明涉及人工智能领域,公开了一种移动终端的应用程序测试方法、装置、设备及介质,该方法包括:客户端分别响应于当前登录用户针对应用程序列表和测试项列表的点击指令,获取目标应用程序和多个目标测试项;之后通过长连接通信链路,将目标应用程序和各目标测试项发送至测试服务器,并接收测试服务器反馈的测试指令;然后通过后台处理模块执行测试该测试指令,以获取测试结果;最终通过长连接通信链路,将测试结果发送至测试服务器,并接收测试服务器反馈的测试报告。本实施例的技术方案,通过在测试服务器中预先配置各种类型测试项对应的测试指令,可以在移动终端实现对应用程序的各类型性能测试,可以提升应用程序的测试灵活性。性。性。
技术研发人员:张翔 秦瑶 刘养柱 黄绍丽
受保护的技术使用者:平安国际融资租赁有限公司
技术研发日:2022.04.24
技术公布日:2022/7/5