掌桥专利:专业的专利平台
掌桥专利
首页

测试缺陷数据的获取方法、装置、设备及存储介质

文献发布时间:2023-06-19 19:30:30


测试缺陷数据的获取方法、装置、设备及存储介质

技术领域

本发明实施例涉及软件测试技术领域,尤其涉及一种测试缺陷数据的获取方法、装置、设备及存储介质。

背景技术

随着软件系统规模的持续增大,业务复杂度的持续增加,软件测试的复杂度也随之越来越大。业务逻辑越复杂,测试过程中发现漏洞(bug)后的缺陷数据描述越复杂,即使自动化测试在一定程度上节省了人力、时间或硬件资源,提高了测试效率,但是对于测试结果中发现的bug,仍需要人工复现或复查,然后编写相关的缺陷数据,增加了缺陷数据的获取成本。

发明内容

本发明实施例提供一种测试缺陷数据的获取方法、装置、设备及存储介质,通过对测试视频进行解析,获得测试结果为失败的缺陷数据,降低缺陷数据的获取时间,提高获取效率。

第一方面,本发明实施例提供了一种测试缺陷数据的获取方法,该方法包括:

获取测试视频;其中,所述测试视频为对测试过程进行录制且测试结果为失败的视频;

对所述测试视频进行逐帧解析,当解析到的视频帧中的可操作图标的样式为设定样式时,根据解析到的所述视频帧生成操作信息,并将所述视频帧作为开始帧;

继续解析所述开始帧后续的视频帧,当解析到第一个与所述开始帧存在差异的视频帧时,根据解析到的视频帧生成结果信息,并将所述视频帧作为所述开始帧对应的结束帧;

若所述结果信息中包含异常关键字,则停止解析所述测试视频,并根据所述操作信息和所述结果信息生成缺陷数据;若所述结果信息中未包含异常关键字,则对所述结束帧候选的视频帧循环执行缺陷数据的获取操作,直到获取到包含异常关键字的视频帧。

第二方面,本发明实施例还提供了一种测试缺陷数据的获取装置,该装置包括:

测试视频获取模块,用于获取测试视频;其中,所述测试视频为对测试过程进行录制且测试结果为失败的视频;

第一解析模块,用于对所述测试视频进行逐帧解析,当解析到的视频帧中的可操作图标的样式为设定样式时,根据解析到的所述视频帧生成操作信息,并将所述视频帧作为开始帧;

第二解析模块,用于继续解析所述开始帧后续的视频帧,当解析到第一个与所述开始帧存在差异的视频帧时,根据解析到的视频帧生成结果信息,并将所述视频帧作为所述开始帧对应的结束帧;

结果信息分析模块,用于若所述结果信息中包含异常关键字,则停止解析所述测试视频,并根据所述操作信息和所述结果信息生成缺陷数据;若所述结果信息中未包含异常关键字,则对所述结束帧候选的视频帧循环执行缺陷数据的获取操作,直到获取到包含异常关键字的视频帧。

第三方面,本公开实施例还提供电子设备,所述电子设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本公开实施例提供的测试缺陷数据的获取方法。

第四方面,本公开实施例还提供了包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行实现本公开实施例提供的测试缺陷数据的获取方法。

本发明公开了一种测试缺陷数据的获取方法、装置、设备及存储介质,该方法包括:获取测试视频;对测试视频进行逐帧解析,当解析到的视频帧中的可操作图标的样式为设定样式时,根据解析到的视频帧生成操作信息,并将视频帧作为开始帧;继续解析开始帧后续的视频帧,当解析到第一个与开始帧存在差异的视频帧时,根据解析到的视频帧生成结果信息,并将视频帧作为开始帧对应的结束帧;若结果信息中包含异常关键字,则停止解析测试视频,并根据操作信息和结果信息生成缺陷数据;若结果信息中未包含异常关键字,则对结束帧候选的视频帧循环执行缺陷数据的获取操作,直到获取到包含异常关键字的视频帧。利用该方法,获得测试结果为失败的缺陷数据,降低缺陷数据的获取时间,提高获取效率。

