一种应用程序稳定性测试的方法和装置制造方法及图纸

技术编号:20680475 阅读:44 留言:0更新日期:2019-03-27 18:44
本发明专利技术公开了一种应用程序稳定性测试的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:获取应用程序的源代码;根据所述应用程序的源代码获取预先设置的用户操作流;根据所述用户操作流对所述应用程序进行测试。该实施方式根据预先设置的用户操作流对所述应用程序进行测试,能够解决漏测页面的问题和某些页面被困住的问题,提高测试的有效性和测试的覆盖度。

【技术实现步骤摘要】
一种应用程序稳定性测试的方法和装置
本专利技术涉及计算机
,尤其涉及一种应用程序稳定性测试的方法和装置。
技术介绍
在应用程序的稳定性测试中,目前主要采用单一的模拟用户随机输入的测试方式,向应用程序发送伪随机的用户事件流,实现对应用程序稳定性测试。测试人员针对被测应用程序的用户界面UI布局,设计伪随机的用户事件流各类型的百分比,简单配置参数后即开始测试。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:1.对于路径较深的界面:这些界面需要前置条件(例如输入正确的密码)才能被访问,而随机的用户事件流不可能发生该前置条件,因此无法访问该界面,导致测试过程中出现漏测页面的问题;2.对于入口较小的界面:这些界面需要一系列事件依次发生之后才能被访问,而伪随机的用户事件流很难保证该一系列事件依次发生,因此在测试过程中漏测这些界面的概率非常大,出现漏测页面的问题;3.对于出口较小的界面:这些界面需要一系列事件依次发生之后才能被访问,而随机的用户事件流很难保证该一系列事件依次发生,因此在测试过程中很容易被困在某些界面中。
技术实现思路
有鉴于此,本专利技术实施例提供一种应用程序稳定性测试的方法和装置,能够解决漏测页面的问题和某些页面被困住的问题,提高测试的有效性和测试的覆盖度。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种应用程序稳定性测试的方法,包括:获取应用程序的源代码;根据所述应用程序的源代码获取预先设置的用户操作流;根据所述用户操作流对所述应用程序进行测试。可选地,所述用户操作流包括:主场景用例;所述主场景用例包括:所述应用程序的活动Activity的访问路径;所述根据所述用户操作流对所述应用程序进行测试,包括:根据所述主场景用例,启动所述Activity的被测界面;对所述被测界面进行测试;其中,所述Activity为开放式。可选地,所述获取应用程序的源代码之后还包括:对所述Activity进行预处理,判断所述Activity是否为开放式,若不是,则将所述Activity设置为开放式。可选地,所述预处理的步骤包括:若所述Activity显式设置导出exported属性值,并且,若exported属性值为真true,则所述Activity为开放式,若exported属性值为假false,则所述Activity为非开放式;若所述Activity未设置exported属性值,则判断所述Activity是否有意图过滤器intent-filter,并且,若所述Activity有intent-filter,则所述Activity为开放式;若所述Activity没有intent-filter,则所述Activity为非开放式;将非开放式的Activity的exported属性值显式设置为true。可选地,所述用户操作流包括:精细场景用例;所述精细场景用例包括:针对被测界面预先录制的用户事件流;所述根据所述用户操作流对所述应用程序进行测试,包括:获取所述被测界面的活动Activity名称;根据所述Activity名称获取与所述被测界面对应的精细场景用例;基于所述精细场景用例对所述应用程序进行测试。可选地,所述方法包括在设定时间范围内对所述应用程序进行测试,若测试过程中出现应用程序闪退或者应用程序无响应情况,则结束测试。可选地,所述方法包括使用测试工具Monkey对所述应用程序进行测试。可选地,所述用户操作流为:模拟用户事件流和/或真实用户事件流;所述用户操作流包括以下至少之一:按键输入、触摸屏输入、手势输入。为实现上述目的,根据本专利技术实施例的另一方面,提供了一种应用程序稳定性测试的装置,包括:预处理模块、数据获取模块、测试模块,其中,预处理模块,用于获取应用程序源代码;数据获取模块,用于根据所述应用程序的源代码获取预先设置的用户操作流;测试模块,用于根据所述用户操作流对所述应用程序进行测试。可选地,所述数据获取模块用于:获取主场景用例;所述主场景用例包括:所述应用程序的活动Activity的访问路径;所述根据所述用户操作流对所述应用程序进行测试,包括:根据所述主场景用例,启动所述Activity的被测界面;对所述被测界面进行测试;其中,所述Activity为开放式。可选地,所述预处理模块用于:获取应用程序的源代码之后,对所述Activity进行预处理,判断所述Activity是否为开放式,若不是,则将所述Activity设置为开放式。可选地,所述预处理模块用于:若所述Activity显式设置导出exported属性值,并且,若exported属性值为真true,则所述Activity为开放式,若exported属性值为假false,则所述Activity为非开放式;若所述Activity未设置exported属性值,则判断所述Activity是否有意图过滤器intent-filter,并且,若所述Activity有intent-filter,则所述Activity为开放式;若所述Activity没有intent-filter,则所述Activity为非开放式;将非开放式的Activity的exported属性值显式设置为true。可选地,所述数据获取模块用于:获取精细场景用例;所述精细场景用例包括:针对被测界面预先录制的真实用户事件流;所述根据所述用户操作流对所述应用程序进行测试,包括:获取所述被测界面的活动Activity名称;根据所述Activity名称获取与所述被测界面对应的精细场景用例;基于所述精细场景用例对所述应用程序进行测试。可选地,所述测试模块用于:在设定时间范围内对所述应用程序进行测试,若测试过程中出现应用程序闪退或者应用程序无响应情况,则结束测试。可选地,所述测试模块用于:使用测试工具Monkey对所述应用程序进行测试。可选地,所述用户操作流为:模拟用户事件流和/或真实用户事件流;所述用户操作流包括以下至少之一:按键输入、触摸屏输入、手势输入。为实现上述目的,根据本专利技术实施例的再一方面,提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术实施例所提供的应用程序稳定性测试的方法。为实现上述目的,根据本专利技术实施例的再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本专利技术所提供的应用程序稳定性测试的方法。根据本专利技术的技术方案,上述专利技术中的一个实施例具有如下优点或有益效果:根据预先设置的用户操作流对所述应用程序进行测试,能够解决漏测页面的问题和某些页面被困住的问题,提高测试的有效性和测试的覆盖度。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的应用程序稳定性测试的方法的主要流程的示意图;图2是根据本专利技术实施例的应用程序稳定性测试的方法中预处理的主要流程的示意图;图3是应用程序中的支付流程示意图;图4是利用现有技术进行测试过程中被困在WebView的流程示意图;图5是根据本专利技术实施例的根据主场景用例对所述应用程序进行测试的主要流程的示意图本文档来自技高网...

【技术保护点】
1.一种应用程序稳定性测试的方法,其特征在于,包括:获取应用程序的源代码;根据所述应用程序的源代码获取预先设置的用户操作流;根据所述用户操作流对所述应用程序进行测试。

【技术特征摘要】
1.一种应用程序稳定性测试的方法,其特征在于,包括:获取应用程序的源代码;根据所述应用程序的源代码获取预先设置的用户操作流;根据所述用户操作流对所述应用程序进行测试。2.根据权利要求1所述的方法,其特征在于,所述用户操作流包括:主场景用例;所述主场景用例包括:所述应用程序的活动Activity的访问路径;所述根据所述用户操作流对所述应用程序进行测试,包括:根据所述主场景用例,启动所述Activity的被测界面;对所述被测界面进行测试;其中,所述Activity为开放式。3.根据权利要求2所述的方法,其特征在于,所述获取应用程序的源代码之后还包括:对所述Activity进行预处理,判断所述Activity是否为开放式,若不是,则将所述Activity设置为开放式。4.根据权利要求3所述的方法,其特征在于,所述预处理的步骤包括:若所述Activity显式设置导出exported属性值,并且,若exported属性值为真true,则所述Activity为开放式,若exported属性值为假false,则所述Activity为非开放式;若所述Activity未设置exported属性值,则判断所述Activity是否有意图过滤器intent-filter,并且,若所述Activity有intent-filter,则所述Activity为开放式;若所述Activity没有intent-filter,则所述Activity为非开放式;将非开放式的所述Activity的exported属性值显式设置为true。5.根据权利要求1或2所述的方法,其特征在于,所述用户操作流包括:精细场景用例;所述精细场景用例包括:针对被测界面预先录制的用户事件流;所述根据所述用户操作流对所述应用程序进行测试,包括:启动所述被测界面,并获取所述被测界面的活动Activity名称;根据所述Activity名称获取与所述被测界面对应的精细场景用例;基于所述精细场景用例对所述被测界面进行测试。6.一种应用程序稳定性测试的装置,其特征在于,包括:预处理模块、数据获取模块、测试模块,其中,预处理模块,用于获取应用程序源代码;;数据获取模块,用于根据所述应用程序的源代码获取预先设置的用户操作流;测试模块,用于根据所述用户操作流对所...

【专利技术属性】
技术研发人员:雷桂良娄云萍
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1