CN116955208B - 测试方法、终端设备、芯片及存储介质 - Google Patents

测试方法、终端设备、芯片及存储介质 Download PDF

Info

Publication number
CN116955208B
CN116955208B CN202311200714.2A CN202311200714A CN116955208B CN 116955208 B CN116955208 B CN 116955208B CN 202311200714 A CN202311200714 A CN 202311200714A CN 116955208 B CN116955208 B CN 116955208B
Authority
CN
China
Prior art keywords
service
apk
tested
information
scene
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
Application number
CN202311200714.2A
Other languages
English (en)
Other versions
CN116955208A (zh
Inventor
丁高珂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202311200714.2A priority Critical patent/CN116955208B/zh
Publication of CN116955208A publication Critical patent/CN116955208A/zh
Application granted granted Critical
Publication of CN116955208B publication Critical patent/CN116955208B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

本申请提供了一种测试方法、终端设备、芯片及存储介质,所述方法用于终端设备在升级工位对待测试的应用程序包APK服务的待测试的场景进行测试,所述方法包括:获取APK服务对应的启动信息和安装包;获取第一指令,所述第一指令用于指示重启所述终端设备;响应于第一指令,重启所述终端设备;在所述终端设备重启后,在检测到启动信息时,启动生产启动管理服务,所述生产启动管理服务用于对待测试的所述APK服务的待测试的场景进行测试。采用该实施例在终端设备重启后,在检测到启动信息时,终端设备启动生产启动管理服务,相对于现有技术中人工启动生产启动管理服务进行测试来说,本实施例提供的技术方案,简化了测试操作,提高了测试效率。

Description

测试方法、终端设备、芯片及存储介质
技术领域
本申请实施例涉及对终端设备进行测试的技术领域,尤其涉及一种测试方法、终端设备、芯片及存储介质。
背景技术
当前终端设备的产线在升级工位对手机等终端设备中待测试的应用程序包(android application package,APK)服务的待测试的场景进行测试时,使用人工启动生产启动管理服务对相关场景进行测试。
采用人工启动生产启动管理服务进行测试的方法,测试效率较低。因此,如何提高测试效率是亟待解决的技术问题。
发明内容
本申请实施例提供了一种测试方法、终端设备、芯片及存储介质,能够自动启动用于测试的生产启动管理服务,提升了测试效率。
第一方面,提供了一种测试方法,用于终端设备在升级工位对待测试的应用程序包APK服务的待测试的场景进行测试,所述方法包括:获取所述APK服务对应的启动信息和安装包;获取第一指令,所述第一指令用于指示重启所述终端设备;响应于所述第一指令,重启所述终端设备;在所述终端设备重启后,在检测到所述启动信息时,启动生产启动管理服务,生产启动管理服务用于对待测试的所述APK服务的待测试的场景进行测试。
采用该实施例在所终端设备重启后,在检测到启动信息时,自动启动生产启动管理服务,相对于现有技术中人工启动生产启动管理服务进行测试来说,本实施例提供的技术方案,简化了测试操作,提高了测试效率。
结合第一方面,在第一方面的某些实现方式中,在所述获取所述APK服务对应的启动信息和安装包之后,还包括:将所述启动信息写入制造者信息oeminfo分区;在所述检测到所述启动信息之前,还包括:确定所述oeminfo分区中是否写入了启动信息。
采用该实施例,由于只将启动信息写入oeminfo分区,所以减少了对oeminfo分区的空间的需求。
结合第一方面,在第一方面的某些实现方式中,在所述获取所述APK服务对应的启动信息和安装包之后,还包括:将待测试的所述APK服务对应的所述安装包写入产品product分区。
采用该实施例,将安装包写入product分区,分担了oeminfo分区的存储压力,减少了对oeminfo分区的空间的需求。
结合第一方面,在第一方面的某些实现方式中,在将所述启动信息写入制造者信息oeminfo分区之后,还包括:将写入所述oeminfo分区中的所述启动信息写入静态存储分区。
采用该实施例,将写入oeminfo分区中的启动信息写入静态存储分区,有利于生产启动管理服务从静态存储分区读取启动信息,可以避免oeminfo分区中的内容被删除时,生产启动管理服务无法读取到启动信息情况的发生。
结合第一方面,在第一方面的某些实现方式中,在所述启动用于对所述APK服务的场景进行测试的生产启动管理服务之后,所述方法还包括:触发所述生产启动管理服务从所述静态存储分区获取所述待测试的APK服务的启动信息。
采用该实施例,生产启动管理服务从静态存储分区读取启动信息,可以避免oeminfo分区中的内容被删除时,生产启动管理服务无法读取到启动信息情况的发生。
结合第一方面,在第一方面的某些实现方式中,在所述从所述静态存储分区获取所述待测试的APK服务的启动信息之后,还包括:确定待测试的所述APK服务是否属于目标APK,所述目标APK是所述终端设备在升级工位需要测试的APK;在待测试的所述APK服务属于所述目标APK时,确定所述启动信息对应的场景是否属于待测试的所述APK的目标场景,待测试的所述APK的目标场景是待测试的所述SPK在升级工位需要测试的场景;在待测试的所述APK服务属于所述目标APK、并且所述启动信息对应的待测试的场景属于待测试的所述APK的目标场景时,所述生产启动管理服务从所述product分区获取待测试的所述APK服务的安装包;基于所述启动信息和所述安装包触发所述生产启动管理服务对待测试的所述APK的待测试的场景进行测试。
采用该实施例,对待测试的APK服务的待测试的场景进行检测,在待测试的APK服务为目标APK,以及启动信息对应的待测试的APK服务的测试场景为目标场景时,生产启动管理服务才对满足测试条件的待测试的APK的待测试的场景进行测试。
结合第一方面,在第一方面的某些实现方式中,所述启动信息包括场景名称信息、相关场景参数、签名信息、场景属性。
第二方面,提供了一种终端设备,所述终端设备包括:一个或多个处理器、存储器和显示屏;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述终端设备执行如第一方面或者第一方面任一可能的实现方式中所述测试方法。
第三方面,提供了一种芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的电子设备执行如第一方面或者第一方面任一可能的实现方式中所述测试方法。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储了计算机程序,当所述计算机程序被终端设备执行时,使得所述终端设备执行如第一方面或者第一方面任一可能的实现方式中所述测试方法。
可以理解的是,上述第二方面到第四方面提供的技术方案可以分别对应到如第一方面及其可能的实现中提供的任一种方案中,能够达到的有益效果类似,此处不再赘述。
附图说明
图1本申请测试方法的一个应用场景示意图;
图2是本申请一实施例提供的测试方法的流程示意图;
图3是本申请一实施例提供的测试方法的流程示意图;
图4是本申请一实施例提供的测试方法的流程示意图;
图5A是本申请一实施例提供的测试方法的流程示意图;
图5B是本申请一实施例提供的测试方法的流程示意图;
图6是本申请一实施例中终端设备的硬件结构示意图;
图7是本申请一实施例中测试方法的交互示意图。
具体实施方式
在本申请的实施例中,在升级工位对终端设备的待测试的APK服务的待测试场景进行测试,首先终端设备获取启动信息和安装包,在本实施例中终端设备以手机为例进行描述,具体地,如图1所示,终端设备手机102可以通过wifi等无线方式从计算机101等电子设备获取启动信息和安装包,当然也可以通过有线方式获取启动信息和安装包。然后重启终端设备,手机102重启后触发生产启动管理服务启动,需要说明的是,现有技术中采用人工手动方式启动生产启动管理服务,本申请实施例在检测终端设备包括启动信息时,自动启动生产启动管理服务,这种测试方法简化了测试操作流程,提高了测试效率。
如图2所示,在一个实施例中,测试方法,包括如下步骤:
201.获取APK服务对应的启动信息和安装包。
其中,APK服务是待测试的APK服务,举例来说,待测试的APK服务可以是终端设备厂家开发的APK服务,比如生产测试应用的自启动APK服务;待测试的APK服务还可以是第三方开发商开发的APK服务,比如龙旗原始设计制造商(original design manufacturer,ODM)应用;待测试的APK服务还可以是完成静默安装及安装后自启动的APK服务或者微针夹具APK服务等。
启动信息可以包括:场景名称信息、相关场景参数、签名信息、场景属性等,启动信息写入终端设备后手机进入重启阶段。
202.获取第一指令,第一指令用于指示重启终端设备。
203.响应于第一指令,重启终端设备。
204.在终端设备重启后,在检测到启动信息时,启动用于对APK服务的待测试场景进行测试的生产启动管理服务。
重启后,手机小系统阶段会检查启动信息,并将该启动信息通过cmdline传到kerne,init阶段会获取到传上来的启动信息根据该启动信息启动生产启动管理服务。
采用该实施例在所终端设备重启后,在检测到启动信息时,自动启动生产启动管理服务,相对于现有技术中人工启动生产启动管理服务进行测试来说,本实施例提供的技术方案,简化了测试操作,提高了测试效率。
如图3所示,在一个实施例中,测试方法,包括如下步骤:
301.获取APK服务对应的启动信息和安装包。
其中,APK服务是待测试的APK服务,举例来说,待测试的APK服务可以是终端设备厂家开发的APK服务,比如生产测试应用的自启动APK服务;待测试的APK服务还可以是第三方开发商开发的APK服务,比如龙旗ODM应用;待测试的APK服务还可以是完成静默安装及安装后自启动的APK服务或者微针夹具APK服务等。
启动信息可以包括:场景名称信息、相关场景参数、签名信息、场景属性等,启动信息写入终端设备后手机进入重启阶段。
302.将启动信息写入制造者信息oeminfo分区。
303.获取第一指令,第一指令用于指示重启终端设备。
304.响应于第一指令,重启终端设备。
305.确定oeminfo分区中是否写入了启动信息。
306.在终端设备重启后,在检测到启动信息时,启动用于对APK服务的待测试场景进行测试的生产启动管理服务。
重启后,手机小系统阶段会检查启动信息,并将该启动信息通过cmdline传到kerne,init阶段会获取到传上来的启动信息根据该启动信息启动生产启动管理服务,生产启动管理服务需要通过生产hidl接口获取oeminfo分区中吸入的启动服务信息。
生产启动管理服务启动后进一步获取APK服务的安装包在该服务对应的模块中进行安装,生产启动管理服务用于完成的事件包括:生产服务启动、启动参数清除、启动参数解析,配置参数获取,通过以上流程可控制待测试的APK服务自启动和安装。
采用该实施例,由于只将启动信息写入oeminfo分区,所以减少了对oeminfo分区的空间的需求。
如图4所示,在一个实施例中,测试方法,包括如下步骤:
401.获取APK服务对应的启动信息和安装包。
其中,APK服务是待测试的APK服务,举例来说,待测试的APK服务可以是终端设备厂家开发的APK服务,比如生产测试应用的自启动APK服务;待测试的APK服务还可以是第三方开发商开发的APK服务,比如龙旗ODM应用;待测试的APK服务还可以是完成静默安装及安装后自启动的APK服务或者微针夹具APK服务等。
启动信息可以包括:场景名称信息、相关场景参数、签名信息、场景属性等,启动信息写入终端设备后手机进入重启阶段。
402.将待测试的APK服务对应的安装包写入产品product分区。
403.将启动信息写入制造者信息oeminfo分区。
404.获取第一指令,第一指令用于指示重启终端设备。
405.响应于第一指令,重启终端设备。
406.确定oeminfo分区中是否写入了启动信息。
407.在终端设备重启后,在检测到启动信息时,启动用于对APK服务的待测试场景进行测试的生产启动管理服务。
采用该实施例,将安装包写入product分区,分担了oeminfo分区的存储压力,减少了对oeminfo分区的空间的需求。
如图5A所示,在一个实施例中,测试方法,包括如下步骤:
501.获取APK服务对应的启动信息和安装包。
其中,APK服务是待测试的APK服务,举例来说,待测试的APK服务可以是终端设备厂家开发的APK服务,比如生产测试应用的自启动APK服务;待测试的APK服务还可以是第三方开发商开发的APK服务,比如龙旗ODM应用;待测试的APK服务还可以是完成静默安装及安装后自启动的APK服务或者微针夹具APK服务等。
启动信息可以包括:场景名称信息、相关场景参数、签名信息、场景属性等,启动信息写入终端设备后手机进入重启阶段。
502.将待测试的APK服务对应的安装包写入产品product分区。
503.将启动信息写入制造者信息oeminfo分区。
504.将写入oeminfo分区中的启动信息写入静态存储分区。
505.获取第一指令,第一指令用于指示重启终端设备。
506.响应于第一指令,重启终端设备。
507.确定oeminfo分区中是否写入了启动信息。
508.在终端设备重启后,在检测到启动信息时,启动用于对APK服务的待测试场景进行测试的生产启动管理服务。
509.触发生产启动管理服务从静态存储分区获取待测试的APK服务的启动信息。
采用该实施例,生产启动管理服务从静态存储分区读取启动信息,可以避免oeminfo分区中的内容被删除时,生产启动管理服务无法读取到启动信息情况的发生。
如图5B所示,在一个实施例中,测试方法,包括如下步骤:
501.获取APK服务对应的启动信息和安装包。
其中,APK服务是待测试的APK服务,举例来说,待测试的APK服务可以是终端设备厂家开发的APK服务,比如生产测试应用的自启动APK服务;待测试的APK服务还可以是第三方开发商开发的APK服务,比如龙旗ODM应用;待测试的APK服务还可以是完成静默安装及安装后自启动的APK服务或者微针夹具APK服务等。
启动信息可以包括:场景名称信息、相关场景参数、签名信息、场景属性等,启动信息写入终端设备后手机进入重启阶段。
502.将待测试的APK服务对应的安装包写入产品product分区。
503.将启动信息写入制造者信息oeminfo分区。
504.将写入oeminfo分区中的启动信息写入静态存储分区。
505.获取第一指令,第一指令用于指示重启终端设备。
506.响应于第一指令,重启终端设备。
507.确定oeminfo分区中是否写入了启动信息。
508.在终端设备重启后,在检测到启动信息时,启动用于对APK服务的待测试场景进行测试的生产启动管理服务。
509.触发生产启动管理服务从静态存储分区获取待测试的APK服务的启动信息。
510.确定待测试的APK服务是否属于目标APK,目标APK是终端设备在升级工位需要测试的APK。
511. 在待测试的APK服务属于目标APK时,确定启动信息对应的场景是否属于待测试的APK的目标场景,待测试的APK的目标场景是待测试的SPK在升级工位需要测试的场景。
512. 在待测试的APK服务属于目标APK、并且启动信息对应的场景属于待测试的APK的目标场景时,生产启动管理服务从product分区获取待测试的APK服务的安装包。
513. 基于启动信息和安装包触发生产启动管理服务对待测试的APK的启动信息对应的场景进行测试。
采用该实施例,对待测试的APK服务的待测试的场景进行检测,在待测试的APK服务为目标APK,以及启动信息对应的待测试的APK服务的测试场景为目标场景时,生产启动管理服务才对满足测试条件的待测试的APK的待测试的场景进行测试。
图6是本申请实施例提供的一种终端设备600的结构示意图,其具体可以是手机、智慧屏、平板电脑、手表、手环等可穿戴终端设备、车载终端设备、增强现实(augmentedreality,AR)设备、虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digitalassistant,PDA)、投影仪等等,本申请实施例对终端设备600的具体类型不作任何限制。
参见图6,终端设备600可以包括处理器610,外部存储器接口620,内部存储器621,通用串行总线(universal serial bus,USB)接口630,充电管理模块640,电源管理模块641,电池642,天线1,天线2,移动通信模块650,无线通信模块660,音频模块670,扬声器670A,受话器670B,麦克风670C,耳机接口670D,传感器模块680,按键690,马达691,指示器692,摄像头693,屏幕694,以及用户标识模块(subscriber identification module,SIM)卡接口695等。其中,传感器模块680可以包括压力传感器680A,陀螺仪传感器680B,气压传感器680C,磁传感器680D,加速度传感器680E,距离传感器680F,接近光传感器680G,指纹传感器680H,温度传感器680J,触摸传感器680K,环境光传感器680L,骨传导传感器680M等。
处理器610可以包括一个或多个处理单元,比如:处理器610可以包括AP、CP、调制解调处理器、图形处理器(graphics processing unit,GPU)、图像信号处理器(imagesignal processor,ISP)、控制器、存储器、视频编解码器、数字信号处理器(digitalsignal processor,DSP)、基带处理器、和/或神经网络处理器(neural-networkprocessing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是终端设备600的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器610中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器610中的存储器为高速缓冲存储器。该存储器可以保存处理器610刚用过或循环使用的指令或数据。如果处理器610需要再次使用该指令或数据,可从该存储器中直接调用。避免了重复存取,减少了处理器610的等待时间,因而提高了系统的效率。处理器还可以设置低功耗存储器(比如,Island 低功耗等)以降低功耗。
终端设备600通过GPU,屏幕694,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接屏幕694和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器610可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
屏幕694用于显示图像,视频等。屏幕694包括显示面板。显示面板可以采用液晶屏幕(liquid crystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)、有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organiclight emitting diode,AMOLED)、柔性发光二极管(flex light-emitting diode,FLED)、Miniled、MicroLed、Micro-OLED、量子点发光二极管(quantum dot light emittingdiodes,QLED)等。在一些实施例中,终端设备600可以包括1个或N个屏幕694,N为大于1的整数。
终端设备600可以通过ISP,摄像头693,视频编解码器,GPU,屏幕694以及应用处理器等实现拍摄功能。
ISP 用于处理摄像头693反馈的数据。比如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头693中。
摄像头693用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,终端设备600可以包括1个或N个摄像头693,N为大于1的整数。
外部存储器接口620可以用于连接外部存储卡,比如Micro SD卡,实现扩展终端设备600的存储能力。外部存储卡通过外部存储器接口620与处理器610通信,实现数据存储功能。比如将音乐,视频等文件保存在外部存储卡中。
内部存储器621可以用于存储计算机可执行程序代码,计算机可执行程序代码包括指令。处理器610通过运行存储在内部存储器621的指令,来执行终端设备600的各种功能应用以及数据处理。内部存储器621可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端设备600在使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器621可以包括高速随机存取存储器,还可以包括非易失性存储器,比如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
加速度传感器680E可检测终端设备600在各个方向上(一般为三轴)加速度的大小。当终端设备600静止时可检测出重力的大小及方向。加速度传感器680E还可以用于识别终端设备600的姿态,应用于横竖屏切换,计步器等应用。当然,加速度传感器680E也可以结合陀螺仪传感器680B,来识别终端设备600的姿态,应用于横竖屏切换。
陀螺仪传感器680B可以用于确定终端设备400的运动姿态。在一些实施例中,可以通过陀螺仪传感器680B确定终端设备600围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器680B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器680B检测终端设备600抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端设备600的抖动,实现防抖。陀螺仪传感器680B还可以用于横竖屏切换,导航,体感游戏场景。
可以理解的是,本申请实施例示意的结构并不构成对终端设备600的具体限定。在本申请另一些实施例中,终端设备600可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
本申请实施例提供的终端设备可以是用户设备(user equipment,UE),例如移动终端(如手机)、平板电脑等设备。
另外,在上述部件之上,运行有操作系统。例如可以是谷歌公司所开发的Android开源操作系统、liteos操作系统等。
终端设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构等。为了更清楚的说明本申请实施例提供的触控操作的识别方法,本申请实施例以分层架构的安卓(Android)系统为例,对终端设备的软件系统进行示例性说明。
上述图6仅为一种终端设备的组成示例。参考图7,为本申请实施例提供的又一种终端设备的组成示例。
在该示例中,终端设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android®系统为例,示例性说明终端设备的软件结构。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android®系统分为五层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime,ART)和原生C/C++库,硬件抽象层(Hardware Abstract Layer,HAL)以及内核层。
应用程序层可以包括一系列应用程序包。
如图7所示,终端设备在进行测试时,从计算机获取启动信息,计算机通过AT指令将启动信息写入oeminfo分区,启动信息可以包括:启动信息可以包括:场景名称信息、相关场景参数、签名信息、场景属性等,启动信息写入终端设备后手机进入重启阶段。
重启后,终端设备在小系统启动阶段会检查oeminfo分区中是否存在启动信息,在检查不到启动信息时,走正常开机流程,在检查到启动信息时,添加cmdline信息start_mcs_flag=true,在init启动阶段会去cmdline中检测该标志位,检测不到,则走正常开机流程,检测到了,则设置属性ro.start.mcs.flag=true,并且生产启动管理服务的rc文件会进行对应的属性文件配置,配置完成则开始启动生产启动管理服务。
生产启动管理服务被触发后,先检测cmdline中的标志位是否为true,若cmdline中的标志位为false,则生成启动管理服务终止,若cmdline中的标志位为true,则执行两个链表,大链表中存储了当前产线支持的所有自启动安装的APK服务,去轮询从oeminfo分区中读到的产线当前想要自启动的服务是否存在,存在,则进入小链表,小链表存储了每个服务支持的具体的场景,轮询当前从oeminfo分区中读到的产线当前想要自启动的APK服务的具体场景,若轮询到,则执行从product分区xml中获取对应安装包的操作,获取成功后执行安装自启动操作,当该操作执行结束后释放当前的操作步骤即可。
需要说明的时,启动信息写入还可以包括标志位,比如 once等,该标志位的作用是在读到之后擦除oeminfo中的信息,产线大部分场景测试APK服务的场景时仅在开机一次后测试,测试结束直接恢复出厂设置, once标志位保证了这种场景恢复出厂后不存在oeminfo里有残余数据的情况。
与once对应的标志位为forever,当写入标志位forever后则oeminfo里的数据不会被擦除,适合产线多次开机测试。在标志位为once的情况下去启动APK时,因为oeminfo被擦除了APK服务无法获取到启动信息,APK服务启动也无法放置在擦除流程之前,举例来说,当对某个APK比如APK1的某个场景比如场景一进程测试时,该服务原生andorid机制为开机后收到开机广播后则去进行启动流程,当前老产品因android原生机制问题必须用到老方案,因此可能产生兼容问题,不能先启动APK后擦除,否则若oeminfo未被擦除则该服务先被拉起,紧接着又去擦除oeminfo分区中的启动信息,原生的广播机制和擦除信息产生时序冲突导致产线概率性出现读不到该场景的启动信息,在此场景下APK自启动会失效,因此可以采用不通过oeminfo分区获取而直接从hidl服务获取对应的信息,可以在生产启动管理服务启动之时创建一个静态存储分区,正常流程该分区应依赖于lib库使能,为了节省开机内存,可以在相应的lib库采取dlopen的方式来节省内存,静态存储分区若依赖lib库使能则会造成仅能被使用一次则会被close,不能达到多次使用的目的,在一些可能的实施方式中,可以将静态存储分区设置在hidl服务下,只要该服务不挂,该静态存储分区存储的信息可以多次被APK服务调用,静态存储分区在该程序执行完毕后自动销毁,即二次开机不会有任何残留数据,解决了oeminfo分区被擦除读不到数据的问题。
上述技术架构列举了终端设备中本申请可能涉及的模块和器件。在实际应用中,终端设备可以包括上述技术架构的全部或部分模块和器件,以及其他上述技术架构未提及的模块和器件,当然,也可以只包括上述技术架构的模块和器件,本实施例对此不做限定。
本申请实施例还提供了一种终端设备,所述终端设备包括:一个或多个处理器、存储器和显示屏;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用计算机指令以使得终端设备执行如下测试方法:获取APK服务对应的启动信息和安装包;获取第一指令,第一指令用于指示重启所述终端设备;响应于第一指令,重启所述终端设备;在终端设备重启后,在检测到启动信息时,启动生产启动管理服务,生产启动管理服务用于对待测试的APK服务的待测试的场景进行测试。
在一些可能的实施例中,处理器在获取APK服务对应的启动信息和安装包之后,还可以包括:将启动信息写入制造者信息oeminfo分区;在检测到所述启动信息之前,还可以用于:确定oeminfo分区中是否写入了启动信息。
在一些可能的实施例中,处理器在获取APK服务对应的启动信息和安装包之后,还可以用于:将待测试的APK服务对应的安装包写入产品product分区。
在一些可能的实施例中,处理器在将启动信息写入制造者信息oeminfo分区之后,还可以用于:将写入oeminfo分区中的启动信息写入静态存储分区。
在一些可能的实施例中,处理器在启动用于对APK服务的场景进行测试的生产启动管理服务之后,还可以用于:触发生产启动管理服务从静态存储分区获取待测试的APK服务的启动信息。
在一些可能的实施例中,处理器在从静态存储分区获取待测试的APK服务的启动信息之后,还可以用于:确定待测试的APK服务是否属于目标APK服务,目标APK服务是终端设备在升级工位需要测试的APK服务;在待测试的APK服务属于目标APK服务时,确定启动信息对应的待测试的场景是否属于待测试的APK服务的目标场景,待测试的APK服务的目标场景是待测试的APK服务在升级工位需要测试的场景;在待测试的APK服务属于目标APK服务、并且启动信息对应的待测试的场景属于待测试的所述APK的目标场景时,生产启动管理服务从product分区获取待测试的所述APK服务的安装包;基于所述启动信息和所述安装包触发所述生产启动管理服务对待测试的所述APK服务的所述启动信息对应的场景进行测试。
本申请实施例还提供了一种芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的电子设备执行上述任一实施例所述的测试方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当计算机程序被处理器执行时能够实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序,当计算机程序被处理器执行时能够实现上述各个方法实施例中的步骤。
本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的方法和终端设备,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (5)