附图说明

结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。

图1为本公开实施例所提供的一种测试缺陷数据的获取方法的流程图;

图2为本公开实施例所提供的一种测试缺陷数据的获取装置的结构示意图;

图3为本公开实施例所提供的一种电子设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。

本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。

需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。

需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。

本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。

可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。

例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。

作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。

可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。

可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。

实施例一

图1为本公开实施例所提供的一种测试缺陷数据的获取的流程图,本公开实施例适用于提供用户测试缺陷数据的获取的情形,该方法可以由测试缺陷数据的获取装置来执行,该装置可以通过软件和/或硬件的形式实现,可选的,通过电子设备来实现,该电子设备可以是移动终端、PC端或服务器等。

如图1所示,本公开实施例提供的一种测试缺陷数据的获取方法,具体可以包括下述步骤:

S110、获取测试视频。

其中,测试视频为对测试过程进行录制且测试结果为失败的视频;

在本实施例中,测试视频可以是利用第三方视频录制工具对测试过程进行录制,并将测试结果为失败的视频文件提取出来的视频。测试视频可以存储在本地或云端上。

示例性的,在FastForwardMpeg与测试框架集成后,将录制测试执行失败的视频存储到本地或上传至云端,作为待输入的测试视频文件。

S120、对测试视频进行逐帧解析,当解析到的视频帧中的可操作图标的样式为设定样式时,根据解析到的视频帧生成操作信息,并将视频帧作为开始帧。

在本实施例中,可操作图标可以是输入设备(如鼠标)中对应的移动显示的图标。。

具体的,对上述测试视频进行逐帧解析,按序依次定位视频帧中的鼠标点击,当解析到的视频帧中的可操作图标的样式为设定样式时,示例性的,当输入设备的图标从不可点击的标(如三角标)转变为可点击的标(如手型)时,即可以认为可操作图标的样式为设定样式。根据接收到的视频帧生成操作信息,并将视频帧作为开始帧。

示例性的,在第一帧图像中,检查是否有设定的鼠标手型图标,若无,则在下一帧检查,直至某一帧图像中,有鼠标手型图标,则该帧为开始帧

可选的,根据解析到的视频帧生成操作信息的方式可以是:获取可操作图标所对应的像素点;提取像素点对应的子图像;提取子图像的文本信息;将文本信息和设定导航信息进行拼接,获得操作信息。

具体的,设定导航信息可以是一个设定的包含的标准化内容的导航信息。获取可操作图标所对应的像素点,提取该像素点所对应的子图像以及子图像中文本信息,将文本信息和设定导航信息进行拼接,获得操作信息。

可选的,提取像素点对应的子图像的方式可以是:在可操作图标所对应的像素点的邻域中提取与像素点的像素相同的像素点,作为目标像素点;由目标像素点和可操作图标所对应的像素点构成子图像。

具体的,往可操作图标所对应的像素点4个方向分别寻找与像素点的像素相同的像素点,作为目标像素点。将所有的目标像素点和可操作图标所对应的像素点构成子图像。

示例性的,将开始帧图像中以可操作图标为中心,往4个方向分别寻找相同像素的内容,直至内容不同,记录坐标,通过4个坐标计算出截取图片的大小。

可选的,提取像素点对应的子图像的方式还可以是:在视频帧中提取以可操作图标所对应的像素点为中心设定尺寸的图像区域,作为子图像。

S130、继续解析开始帧后续的视频帧,当解析到第一个与开始帧存在差异的视频帧时,根据解析到的视频帧生成结果信息,并将视频帧作为开始帧对应的结束帧。

在本实施例中,继续解析开始帧后续的视频帧,当解析到第一个与开始帧存在差异的视频帧时,称该帧为“差异帧”。将开始帧之后的视频画面分别转为帧图像,并将生成的帧图像依次与开始帧做差异对比,根据解析到的视频帧生成结果信息,第一个差异帧,作为开始帧对应的结束帧,简称结束帧。例如:登录成功后的页面、弹出新增页面、用户新增失败页面等。其中,做差异对比可整合采用第三方图片对比技术。

可选的,将根据解析到的视频帧生成结果信息的方式可以是:提取视频帧中的关键字;获取关键字的前向相邻空格符和后向相邻空格符;其中,前向相邻空格符和后向相邻空格符为连续设定数量的空格符;将前向相邻空格符和后向相邻空格符之间的文本信息与设定标准信息进行拼接,获得结果信息。

具体的,首先提取视频帧中的关键字,然后获取该关键词前向的连续设定数量空格符和后向连续设定数量空格符。其中连续设定数量可以是提前设定好的,示例性的,连续设定数量为1,即获取该关键词前向的一个空格符和后向一个空格符。将前向相邻空格符和后向相邻空格符之间的文本信息与设定标准信息进行拼接,获得结果信息。其中,前向相邻空格符和后向相邻空格符中不一定都存在文本信息,可能前向相邻空格符中包含文本信息或者后向相邻空格符中包含文本信息。

S140、若结果信息中包含异常关键字,则停止解析测试视频,并根据操作信息和结果信息生成缺陷数据。若结果信息中未包含异常关键字,则对结束帧候选的视频帧循环执行缺陷数据的获取操作,直到获取到包含异常关键字的视频帧。

在本实施例中,若结果信息中存在“异常”“失败”“错误”“无效”等异常关键词,则停止解析测试视频,该结束帧又称为异常帧图像,简称异常帧,并根据操作信息和结果信息生成缺陷数据。将包含异常关键字的结果信息及其对应的操作信息进行拼接,作为缺陷数据的标题名称;将测试视频对应至少一个操作信息和结果信息的组合作为缺陷数据的实体内容。若结果信息中未包含异常关键字,则对结束帧候选的视频帧循环上述执行缺陷数据的获取操作,直到获取到包含异常关键字的视频帧。

可选的,根据操作信息和结果信息生成缺陷数据的方法可以是:将包含异常关键字的结果信息及其对应的操作信息进行拼接,作为缺陷数据的标题名称;将测试视频对应至少一个操作信息和结果信息的组合作为缺陷数据的实体内容。

具体的,将该异常帧/结束帧的“操作信息和结果信息”拼接组合作为缺陷数据的标题。将测试视频对应至少一个操作信息和结果信息的组合作为缺陷数据的实体内容。

示例性的,如在“新增用户”页面,点击“保存”按钮,操作失败,提示信息为“系统异常!”。

示例性的,表1为接收到视频内容分析的结果。如表1所示,

表1

可选的,在根据操作信息和结果信息生成缺陷数据之后,还包括:将缺陷数据和测试视频进行存储。

具体的,在根据操作信息和结果信息生成缺陷数据之后,将缺陷数据和测试视频进行存储。可以将接收到视频内容分析的结果,存储为表格文件。

本发明公开了一种测试缺陷数据的获取方法,该方法包括:获取测试视频;对测试视频进行逐帧解析,当解析到的视频帧中的可操作图标的样式为设定样式时,根据解析到的视频帧生成操作信息,并将视频帧作为开始帧;继续解析开始帧后续的视频帧,当解析到第一个与开始帧存在差异的视频帧时,根据解析到的视频帧生成结果信息,并将视频帧作为开始帧对应的结束帧;若结果信息中包含异常关键字,则停止解析测试视频,并根据操作信息和结果信息生成缺陷数据;若结果信息中未包含异常关键字,则对结束帧候选的视频帧循环执行缺陷数据的获取操作,直到获取到包含异常关键字的视频帧。利用该方法,获得测试结果为失败的缺陷数据,降低缺陷数据的获取时间,提高获取效率。

实施例二

图2为本发明实施例还提供了一种测试缺陷数据的获取装置结构示意图,如图2示,装置包括:测试视频获取模块210、第一解析模块220、第二解析模块230以及结果信息分析模块240。

测试视频获取模块210,用于获取测试视频;其中,所述测试视频为对测试过程进行录制且测试结果为失败的视频;

第一解析模块220,用于对所述测试视频进行逐帧解析,当解析到的视频帧中的可操作图标的样式为设定样式时,根据解析到的所述视频帧生成操作信息,并将所述视频帧作为开始帧;

第二解析模块230,用于继续解析所述开始帧后续的视频帧,当解析到第一个与所述开始帧存在差异的视频帧时,根据解析到的视频帧生成结果信息,并将所述视频帧作为所述开始帧对应的结束帧;

结果信息分析模块240,用于若所述结果信息中包含异常关键字,则停止解析所述测试视频,并根据所述操作信息和所述结果信息生成缺陷数据;若所述结果信息中未包含异常关键字,则对所述结束帧候选的视频帧循环执行缺陷数据的获取操作,直到获取到包含异常关键字的视频帧。

本公开实施例所提供的技术方案,利用该方法,获得测试结果为失败的缺陷数据,降低缺陷数据的获取时间,提高获取效率。

进一步地,第一解析模块220可以用于:

获取所述可操作图标所对应的像素点;

提取所述像素点对应的子图像;

提取所述子图像的文本信息;

将所述文本信息和设定导航信息进行拼接,获得操作信息。

进一步地,第一解析模块220可以用于:

在所述可操作图标所对应的像素点的邻域中提取与所述像素点的像素相同的像素点,作为目标像素点;

由所述目标像素点和所述可操作图标所对应的像素点构成子图像。

进一步地,第一解析模块220还可以用于:

在所述视频帧中提取以所述可操作图标所对应的像素点为中心设定尺寸的图像区域,作为子图像。

进一步地,第二解析模块230可以用于:

提取所述视频帧中的关键字;

获取所述关键字的前向相邻空格符和后向相邻空格符;其中,所述前向相邻空格符和后向相邻空格符为连续设定数量的空格符;

将所述前向相邻空格符和后向相邻空格符之间的文本信息与设定标准信息进行拼接,获得结果信息。

进一步地,特征向量融合模块230还可以用于:

从所述实体关系图中提取第一设定数量或者设定比例的实体,获得多个目标实体;

确定所述多个目标实体在所述实体关系图中平均节点度以及对应文本的平均字符数;

根据所述平均节点度和所述平均字符数确定第一权重和第二权重。

进一步地,结果信息分析模块240可以用于:

将包含异常关键字的结果信息及其对应的操作信息进行拼接,作为缺陷数据的标题名称;

将所述测试视频对应至少一个操作信息和结果信息的组合作为缺陷数据的实体内容。

进一步地,结果信息分析模块240还可以用于:

将所述缺陷数据和所述测试视频进行存储。

上述装置可执行本发明前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的方法。

实施例三

图3出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。

如图3,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。

电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如测试缺陷数据的获取方法。

在一些实施例中,测试缺陷数据的获取方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的测试缺陷数据的获取方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行测试缺陷数据的获取方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。

计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

相关技术
  • 多物联网射频识别设备数据获取方法、装置及存储介质
  • 内容数据的获取方法、装置、系统、存储介质及电子设备
  • 展示数据获取的方法、装置、计算机设备和存储介质
  • 引擎监控数据的获取方法、装置、终端设备及存储介质
  • 获取安全气囊气袋的充气数据的方法、装置、计算机设备及存储介质
  • 测试数据获取方法、装置、计算机设备和存储介质
  • 测试数据获取方法、装置、计算机设备及可读存储介质
技术分类

06120115934732