CN115757140A - 软件兼容性测试方法及装置、存储介质、计算机设备 - Google Patents

软件兼容性测试方法及装置、存储介质、计算机设备 Download PDF

Info

Publication number
CN115757140A
CN115757140A CN202211453245.0A CN202211453245A CN115757140A CN 115757140 A CN115757140 A CN 115757140A CN 202211453245 A CN202211453245 A CN 202211453245A CN 115757140 A CN115757140 A CN 115757140A
Authority
CN
China
Prior art keywords
test
tested
software
test function
function
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.)
Pending
Application number
CN202211453245.0A
Other languages
English (en)
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.)
Shenzhen Workec Technology Co ltd
Original Assignee
Shenzhen Workec Technology 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 Shenzhen Workec Technology Co ltd filed Critical Shenzhen Workec Technology Co ltd
Priority to CN202211453245.0A priority Critical patent/CN115757140A/zh
Publication of CN115757140A publication Critical patent/CN115757140A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本申请涉及计算机技术领域,公开了一种软件兼容性测试方法及装置、存储介质、计算机设备,该方法包括:测试终端基于多个待测试***版本,确定多个被测设备,并分别向每个所述被测设备发送测试指令,其中,每个所述待测试***版本对应的被测设备至少包括一个;针对任一被测设备,所述被测设备响应于所述测试指令,在测试模式下启动被测软件,在所述被测软件中读取测试函数文件,执行所述测试函数文件对应的目标测试函数,并基于所述目标测试函数的函数执行结果和所述被测设备的设备***版本,向所述测试终端发送所述被测设备的第一设备测试结果;所述测试终端基于多个被测设备各自的第一设备测试结果,生成所述被测软件的兼容性测试结果。

Description

软件兼容性测试方法及装置、存储介质、计算机设备
技术领域
本申请涉及计算机技术领域,尤其是涉及到一种软件兼容性测试方法及装置、存储介质、计算机设备。
背景技术
Android端碎片化严重,在开发底层库so(底层库一般是用c++、rust、go来编写,对设备、***存在兼容性问题)或者引入第三方库时,经常会遇到在低***、高***、32位架构、64位架构兼容性问题,软件投入使用之前,需要投入巨大的时间、人力进行软件兼容性测试,常见的12种***Android5.x(32/64位)、Android6.x(32/64位)、Android7.x、Android8.x、Android9.x、Android10.x、Android11.x、Android12.x。目前的兼容性测试方法为人工在被测设备上安装要进行测试的***和要测试的软件,并对软件进行测试,这种测试方法效率非常低。
发明内容
有鉴于此,本申请提供了一种软件兼容性测试方法及装置、存储介质、计算机设备,有助于提升对被测软件的兼容性测试效率,降低人力成本和时间成本。
根据本申请的一个方面,提供了一种软件兼容性测试方法,所述方法包括:
测试终端基于多个待测试***版本,确定多个被测设备,并分别向每个所述被测设备发送测试指令,其中,每个所述待测试***版本对应的被测设备至少包括一个;
针对任一被测设备,所述被测设备响应于所述测试指令,在测试模式下启动被测软件,在所述被测软件中读取测试函数文件,执行所述测试函数文件对应的目标测试函数,并基于所述目标测试函数的函数执行结果和所述被测设备的设备***版本,向所述测试终端发送所述被测设备的第一设备测试结果;
所述测试终端基于多个被测设备各自的第一设备测试结果,生成所述被测软件的兼容性测试结果。
可选地,所述执行所述测试函数文件对应的目标测试函数之后,所述方法还包括:
若所述目标测试函数的执行结果为未通过测试,则所述被测设备在所述被测软件的运行日志中读取所述目标测试函数的异常执行信息;
相应地,所述基于所述目标测试函数的函数执行结果和所述被测设备的设备***版本,向所述测试终端发送所述被测设备的第一设备测试结果,包括:
基于所述函数执行结果、所述异常执行信息以及所述设备***版本,向所述测试终端发送所述被测设备的第一设备测试结果。
可选地,所述目标测试函数包括多个;所述执行所述测试函数文件对应的目标测试函数,包括:
遍历所述测试函数文件中包含的目标测试函数,并利用反射机制分别执行每个所述目标测试函数。
可选地,所述执行所述测试函数文件对应的目标测试函数之后,所述方法还包括:
统计通过测试的第一目标测试函数和未通过测试的第二目标测试函数;
弹出提示框,以进行第一设备测试结果的展示,其中,所述提示框的展示内容包括所述第一目标测试函数的第一数量和所述第二目标测试函数的第二数量。
可选地,所述分别向每个所述被测设备发送测试指令之前,所述方法还包括:
分别向每个所述被测设备发送包含初始测试函数文件的被测软件安装包,以使所述被测设备基于所述被测软件安装包进行软件安装,并在所述被测软件的私有目录下保存所述初始测试函数文件;
相应地,所述在所述被测软件中读取测试函数文件,包括:
所述被测设备在所述被测软件的私有目录下读取测试函数文件。
可选地,所述被测设备在所述被测软件的私有目录下读取测试函数文件,包括:
所述被测设备监听是否存在新的测试函数文件;
若存在,则所述被测设备下载所述新的测试函数文件,利用所述新的测试函数文件替换所述被测软件的私有目录下原有的测试函数文件,并在所述被测软件的私有目录下读取测试函数文件;
若不存在,则所述被测设备在所述被测软件的私有目录下读取测试函数文件。
可选地,所述方法还包括:
若所述被测设备在所述被测软件的私有目录下未读取到测试函数文件,则基于所述被测设备的设备***版本,向所述测试终端发送所述被测设备的第二设备测试结果;
所述测试终端基于每个被测设备对应的第一设备测试结果或第二设备测试结果,生成所述被测软件的兼容性测试结果。
根据本申请的另一方面,提供了一种软件兼容性测试***,所述***包括:测试终端和多个被测设备;
测试终端,用于基于多个待测试***版本,确定多个被测设备,并分别向每个所述被测设备发送测试指令,其中,每个所述待测试***版本对应的被测设备至少包括一个;
所述被测设备,用于响应于所述测试指令,在测试模式下启动被测软件,在所述被测软件中读取测试函数文件,执行所述测试函数文件对应的目标测试函数,并基于所述目标测试函数的函数执行结果和所述被测设备的设备***版本,向所述测试终端发送所述被测设备的第一设备测试结果;
所述测试终端,还用于基于多个被测设备各自的第一设备测试结果,生成所述被测软件的兼容性测试结果。
可选地,所述被测设备,还用于:
若所述目标测试函数的执行结果为未通过测试,则在所述被测软件的运行日志中读取所述目标测试函数的异常执行信息;
基于所述函数执行结果、所述异常执行信息以及所述设备***版本,向所述测试终端发送所述被测设备的第一设备测试结果。
可选地,所述目标测试函数包括多个;
所述被测设备,还用于遍历所述测试函数文件中包含的目标测试函数,并利用反射机制分别执行每个所述目标测试函数。
可选地,所述被测设备,还用于:
统计通过测试的第一目标测试函数和未通过测试的第二目标测试函数;
弹出提示框,以进行第一设备测试结果的展示,其中,所述提示框的展示内容包括所述第一目标测试函数的第一数量和所述第二目标测试函数的第二数量。
可选地,所述测试终端,还用于分别向每个所述被测设备发送包含初始测试函数文件的被测软件安装包,以使所述被测设备基于所述被测软件安装包进行软件安装,并在所述被测软件的私有目录下保存所述初始测试函数文件;
相应地,所述被测设备,还用于在所述被测软件的私有目录下读取测试函数文件。
可选地,所述被测设备,还用于:
监听是否存在新的测试函数文件;
若存在,则下载所述新的测试函数文件,利用所述新的测试函数文件替换所述被测软件的私有目录下原有的测试函数文件,并在所述被测软件的私有目录下读取测试函数文件;
若不存在,则在所述被测软件的私有目录下读取测试函数文件。
可选地,所述被测设备,还用于若所述被测设备在所述被测软件的私有目录下未读取到测试函数文件,则基于所述被测设备的设备***版本,向所述测试终端发送所述被测设备的第二设备测试结果;
所述测试终端,还用于基于每个被测设备对应的第一设备测试结果或第二设备测试结果,生成所述被测软件的兼容性测试结果。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述软件兼容性测试方法。
依据本申请再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述软件兼容性测试方法。
借由上述技术方案,本申请提供的一种软件兼容性测试方法及装置、存储介质、计算机设备,在不同***版本的多个被测设备上安装被测软件后,对多个被测设备进行同步测试,通过被测设备执行测试函数,基于不同被测设备的函数执行结果,确定被测软件的兼容性测试结果。有助于提升对被测软件的兼容性测试效率,降低人力成本和时间成本。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种软件兼容性测试方法的流程示意图;
图2示出了本申请实施例提供的另一种软件兼容性测试方法的流程示意图;
图3示出了本申请实施例提供的另一种软件兼容性测试方法的流程示意图;
图4示出了本申请实施例提供的另一种软件兼容性测试方法的流程示意图;
图5示出了本申请实施例提供的另一种软件兼容性测试方法的流程示意图;
图6示出了本申请实施例提供的一种软件兼容性测试***的结构示意图;
图7示出了本申请实施例提供的一种计算机设备的装置结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种软件兼容性测试方法,如图1所示,该方法包括:
步骤101,测试终端基于多个待测试***版本,确定多个被测设备,并分别向每个所述被测设备发送测试指令,其中,每个所述待测试***版本对应的被测设备至少包括一个。
本申请实施例中,首先,依据不同的待测试***版本确定多个被测设备,其中,每个待测试***版本至少对应一个被测设备,以保证能够对每个待测试***版本进行软件兼容性测试,确定被测设备,分别向每个被测设备发送测试指令,以触发被测设备侧的自动化测试流程。
步骤102,针对任一被测设备,所述被测设备响应于所述测试指令,在测试模式下启动被测软件,在所述被测软件中读取测试函数文件,执行所述测试函数文件对应的目标测试函数,并基于所述目标测试函数的函数执行结果和所述被测设备的设备***版本,向所述测试终端发送所述被测设备的第一设备测试结果。
其次,对于每个被测设备来说,被测设备预先安装有被测软件,并在在安装被测软件时将测试函数文件内置在被测软件中,被测设备接收到针对被测软件的测试指令后,在测试模式下启动被测软件,并基于软件的测试模式触发在被测软件中读取出内置的测试函数文件的流程,读取出测试函数文件。接着,被测设备逐个执行测试函数文件中记录的目标测试函数,并获取目标测试函数的函数执行结果,基于函数执行结果和被测设备的设备***版本生成第一设备测试结果发送至测试终端中,完成对该被测设备的一次测试。
步骤103,所述测试终端基于多个被测设备各自的第一设备测试结果,生成所述被测软件的兼容性测试结果。
最后,测试终端接收到各被测设备反馈的第一设备测试结果后,统计出哪些***版本对被测软件不兼容,得到被测软件的兼容性测试结果。
通过应用本实施例的技术方案,在不同***版本的多个被测设备上安装被测软件后,对多个被测设备进行同步测试,通过被测设备执行测试函数,基于不同被测设备的函数执行结果,确定被测软件的兼容性测试结果。有助于提升对被测软件的兼容性测试效率,降低人力成本和时间成本。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种软件兼容性测试方法,如图2所示,该方法包括:
步骤201,测试终端基于多个待测试***版本,确定多个被测设备,分别向每个所述被测设备发送包含初始测试函数文件的被测软件安装包,以使所述被测设备基于所述被测软件安装包进行软件安装,并在所述被测软件的私有目录下保存所述初始测试函数文件。
在本申请实施例中,测试终端依据待测试***版本确定多个被测设备后,向各被测设备发送被测软件安装包,以使被测设备进行软件安装,其中,被测软件安装包中包含测试函数文件(即初始测试函数文件)test.json文件,被测设备进行软件安装时,将该初始测试函数文件保存在被测软件的私有目录下。
步骤202,测试终端分别向每个所述被测设备发送测试指令。
步骤203,针对任一被测设备,所述被测设备响应于所述测试指令,在测试模式下启动被测软件,监听是否存在新的测试函数文件。
步骤204,若存在,则所述被测设备下载所述新的测试函数文件,利用所述新的测试函数文件替换所述被测软件的私有目录下原有的测试函数文件,并在所述被测软件的私有目录下读取测试函数文件;若不存在,则所述被测设备在所述被测软件的私有目录下读取测试函数文件。
步骤205,遍历所述测试函数文件中包含的目标测试函数,并利用反射机制分别执行每个所述目标测试函数。
在该实施例中,如图3所示,测试终端向每个被测设备下发测试指令,例如adb命令。被测设备响应于测试指令,启动被测软件并进入测试模式,监听终端设备是否下发了新的测试函数文件,其中,如果需要新增或更改测试函数,终端设备可以动态下发测试函数文件。被测设备感应到存在新的测试函数文件时,将新的测试函数文件下载到本地,利用新的测试函数文件替换被测软件的私有目录下原有的测试函数文件。从而从私有目录下读取出测试函数文件,遍历测试函数文件中的每个目标测试函数,并利用Java反射机制来动态执行每个目标测试函数。
本申请实施例中,可选地,还包括:统计通过测试的第一目标测试函数和未通过测试的第二目标测试函数;弹出提示框,以进行第一设备测试结果的展示,其中,所述提示框的展示内容包括所述第一目标测试函数的第一数量和所述第二目标测试函数的第二数量。
在该实施例中,被测设备上执行全部目标测试函数之后,对目标测试函数的执行结果进行统计,确定通过测试的第一目标测试函数和未通过测试的第二目标测试函数,在被测软件界面弹出完成提示框dialog,提示框中包含执行成功的第一目标测试函数的第一数量和执行失败的第二目标测试函数的第二数量,即图中成功n个、失败n个。
步骤206,若所述被测设备在所述被测软件的私有目录下未读取到测试函数文件,则基于所述被测设备的设备***版本,向所述测试终端发送所述被测设备的第二设备测试结果。
在上述实施例中,如果被测设备在被测软件的私有目录下读取测试函数文件失败,那么基于被测设备的设备***版本向测试终端发送第二设备测试结果,以指示该***版本的设备无法读取出测试函数文件。
步骤207,若所述目标测试函数的执行结果为未通过测试,则所述被测设备在所述被测软件的运行日志中读取所述目标测试函数的异常执行信息;基于所述函数执行结果、所述异常执行信息以及所述设备***版本,向所述测试终端发送所述被测设备的第一设备测试结果。
步骤208,所述测试终端基于每个被测设备对应的第一设备测试结果或第二设备测试结果,生成所述被测软件的兼容性测试结果。
在上述实施例中,如果任意一个目标测试函数执行失败,那么在被测软件的运行日志中读取出执行失败的目标测试函数的异常执行信息,并基于函数执行结果(包含哪些函数执行成功、哪些函数执行失败)、执行失败的目标测试函数的异常执行信息以及设备***版本,生成第一设备测试结果,并发送至测试终端。测试终端对各个被测设备的第一设备测试结果(或第二设备测试结果)进行统计,确定哪些***版本不兼容被测软件,并对不兼容的原因进行问题定位。
在一个具体实施方式中,如图4和图5所示,多设备连接测试终端成功之后证明设备已经连接到测试终端可以批量安装app,如果所有设备已经安装了app就不需要连接测试终端,直接利用动态下发json文件的方式;利用测试指令(adb命令)进行批处理来批量安装包并且运行app;app运行成功,程序进入初始化(通过测试模块执行测试代码);初始化成功之后,app会启动websocket长连接,主要监听来自服务端下发的json文件;解析json文件;利用反射机制执行业务代码,并且将执行函数的结果写入日志;for循环遍历完成,说明测试完成,弹出测试结果。被测软件以测试模式运行初始化时,会生成两个文件,一个是当前测试的设备信息,设备信息主要包括:设备型号、版本号、cpu架构(32位/64位)、设备ID;一个是日志文件,主要是写入执行测试函数输出的日志。发现目标测试函数执行失败是会从日志文件中读取执行失败的函数的异常执行信息,并结合第一个文件中的备型号、版本号、cpu架构(32位/64位)、设备ID生成第一设备测试结果。被测设备获取到test.json测试函数文件,并在验证json文件格式成功后,解析该json文件,以常用的json解析器解析json,for循环遍历json,解析出来之后利用java反射机制执行函数,并且在每个执行函数外层包一个try/catch/error,如果该函数执行的时候没有进入catch/error代码块则表示函数执行成功不存在兼容性问题,把日志写入内存和文件中;如果进入了catch/error代码块,则表示存在兼容性问题,把日志写入内存缓存(list)和文件中;当for循环遍历json完成之后,会在手机中弹出完成提示框;将内存缓存(list)信息输出在提示框中,n个失败,n个成功;如果失败为0则表示这一系列代码不存在兼容性问题,如果失败个数>0则表示存在兼容性问题;被测软件app具备监听json下发通知;如果已经安装了app,如果需要新增测试函数,程序支持动态下发,通过服务端下发json文件到app端,app将json文件已经严重,如果json文件格式符合规范则将json文件下载到app私有目录,以便进行测试。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种软件兼容性测试***,如图6所示,该***包括:测试终端和多个被测设备;
测试终端,用于基于多个待测试***版本,确定多个被测设备,并分别向每个所述被测设备发送测试指令,其中,每个所述待测试***版本对应的被测设备至少包括一个;
所述被测设备,用于响应于所述测试指令,在测试模式下启动被测软件,在所述被测软件中读取测试函数文件,执行所述测试函数文件对应的目标测试函数,并基于所述目标测试函数的函数执行结果和所述被测设备的设备***版本,向所述测试终端发送所述被测设备的第一设备测试结果;
所述测试终端,还用于基于多个被测设备各自的第一设备测试结果,生成所述被测软件的兼容性测试结果。
可选地,所述被测设备,还用于:
若所述目标测试函数的执行结果为未通过测试,则在所述被测软件的运行日志中读取所述目标测试函数的异常执行信息;
基于所述函数执行结果、所述异常执行信息以及所述设备***版本,向所述测试终端发送所述被测设备的第一设备测试结果。
可选地,所述目标测试函数包括多个;
所述被测设备,还用于遍历所述测试函数文件中包含的目标测试函数,并利用反射机制分别执行每个所述目标测试函数。
可选地,所述被测设备,还用于:
统计通过测试的第一目标测试函数和未通过测试的第二目标测试函数;
弹出提示框,以进行第一设备测试结果的展示,其中,所述提示框的展示内容包括所述第一目标测试函数的第一数量和所述第二目标测试函数的第二数量。
可选地,所述测试终端,还用于分别向每个所述被测设备发送包含初始测试函数文件的被测软件安装包,以使所述被测设备基于所述被测软件安装包进行软件安装,并在所述被测软件的私有目录下保存所述初始测试函数文件;
相应地,所述被测设备,还用于在所述被测软件的私有目录下读取测试函数文件。
可选地,所述被测设备,还用于:
监听是否存在新的测试函数文件;
若存在,则下载所述新的测试函数文件,利用所述新的测试函数文件替换所述被测软件的私有目录下原有的测试函数文件,并在所述被测软件的私有目录下读取测试函数文件;
若不存在,则在所述被测软件的私有目录下读取测试函数文件。
可选地,所述被测设备,还用于若所述被测设备在所述被测软件的私有目录下未读取到测试函数文件,则基于所述被测设备的设备***版本,向所述测试终端发送所述被测设备的第二设备测试结果;
所述测试终端,还用于基于每个被测设备对应的第一设备测试结果或第二设备测试结果,生成所述被测软件的兼容性测试结果。
需要说明的是,本申请实施例提供的一种软件兼容性测试装置所涉及各功能单元的其他相应描述,可以参考图1至图5方法中的对应描述,在此不再赘述。
本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,如图7所示,该计算机设备包括总线、处理器、存储器和通信接口,还可以包括输入输出接口和显示设备。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储位置信息。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现各方法实施例中的步骤。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质可以是非易失性,也可以是易失性,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种软件兼容性测试方法,其特征在于,所述方法包括:
测试终端基于多个待测试***版本,确定多个被测设备,并分别向每个所述被测设备发送测试指令,其中,每个所述待测试***版本对应的被测设备至少包括一个;
针对任一被测设备,所述被测设备响应于所述测试指令,在测试模式下启动被测软件,在所述被测软件中读取测试函数文件,执行所述测试函数文件对应的目标测试函数,并基于所述目标测试函数的函数执行结果和所述被测设备的设备***版本,向所述测试终端发送所述被测设备的第一设备测试结果;
所述测试终端基于多个被测设备各自的第一设备测试结果,生成所述被测软件的兼容性测试结果。
2.根据权利要求1所述的方法,其特征在于,所述执行所述测试函数文件对应的目标测试函数之后,所述方法还包括:
若所述目标测试函数的执行结果为未通过测试,则所述被测设备在所述被测软件的运行日志中读取所述目标测试函数的异常执行信息;
相应地,所述基于所述目标测试函数的函数执行结果和所述被测设备的设备***版本,向所述测试终端发送所述被测设备的第一设备测试结果,包括:
基于所述函数执行结果、所述异常执行信息以及所述设备***版本,向所述测试终端发送所述被测设备的第一设备测试结果。
3.根据权利要求1所述的方法,其特征在于,所述目标测试函数包括多个;所述执行所述测试函数文件对应的目标测试函数,包括:
遍历所述测试函数文件中包含的目标测试函数,并利用反射机制分别执行每个所述目标测试函数。
4.根据权利要求3所述的方法,其特征在于,所述执行所述测试函数文件对应的目标测试函数之后,所述方法还包括:
统计通过测试的第一目标测试函数和未通过测试的第二目标测试函数;
弹出提示框,以进行第一设备测试结果的展示,其中,所述提示框的展示内容包括所述第一目标测试函数的第一数量和所述第二目标测试函数的第二数量。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述分别向每个所述被测设备发送测试指令之前,所述方法还包括:
分别向每个所述被测设备发送包含初始测试函数文件的被测软件安装包,以使所述被测设备基于所述被测软件安装包进行软件安装,并在所述被测软件的私有目录下保存所述初始测试函数文件;
相应地,所述在所述被测软件中读取测试函数文件,包括:
所述被测设备在所述被测软件的私有目录下读取测试函数文件。
6.根据权利要求5所述的方法,其特征在于,所述被测设备在所述被测软件的私有目录下读取测试函数文件,包括:
所述被测设备监听是否存在新的测试函数文件;
若存在,则所述被测设备下载所述新的测试函数文件,利用所述新的测试函数文件替换所述被测软件的私有目录下原有的测试函数文件,并在所述被测软件的私有目录下读取测试函数文件;
若不存在,则所述被测设备在所述被测软件的私有目录下读取测试函数文件。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述被测设备在所述被测软件的私有目录下未读取到测试函数文件,则基于所述被测设备的设备***版本,向所述测试终端发送所述被测设备的第二设备测试结果;
相应地,所述测试终端基于多个被测设备各自的第一设备测试结果,生成所述被测软件的兼容性测试结果,包括:
所述测试终端基于每个被测设备对应的第一设备测试结果或第二设备测试结果,生成所述被测软件的兼容性测试结果。
8.一种软件兼容性测试***,其特征在于,所述***包括:
测试终端,用于基于多个待测试***版本,确定多个被测设备,并分别向每个所述被测设备发送测试指令,其中,每个所述待测试***版本对应的被测设备至少包括一个;
所述被测设备,用于响应于所述测试指令,在测试模式下启动被测软件,在所述被测软件中读取测试函数文件,执行所述测试函数文件对应的目标测试函数,并基于所述目标测试函数的函数执行结果和所述被测设备的设备***版本,向所述测试终端发送所述被测设备的第一设备测试结果;
所述测试终端,还用于基于多个被测设备各自的第一设备测试结果,生成所述被测软件的兼容性测试结果。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
10.一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法。
CN202211453245.0A 2022-11-21 2022-11-21 软件兼容性测试方法及装置、存储介质、计算机设备 Pending CN115757140A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211453245.0A CN115757140A (zh) 2022-11-21 2022-11-21 软件兼容性测试方法及装置、存储介质、计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211453245.0A CN115757140A (zh) 2022-11-21 2022-11-21 软件兼容性测试方法及装置、存储介质、计算机设备

Publications (1)

Publication Number Publication Date
CN115757140A true CN115757140A (zh) 2023-03-07

Family

ID=85333859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211453245.0A Pending CN115757140A (zh) 2022-11-21 2022-11-21 软件兼容性测试方法及装置、存储介质、计算机设备

Country Status (1)

Country Link
CN (1) CN115757140A (zh)

Similar Documents

Publication Publication Date Title
CN110058873B (zh) 应用页面更新方法、装置、设备和存储介质
CN108459962B (zh) 代码规范性检测方法、装置、终端设备及存储介质
US9262283B2 (en) Method for reading kernel log upon kernel panic in operating system
CN109902005B (zh) 一种自动化测试的方法和***
US10579513B2 (en) Test run control method and apparatus
CN110716845B (zh) 一种Android***的日志信息读取的方法
CN109977008B (zh) 一种应用程序依赖的js代码与原生库兼容的方法及终端
CN110209520B (zh) 一种提高ssd测试效率的方法、装置、计算机设备及存储介质
CN110879781A (zh) 程序调试方法、装置、电子设备及计算机可读存储介质
US11847086B2 (en) Method and apparatus for configuring MMIOH base address of server system
CN115756984A (zh) 内存测试方法、装置、设备及存储介质
CN111694684A (zh) 存储设备的异常构造方法、装置、电子设备及存储介质
CN111666102A (zh) 文件格式转换方法、芯片验证方法、相关装置及网络芯片
CN109739756B (zh) 移动终端应用测试的方法及设备
CN115757140A (zh) 软件兼容性测试方法及装置、存储介质、计算机设备
CN115576766A (zh) 闪存管理算法调试方法、***、设备和可读存储介质
CN114328210A (zh) 一种测试方法、装置及计算机可读存储介质
US9792202B2 (en) Identifying a configuration element value as a potential cause of a testing operation failure
CN112558982A (zh) 代码检测方法、装置及计算机设备
CN116775501B (zh) 一种软件测试方法、服务器、可读存储介质及芯片***
CN113377586B (zh) 一种服务器自动化检测方法、装置及存储介质
US10459825B2 (en) Intelligent expansion of system information collection
CN112860224B (zh) 一种函数执行环境构建方法、装置、电子设备及存储介质
CN114546440A (zh) 一种***升级方法及装置
CN116225952A (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