CN112667516B - 一种安卓多机型自动化测试系统和方法 - Google Patents
一种安卓多机型自动化测试系统和方法 Download PDFInfo
- Publication number
- CN112667516B CN112667516B CN202110012358.6A CN202110012358A CN112667516B CN 112667516 B CN112667516 B CN 112667516B CN 202110012358 A CN202110012358 A CN 202110012358A CN 112667516 B CN112667516 B CN 112667516B
- Authority
- CN
- China
- Prior art keywords
- intelligent terminal
- android intelligent
- terminal equipment
- equipment
- idle state
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提供了一种安卓多机型自动化测试系统。本发明的另一个技术方案是提供了一种安卓多机型自动化测试方法。本发明对于大众用户开放,可以覆盖市场上大部分机型,同时本发明使用真实用户设备进行测试,可以完美解决云测平台的两大痛点。一方面众包平台完全使用真机测试,无需模拟测试环境,在保证测试数据真实性的同时,也节约了硬件设备资源,避免浪费;另一方面众包平台使用大众真实设备资源,收费相对低,可以满足绝大部分企业的测试需求,有效解决了企业App对多机型的适配测试问题,同时也提高了测试执行效率及机型覆盖率。
Description
技术领域
本发明涉及一种实现任意App对运行安卓操作系统的多种型号智能终端设备的适配测试系统以及采用该适配测试系统的测试方法。
背景技术
随着互联网技术的不断发展,互联网App的体量、安卓智能终端设备品牌与系统的种类以及硬件特性化下的数量都在不断扩大,导致安卓智能终端设备的机型出现了几何级数增长。如何提升互联网App在市场占95%以上的各种机型的安卓智能终端设备上的兼容性成为了一个难题。
对于具有一定规模的互联网企业来说,可以直接购买相对热门的安卓智能终端设备的机型以进行互联网App的兼容性测试,从而覆盖大部分安卓智能终端设备用户。由于购买大量安卓智能终端设备的成本非常昂贵,并且安卓智能终端设备的机型种类繁多且更新速度快,上述方式不可能覆盖到所有机型。而对于中小规模的企业来说,购买所有主流机型的安卓智能终端设备进行兼容性测试的成本比较高,往往只能退而求其次对一些市场占有率大的机型进行兼容性适配测试,从而影响了App的兼容性测试效果,降低了用户体验。
为了解决上述问题,目前已经出现了功能完善、性能强大的云测试平台,比如国外的知名云测试平台有Xamarin Test Cloud、TestDroid、Google Cloud Test Cloud等,国内的知名云测平台有Testin云测以及阿里云移动测试平台等。该类云测试平台均是将大部分安卓智能终端设备的真机放置到机房作为云平台上的资源,然后通过任务分配的方式将待测试的App分发到机房内的各个真机设备去执行,任务结束后回收测试结果。该类云测试平台虽然实现了互联网App在大部分安卓智能终端设备上的兼容性测试,但仍存在如下弊端:使用了大量真机设备,这些真机设备单纯用于测试而无法模拟真实用户使用场景,一方面浪费了较多的硬件资源,另一方面这些真机设备非真实用户测试环境,无法模拟用户真实使用场景。
发明内容
本发明要解决的技术问题是:现有的云测试平台使用了大量的安卓智能终端真机设备,且这些真机设备无法模拟用户真实使用场景。
为了解决上述技术问题,本发明的一个技术方案是提供了一种安卓多机型自动化测试系统,其特征在于,包括:
面向使用安卓智能终端设备的大众用户开放的云测试平台,真实使用安卓智能终端设备的大众用户向云测试平台进行注册,注册时自动采集所使用安卓智能终端设备的设备信息;
测试设备池,已注册的安卓智能终端设备的设备信息存入测试设备池内;
可测试设备池,处于开机状态且为空闲状态的已注册的安卓智能终端设备的设备信息存入可测试设备池内;
云测试平台实时监控所有已注册安卓智能终端设备的开/关机状态,若当前安卓智能终端设备处于关机状态,则进一步判断当前安卓智能终端设备的设备信息是否存在于可测试设备池中,若是,则将可测试设备池中的相应设备信息删除;对于处于开机状态的安卓智能终端设备,云测试平台进一步获取该安卓智能终端设备的activity变化、CPU占用率、内存占用率、耗电量使用率,基于activity变化、CPU占用率、内存占用率、耗电量使用率判断当前安卓智能终端设备是否为空闲状态,若当前安卓智能终端设备为空闲状态,则判断当前安卓智能终端设备的设备信息是否存在于可测试设备池中,若否,则将当前安卓智能终端设备的设备信息存入可测试设备池;若当前安卓智能终端设备为非空闲状态,则判断当前安卓智能终端设备的设备信息是否存在于可测试设备池中,若是,则将当前安卓智能终端设备的设备信息从可测试设备池中移除;
云测试平台获得测试任务后,基于可测试设备池中所有设备信息将测试任务下放至对应的安卓智能终端设备,测试任务在安卓智能终端设备中自动运行;测试任务运行过程中,若用户使用当前安卓智能终端设备,对于不存在用户界面方面的测试任务,该测试任务挂入后台执行;对于存在用户界面方面的测试任务,则由用户选择继续测试任务、暂停测试任务或终止测试任务,若用户选择暂停测试任务,则云测试平台持续监控当前安卓智能终端设备的空闲状态,若当前安卓智能终端设备处于空闲状态,则继续执行被暂停的测试任务;
所有运行测试任务的安卓智能终端设备在测试任务运行完毕后,将运行结果反馈给云测试平台。
优选地,所述云测试平台以固定时间间隔T1采集已注册的安卓智能终端设备的所述activity变化、CPU占用率、内存占用率、耗电量使用率,收集时间段T2内的所述activity变化、CPU占用率、内存占用率、耗电量使用率,对时间段T2之后的时间段T3内当前安卓智能终端设备是否为空闲状态进行预测,T1<T3<<T2。
优选地,所述云测试平台采用长短期记忆网络与支持向量机联和模型对所述时间段T3内当前安卓智能终端设备是否为空闲状态进行预测。
优选地,所述长短期记忆网络与支持向量机联和模型采用以下步骤进行训练:
收集时间段T4内的已知是否为空闲状态的安卓智能终端设备的历史activity变化、CPU占用率、内存占用率、耗电量使用率数据;
标注出每个时间间隔T1的历史数据所对应的安卓智能终端设备的空闲状态及非空闲状态;
以时间段T4内每一时间段T2的历史activity变化、CPU占用率、内存占用率、耗电量使用率数据为长短期记忆网络的输入,并且以每一时间段T2之后的对应每个时间段T3内的历史activity变化、CPU占用率、内存占用率、耗电量使用率数据为长短期记忆网络的预测输出,对长短期记忆网络进行训练;
依据每个时间间隔T1所标注的历史数据所对应的空闲状态及非空闲状态得到每一时间段T2之后的对应每个时间段T3的安卓智能终端设备的空闲状态及非空闲状态;
以每一时间段T2之后的对应每个时间段T3的历史activity变化、CPU占用率、内存占用率、耗电量使用率数据为支持向量机的输入,并且以每一时间段T2之后的对应每个时间段T3的安卓智能终端设备的空闲状态及非空闲状态为支持向量机的输出,对支持向量机进行训练。
本发明的另一个技术方案是提供了一种安卓多机型自动化测试方法,其特征在于,采用上述的自动化测试系统,包括以下步骤:
步骤1、真实使用安卓智能终端设备的大众用户向云测试平台进行注册,注册时至少提交其所使用安卓智能终端设备的设备信息;
步骤2、对于已经完成注册的安卓智能终端设备,将其设备信息存入测试设备池中;
步骤3、云测试平台实时监控所有已注册安卓智能终端设备,并依据安卓智能终端设备的开/关机状态以及空闲状态实时更新可测试设备池,具体包括以下步骤:
步骤301、云测试平台实时监控当前安卓智能终端设备的开/关机状态,若当前安卓智能终端设备处于关机状态,则进入步骤302;若当前安卓智能终端设备处于开机状态,则进入步骤303;
步骤302、当前安卓智能终端设备的设备信息是否存在于可测试设备池中,若是,则将可测试设备池中的相应设备信息删除后返回步骤301,对下一个安卓智能终端设备的开/关机状态进行判断;若当前安卓智能终端设备的设备信息不存在于可测试设备池中,则进入步骤303;
步骤303、云测试平台获取当前安卓智能终端设备的activity变化、CPU占用率、内存占用率、耗电量使用率,基于activity变化、CPU占用率、内存占用率、耗电量使用率判断当前安卓智能终端设备是否为空闲状态,若当前安卓智能终端设备为空闲状态,则进入步骤304;若当前安卓智能终端设备为非空闲状态,则进入步骤305;
步骤304、判断当前安卓智能终端设备的设备信息是否存在于可测试设备池中,若否,则将当前安卓智能终端设备的设备信息存入可测试设备池,随后返回步骤301,对下一个安卓智能终端设备的开/关机状态进行判断;若当前安卓智能终端设备的设备信息存在于可测试设备池中,则返回步骤301,对下一个安卓智能终端设备的开/关机状态进行判断;
步骤305、判断当前安卓智能终端设备的设备信息是否存在于可测试设备池中,若是,则将当前安卓智能终端设备的设备信息从可测试设备池中移除,随后返回步骤301,对下一个安卓智能终端设备的开/关机状态进行判断;当前安卓智能终端设备的设备信息不存在于可测试设备池中,则返回步骤301,对下一个安卓智能终端设备的开/关机状态进行判断;
步骤4、云测试平台获得测试任务后,基于可测试设备池中所有的设备信息,将测试任务下放对应的安卓智能终端设备;
步骤5、安卓智能终端设备接收到测试任务后,该测试任务在当前安卓智能终端设备中自动运行;
对于不存在用户界面方面的测试任务,测试任务运行过程中,若用户使用当前安卓智能终端设备,则该测试任务挂入后台执行;
对于存在用户界面方面的测试任务,测试任务运行过程中,若用户使用当前安卓智能终端设备,则由用户选择继续测试任务、暂停测试任务或终止测试任务,若用户选择暂停测试任务,则云测试平台持续监控当前安卓智能终端设备的空闲状态,在当前安卓智能终端设备处于空闲状态时,继续执行被暂停的测试任务;
步骤6、测试任务执行完毕后,安卓智能终端设备将测试结果反馈给云测试平台。
优选地,步骤303中,所述云测试平台以固定时间间隔T1采集已注册的安卓智能终端设备的所述activity变化、CPU占用率、内存占用率、耗电量使用率,收集时间段T2内的所述activity变化、CPU占用率、内存占用率、耗电量使用率,对时间段T2之后的时间段T3内当前安卓智能终端设备是否为空闲状态进行预测,T1<T3<<T2。
优选地,所述云测试平台采用长短期记忆网络与支持向量机联和模型对时间段T2之后的时间段T3内当前安卓智能终端设备是否为空闲状态进行预测。
优选地,所述云测试平台采用长短期记忆网络与支持向量机联和模型对时间段T2之后的时间段T3内当前安卓智能终端设备是否为空闲状态进行预测具体包括以下步骤:
步骤3031、将时间段T2内的所述activity变化、CPU占用率、内存占用率、耗电量使用率作为长短期记忆网络与支持向量机联和模型中长短期记忆网络的输入,由长短期记忆网络输出时间段T2之后的时间段T3内的所述activity变化、CPU占用率、内存占用率、耗电量的预测值,长短期记忆网络的输出层维度为四,四个维度分别对应activity变化、CPU占用率、内存占用率、耗电量的预测值;
步骤3032、将长短期记忆网络输出的时间段T3内的述activity变化、CPU占用率、内存占用率、耗电量的预测值输入支持向量机,由支持向量机输出代表当前安卓智能终端设备是否处于空闲状态的二分类值。
本发明对于大众用户开放,可以覆盖市场上大部分机型,同时本发明使用真实用户设备进行测试,可以完美解决云测平台的两大痛点。一方面众包平台完全使用真机测试,无需模拟测试环境,在保证测试数据真实性的同时,也节约了硬件设备资源,避免浪费;另一方面众包平台使用大众真实设备资源,收费相对低,可以满足绝大部分企业的测试需求,有效解决了企业App对多机型的适配测试问题,同时也提高了测试执行效率及机型覆盖率。与现有技术相比,本发明具有如下有益效果:
1、使用真实用户智能设备进行测试,保证真实的测试环境,测试数据更为真实;
2、使用真实的用户智能设备进行下发任务测试,节约了硬件资源成本;
3、在测试过程中用户不会因为正常使用手机而中断测试任务,保证了测试的高效性。
附图说明
图1为本发明的具体流程图;
图2为判断智能设备状态的流程图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明提供的一种安卓多机型自动化测试系统及方法,可以进行功能、性能、稳定性、兼容性、网络场景测试。兼容性测试是指:App(Application,应用程序)对不同操作系统版本的安卓智能终端设备的应用兼容性测试,包括应用的安装、启动、卸载等。功能测试是指:通过遍历整个应用程序查看应用的功能和逻辑是否正常。性能测试是指:应用的性能表现,包含启动时间、反应时间、CPU占用率,内存占用率等。稳定性测试是指:在一定时间内对App进行持续测试,测试App在运行环境下的稳定性。网络场景测试是指:测试不同网络环境中App的运行状况,比如3G、4G、5G以及弱网络环境等。
本发明具体包括以下技术方案:
拥有安卓智能终端设备(包括但不限于智能手机、智能手表、平板电脑等)的广大用户均可以向众包平台进行注册。本实施例中,众包平台是一种面向真实使用安卓智能终端设备的大众用户开放的云测试平台。用户注册前需了解并同意众包平台的用户协议,该用户协议需要用户同意在用户所使用的安卓智能终端设备处于空闲状态下允许众包平台分发自动化测试任务。众包平台在测试过程中坚决遵守不窃取用户的个人隐私的原则,对于获取的测试结果完全保密。对于注册众包平台的用户来说,使用真实智能设备执行自动化测试任务后,将会获得相对应的奖励,奖励包括但不限于积分奖励、资金奖励以及实物奖励等。通过这种奖励方式来吸引广大用户去注册众包平台。
用户均向众包平台注册时,需要填写其所实际使用的安卓智能终端设备的相关设备信息,该设备信息包括但不限于:品牌、系统、RAM容量(Random Access Memory,随机存取存储器)和ROM容量。当用户完成设备信息的填写后,向众包平台发出注册请求。
本实施例中,众包平台维护一个测试设备池以及一个可测试设备池。众包平台响应并通过用户发出的注册请求后,获取用户所使用的安卓智能终端设备的设备信息,并将新注册用户上传的设备信息存入测试设备池中,达到将新注册用户所实际使用的安卓智能终端设备纳入测试设备池中的目的。
众包平台可以向已注册的用户所使用的真实安卓智能终端设备分发测试任务。测试任务用于对企业研发的App进行功能、性能、稳定性、兼容性、网络场景测试等测试。各安卓智能终端设备完成测试任务后自动将测试结果上传给众包平台,由众包平台依据测试结果进行相关数据分析。
在本实施例中,众包平台实时智能检测每位已注册用户所使用的安卓智能终端设备的状态。众包平台首先检测各安卓智能终端设备的开/关机状态,若当前安卓智能终端设备处于关机状态,则不再进行后续的空闲状态的检测,若当前安卓智能终端设备处于开机状态,则进一步检测当前安卓智能终端设备的空闲状态。本实施例中,若当前安卓智能终端设备只对内存供电,而对硬盘、屏幕和CPU等部件停止供电的操作,表示用户与当前安卓智能终端设备不存在交互的过程,则认为当前安卓智能终端设备处于空闲状态,否则认为当前安卓智能终端设备处于非空闲状态。本发明将处于空闲状态的安卓智能终端设备的设备信息由测试设备池转存入可测试设备池中,达到将相对应的安卓智能终端设备纳入可测试设备池中的目的。众包平台仅向可测试设备池中的安卓智能终端设备发放前述的测试任务。
对于被纳入可测试设备池中的安卓智能终端设备,众包平台首先需要实时判断其开/关机状态,若当前安卓智能终端设备由开机状态转为关机状态,则从可测试设备池中将与当前安卓智能终端设备相对应的设备信息删除,并移入测试设备池中。若当前安卓智能终端设备处于开机状态,则进一步判断当前安卓智能终端设备是否处于空闲状态,若当前安卓智能终端设备由空闲状态转为非空闲状态,则从可测试设备池中将与当前安卓智能终端设备相对应的设备信息删除,并移入测试设备池中。
对于被纳入测试设备池中的安卓智能终端设备,众包平台在实时判断其开/关机状态后,同样需要实时判断其是否处于空闲状态,若当前安卓智能终端设备为空闲状态,则从测试设备池中将与当前安卓智能终端设备相对应的设备信息删除,并移入可测试设备池中。本实施例通过对可测试设备池的动态更新,确保了被纳入可测试设备池中的安卓智能终端设备处于开机状态及空闲状态。
众包平台以自动化任务执行脚本形式向被纳入可测试设备池中的安卓智能终端设备下发测试任务。安卓智能终端设备将自动化执行接收到的测试任务。在运行过程中如果用户需要使用该安卓智能终端设备,则测试任务将会挂入后台执行,不影响用户的使用过程。如果测试任务存在UI(User Interface,用户界面)方面的测试任务,首先会向用户发出是否继续执行测试任务的提醒,用户可以选择继续执行测试任务,也可以选择暂停测试任务或者终止测试任务。用户如果选择暂停执行测试任务,则众包平台接收到用户的反馈后,会持续对当前安卓智能终端设备的空闲状态进行检测。若当前安卓智能终端设备再次处于空闲状态时,被暂停的测试任务被重新执行。当所有测试任务结束后,安卓智能终端设备将测试数据自动反馈给众包平台。众包平台对返回的测试数据进行数据分析,并汇总测试结果。测试结果统计完成后将在众包平台上展示并向相关的需求方发送测试报告。
本发明主要依据4项指标参数来判断安卓智能终端设备是否处于空闲状态。本发明中,众包平台以1秒钟为时间间隔持续采集安卓智能终端设备的activity状态、CPU占用率、内存占用率、实时耗电量。activity为Android应用程序的一个关键组成部分,它通常提供一个用户界面用来和用户交互以完成某个功能,比如拨号、拍照发送电子邮件或者是浏览地图。在移动设备上,activity通常占据整个屏幕,但安卓也支持部分屏幕或是浮动窗口。本发明将判断安卓智能终端设备是否处于空闲状态的检测时长定义为5分钟,则众包平台收集5分钟内的activity状态、CPU占用率、内存占用率、实时耗电量,基于该数据利用LSTM+SVM模型(长短期记忆网络+支持向量机)对5分钟之后的5秒种内的安卓智能终端设备是否处于空闲状态进行预测。
本发明中,采用LSTM+SVM模型对activity状态、CPU占用率、内存占用率、实时耗电量有无变化进行预测,从而对安卓智能终端设备的空闲状态进行预测,具体包括以下步骤:
1)采集5分钟内的activity状态、CPU占用率、内存占用率、实时耗电量的时序状态数据;
2)将步骤1)采集到的时序状态数据输入LSTM+SVM模型中的LSTM网络,由LSTM网络输出5分钟后的5秒钟内的activity状态、CPU占用率、内存占用率、实时耗电量的预测数据。LSTM网络的输出层维度为四,并且每一维分别代表activity状态、CPU占用率、内存占用率、实时耗电量。
3)将步骤2)获得的预测数据输入SVM,由SVM输出代表当前安卓智能终端设备是否处于空闲状态的二分类值。
本发明中,可以采用下述步骤对LSTM+SVM模型进行训练:
1)收集连续2天内的activity状态、CPU占用率、内存占用率、实时耗电量的历史时序状态数据,并标注出每秒钟安卓智能终端设备是为空闲状态还是非空闲状态。
2)以连续2天内的每5分钟的历史时序状态数据为输入数据,并以每5分钟后的5秒钟的历史时序状态数据输出数据,对LSTM+SVM模型中的LSTM网络进行训练,训练后保存LSTM网络的模型参数。
3)通过步骤1)标注的每秒钟的安卓智能终端设备的空闲状态获得每5秒钟的安卓智能终端设备的空闲状态,以每5秒钟的安卓智能终端设备的空闲状态为SVM的输出,以每5秒钟的activity状态、CPU占用率、内存占用率、实时耗电量为SVM的输入,对LSTM+SVM模型中的SVM进行训练,训练后保存SVM的模型参数。
如果activity出现变动则表示用户正在使用智能设备,直接定义安卓智能终端设备为非空闲状态。众包平台检测机制在检测activity状态的同时,将获取智能设备在检测时长内CPU、内存以及电池使用过程产生的数据。其中CPU、内存和耗电量使用参数的获取是为了排除用户在使用音乐播放器、视频播放器以及阅读类应用(当用户使用以上三种类型的应用时,activity不会出现变动)。当智能设备的activity在检测时长内无变化且CPU占用比例参数、内存使用参数、耗电量使用参数(满足其中一项变动即可)在5分钟以内未产生一定的波动(波动检测方式同样基于LSTM+SVM模型的空闲状态预测),则判定用户的智能设备处于空闲状态。
Claims (7)
1.一种安卓多机型自动化测试系统,其特征在于,包括:
面向使用安卓智能终端设备的大众用户开放的云测试平台,真实使用安卓智能终端设备的大众用户向云测试平台进行注册,注册时至少提交其所使用安卓智能终端设备的设备信息;
测试设备池,已注册的安卓智能终端设备的设备信息存入测试设备池内;
可测试设备池,处于开机状态且为空闲状态的已注册的安卓智能终端设备的设备信息存入可测试设备池内;
云测试平台实时监控所有已注册安卓智能终端设备的开/关机状态,若当前安卓智能终端设备处于关机状态,则进一步判断当前安卓智能终端设备的设备信息是否存在于可测试设备池中,若是,则将可测试设备池中的相应设备信息删除;对于处于开机状态的安卓智能终端设备,云测试平台进一步获取该安卓智能终端设备的activity变化、CPU占用率、内存占用率、耗电量使用率,基于activity变化、CPU占用率、内存占用率、耗电量使用率判断当前安卓智能终端设备是否为空闲状态,若当前安卓智能终端设备为空闲状态,则判断当前安卓智能终端设备的设备信息是否存在于可测试设备池中,若否,则将当前安卓智能终端设备的设备信息存入可测试设备池;若当前安卓智能终端设备为非空闲状态,则判断当前安卓智能终端设备的设备信息是否存在于可测试设备池中,若是,则将当前安卓智能终端设备的设备信息从可测试设备池中移除;
云测试平台获得测试任务后,基于可测试设备池中所有设备信息将测试任务下放至对应的安卓智能终端设备,测试任务在安卓智能终端设备中自动运行;测试任务运行过程中,若用户使用当前安卓智能终端设备,对于不存在用户界面方面的测试任务,该测试任务挂入后台执行;对于存在用户界面方面的测试任务,则由用户选择继续测试任务、暂停测试任务或终止测试任务,若用户选择暂停测试任务,则云测试平台持续监控当前安卓智能终端设备的空闲状态,若当前安卓智能终端设备处于空闲状态,则继续执行被暂停的测试任务;
所有运行测试任务的安卓智能终端设备在测试任务运行完毕后,将运行结果反馈给云测试平台;
所述长短期记忆网络与支持向量机联和模型采用以下步骤进行训练:
收集时间段T4内的已知是否为空闲状态的安卓智能终端设备的历史activity变化、CPU占用率、内存占用率、耗电量使用率数据;
标注出每个时间间隔T1的历史数据所对应的安卓智能终端设备的空闲状态及非空闲状态;
以时间段T4内每一时间段T2的历史activity变化、CPU占用率、内存占用率、耗电量使用率数据为长短期记忆网络的输入,并且以每一时间段T2之后的对应每个时间段T3内的历史activity变化、CPU占用率、内存占用率、耗电量使用率数据为长短期记忆网络的预测输出,对长短期记忆网络进行训练;
依据每个时间间隔T1所标注的历史数据所对应的空闲状态及非空闲状态得到每一时间段T2之后的对应每个时间段T3的安卓智能终端设备的空闲状态及非空闲状态;
以每一时间段T2之后的对应每个时间段T3的历史activity变化、CPU占用率、内存占用率、耗电量使用率数据为支持向量机的输入,并且以每一时间段T2之后的对应每个时间段T3的安卓智能终端设备的空闲状态及非空闲状态为支持向量机的输出,对支持向量机进行训练,T1<T3<<T2。
2.如权利要求1所述的一种安卓多机型自动化测试系统,其特征在于,所述云测试平台以固定时间间隔T1采集已注册的安卓智能终端设备的所述activity变化、CPU占用率、内存占用率、耗电量使用率,收集时间段T2内的所述activity变化、CPU占用率、内存占用率、耗电量使用率,对时间段T2之后的时间段T3内当前安卓智能终端设备是否为空闲状态进行预测。
3.如权利要求2所述的一种安卓多机型自动化测试系统,其特征在于,所述云测试平台采用长短期记忆网络与支持向量机联和模型对所述时间段T3内当前安卓智能终端设备是否为空闲状态进行预测。
4.一种安卓多机型自动化测试方法,其特征在于,采用权利要求1所述的自动化测试系统,包括以下步骤:
步骤1、真实使用安卓智能终端设备的大众用户向云测试平台进行注册,注册时至少提交其所使用安卓智能终端设备的设备信息;
步骤2、对于已经完成注册的安卓智能终端设备,将其设备信息存入测试设备池中;
步骤3、云测试平台实时监控所有已注册安卓智能终端设备,并依据安卓智能终端设备的开/关机状态以及空闲状态实时更新可测试设备池,具体包括以下步骤:
步骤301、云测试平台实时监控当前安卓智能终端设备的开/关机状态,若当前安卓智能终端设备处于关机状态,则进入步骤302;若当前安卓智能终端设备处于开机状态,则进入步骤303;
步骤302、当前安卓智能终端设备的设备信息是否存在于可测试设备池中,若是,则将可测试设备池中的相应设备信息删除后返回步骤301,对下一个安卓智能终端设备的开/关机状态进行判断;若当前安卓智能终端设备的设备信息不存在于可测试设备池中,则进入步骤303;
步骤303、云测试平台获取当前安卓智能终端设备的activity变化、CPU占用率、内存占用率、耗电量使用率,基于activity变化、CPU占用率、内存占用率、耗电量使用率判断当前安卓智能终端设备是否为空闲状态,若当前安卓智能终端设备为空闲状态,则进入步骤304;若当前安卓智能终端设备为非空闲状态,则进入步骤305;
步骤304、判断当前安卓智能终端设备的设备信息是否存在于可测试设备池中,若否,则将当前安卓智能终端设备的设备信息存入可测试设备池,随后返回步骤301,对下一个安卓智能终端设备的开/关机状态进行判断;若当前安卓智能终端设备的设备信息存在于可测试设备池中,则返回步骤301,对下一个安卓智能终端设备的开/关机状态进行判断;
步骤305、判断当前安卓智能终端设备的设备信息是否存在于可测试设备池中,若是,则将当前安卓智能终端设备的设备信息从可测试设备池中移除,随后返回步骤301,对下一个安卓智能终端设备的开/关机状态进行判断;当前安卓智能终端设备的设备信息不存在于可测试设备池中,则返回步骤301,对下一个安卓智能终端设备的开/关机状态进行判断;
步骤4、云测试平台获得测试任务后,基于可测试设备池中所有的设备信息,将测试任务下放对应的安卓智能终端设备;
步骤5、安卓智能终端设备接收到测试任务后,该测试任务在当前安卓智能终端设备中自动运行;
对于不存在用户界面方面的测试任务,测试任务运行过程中,若用户使用当前安卓智能终端设备,则该测试任务挂入后台执行;
对于存在用户界面方面的测试任务,测试任务运行过程中,若用户使用当前安卓智能终端设备,则由用户选择继续测试任务、暂停测试任务或终止测试任务,若用户选择暂停测试任务,则云测试平台持续监控当前安卓智能终端设备的空闲状态,在当前安卓智能终端设备处于空闲状态时,继续执行被暂停的测试任务;
步骤6、测试任务执行完毕后,安卓智能终端设备将测试结果反馈给云测试平台。
5.如权利要求4所述的一种安卓多机型自动化测试方法,其特征在于,步骤303中,所述云测试平台以固定时间间隔T1采集已注册的安卓智能终端设备的所述activity变化、CPU占用率、内存占用率、耗电量使用率,收集时间段T2内的所述activity变化、CPU占用率、内存占用率、耗电量使用率,对时间段T2之后的时间段T3内当前安卓智能终端设备是否为空闲状态进行预测,T1<T3<<T2。
6.如权利要求5所述的一种安卓多机型自动化测试方法,其特征在于,所述云测试平台采用长短期记忆网络与支持向量机联和模型对时间段T2之后的时间段T3内当前安卓智能终端设备是否为空闲状态进行预测。
7.如权利要求6所述的一种安卓多机型自动化测试方法,其特征在于,所述云测试平台采用长短期记忆网络与支持向量机联和模型对时间段T2之后的时间段T3内当前安卓智能终端设备是否为空闲状态进行预测具体包括以下步骤:
步骤3031、将时间段T2内的所述activity变化、CPU占用率、内存占用率、耗电量使用率作为长短期记忆网络与支持向量机联和模型中长短期记忆网络的输入,由长短期记忆网络输出时间段T2之后的时间段T3内的所述activity变化、CPU占用率、内存占用率、耗电量的预测值,长短期记忆网络的输出层维度为四,四个维度分别对应activity变化、CPU占用率、内存占用率、耗电量的预测值;
步骤3032、将长短期记忆网络输出的时间段T3内的述activity变化、CPU占用率、内存占用率、耗电量的预测值输入支持向量机,由支持向量机输出代表当前安卓智能终端设备是否处于空闲状态的二分类值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110012358.6A CN112667516B (zh) | 2021-01-06 | 2021-01-06 | 一种安卓多机型自动化测试系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110012358.6A CN112667516B (zh) | 2021-01-06 | 2021-01-06 | 一种安卓多机型自动化测试系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112667516A CN112667516A (zh) | 2021-04-16 |
CN112667516B true CN112667516B (zh) | 2023-07-28 |
Family
ID=75413148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110012358.6A Active CN112667516B (zh) | 2021-01-06 | 2021-01-06 | 一种安卓多机型自动化测试系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112667516B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955880A (zh) * | 2016-04-22 | 2016-09-21 | 乐视控股(北京)有限公司 | 一种分发自动化测试用例的方法、系统及分发服务器 |
CN111611055A (zh) * | 2020-05-27 | 2020-09-01 | 上海有孚智数云创数字科技有限公司 | 一种虚拟设备最优空闲时间迁移法、装置及可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9336118B2 (en) * | 2013-01-28 | 2016-05-10 | Hewlett Packard Enterprise Development Lp | Allocating test capacity from cloud systems |
-
2021
- 2021-01-06 CN CN202110012358.6A patent/CN112667516B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955880A (zh) * | 2016-04-22 | 2016-09-21 | 乐视控股(北京)有限公司 | 一种分发自动化测试用例的方法、系统及分发服务器 |
CN111611055A (zh) * | 2020-05-27 | 2020-09-01 | 上海有孚智数云创数字科技有限公司 | 一种虚拟设备最优空闲时间迁移法、装置及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112667516A (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11971812B2 (en) | Systems including network simulation for mobile application development | |
Ali et al. | Mobile device power models for energy efficient dynamic offloading at runtime | |
CN104541247B (zh) | 用于调整云计算系统的系统和方法 | |
CN103096385B (zh) | 一种流量控制的方法、装置及终端 | |
CN112214260A (zh) | 终端应用app的加载方法及装置 | |
CN102231131A (zh) | 测试电子设备内的软件 | |
CN110308990A (zh) | 用于扩展计算资源的计算机实施方法和计算系统 | |
CN110245073A (zh) | 终端代码覆盖率监测方法、系统、介质和电子设备 | |
Min et al. | PowerForecaster: Predicting smartphone power impact of continuous sensing applications at pre-installation time | |
CN105260082B (zh) | 一种测试数据展示方法及开发终端 | |
CN105302641B (zh) | 虚拟化集群中进行节点调度的方法及装置 | |
CN109684078A (zh) | 用于spark streaming的资源动态分配方法和系统 | |
CN104937891A (zh) | 用于在电子设备中控制业务的方法和装置 | |
CN109324962A (zh) | 一种基于云物联技术的应用程序的测试方法及设备 | |
CN109976966A (zh) | 一种应用程序启动时间统计方法、装置及系统 | |
CN108509348B (zh) | 一种系统老化的测试方法及移动终端 | |
WO2014113198A2 (en) | System and method for tailoring applications and application repositories for individual electrical devices | |
CN112667516B (zh) | 一种安卓多机型自动化测试系统和方法 | |
CN111756589A (zh) | 云资源管理方法、装置、云服务器及存储介质 | |
KR101758267B1 (ko) | 모바일 애플리케이션의 소비 전력을 예측할 수 있는 통신 장치, 이를 포함하는 통신 시스템, 이를 이용하는 모바일 애플리케이션의 소비 전력 예측 방법 및 이를 이용하는 예측 소비 전력 제공 방법 | |
CN115037665B (zh) | 设备测试方法和装置 | |
CN113439263A (zh) | 应用清理方法、装置、存储介质及电子设备 | |
CN105630503B (zh) | 一种基于用户操作记录的应用开发移动设备选取方法 | |
Min et al. | Scalable Power Impact Prediction of Mobile Sensing Applications at Pre-Installation Time | |
Bianchi et al. | On the performance of real-time DSP on Android devices |
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 |