1.一种测试方法,其特征在于,用于终端设备的产线在升级工位对待测试的应用程序包APK服务的待测试的场景进行测试,所述方法包括:
获取所述APK服务对应的启动信息和安装包;所述APK服务是待测试的APK服务;
将所述启动信息写入制造者信息oeminfo分区,将所述安装包写入产品product分区;将写入所述oeminfo分区中的所述启动信息写入静态存储分区;所述启动信息包括如下信息中的一种或者多种:场景名称信息、相关场景参数、签名信息、场景属性;
获取第一指令,所述第一指令用于指示重启所述终端设备;
响应于所述第一指令,重启所述终端设备;
在所述终端设备重启后,在检测到所述启动信息时,启动生产启动管理服务,触发所述生产启动管理服务从所述静态存储分区获取所述待测试的APK服务的启动信息;所述生产启动管理服务用于对待测试的所述APK服务的待测试的场景进行测试;
确定待测试的所述APK服务是否属于目标APK服务,所述目标APK服务是所述终端设备在升级工位需要测试的APK服务;
在待测试的所述APK服务属于所述目标APK服务时,确定所述启动信息对应的待测试的场景是否属于待测试的所述APK服务的目标场景,待测试的所述APK服务的目标场景是待测试的所述APK服务在升级工位需要测试的场景;
在待测试的所述APK服务属于所述目标APK服务、并且所述启动信息对应的待测试的场景属于待测试的所述APK的目标场景时,所述生产启动管理服务从所述product分区获取待测试的所述APK服务的安装包;
基于所述启动信息和所述安装包触发所述生产启动管理服务对待测试的所述APK服务的所述启动信息对应的场景进行测试。
2.根据权利要求1所述的方法,其特征在于,
在所述检测到所述启动信息之前,还包括:
确定所述oeminfo分区中是否写入了启动信息。
3.一种终端设备,其特征在于,所述终端设备包括:
一个或多个处理器、存储器和显示屏;
所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述终端设备执行如权利要求1或2所述的测试方法。
4.一种芯片,其特征在于,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的电子设备执行如权利要求1或2所述的测试方法。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储了计算机程序,当所述计算机程序被终端设备执行时,使得所述终端设备执行权利要求1或2所述的测试方法。
CN202311200714.2A 2023-09-18 2023-09-18 测试方法、终端设备、芯片及存储介质 Active CN116955208B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311200714.2A CN116955208B (zh) 2023-09-18 2023-09-18 测试方法、终端设备、芯片及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311200714.2A CN116955208B (zh) 2023-09-18 2023-09-18 测试方法、终端设备、芯片及存储介质

Publications (2)

Publication Number Publication Date
CN116955208A CN116955208A (zh) 2023-10-27
CN116955208B true CN116955208B (zh) 2024-03-15

Family

ID=88451505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311200714.2A Active CN116955208B (zh) 2023-09-18 2023-09-18 测试方法、终端设备、芯片及存储介质

Country Status (1)

Country Link
CN (1) CN116955208B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491890A (zh) * 2018-10-16 2019-03-19 深圳壹账通智能科技有限公司 应用程序的接口扫描方法及终端设备
CN111414285A (zh) * 2020-02-21 2020-07-14 苏州浪潮智能科技有限公司 服务器系统启动功能的测试方法、测试装置及测试设备
CN111666222A (zh) * 2020-07-09 2020-09-15 腾讯科技(深圳)有限公司 一种测试方法和相关装置
CN114116495A (zh) * 2021-11-30 2022-03-01 上海商汤临港智能科技有限公司 测试方法及装置、电子设备和存储介质
CN114253864A (zh) * 2022-01-07 2022-03-29 挂号网(杭州)科技有限公司 一种业务测试方法、装置、电子设备及存储介质
CN115391204A (zh) * 2022-08-26 2022-11-25 阿波罗智能技术(北京)有限公司 自动驾驶服务的测试方法、装置、电子设备及存储介质
WO2023040976A1 (zh) * 2021-09-15 2023-03-23 北京字节跳动网络技术有限公司 设备测试方法、装置、可读介质及电子设备
CN116048955A (zh) * 2022-07-19 2023-05-02 荣耀终端有限公司 一种测试方法及电子设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491890A (zh) * 2018-10-16 2019-03-19 深圳壹账通智能科技有限公司 应用程序的接口扫描方法及终端设备
CN111414285A (zh) * 2020-02-21 2020-07-14 苏州浪潮智能科技有限公司 服务器系统启动功能的测试方法、测试装置及测试设备
CN111666222A (zh) * 2020-07-09 2020-09-15 腾讯科技(深圳)有限公司 一种测试方法和相关装置
WO2023040976A1 (zh) * 2021-09-15 2023-03-23 北京字节跳动网络技术有限公司 设备测试方法、装置、可读介质及电子设备
CN114116495A (zh) * 2021-11-30 2022-03-01 上海商汤临港智能科技有限公司 测试方法及装置、电子设备和存储介质
CN114253864A (zh) * 2022-01-07 2022-03-29 挂号网(杭州)科技有限公司 一种业务测试方法、装置、电子设备及存储介质
CN116048955A (zh) * 2022-07-19 2023-05-02 荣耀终端有限公司 一种测试方法及电子设备
CN115391204A (zh) * 2022-08-26 2022-11-25 阿波罗智能技术(北京)有限公司 自动驾驶服务的测试方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN116955208A (zh) 2023-10-27

Similar Documents

Publication Publication Date Title
US10958850B2 (en) Electronic device and method for capturing image by using display
US10623661B2 (en) Image composition method with image sensors having different angles of view and electronic device for supporting the same
AU2015307358B2 (en) Photographing method and electronic device
US20180284979A1 (en) Electronic device and control method thereof
CN108028891B (zh) 电子设备和照相方法
CN111191224B (zh) 虚拟机检测的对抗方法、装置及计算机可读存储介质
US10347221B2 (en) Electronic device and method for controlling display thereof
US20160286132A1 (en) Electronic device and method for photographing
CN116033056B (zh) 折叠屏的折叠角度检测方法、装置及可读存储介质
CN115328563B (zh) 系统启动方法及电子设备
CN115017534B (zh) 文件处理权限控制方法、装置及存储介质
CN108492339B (zh) 获取资源压缩包的方法、装置、电子设备及存储介质
CN116339877A (zh) 跨系统运行应用程序的方法及电子设备
CN107682619B (zh) 用于处理图像的方法和支持该方法的电子设备
US20150112997A1 (en) Method for content control and electronic device thereof
CN116955208B (zh) 测试方法、终端设备、芯片及存储介质
US11070736B2 (en) Electronic device and image processing method thereof
CN114780012B (zh) 电子设备的锁屏壁纸的显示方法和相关装置
CN116826892A (zh) 充电方法、充电装置、电子设备及可读存储介质
CN116887388B (zh) 通信处理方法、电子设备及存储介质
CN116672707B (zh) 生成游戏预测帧的方法和电子设备
CN111522576B (zh) 应用管理方法、装置、设备及计算机存储介质
CN117726507A (zh) 图像处理方法及装置
CN117135253A (zh) 联系人查找方法、终端设备及存储介质
CN118043836A (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