CN112100085B - 安卓应用程序稳定性测试方法、装置和设备 - Google Patents
安卓应用程序稳定性测试方法、装置和设备 Download PDFInfo
- Publication number
- CN112100085B CN112100085B CN202011287224.7A CN202011287224A CN112100085B CN 112100085 B CN112100085 B CN 112100085B CN 202011287224 A CN202011287224 A CN 202011287224A CN 112100085 B CN112100085 B CN 112100085B
- Authority
- CN
- China
- Prior art keywords
- test
- page
- monkey
- testing
- frequency
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例涉及测试技术领域,公开了一种安卓应用程序稳定性测试方法、装置和设备,该方法包括:为猴子Monkey测试工具添加第一控制脚本,其中,所述第一控制脚本所配置的内容包括测试启动页、测试页面白名单、跳回后的初始化页面、检查频率和测试次数;为猴子Monkey测试工具添加第二控制脚本,其中,所述第二控制脚本所配置的内容包括结束所述Monkey测试进程;根据所述第一控制脚本,控制所述Monkey测试工具对安卓应用程序进行基于随机事件的稳定性测试;在测试过程中,接收启动所述第二控制脚本的命令,执行所述第二控制脚本以停止所述Monkey测试。通过上述方式,本发明实施例实现定制化内容的采集和配置,使测试更为方便,提高了效率。
Description
技术领域
本发明实施例涉及测试技术领域,具体涉及一种安卓应用程序稳定性测试方法、装置和设备。
背景技术
Monkey是安卓(Android)***中的一个命令行工具,可以运行在模拟器或实际设备中,通过Monkey工具可以对Android***进行测试。Monkey工具通过模拟用户的各种输入操作,向被测安卓***发送伪随机的事件序列,观察被测安卓***是否出错以及出错时间,以实现对被测安卓***的压力测试。一般采用Monkey工具对Android***的APP(Application,应用程序)进行稳定性测试,Monkey工具对测试APP的稳定性和降低APP的crash(崩溃)率都有很大帮助。
但是,现有技术中Monkey工具只能设置对某个APP进行一些随机事件,测试形式较为单一。且中途想要停止测试,需要人工结束进程。
发明内容
鉴于上述问题,本发明实施例提供了一种安卓应用程序稳定性测试方法、装置、设备和计算机可读存储介质,用于解决现有技术中存在的测试形式单一、需要人工停止测试的问题。
根据本发明实施例的一个方面,提供了一种安卓应用程序稳定性测试方法,所述方法包括:
为猴子Monkey测试工具添加第一控制脚本,其中,所述第一控制脚本所配置的内容包括测试启动页、测试页面白名单、跳回后的初始化页面、检查频率和测试次数,所述测试启动页为启动所述Monkey测试工具后首先打开的应用程序页面,所述测试页面白名单为所述Monkey测试打开的应用程序页面,所述跳回后的初始化页面为所述Monkey测试跳出所述应用程序后跳回时打开的应用程序页面,所述检查频率为检查所述Monkey测试是否在所述应用程序中运行的频率,所述测试次数为预设时间内所述Monkey测试运行的次数;
为猴子Monkey测试工具添加第二控制脚本,其中,所述第二控制脚本所配置的内容包括结束所述Monkey测试进程;
根据所述第一控制脚本,控制所述Monkey测试工具对安卓应用程序进行基于随机事件的稳定性测试;
在测试过程中,接收启动所述第二控制脚本的命令,执行所述第二控制脚本以停止所述Monkey测试。
在一种可选的方式中,所述跳回后的初始化页面为所述测试启动页或者跳出所述应用程序时所在的应用程序页面。
在一种可选的方式中,所述控制所述Monkey测试工具对安卓应用程序进行基于随机事件的稳定性测试,包括:
判断跳出所述应用程序时,所述Monkey测试是否正常运行;
若所述Monkey测试正常运行,控制跳回时打开跳出所述应用程序时所在的应用程序页面;
若所述Monkey测试不正常运行,控制跳回时打开所述测试启动页。
在一种可选的方式中,所述测试页面白名单包括打开顺序;
所述控制所述Monkey测试工具对安卓应用程序进行基于随机事件的稳定性测试,包括:
根据所述打开顺序,控制所述Monkey测试工具依次打开所述测试页面白名单中的每个页面,以完成对所述测试页面白名单的测试,得到第一测试结果。
在一种可选的方式中,接收打开除所述测试页面白名单以外的其他页面的命令;
在所述测试页面白名单中的页面全部测试完成后,控制所述Monkey测试工具打开所述其他页面,以完成对所述其他页面的测试。
在一种可选的方式中,所述接收打开除所述测试页面白名单以外的其他页面的命令之前,所述方法还包括:
判断所述第一测试结果是否超过第一阈值;
若所述第一测试结果超过所述第一阈值,显示第一界面以接收打开除所述测试页面白名单以外的其他页面的命令。
在一种可选的方式中,所述第一控制脚本所配置的内容还包括清除日志,所述清除日志用于在执行所述第一控制脚本时清除已有的测试日志。
根据本发明实施例的另一方面,提供了一种安卓应用程序稳定性测试装置,包括:
第一添加模块,用于为猴子Monkey测试工具添加第一控制脚本,其中,所述第一控制脚本所配置的内容包括测试启动页、测试页面白名单、跳回后的初始化页面、检查频率和测试次数,所述测试启动页为启动所述Monkey测试工具后首先打开的应用程序页面,所述测试页面白名单为所述Monkey测试打开的应用程序页面,所述跳回后的初始化页面为所述Monkey测试跳出所述应用程序后跳回时打开的应用程序页面,所述检查频率为检查所述Monkey测试是否在所述应用程序中运行的频率,所述测试次数为预设时间内所述Monkey测试运行的次数;
第二添加模块,用于为猴子Monkey测试工具添加第二控制脚本,其中,所述第二控制脚本所配置的内容包括结束所述Monkey测试进程;
控制模块,用于根据所述第一控制脚本,控制所述Monkey测试工具对安卓应用程序进行基于随机事件的稳定性测试;
执行模块,用于在测试过程中,接收启动所述第二控制脚本的命令,执行所述第二控制脚本以停止所述Monkey测试。
根据本发明实施例的另一方面,提供了一种电子设备,包括:
处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上所述的安卓应用程序稳定性测试方法的操作。
根据本发明实施例的又一方面,提供了一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在电子设备上运行时,使得电子设备执行如上所述的安卓应用程序稳定性测试方法的操作。
本发明实施例通过为猴子Monkey测试工具添加第一控制脚本,完成对Monkey的约束和补充,实现定制化内容的采集和配置,使测试更为方便,并满足不同的测试要求。通过添加第二控制脚本,可自动结束Monkey测试进程,无需人工手动查找进程和结束进程,方便了Monkey测试的结束操作,提高了效率。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的安卓应用程序稳定性测试方法的流程图;
图2示出了本发明实施例提供的安卓应用程序稳定性测试装置的结构示意图;
图3示出了本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
现有技术中Monkey工具只能设置对某个APP进行一些随机事件,测试形式较为单一。而且在执行过程中,如果Monkey测试意外退出,就不能再次进入APP进行测试。而且,Monkey测试也不能对单一页面或者指定场景进行定制化配置。Monkey测试工具本身生成的测试日志由于累积保存,日志内容太多,不能很好的定位问题。执行Monkey测试后如果想中途停止,只能由测试人员手动进入进程管理器中,将测试进程关闭,较为麻烦。
图1示出了本发明实施例提供的安卓应用程序稳定性测试方法的流程图,该方法由需要进行安卓应用程序稳定性测试的设备执行,例如手机、平板电脑等移动终端。如图1所示,该方法包括以下步骤:
步骤110:为猴子Monkey测试工具添加第一控制脚本,其中,第一控制脚本所配置的内容包括测试启动页、测试页面白名单、跳回后的初始化页面、检查频率和测试次数。
现有技术中,Monkey测试工具没有辅助脚本,原生Monkey测试启动后只进行主要的monkey测试,也就是只进行随机事件的测试。本发明实施例通过为Monkey测试工具添加第一控制脚本,其为辅助脚本,通过第一控制脚本完成对Monkey的约束和补充,实现定制化内容的采集和配置,使测试更为方便,并满足不同的测试要求。
其中,测试启动页为启动Monkey测试工具后首先打开的应用程序页,启动Monkey测试工具后,将直接进入测试启动页,测试APP在该页面的运行情况。通过该配置,可以满足个性化测试需求,例如对于重要的页面,可以将其设置为测试启动页,使得测试开始后可以首先测试该页面,或者对于需要测试的几个页面,将APP界面布局中排在最前的页面作为测试启动页,使得测试开始后可以首先测试该页面,然后再根据APP界面布局中的页面排布依次测试其他在后的页面。
测试页面白名单为Monkey测试打开的应用程序页面,测试页面白名单是应用程序中的一个或多个页面,执行Monkey测试时,可以仅打开测试页面白名单中设定的这些页面,不打开其他页面。通过该配置,可以满足个性化测试需求,对于不需要测试的其他页面,可以不用打开,不用在该Monkey测试中进行测试,节省测试时间,提高效率。
跳回后的初始化页面为Monkey测试跳出应用程序后跳回时打开的应用程序页面。Monkey测试有时会跑飞,或者被人为的跳出测试页面。出现上述情况后,当Monkey测试继续进行,也即跳回时,可以设置一跳回后的初始化页面,使得跳回后Monkey测试不一定要从头开始重新执行一遍。通过该配置,可以满足个性化测试需求,测试人员可以配置任何页面作为跳回后的初始化页面,满足实际场景需求。
检查频率为检查Monkey测试是否在应用程序中运行的频率。Monkey测试运行后,若不进行定时检查,当Monkey测试跑飞或意外中止时,将导致Monkey测试不再继续执行,影响测试结果。因此,通过第一控制脚本配置检查频率,用来检查Monkey测试是否在应用程序中正常运行,相当于设定了定时任务。该检查频率可根据实际情况设置,例如设置为每2S检查一次或每5S检查一次,则检查频率为0.5或者0.2。当然,可以根据历史测试记录判断Monkey测试的稳定性,若稳定性大于或等于预设值,可以将检查频率设置为第一频率区间内的值,若稳定性小于预设值,可以将检查频率设置为第二频率区间内的值。其中,第一频率区间内的频率值均小于第二频率区间内的频率值,也即对于历史测试记录中稳定性较高的Monkey测试,可以设置较小的频率值,检查的间隔周期较长,对于历史测试记录中稳定性较低的Monkey测试,可以设置较大的频率值,检查的间隔周期较短。
此外,检查Monkey测试是否在应用程序中运行时,还可以进一步监测Monkey是否在预期的应用程序页面运行,如果跳出了该应用程序页面,可强制跳回到该页面。通过定制化配置该内容,保障Monkey测试稳定运行。
测试次数为预设时间内Monkey测试运行的次数。对于某些应用程序的测试,可能要求在特定时间内执行,例如夜间执行测试,白天停止测试。则可以设置预设时间内Monkey测试运行的次数,例如若夜间Monkey测试可以运行10万次,则设置24h内Monkey测试运行的次数为10万次,运行完成后结束Monkey测试,则在夜间运行完10万次Monkey测试后,将结束该Monkey测试,到白天则不再运行测试。该设置较为简单,只需设置一个次数数值。当然,还可以直接设置Monkey测试运行的时间,例如在22:00-6:59为Monkey测试的运行时间,7:00-21:59为Monkey测试停止的时间。
在一些实施例中,第一控制脚本所配置的内容还可以包括清除日志,清除日志用于在执行第一控制脚本时清除已有的测试日志。若测试日志持续累积保存,将导致测试日志内容庞大,不能很好的定位问题。本发明实施例在每次测试前清除以往的测试日志,使得此次保存的测试日志中仅包括此次的测试内容,保证导出的测试日志干净,无其他干扰日志,便于定位测试问题。以往的测试日志也会进行单独备份存储,以供后续查找。
步骤120:为猴子Monkey测试工具添加第二控制脚本,其中,第二控制脚本所配置的内容包括结束Monkey测试进程。
在执行Monkey测试后,如果想中途停止,只能由测试人员手动进入进程管理器中,将测试进程关闭,较为麻烦。通过本步骤,第二控制脚本配置了结束Monkey测试进程的控制指令,当执行第二控制脚本时,可自动结束Monkey测试进程,无需人工手动查找进程和结束进程,方便了Monkey测试的结束操作,提高了效率。
步骤130:根据第一控制脚本,控制Monkey测试工具对安卓应用程序进行基于随机事件的稳定性测试。
通过前面两部配置好控制脚本,接下来可以执行Monkey测试。在执行Monkey测试时,由于为其配置了第一控制脚本,所以在测试时是由第一控制脚本控制Monkey测试工具对安卓应用程序进行基于随机事件的稳定性测试。具体为,根据第一控制脚本的配置内容执行测试,例如,启动Monkey测试工具后进入配置好的测试启动页,测试配置好的测试页面白名单,测试时跳出应用程序后跳回时进入配置好的初始化页面,按照配置的检查频率检查Monkey测试是否征程运行,按照配置的测试次数进行Monkey测试等等。
在一些实施例中,跳回后的初始化页面可以为测试启动页或者跳出应用程序时所在的应用程序页面。进一步的,可以根据跳出时Monkey测试的运行状态决定跳回后的初始化页面。因此,控制Monkey测试工具对安卓应用程序进行基于随机事件的稳定性测试,包括:
判断跳出应用程序时,Monkey测试是否正常运行;
若Monkey测试正常运行,控制跳回时打开跳出应用程序时所在的应用程序页面;
若Monkey测试不正常运行,控制跳回时打开测试启动页。
当跳出时Monkey测试是正常运行的,说明跳出为意外事件,或者是测试人员手动点出了当前的应用程序页面,该情况下,跳回时可以直接打开跳出应用程序时所在的应用程序页面,继续未完成的测试。当出时Monkey测试不正常运行,说明跳出是因为程序跑飞或者机器宕机等故障事件,此前的测试数据可能未被存储或者测试数据无效,该情况下,跳回时可以回到测试启动页,从头开始进行测试。通过该方式,使得跳回时的页面满足实际情况需求,并避免不必要的重复测试,提高测试效率。
在一些实施例中,测试页面白名单不仅包括页面,当页面为多个时也包括这些页面的打开顺序。因此,在控制Monkey测试工具对安卓应用程序进行基于随机事件的稳定性测试,时,可执行如下步骤:
根据打开顺序,控制Monkey测试工具依次打开测试页面白名单中的每个页面,以完成对测试页面白名单的测试,得到第一测试结果。
通过上述方式,可以根据配置好的打开顺序进行多个页面的测试,该配置好的打开顺序可以是测试效率高的顺序,能提高测试效率,也可以实现定制化的测试方案。
当然,也可以配置成Monkey测试同时在某一模块的多个页面上运行,提高测试效率。例如,测试页面白名单根据模块将多个页面分组,可同时在一个组的所有页面上运行Monkey测试。
当然,除了测试页面白名单以外,在测试时也可以测试其他的页面,当测试人员输入测试其他页面的指令时,测试程序可接收打开除测试页面白名单以外的其他页面的命令;在测试页面白名单中的页面全部测试完成后,控制Monkey测试工具打开其他页面,以完成对其他页面的测试。在测试白名单页面的基础上,还可以人为设置其他需测试的页面,进一步提高了测试的灵活性。
在此基础上,可以进一步提高测试其他页面的自动化程度。一般情况下,仅测试白名单页面即可。在一些实施例中,可以根据白名单页面的测试结果,进一步判断是否需要测试其他页面。例如,若白名单页面的测试结果(可以为测试分数)很高,则需要进一步测试其他页面已保证测试结果的可靠性;若白名单页面的测试结果一般,不符合测试通过条件,则可以判断该应用软件不通过测试,无需测试其他页面。因此,接收打开除测试页面白名单以外的其他页面的命令之前,方法还可以包括:
判断第一测试结果是否超过第一阈值;
若第一测试结果超过第一阈值,显示第一界面以接收打开除测试页面白名单以外的其他页面的命令。
其中,第一测试结果可以是测试分数,第一阈值可以是测试分数的通过值。通过该方式,进一步提高了测试的自动化程度,保证了测试结果的准确性和可靠性。
步骤140:在测试过程中,接收启动第二控制脚本的命令,执行第二控制脚本以停止Monkey测试。
第二控制脚本为停止Monkey测试的脚本,在测试人员认为需要停止测试时,可启动第二控制脚本,测试程序将自动终止,并保留测试日志。通过该方式,可自动结束Monkey测试进程,无需人工手动查找进程和结束进程,方便了Monkey测试的结束操作,提高了效率。
测试完成后,将同时保存Monkey的crash日志和logcat日志,日志文件以日期格式输出。其中,crash日志是崩溃日志;logcat是Android中一个命令行工具,可以用于得到程序的log信息,例如存储***消息日志,包括设备抛出错误时的堆栈轨迹,以及从应用程序使用Log类写入的消息。同时保存Monkey的crash日志和logcat日志,且日志文件以日期格式输出,可方便查找和定位问题。
本发明实施例通过为猴子Monkey测试工具添加第一控制脚本,完成对Monkey的约束和补充,实现定制化内容的采集和配置,使测试更为方便,并满足不同的测试要求。通过添加第二控制脚本,可自动结束Monkey测试进程,无需人工手动查找进程和结束进程,方便了Monkey测试的结束操作,提高了效率。
图2示出了本发明实施例提供的安卓应用程序稳定性测试装置的结构示意图。如图2所示,该装置300包括:
第一添加模块310,用于为猴子Monkey测试工具添加第一控制脚本,其中,所述第一控制脚本所配置的内容包括测试启动页、测试页面白名单、跳回后的初始化页面、检查频率和测试次数,所述测试启动页为启动所述Monkey测试工具后首先打开的应用程序页面,所述测试页面白名单为所述Monkey测试打开的应用程序页面,所述跳回后的初始化页面为所述Monkey测试跳出所述应用程序后跳回时打开的应用程序页面,所述检查频率为检查所述Monkey测试是否在所述应用程序中运行的频率,所述测试次数为预设时间内所述Monkey测试运行的次数;
第二添加模块320,用于为猴子Monkey测试工具添加第二控制脚本,其中,所述第二控制脚本所配置的内容包括结束所述Monkey测试进程;
控制模块330,用于根据所述第一控制脚本,控制所述Monkey测试工具对安卓应用程序进行基于随机事件的稳定性测试;
执行模块340,用于在测试过程中,接收启动所述第二控制脚本的命令,执行所述第二控制脚本以停止所述Monkey测试。
在一种可选的方式中,所述跳回后的初始化页面为所述测试启动页或者跳出所述应用程序时所在的应用程序页面。
在一种可选的方式中,所述控制模块330,进一步用于:
判断跳出所述应用程序时,所述Monkey测试是否正常运行;
若所述Monkey测试正常运行,控制跳回时打开跳出所述应用程序时所在的应用程序页面;
若所述Monkey测试不正常运行,控制跳回时打开所述测试启动页。
在一种可选的方式中,所述测试页面白名单包括打开顺序;
所述控制模块330,进一步用于:
根据所述打开顺序,控制所述Monkey测试工具依次打开所述测试页面白名单中的每个页面,以完成对所述测试页面白名单的测试,得到第一测试结果。
在一种可选的方式中,所述控制模块330,进一步用于:
接收打开除所述测试页面白名单以外的其他页面的命令;
在所述测试页面白名单中的页面全部测试完成后,控制所述Monkey测试工具打开所述其他页面,以完成对所述其他页面的测试。
在一种可选的方式中,所述控制模块330,进一步用于:
所述接收打开除所述测试页面白名单以外的其他页面的命令之前,判断所述第一测试结果是否超过第一阈值;
若所述第一测试结果超过所述第一阈值,显示第一界面以接收打开除所述测试页面白名单以外的其他页面的命令。
在一种可选的方式中,所述第一控制脚本所配置的内容还包括清除日志,所述清除日志用于在执行所述第一控制脚本时清除已有的测试日志。
本发明实施例通过为猴子Monkey测试工具添加第一控制脚本,完成对Monkey的约束和补充,实现定制化内容的采集和配置,使测试更为方便,并满足不同的测试要求。通过添加第二控制脚本,可自动结束Monkey测试进程,无需人工手动查找进程和结束进程,方便了Monkey测试的结束操作,提高了效率。
图3示出了本发明实施例提供的电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图3所示,该电子设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。处理器402,用于执行程序410,具体可以执行上述用于安卓应用程序稳定性测试方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机可执行指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有至少一可执行指令,该可执行指令在电子设备上运行时,使得所述电子设备执行上述任意方法实施例中的安卓应用程序稳定性测试方法。
本发明实施例提供一种安卓应用程序稳定性测试装置,用于执行上述安卓应用程序稳定性测试方法。
本发明实施例提供了一种计算机程序,所述计算机程序可被处理器调用使电子设备执行上述任意方法实施例中的安卓应用程序稳定性测试方法。
本发明实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令在计算机上运行时,使得所述计算机执行上述任意方法实施例中的安卓应用程序稳定性测试方法。
在此提供的算法或显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。
本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (5)
1.一种安卓应用程序稳定性测试方法,其特征在于,所述方法包括:
为猴子Monkey测试工具添加第一控制脚本,其中,所述第一控制脚本所配置的内容包括测试启动页、测试页面白名单、跳回后的初始化页面、检查频率和测试次数,所述测试启动页为启动所述Monkey测试工具后首先打开的应用程序页面,所述测试页面白名单为所述Monkey测试打开的应用程序页面,所述跳回后的初始化页面为所述Monkey测试跳出所述应用程序后跳回时打开的应用程序页面,所述检查频率为检查所述Monkey测试是否在所述应用程序中运行的频率,所述测试次数为预设时间内所述Monkey测试运行的次数;其中,将重要的页面或者需要测试的页面设置为测试启动页;根据历史测试记录判断Monkey测试的稳定性,若所述稳定性大于或等于预设值,将所述检查频率设置为第一频率区间内的值,若所述稳定性小于所述预设值,将所述检查频率设置为第二频率区间内的值,其中,所述第一频率区间内的频率值均小于所述第二频率区间内的频率值;
为猴子Monkey测试工具添加第二控制脚本,其中,所述第二控制脚本所配置的内容包括结束所述Monkey测试进程;
根据所述第一控制脚本,控制所述Monkey测试工具对安卓应用程序进行基于随机事件的稳定性测试;
在测试过程中,接收启动所述第二控制脚本的命令,执行所述第二控制脚本以停止所述Monkey测试;
所述测试页面白名单包括打开顺序;
所述控制所述Monkey测试工具对安卓应用程序进行基于随机事件的稳定性测试,包括:
根据所述打开顺序,控制所述Monkey测试工具依次打开所述测试页面白名单中的每个页面,以完成对所述测试页面白名单的测试,得到第一测试结果;
所述测试页面白名单根据模块将多个页面分组,同时在一个组的所有页面上运行所述Monkey测试;
所述方法还包括:
接收打开除所述测试页面白名单以外的其他页面的命令;
在所述测试页面白名单中的页面全部测试完成后,控制所述Monkey测试工具打开所述其他页面,以完成对所述其他页面的测试;
所述接收打开除所述测试页面白名单以外的其他页面的命令之前,所述方法还包括:
判断所述第一测试结果是否超过第一阈值;
若所述第一测试结果超过所述第一阈值,显示第一界面以接收打开除所述测试页面白名单以外的其他页面的命令;
所述跳回后的初始化页面为所述测试启动页或者跳出所述应用程序时所在的应用程序页面;
所述控制所述Monkey测试工具对安卓应用程序进行基于随机事件的稳定性测试,包括:
判断跳出所述应用程序时,所述Monkey测试是否正常运行;
若所述Monkey测试正常运行,控制跳回时打开跳出所述应用程序时所在的应用程序页面;
若所述Monkey测试不正常运行,控制跳回时打开所述测试启动页。
2.根据权利要求1所述的方法,其特征在于,
所述第一控制脚本所配置的内容还包括清除日志,所述清除日志用于在执行所述第一控制脚本时清除已有的测试日志。
3.一种安卓应用程序稳定性测试装置,其特征在于,所述装置包括:
第一添加模块,用于为猴子Monkey测试工具添加第一控制脚本,其中,所述第一控制脚本所配置的内容包括测试启动页、测试页面白名单、跳回后的初始化页面、检查频率和测试次数,所述测试启动页为启动所述Monkey测试工具后首先打开的应用程序页面,所述测试页面白名单为所述Monkey测试打开的应用程序页面,所述跳回后的初始化页面为所述Monkey测试跳出所述应用程序后跳回时打开的应用程序页面,所述检查频率为检查所述Monkey测试是否在所述应用程序中运行的频率,所述测试次数为预设时间内所述Monkey测试运行的次数;其中,将重要的页面或者需要测试的页面设置为测试启动页;根据历史测试记录判断Monkey测试的稳定性,若所述稳定性大于或等于预设值,将所述检查频率设置为第一频率区间内的值,若所述稳定性小于所述预设值,将所述检查频率设置为第二频率区间内的值,其中,所述第一频率区间内的频率值均小于所述第二频率区间内的频率值;
第二添加模块,用于为猴子Monkey测试工具添加第二控制脚本,其中,所述第二控制脚本所配置的内容包括结束所述Monkey测试进程;
控制模块,用于根据所述第一控制脚本,控制所述Monkey测试工具对安卓应用程序进行基于随机事件的稳定性测试;
执行模块,用于在测试过程中,接收启动所述第二控制脚本的命令,执行所述第二控制脚本以停止所述Monkey测试;
所述测试页面白名单包括打开顺序;
所述控制模块,进一步用于:
根据所述打开顺序,控制所述Monkey测试工具依次打开所述测试页面白名单中的每个页面,以完成对所述测试页面白名单的测试,得到第一测试结果;
所述测试页面白名单根据模块将多个页面分组,同时在一个组的所有页面上运行所述Monkey测试;
所述控制模块,进一步用于:
接收打开除所述测试页面白名单以外的其他页面的命令;
在所述测试页面白名单中的页面全部测试完成后,控制所述Monkey测试工具打开所述其他页面,以完成对所述其他页面的测试;
所述控制模块,进一步用于:
所述接收打开除所述测试页面白名单以外的其他页面的命令之前,判断所述第一测试结果是否超过第一阈值;
若所述第一测试结果超过所述第一阈值,显示第一界面以接收打开除所述测试页面白名单以外的其他页面的命令;
所述跳回后的初始化页面为所述测试启动页或者跳出所述应用程序时所在的应用程序页面;
所述控制模块,进一步用于:
判断跳出所述应用程序时,所述Monkey测试是否正常运行;
若所述Monkey测试正常运行,控制跳回时打开跳出所述应用程序时所在的应用程序页面;
若所述Monkey测试不正常运行,控制跳回时打开所述测试启动页。
4.一种电子设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1或2所述的安卓应用程序稳定性测试方法的操作。
5.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在电子设备上运行时,使得电子设备执行如权利要求1或2所述的安卓应用程序稳定性测试方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011287224.7A CN112100085B (zh) | 2020-11-17 | 2020-11-17 | 安卓应用程序稳定性测试方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011287224.7A CN112100085B (zh) | 2020-11-17 | 2020-11-17 | 安卓应用程序稳定性测试方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112100085A CN112100085A (zh) | 2020-12-18 |
CN112100085B true CN112100085B (zh) | 2021-03-16 |
Family
ID=73784724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011287224.7A Active CN112100085B (zh) | 2020-11-17 | 2020-11-17 | 安卓应用程序稳定性测试方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100085B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113051146B (zh) * | 2021-04-09 | 2022-09-30 | 深圳赛安特技术服务有限公司 | 基于Monkey的测试方法、装置、设备及存储介质 |
CN114201392A (zh) * | 2021-12-06 | 2022-03-18 | 麒麟软件有限公司 | 一种安卓环境及安卓应用稳定性测试方法 |
CN113934645A (zh) * | 2021-12-16 | 2022-01-14 | 深圳市明源云链互联网科技有限公司 | 应用测试方法、***、设备及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887392A (zh) * | 2010-07-06 | 2010-11-17 | 中兴通讯股份有限公司 | 一种软件***运行稳定性测试方法及装置 |
CN105094783A (zh) * | 2014-05-19 | 2015-11-25 | 腾讯科技(深圳)有限公司 | 安卓应用稳定性测试的方法及装置 |
CN110597704A (zh) * | 2018-06-13 | 2019-12-20 | 百度在线网络技术(北京)有限公司 | 应用程序的压力测试方法、装置、服务器和介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2506122A (en) * | 2012-09-20 | 2014-03-26 | Ibm | Integrating data transform test with data transform tool |
CN109388560A (zh) * | 2018-09-18 | 2019-02-26 | 广州小鹏汽车科技有限公司 | 基于Monkey的应用稳定性测试方法和装置 |
CN111737695A (zh) * | 2020-06-24 | 2020-10-02 | 深圳前海微众银行股份有限公司 | 白名单优化方法、装置、设备与计算机可读存储介质 |
-
2020
- 2020-11-17 CN CN202011287224.7A patent/CN112100085B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887392A (zh) * | 2010-07-06 | 2010-11-17 | 中兴通讯股份有限公司 | 一种软件***运行稳定性测试方法及装置 |
CN105094783A (zh) * | 2014-05-19 | 2015-11-25 | 腾讯科技(深圳)有限公司 | 安卓应用稳定性测试的方法及装置 |
CN110597704A (zh) * | 2018-06-13 | 2019-12-20 | 百度在线网络技术(北京)有限公司 | 应用程序的压力测试方法、装置、服务器和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112100085A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112100085B (zh) | 安卓应用程序稳定性测试方法、装置和设备 | |
CN112084113B (zh) | 基于嵌入式仿真验证软件的可配置自动化测试方法及*** | |
US9405315B2 (en) | Delayed execution of program code on multiple processors | |
US11514225B2 (en) | Verification platform for system on chip and verification method thereof | |
CN111258913A (zh) | 算法自动测试方法、装置、计算机***及可读存储介质 | |
CN114546738A (zh) | 服务器通用测试方法、***、终端及存储介质 | |
CN116166525A (zh) | 一种测试脚本的生成方法及装置 | |
CN114117973A (zh) | 逻辑综合方法、设备和存储介质 | |
CN110990289B (zh) | 一种自动提交bug的方法、装置、电子设备及存储介质 | |
CN105893233B (zh) | 用于自动测试固件的方法和*** | |
CN106201787A (zh) | 终端控制方法及装置 | |
CN112035346B (zh) | 基于嵌入式dsp操作***的自动化测试方法、***及介质 | |
CN113392027A (zh) | 移动端应用的兼容性测试方法、***及电子设备 | |
CN116629173A (zh) | 网络芯片的验证方法、装置、计算机设备及存储介质 | |
CN116087752A (zh) | 一种芯片测试方法、***、装置及介质 | |
CN116107879A (zh) | 一种软ac性能测试方法及*** | |
US20040177344A1 (en) | Debugging method for the keyboard controller code | |
CN110399258B (zh) | 一种服务器***的稳定性测试方法、***及装置 | |
US11347628B2 (en) | Test case generation apparatus, test case generation method, and computer readable medium | |
US20240231347A1 (en) | Fault injection test method and apparatus, and fault injection method | |
CN111782499A (zh) | 测试用例生成方法及*** | |
CN113407394B (zh) | 一种服务器ras功能测试的方法、装置、设备和介质 | |
CN116680170A (zh) | 测试方法和计算设备 | |
CN117724921A (zh) | 服务器测试方法、***、装置、设备及存储介质 | |
CN114297064A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |