一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

音视频SDK测试方法、装置及存储介质与流程

2022-07-22 23:30:58 来源:中国专利 TAG:

音视频sdk测试方法、装置及存储介质
技术领域
1.本发明涉及sdk(software development kit,软件开发工具包)测试技术领域,具体地涉及一种音视频sdk测试方法、装置及存储介质。


背景技术:

2.目前常规的sdk自动化软件测试方案都是面向接口类的测试,而对于偏效果类的软件产品使用纯接口测试,往往只能验证api(application programming interface,应用程序接口)调用流程是否存在问题,验证不了软件应用过程中的效果问题。尤其对于音视频sdk的自动化测试,会存在较大的测试缺陷,例如,播放视频黑帧、音频播放无声等问题,无法在自动化测试当中暴露出来。而在现有技术中对于音视频sdk中的画面特效类、声音类的测试往往依赖于人工测试,存在测试繁琐、效率低下等问题。


技术实现要素:

3.本发明实施例的目的是提供一种音视频sdk测试方法、装置及存储介质,解决了现有技术中对于音视频sdk无法进行自动化测试,验证功能效果的问题。
4.为了实现上述目的,本发明实施例提供一种音视频sdk测试方法,包括:将音视频sdk的测试用例导入待测试设备,所述测试用例为用于测试所述音视频sdk在指定使用场景的功能效果;获取所述待测试设备执行所述测试用例后得到的待校验结果文件;利用基准文件与所述待校验结果文件进行相似性比对,得到测试结果。
5.进一步地,所述指定使用场景包括以下至少一者:导出指定视频场景、导出指定音频场景、抽取指定视频的指定时间戳画面的场景、播放指定视频场景或播放指定音频场景。
6.进一步地,所述利用基准文件与所述待校验结果文件进行相似性比对,得到测试结果包括:根据预设目录文件规则,在所述音视频sdk的当前开发分支所对应的基准仓库中查找与所述待校验结果文件的文件名相同的基准文件;将所述基准文件与所述待校验结果文件进行相似性比较,得到所述测试结果。
7.进一步地,所述预设目录文件规则为按照所述指定使用场景、测试用例标识以及测试素材的规则构建文件存储目录。
8.进一步地,所述方法还包括:若在所述音视频sdk的当前开发分支所对应的基准仓库中未查找到与所述待校验结果文件的文件名相同的基准文件时,在所述音视频sdk的主分支所对应的基准仓库中查找与所述待校验结果文件的文件名相同的基准文件。
9.进一步地,所述方法还包括:若在所述音视频sdk的主分支所对应的基准仓库中未查找到与所述待校验结果文件的文件名相同的基准文件时,输出提示信息。
10.进一步地,在所述将所述基准文件与所述待校验结果文件进行相似性比较之后,所述方法还包括:当所述基准文件与所述待校验结果文件完全一致时,得到的所述测试结果包括测试成功提示;当所述基准文件与所述待校验结果文件不一致时,得到的所述测试结果包括校验失败报告。
11.进一步地,所述校验失败报告包括以下至少一者:相似度匹配值或不匹配的资源信息。
12.相应地,本发明实施例还提供一种音视频sdk测试装置,所述装置包括:导入模块,用于将音视频sdk的测试用例导入待测试设备,所述测试用例为用于测试所述音视频sdk在指定使用场景的功能效果;获取模块,用于获取所述待测试设备执行所述测试用例后得到的待校验结果文件;结果确定模块,用于利用基准文件与所述待校验结果文件进行相似性比对,得到测试结果。
13.进一步地,所述指定使用场景包括以下至少一者:导出指定视频场景、导出指定音频场景、抽取指定视频的指定时间戳画面的场景、播放指定视频场景或播放指定音频场景。
14.进一步地,所述结果确定模块具体用于:
15.根据预设目录文件规则,在所述音视频sdk的当前开发分支所对应的基准仓库中查找与所述待校验结果文件的文件名相同的基准文件;
16.将所述基准文件与所述待校验结果文件进行相似性比较,得到所述测试结果。
17.进一步地,所述预设目录文件规则为按照所述指定使用场景、测试用例标识以及测试素材的规则构建文件存储目录。
18.进一步地,所述结果确定模块还用于:若在所述音视频sdk的当前开发分支所对应的基准仓库中未查找到与所述待校验结果文件的文件名相同的基准文件时,在所述音视频sdk的主分支所对应的基准仓库中查找与所述待校验结果文件的文件名相同的基准文件。
19.进一步地,所述结果确定模块还用于:若在所述音视频sdk的主分支所对应的基准仓库中未查找到与所述待校验结果文件的文件名相同的基准文件时,输出提示信息。
20.进一步地,所述结果确定模块还用于:在所述将所述基准文件与所述待校验结果文件进行相似性比较之后,当所述基准文件与所述待校验结果文件完全一致时,得到的所述测试结果包括测试成功提示;当所述基准文件与所述待校验结果文件不一致时,得到的所述测试结果包括校验失败报告。
21.进一步地,所述校验失败报告包括以下至少一者:相似度匹配值或不匹配的资源信息。
22.另外,本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行如上所述的音视频sdk测试方法。
23.通过上述技术方案,将音视频sdk的测试用例在待测试设备上进行自动化测试,并获取测试后的待校验结果文件,从而可将所述待校验结果文件与对应的基准文件进行相似性比对,得到测试结果。通过本发明实施例实现了音视频sdk的画面特效类、声音类的自动化测试,可不依赖于人工,简化了测试流程,提高了测试效率。
24.本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
25.附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
26.图1是本发明实施例提供的一种音视频sdk测试方法的流程示意图;
27.图2是本发明实施例提供的一种音视频sdk测试方法的架构图;
28.图3是本发明实施例提供的一种音视频sdk测试装置的结构示意图。
具体实施方式
29.以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
30.图1是本发明实施例提供的一种音视频sdk测试方法的流程示意图。
31.如图1所示,所述方法应用于测试服务器上,包括如下步骤:
32.步骤101,将音视频sdk的测试用例导入待测试设备,所述测试用例为用于测试所述音视频sdk在指定使用场景的功能效果;
33.步骤102,获取所述待测试设备执行所述测试用例后得到的待校验结果文件;
34.步骤103,利用基准文件与所述待校验结果文件进行相似性比对,得到测试结果。
35.其中,在本发明实施例中,音视频sdk的测试用例是指对一种音视频sdk产品进行测试任务的描述,其内容包括了测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。简单地认为,音视频sdk的测试用例是为了测试所述音视频sdk在指定使用场景下的功能效果而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足在所述指定使用场景下的功能效果需求。在本发明实施例中,仅对测试用例的用途做限定,对于测试用例的具体编制内容并不做描述。
36.在本发明实施例中,所述测试用例用于测试的所述音视频sdk的指定使用场景包括以下至少一者:导出指定视频场景、导出指定音频场景、抽取指定视频的指定时间戳画面的场景、播放指定视频场景或播放指定音频场景。
37.例如,对于导出指定视频场景,根据测试用例流程,添加指定视频素材(例如,a.mp4文件),再添加画中画图片,播放时长为a.mp4文件的时长,校验画面与时长是否正常,该测试用例将输出视频文件,以便后续针对每一帧进行比较。
38.对于导出指定音频场景,根据测试用例流程,添加指定音频素材(例如,b.mp3文件),对该指定音频素材添加机器声特效,播放时长为该b.mp3文件的时长,校验声音效果与时长是否正常,该测试用例将输出音频文件,以便后续针对该音频文件进行比较。
39.对于抽取指定视频的指定时间戳画面的场景,根据测试用例,添加指定视频素材(例如,a.mp4文件),抽取到素材尾帧,校验画面是否正常,该测试用例将输出图片文件,以便后续针对该图片文件进行比较。
40.对于播放指定视频场景,根据测试用例,添加指定视频素材(例如,a.mp4文件),进行播放,播放时长为该a.mp4文件时长,校验播放画面是否正常,该测试用例将输出一系列播放抽帧图片文件,以便后续针对该图片文件进行比较。
41.对于播放指定音频场景,根据测试用例流程,添加指定音频素材(例如,b.mp3文件),进行播放,播放时长为该b.mp3文件时长,校验播放声音是否正常,该测试用例将输出音频解码后的pcm(pulse code modulation,脉冲编码调制)数据文件,以便后续针对该pcm数据文件进行比较。
42.通过上述指定使用场景的设定,确定自动化测试用例,并构建各个测试平台可用的测试用例,例如,android、ios、web、linux等平台。
43.在本发明实施例中,所述测试服务器可将音视频sdk的测试用例,例如测试用例程序包sdktest.apk,导入待测试设备中,例如所述待测试设备可为具有android平台的手机。当所述待测试设备运行sdktest.apk进行自动化测试之后,与所述待测试设备连接的测试服务器,即可获取所述待测试设备执行所述测试用例后得到的待校验结果文件。
44.在步骤103中,根据预设目录文件规则,在所述音视频sdk的当前开发分支所对应的基准仓库中查找与所述待校验结果文件的文件名相同的基准文件,并将所述基准文件与所述待校验结果文件进行相似性比较,得到所述测试结果。
45.其中,在对测试用例执行测试之前,需要建立用于进行相似性比较的基准文件,而基准文件的存储规则依据所述预设目录文件规则,按照所述指定使用场景、测试用例标识以及测试素材的规则构建文件存储目录。例如,按照所述预设目录文件规则,以导出指定视频场景为例,基准文件可存储为“/export/video/测试用例1/步骤1_视频1画中画.mp4”;以导出指定音频场景为例,基准文件可存储为“/export/audio/测试用例2/步骤1_音频1机器声.mp3”;以抽取指定视频的指定时间戳画面的场景为例,基准文件可存储为“/seek/测试用例3/步骤1_seek视频1尾帧_时间戳.png”;以播放指定视频场景为例,基准文件可存储为“/play/测试用例4/步骤1_视频1_(视频时间戳开始-视频时间戳结束).png”;以播放指定音频场景为例,基准文件可存储为“/play/测试用例4/步骤1_音频1_.data”。
46.对应的,获取的待校验结果文件的文件名的命名规则也是与所述预设目录文件规则类似,以便能够查找到对应的测试用例得到的待校验结果文件对应的基准文件。
47.因此,当获取到所述待校验结果文件之后,可根据所述预设目录文件规则,在所述音视频sdk的当前开发分支所对应的基准仓库中存储的基准文件中,查找与所述待校验结果文件的文件名相同的基准文件,从而将所述基准文件与所述待校验结果文件进行相似性比较,得到所述测试结果。
48.其中,若是在所述音视频sdk的当前开发分支所对应的基准仓库中未查找到与所述待校验结果文件的文件名相同的基准文件时,则在所述音视频sdk的主分支所对应的基准仓库中查找与所述待校验结果文件的文件名相同的基准文件。若在所述音视频sdk的主分支所对应的基准仓库中仍未查找到与所述待校验结果文件的文件名相同的基准文件时,输出提示信息,则可通过提示信息告知研发人员,该测试用例对应的基准文件未存储,可更新基准仓库中的基准文件。
49.其中,主分支为所述音视频sdk的主要功能,开发分支为根据音视频的特效需求另外创建的分支。基准仓库为使用git仓库管理。当在对应的基准仓库中未查找到基准文件时,可能该测试用例对应于一个新的开发分支,因此,研发人员需要针对该开发分支对应的新功能设计测试用例。研发人员需在开发自测阶段完成测试工程师指定的测试流程步骤的用例实现,并自行校验用例里的效果后,将结果文件作为基准文件提交到该开发分支对应的基准仓库中。
50.另外,在将所述基准文件与所述待校验结果文件进行相似性比较时,根据文件的不同类型采用不同的对比算法进行比较。
51.例如,当所述指定使用场景为抽取指定视频的指定时间戳画面的场景以及播放指定视频场景时,所述待校验结果文件为图片类型时,其与所述基准文件进行画面相似性比对时的所述对比算法可包括ssim(structural similarity index measure,结构相似度)、
psnr(peak signal to noise ratio,峰值信噪比)算法。
52.当所述指定使用场景为导出指定视频场景时,所述待校验结果文件为视频文件类型,例如mp4格式,可针对视频时长、fps(frames per second每秒帧数)、帧数等视频属性,将所述待校验结果文件与所述基准文件进行比对,之后将所述待校验结果文件与所述基准文件进行抽帧画面的处理,将二者抽帧得到的图片进行相似性对比。
53.当所述指定使用场景为导出指定音频场景时,所述待校验结果文件为音频文件类型,例如mp3格式,可针对文件大小、时长、码率等信息,将所述待校验结果文件与所述基准文件进行比对,之后再对所述待校验结果文件与所述基准文件进行pcm文件的相似度对比。
54.当所述指定使用场景为播放指定音频场景时,所述待校验结果文件为pcm文件,在将所述待校验结果文件与所述基准文件进行比对时,可将二者进行二进制、频域、振幅等相似性对比。
55.在所述将所述基准文件与所述待校验结果文件进行相似性比较之后,当所述基准文件与所述待校验结果文件完全一致时,得到的所述测试结果包括测试成功提示。若是所述基准文件与所述待校验结果文件不一致时,得到的所述测试结果包括校验失败报告。其中,所述校验失败报告包括以下至少一者:相似度匹配值或不匹配的资源信息,例如,对于导出指定视频场景,不匹配的资源信息可包括示出视频中的某一帧或某些帧比对不一致。另外,所述校验失败报告还可通过通知消息的形式告知研发人员,以便研发人员及时进行问题排查。
56.如图2所示,本发明实施例中的测试服务器可将音视频sdk的测试用例在待测试设备上进行自动化测试,并获取测试后的待校验结果文件,从而测试服务器可将所述待校验结果文件与对应的基准文件进行相似性比对,从而在测试结果查阅终端可以查看测试结果,当测试结果中包括校验失败报告时,研发人员可通过测试结果查阅终端查看相似性不匹配的具体情况。因此,通过本发明实施例实现了音视频sdk的画面特效类、声音类的自动化测试,可不依赖于人工,简化了测试流程,提高了测试效率。
57.在本发明实施例的一种实施方式中,测试服务器还可以获取每个测试用例在待测试设备上的测试时长,以便判断所述音视频sdk的性能是否有所下降。
58.相应地,图3是本发明实施例提供的一种音视频sdk测试装置的结构示意图。如图3所示,所述装置应用于测试服务器中,所述装置30包括:导入模块31,用于将音视频sdk的测试用例导入待测试设备,所述测试用例为用于测试所述音视频sdk在指定使用场景的功能效果;获取模块32,用于获取所述待测试设备执行所述测试用例后得到的待校验结果文件;结果确定模块33,用于利用基准文件与所述待校验结果文件进行相似性比对,得到测试结果。
59.其中,所述指定使用场景包括以下至少一者:导出指定视频场景、导出指定音频场景、抽取指定视频的指定时间戳画面的场景、播放指定视频场景或播放指定音频场景。
60.进一步地,所述结果确定模块具体用于:
61.根据预设目录文件规则,在所述音视频sdk的当前开发分支所对应的基准仓库中查找与所述待校验结果文件的文件名相同的基准文件;
62.将所述基准文件与所述待校验结果文件进行相似性比较,得到所述测试结果。
63.其中,所述预设目录文件规则为按照所述指定使用场景、测试用例标识以及测试
素材的规则构建文件存储目录。
64.进一步地,所述结果确定模块还用于:若在所述音视频sdk的当前开发分支所对应的基准仓库中未查找到与所述待校验结果文件的文件名相同的基准文件时,在所述音视频sdk的主分支所对应的基准仓库中查找与所述待校验结果文件的文件名相同的基准文件。
65.进一步地,所述结果确定模块还用于:若在所述音视频sdk的主分支所对应的基准仓库中未查找到与所述待校验结果文件的文件名相同的基准文件时,输出提示信息。
66.进一步地,所述结果确定模块还用于:在所述将所述基准文件与所述待校验结果文件进行相似性比较之后,当所述基准文件与所述待校验结果文件完全一致时,得到的所述测试结果包括测试成功提示;当所述基准文件与所述待校验结果文件不一致时,得到的所述测试结果包括校验失败报告。
67.其中,所述校验失败报告包括以下至少一者:相似度匹配值或不匹配的资源信息。
68.本发明实施例提供的音视频sdk测试装置的具体工作原理及益处与本发明实施例提供的音视频sdk测试方法的具体工作原理及益处相似,这里将不再赘述。
69.此外,本发明实施例的另一方面还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行上述实施例所述的音视频sdk测试方法。
70.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
71.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
72.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
73.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
74.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
75.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
76.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
77.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
78.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
79.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献