一种应用程序测试方法、装置、电子设备及存储介质制造方法及图纸

技术编号:32478801 阅读:15 留言:0更新日期:2022-03-02 09:41
本公开提供了一种应用程序测试方法、装置、电子设备及存储介质,涉及计算机技术领域,进一步涉及自动化测试技术领域,包括:确定待测试应用程序的应用测试页面;根据所述应用测试页面获取所述待测试应用程序的应用测试指令;其中,所述应用程序测试指令包括动作测试指令和语音测试指令;根据所述应用程序测试指令对所述待测试应用程序进行压力测试。本公开实施例能够满足应用程序全面的压力测试需求,从而提高应用程序压力测试的适用性。从而提高应用程序压力测试的适用性。从而提高应用程序压力测试的适用性。

【技术实现步骤摘要】
一种应用程序测试方法、装置、电子设备及存储介质


[0001]本公开涉及计算机
,具体涉及自动化测试


技术介绍

[0002]为了保证应用程序具有良好的兼容性,在应用程序正式上线应用之前,往往需要进行多种测试,而压力测试是应用程序测试的重要测试环节,可以实现对应用程序可用性、可靠性、健壮性和稳定性等各种性能的检测。

技术实现思路

[0003]本公开实施例提供了一种应用程序测试方法、装置、电子设备及存储介质,能够满足应用程序全面的压力测试需求,从而提高应用程序压力测试的适用性。
[0004]第一方面,本公开实施例提供了一种应用程序测试方法,包括:
[0005]确定待测试应用程序的应用测试页面;
[0006]根据所述应用测试页面获取所述待测试应用程序的应用测试指令;其中,所述应用程序测试指令包括动作测试指令和语音测试指令;
[0007]根据所述应用程序测试指令对所述待测试应用程序进行压力测试。
[0008]第二方面,本公开实施例提供了一种应用程序测试装置,包括:
[0009]应用测试页面确定模块,用于确定待测试应用程序的应用测试页面;
[0010]应用测试指令获取模块,用于根据所述应用测试页面获取所述待测试应用程序的应用测试指令;其中,所述应用程序测试指令包括动作测试指令和语音测试指令;
[0011]应用程序压力测试模块,用于根据所述应用程序测试指令对所述待测试应用程序进行压力测试。
[0012]第三方面,本公开实施例提供了一种电子设备,包括:
[0013]至少一个处理器;以及
[0014]与所述至少一个处理器通信连接的存储器;其中,
[0015]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面实施例所提供的应用程序测试方法。
[0016]第四方面,本公开实施例还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面实施例所提供的应用程序测试方法。
[0017]第五方面,本公开实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现第一方面实施例所提供的应用程序测试方法。
[0018]本公开实施例通过在确定待测试应用程序的应用测试页面之后,根据确定的应用测试页面获取待测试应用程序的应用测试指令,从而根据应用程序测试指令对待测试应用程序进行压力测试。由于应用测试指令可以包括动作测试指令和语音测试指令多种指令类
型,因此可以满足不同设备类型的应用程序的压力测试需求,解决现有应用程序测试方法存在的适用性较低的问题,能够满足应用程序全面的压力测试需求,从而提高应用程序压力测试的适用性。
[0019]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0020]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0021]图1是本公开实施例提供的一种应用程序测试方法的流程图;
[0022]图2是本公开实施例提供的一种根据动作测试指令和语音测试指令对待测试应用程序进行Monkey测试的流程示意图;
[0023]图3是本公开实施例提供的一种应用程序测试方法的流程图;
[0024]图4是本公开实施例提供的一种应用程序测试方法的流程图;
[0025]图5是本公开实施例提供的一种Monkey测试流程的示意图;
[0026]图6是本公开实施例提供的一种应用程序测试装置的结构图;
[0027]图7是用来实现本公开实施例的应用程序测试方法的电子设备的结构示意图。
具体实施方式
[0028]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0029]应用程序的压力测试是一种基本的质量保证行为,它是每个重要应用程序测试工作的一部分。应用程序的压力测试通常利用专用测试工具对应用程序模拟随机的用户操作事件,如按键输入、触摸屏输入以及手势输入等,以验证应用程序的稳定性和健壮性。
[0030]现有技术中,Monkey和Smart_monkey(两者均为猴子测试工具)是两种常用的对应用程序进行压力测试的工具。其中,Monkey测试主要应用于安卓系统的应用程序,其原理就是利用socket(套接字)通讯的方式来模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常。当Monkey程序在模拟器或设备运行的时候,如果用户出发了比如点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机脉冲,所以可以用Monkey用随机重复的方法去负荷测试开发的应用程序。
[0031]Smart_monkey测试主要应用于IOS(iPhone Operation System,iPhone系统)系统的应用程序,和Monkey测试原理类似,其本质上是深度遍历活动和操作节点的一个大型的自动化测试用例,可以对iOS系统的应用程序随机模拟用户操作事件,包括设定测试时间、测试事件次数、对每次点击事件截图和生成报告等功能。
[0032]然而,上述两种压力测试方式只能模拟用户动作类的操作事件进行测试,仅适用于触屏交互功能设备的应用程序的压力测试需求,无法适用于同时具备语音交互和触屏交互功能设备的应用程序的压力测试需求。
[0033]在一个示例中,图1是本公开实施例提供的一种应用程序测试方法的流程图,本实
施例可适用于同时利用动作测试指令和语音测试指令对应用程序进行压力测试的情况,该方法可以由应用程序测试装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在电子设备中。该电子设备可以是终端设备,也可以是服务器设备,本公开实施例并不对电子设备的具体设备类型进行限定。相应的,如图1所示,该方法包括如下操作:
[0034]S110、确定待测试应用程序的应用测试页面。
[0035]其中,待测试应用程序可以是需要进行压力测试的应用程序。在本公开实施例中,待测试应用程序可以是任意操作系统类型安装的应用程序,本公开实施例并不对待测试应用程序所适用的操作系统类型进行限定。应用测试页面可以是对待测试应用程序进行压力测试的测试入口页面。
[0036]可以理解的是,在对待测试应用程序进行压力测试之前,可以首先确定待测试应用程序的应用测试页面作为待测试应用程序的测试入口。可选的,应用测试页面可以是待测试应用程序在待测试设备中的显示界面,例如可以是待测试设备的桌面页面,或者还可以是包括待测试应用程序列表的页面,如对各应用程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序测试方法,包括:确定待测试应用程序的应用测试页面;根据所述应用测试页面获取所述待测试应用程序的应用测试指令;其中,所述应用程序测试指令包括动作测试指令和语音测试指令;根据所述应用程序测试指令对所述待测试应用程序进行压力测试。2.根据权利要求1所述的方法,其中,所述确定待测试应用程序的应用测试页面,包括:获取待测试设备中安装所述待测试应用程序的桌面页面;将所述桌面页面确定为所述应用测试页面。3.根据权利要求2所述的方法,其中,所述根据所述应用测试页面获取所述待测试应用程序的应用测试指令,包括:获取所述桌面页面的桌面元素;根据所述桌面元素生成所述待测试应用程序的所述动作测试指令和所述语音测试指令。4.根据权利要求3所述的方法,还包括:根据各所述桌面元素的元素类型确定各所述桌面元素的测试权重;根据各所述桌面元素的测试权重确定各所述桌面元素的动作测试指令比例;根据所述待测试设备的设备类型确定所述动作测试指令和所述语音测试指令的测试比例。5.根据权利要求1所述的方法,其中,所述根据所述应用程序测试指令对所述待测试应用程序进行压力测试,包括:根据所述应用程序测试指令确定当前应用程序测试指令;确定所述当前应用程序测试指令的当前程序测试路径;在确定所述当前程序测试路径与程序存储路径不重复的情况下,根据所述待测试应用程序对所述当前应用程序测试指令的指令响应结果确定当前级联应用测试页面;根据所述当前级联应用测试页面对所述待测试应用程序进行压力测试。6.根据权利要求5所述的方法,其中,所述根据所述当前级联应用测试页面对所述待测试应用程序进行压力测试,包括:获取黑名单页面列表;对所述当前级联应用测试页面和所述黑名单页面列表进行匹配;在确定所述当前级联应用测试页面与所述黑名单页面列表的目标黑名单页面相匹配的情况下,存储所述当前级联应用测试页面匹配的当前程序测试路径;返回执行根据所述应用程序测试指令确定当前应用程序测试指令的操作,直至确定达到测试终止条件;在确定所述当前级联应用测试页面与所述黑名单页面列表不匹配的情况下,根据所述当前级联应用测试页面对所述待测试应用程序进行压力测试。7.根据权利要求5或6所述的方法,其中,所述根据所述当前级联应用测试页面对所述待测试应用程序进行压力测试,包括:确定所述当前级联应用测试页面的当前页面元素;根据所述当前级联应用测试页面的当前页面元素获取所述当前级联应用测试页面的
当前元素测试指令;其中,所述当前元素测试指令包括当前元素动作测试指令和/或当前元素语音测试指令;根据所述当前元素测试指令确定当前程序测试路径;在确定所述当前程序测试路径与所述程序存储路径重复的情况下,返回执行根据所述当前级联应用测试页面的当前页面元素获取所述当前级联应用测试页面的当前元素测试指令的操作,直至确定所述当前程序测试路径与所述程序存储路径不重复;在确定所述当前程序测试路径与所述程序存储路径不重复的情况下,根据所述当前元素测试指令和所述当前页面元素对所述当前级联应用测试页面进行压力测试。8.根据权利要求7所述的方法,其中,若所述当前元素测试指令包括当前元素动作测试指令,则所述根据所述当前级联应用测试页面的当前页面元素获取所述当前级联应用测试页面的当前元素测试指令,包括:根据所述当前页面元素随机选择目标页面元素;根据所述目标页面元素的元素类型确定所述目标页面元素匹配的当前元素动作测试指令;其中,所述当前元素动作测试指令包括系统动作测试指令或元素动作测试指令;所述根据所述当前元素测试指令确定当前程序测试路径,包括:根据所述当前元素动作测试指令随机选择目标元素动作测试指令;根据所述目标元素动作测试指令生成所述当前程序测试路径。9.根据权利要求7所述的方法,其中,若所述当前元素测试指令包括当前元素语音测试指令,则所述根据所述当前级联应用测试页面的当前页面元素获取所述当前级联应用测试页面的当前元素测试指令,包括:确定所述当前元素语音测试指令的语音指令测试类型;根据所述语音指令测试类型和/或所述当前页面元素确定当前元素语音测试指令;其中,所述当前元素语音测试指令包括系统语音测试指令或元素语音测试指令;所述根据所述当前元素测试指令确定当前程序测试路径,包括:在确定所述当前元素语音测试指令为所述系统语音测试指令的情况下,根据当前系统语音测试指令随机选择目标系统语音测试指令;在确定所述当前元素语音测试指令为所述元素语音测试指令的情况下,根据所述当前页面元素随机选择目标页面元素,并根据所述目标页面元素匹配的当前页面元素语音测试指令随机选择目标元素语音测试指令;根据所述目标系统语音测试指令或所述目标元素语音测试指令生成所述当前程序测试路径。10.根据权利要求7所述的方法,其中,所述根据所述当前元素测试指令和所述当前页面元素对所述当前级联应用测试页面进行压力测试,包括:确定所述当前程序测试路径的当前路径深度;在确定所述当前路径深度小于预设路径深度阈值的情况下,对所述当前页面元素执行所述当前元素测试指令;在确定所述当前路径深度大于或等于所述预设路径深度阈值的情况下,返回执行根据所述应用程序测试指令确定当前应用程序测试指令的操作,直至确定达到测试终止条件。11.一种应用程序测试装置,包括:
应用测试页面确定模块,用于确定待测试应用程序的应用测试页面;应用测试指令获取模块,用于根据所述应用测试页面获取所述待测试应用程序的应用测试...

【专利技术属性】
技术研发人员:倪丙庆徐菲李宇轩杜蕴璇翟忆蒙
申请(专利权)人:上海小度技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1