一种数据自动化统计测试方法、装置及存储介质与流程

未命名 07-24 阅读:158 评论:0


1.本技术涉及数据统计测试领域,尤其涉及一种数据自动化统计测试方法、装置及存储介质。


背景技术:

2.kinesis video streams是aws推出的一种安全可靠的设备视频流传输技术,该项技术应用场景为:设备端将拍摄的视频数据以流的方式存储在云端,在app需要时云端以流的方式传输给app进行显示。
3.目前针对验证设备传输kvs流稳定性一般采用人工的方式进行测试,在此过程中,先搭建设备传输kvs视频流场景一段时间,然后在app上打开对应时间段的视频,通过app上视频的显示视频长度及视频数量来判断设备kvs传流的稳定性。
4.但是,上述方法存在以下缺陷:
5.(1)设备传流场景通常搭建时间超过12小时,人工测试验证视频数据时很难遍历全部的视频流统计,只能采取抽样查看的策略,可能会遗漏部分异常场景;
6.(2)使用app查看的方式对设备传流数据进行验证,不可避免的会受到app本身bug的干扰,对数据统计时还需考虑app本身是否有bug的问题;
7.(3)针对不同项目,设备端进行kvs传流的策略可能不同,这就需要测试人员对于各类项目的专项测试点有了解,增大了测试难度;
8.(4)无法进行批量测试,受限于测试人员精力和投入成本问题,目前的手工测试方案无法进行大批量测试和验证。


技术实现要素:

9.为了解决上述技术问题或者至少部分地解决上述技术问题,本技术提供了一种数据自动化统计测试方法、装置及存储介质。
10.第一方面,本技术提供了一种数据自动化统计测试方法,所述方法包括步骤:编写python脚本;
11.根据所述python脚本获取mpd中间文件;
12.解析所述mpd中间文件;
13.根据解析结果统计视频时长;
14.测试所述解析结果。
15.优选地,所述编写python脚本包括步骤:
16.设计接口请求模块;
17.设计访问模块;
18.设计数据获取模块;
19.设计接口返回模块。
20.优选地,所述根据所述python脚本获取mpd中间文件包括步骤:
21.调用所述python脚本中的访问模块和数据获取模块;
22.使用所述访问模块访问mpd文件;
23.使用所述数据获取模块获取所述mpd文件的下载链接;
24.下载并保存所述mpd文件。
25.优选地,所述解析所述mpd中间文件包括步骤:
26.获取python语言中的解析库;
27.设计解析工具;
28.获取所述mpd中间文件;
29.使用所述解析库和所述解析工具解析所述mpd中间文件。优选地,所述根据解析结果统计视频时长包括步骤:
30.获取mpd中间文件;
31.创建文件读取对象;
32.将所述mpd中间文件传入所述文件读取对象中;
33.获取解析工具;
34.将文件读取结果传入所述解析工具中。
35.优选地,所述测试所述解析结果包括步骤:
36.搭建测试工具;
37.使用所述测试工具测试所述解析结果。
38.优选地,所述使用所述测试工具测试所述解析结果包括步骤:
39.启动测试工具中的测试脚本;
40.设置所述测试脚本的开始时间和结束时间;
41.根据所述开始时间获取mpd中间文件;
42.读取和汇总视频数据;
43.输出测试报告。
44.第二方面,本技术提供了一种数据自动化统计测试置,包括:
45.python脚本编写模块,用于编写python脚本;
46.mpd中间文件获取模块,用于根据所述python脚本获取mpd中间文件;
47.mpd中间文件解析模块,用于解析所述mpd中间文件;
48.视频时长统计模块,用于根据解析结果统计视频时长;
49.解析结果测试模块,用于测试所述解析结果。
50.第三方面,提供了一种电子设备,所述电子设备包括:
51.至少一个处理器;以及,
52.与所述至少一个处理器通信连接的存储器;其中,
53.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述任一所述数据自动化统计测试方法。
54.第四方面,提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述任一所述数据自动化统计测试方法。
55.本技术实施例提供的上述技术方案与现有技术相比具有如下优点:
56.本技术实施例提供的一种数据自动化统计测试方法、装置及存储介质直接从云端获取流数据进行统计,不接入app,减少了测试意外影响因素,实际数据更准确,精度达到了毫秒级;自动化程序没有人员精力的困扰,可以统计设备搭建测试场景产生的全部数据,不会产生遗漏;测试人员面对不同项目看到的是一套统一的测试数据,统一了测试报告的输出结果。
附图说明
57.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
58.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
59.图1是本发明实施例提供的一种数据自动化统计测试方法的流程示意图;
60.图2是本发明实施例提供的一种数据自动化统计测试置的结构示意图;
61.图3是本发明提供的一种电子设备的结构示意图;
62.图4是本发明提供的一种非暂态计算机可读存储介质的结构示意图。
具体实施方式
63.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
64.图1为本技术实施例提供的一种数据自动化统计测试方法的流程示意图。
65.本技术提供了一种数据自动化统计测试方法,所述方法包括步骤:
66.s1:编写python脚本;
67.在本技术实施例中,所述编写python脚本包括步骤:
68.设计接口请求模块;
69.设计访问模块;
70.设计数据获取模块;
71.设计接口返回模块。
72.具体地,当编写python脚本时,可以根据需要使用python语言编写python脚本,设计接口请求模块用于请求接入接口,设计python的访问模块(request模块)访问华来云平台提供的kvs视频数据,编写数据获取模块获取接口传入预定的需要获取视频数据的时间段,编写接口返回模块获取接口返回值,为mpd文件的下载地址。
73.s2:根据所述python脚本获取mpd中间文件;
74.在本技术实施例中,所述根据所述python脚本获取mpd中间文件包括步骤:
75.调用所述python脚本中的访问模块和数据获取模块;
76.使用所述访问模块访问mpd文件;
77.使用所述数据获取模块获取所述mpd文件的下载链接;
78.下载并保存所述mpd文件。
79.具体地,根据s1中的访问模块访问mpd文件,根据s1中的数据获取模块获取mpd文件下载链接,下载mpd文件并保存到本地,mpd(mpeg-dash manifest file)是一种动态自适应的流媒体视频格式,在mpeg-dash中,视频文件被分成多个块(segment),每个块通常包含2-10秒的视频片段数据例如视频块的url、码率、时长等等。
80.s3:解析所述mpd中间文件;
81.在本技术实施例中,所述解析所述mpd中间文件包括步骤:
82.获取python语言中的解析库;
83.设计解析工具;
84.获取所述mpd中间文件;
85.使用所述解析库和所述解析工具解析所述mpd中间文件。
86.具体地,为了解析mpd中保存的视频块信息,引入python语言的解析库(xml.sax库)来进行对mpd文件的分析,先编写一个解析工具(python类workshandler)用于处理mpd文件的sax解析,具体来说,这个类继承了xml.sax.contenthandler,主要重写了一些sax解析器事件的处理方法。它的作用是当sax解析器分析到mpd元素时,类的构造器方法init将初始化视频类型video_type,mimetype,availabilitystarttime,publishtime,video_list和audio_list等属性。在startelement方法中,当读取到adaptationset元素时,将获取属性mimetype的值。当sax解析器遍历到s元素时,如果其mimetype为视频类型,将获取其timescale和d属性的值,并将其存储在类的video_list属性中。如果其mimetype为音频类型,则获取其kvs:ts属性的值并将其存储在类的audio_list属性中。
87.s4:根据解析结果统计视频时长;
88.在本技术实施例中,所述根据解析结果统计视频时长包括步骤:
89.获取mpd中间文件;
90.创建文件读取对象;
91.将所述mpd中间文件传入所述文件读取对象中;
92.获取解析工具;
93.将文件读取结果传入所述解析工具中。
94.具体地,当mpd文件下载到本地后,先通过xml.sax.make_parser()方法初始化创建一个文件读取对象(xmlreader对象),然后通过parse()方法将上述下载的mpd文件地址传入xmlreader对象内,后续将xmlreader对象传入步骤s3中所述的解析工具(workshandler类)中进行视频数据的分析处理,即可获得当前mpd文件内所存储的视频块总计的视频和音频元素信息。
95.s5:测试所述解析结果。
96.在本技术实施例中,所述测试所述解析结果包括步骤:
97.搭建测试工具;
98.使用所述测试工具测试所述解析结果。
99.具体地,步骤s2中请求到的mpd文件下载地址,根据视频数据获取时间的长度不同,可能会存在多个mpd文件下载链接,依次下载所有的mpd文件到本地,然后根据步骤s3对
视频文件进行解析,并将数据保存汇总;根据测试预先指定的报告输出标准,对汇总的数据进行分析和处理,整合数据引入python语言的pandas和openpyxl库将整理好格式的数据从内存中写入到excel文件内。
100.在本技术实施例中,所述使用所述测试工具测试所述解析结果包括步骤:
101.启动测试工具中的测试脚本;
102.设置所述测试脚本的开始时间和结束时间;
103.根据所述开始时间获取mpd中间文件;
104.读取和汇总视频数据;
105.输出测试报告。
106.具体地,测试人员搭建好设备上传kvs视频流数据的环境,测试持续进行若干时间,假设搭建环境进行了12个小时的测试;测试人员启动脚本,在脚本启动时填入步骤一中测试设备搭建环境的开始时间和结束时间;程序启动后自动依照测试人员填入的时间进行mpd文件的获取,视频数据的读取,数据汇总,数据格式化处理的流程,最终生成excel报告输出在脚本目录下。
107.如图2,本技术提供了一种数据自动化统计测试置,包括:
108.python脚本编写模块10,用于编写python脚本;
109.mpd中间文件获取模块20,用于根据所述python脚本获取mpd中间文件;
110.mpd中间文件解析模块30,用于解析所述mpd中间文件;
111.视频时长统计模块40,用于根据解析结果统计视频时长;
112.解析结果测试模块50,用于测试所述解析结果。
113.本技术提供的一种数据自动化统计测试置可以执行上述步骤提供的一种数据自动化统计测试方法。
114.应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
115.下面参考图3,其示出了适于用来实现本公开实施例的电子设备100的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图3示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
116.如图3所示,电子设备100可以包括处理装置(例如中央处理器、图形处理器等)101,其可以根据存储在只读存储器(rom)102中的程序或者从存储装置108加载到随机访问存储器(ram)103中的程序而执行各种适当的动作和处理。在ram 103中,还存储有电子设备100操作所需的各种程序和数据。处理装置101、rom 102以及ram 103通过总线104彼此相连。输入/输出(i/o)接口105也连接至总线104。
117.通常,以下装置可以连接至i/o接口105:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置106;包括例如液晶显示器(lcd)、扬声
器、振动器等的输出装置107;包括例如磁带、硬盘等的存储装置108;以及通信装置109。通信装置109可以允许电子设备100与其他设备进行无线或有线通信以交换数据。虽然图中示出了具有各种装置的电子设备100,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
118.特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置109从网络上被下载和安装,或者从存储装置108被安装,或者从rom 102被安装。在该计算机程序被处理装置101执行时,执行本公开实施例的方法中限定的上述功能。
119.下面参考图4,其示出了适于用来实现本公开实施例的计算机可读存储介质的结构示意图,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时能够实现如上述中任一所述的数据自动化统计测试方法。
120.本技术实施例提供的一种数据自动化统计测试方法、装置及存储介质直接从云端获取流数据进行统计,不接入app,减少了测试意外影响因素,实际数据更准确,精度达到了毫秒级;自动化程序没有人员精力的困扰,可以统计设备搭建测试场景产生的全部数据,不会产生遗漏;测试人员面对不同项目看到的是一套统一的测试数据,统一了测试报告的输出结果。
121.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
122.以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种数据自动化统计测试方法,其特征在于,所述方法包括步骤:编写python脚本;根据所述python脚本获取mpd中间文件;解析所述mpd中间文件;根据解析结果统计视频时长;测试所述解析结果。2.根据权利要求1所述的数据自动化统计测试方法,其特征在于,所述编写python脚本包括步骤:设计接口请求模块;设计访问模块;设计数据获取模块;设计接口返回模块。3.根据权利要求1所述的数据自动化统计测试方法,其特征在于,所述根据所述python脚本获取mpd中间文件包括步骤:调用所述python脚本中的访问模块和数据获取模块;使用所述访问模块访问mpd文件;使用所述数据获取模块获取所述mpd文件的下载链接;下载并保存所述mpd文件。4.根据权利要求1所述的数据自动化统计测试方法,其特征在于,所述解析所述mpd中间文件包括步骤:获取python语言中的解析库;设计解析工具;获取所述mpd中间文件;使用所述解析库和所述解析工具解析所述mpd中间文件。5.根据权利要求1所述的数据自动化统计测试方法,其特征在于,所述根据解析结果统计视频时长包括步骤:获取mpd中间文件;创建文件读取对象;将所述mpd中间文件传入所述文件读取对象中;获取解析工具;将文件读取结果传入所述解析工具中。6.根据权利要求1所述的数据自动化统计测试方法,其特征在于,所述测试所述解析结果包括步骤:搭建测试工具;使用所述测试工具测试所述解析结果。7.根据权利要求6所述的数据自动化统计测试方法,其特征在于,所述使用所述测试工具测试所述解析结果包括步骤:启动测试工具中的测试脚本;设置所述测试脚本的开始时间和结束时间;
根据所述开始时间获取mpd中间文件;读取和汇总视频数据;输出测试报告。8.一种数据自动化统计测试置,其特征在于,包括:python脚本编写模块,用于编写python脚本;mpd中间文件获取模块,用于根据所述python脚本获取mpd中间文件;mpd中间文件解析模块,用于解析所述mpd中间文件;视频时长统计模块,用于根据解析结果统计视频时长;解析结果测试模块,用于测试所述解析结果。9.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述任一权利要求1-7所述数据自动化统计测试方法。10.一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述任一权利要求1-7所述数据自动化统计测试方法。

技术总结
本申请涉及一种数据自动化统计测试方法、装置及存储介质,所述方法包括步骤:编写Python脚本;根据所述Python脚本获取MPD中间文件;解析所述MPD中间文件;根据解析结果统计视频时长;测试所述解析结果。本申请实施例提供的一种数据自动化统计测试方法、装置及存储介质可以根据收获机械行驶速度调整控制参数,确保割台不会在高速运动时响应过慢或在低速运动时超调过大。本申请直接从云端获取流数据进行统计,不接入app,减少了测试意外影响因素,实际数据更准确,精度达到了毫秒级;自动化程序没有人员精力的困扰,可以统计设备搭建测试场景产生的全部数据,不会产生遗漏;测试人员面对不同项目看到的是一套统一的测试数据,统一了测试报告的输出结果。统一了测试报告的输出结果。统一了测试报告的输出结果。


技术研发人员:刘斌 孙昊鹏
受保护的技术使用者:天津华来科技股份有限公司
技术研发日:2023.05.24
技术公布日:2023/7/22
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