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

测试取证方法及模型训练方法、装置、设备、存储介质与流程

2021-12-17 18:19:00 来源:中国专利 TAG:


1.本技术涉及人工智能技术领域,涉及但不限于一种测试取证方法及模型训练方法、装置、设备、存储介质。


背景技术:

2.在软件测试过程中,常常需要留取相应的截图作为证明,并附在软件测试系统(例如testrail)或是软件测试报告中。
3.相关技术中,测试方式中的测试取证方法包括人工截图取证和自动截图取证,其中,人工截图取证是由测试人员人工进行截图,并手工重命名、保存和上传到指定位置上,效率十分低下,且由于测试多半需要通宵进行,夜晚人容易出错。此外,一旦错过截图,测试工作就需要重新进行。而自动截图取证均为针对特定用例撰写,且截图场景是特定的。这类解决方案并没有实现真正的自动化,而只是在测试脚本最后调用了相关的截图方法。其中,自动截图取证包括以下两种:
4.第一种:利用自动化测试工具(例如,webdriver testing)的测试方式,能够在测试失败后自动截图。但考虑到测试用例需要截图的地方不仅仅只是失败后,也包括成功后,还包括特定场景的前后截图对比。测试取证需求往往复杂多变,显然,相关技术中采用自动化测试工具进行测试取证的方法根本无法应对。此外,相关技术中在截图之后,仍然需要进行完全的人工干预,由测试人员负责将截图进行标号、重命名,并保存到指定位置。
5.第二种:利用rpa(rpa,robotic process automation)技术进行测试取证,rpa是一种软件机器人,其作用就是将流程自动化,把人从单调重复的操作中解放出来。rpa技术要求应用场景非常明确、固定的流程和步骤,并且流程中没有复杂任务,也不会涉及线上与线下的融合。这显然不符合软件测试的实际情况,因此rpa技术仅能解决单纯且重复的测试场景,而这种场景显然只是所有软件测试场景的一个零头。
6.那么,对于相关技术中的上述测试取证方法,总体而言,存在以下显著缺点:1)完全的人工干预,效率低下,且错误率高,测试成本大,同时,常常需要返工;2)相关技术中的rpa技术,仅能解决单纯且重复的测试场景,而这种场景在通常的软件测试工作中不到5%;3)对于需要捕获中间输出的情形,由于屏幕一直在输出代码,人工操作难以准确捕获,且容易打断测试进程。


技术实现要素:

7.有鉴于此,本技术提供一种测试取证方法及模型训练方法、装置、设备、存储介质,能够实现对测试整个过程中的输出和重要测试过程进行取证,实现自动化测试取证,全程无需人工干预,从而提高测试效率。
8.本技术的技术方案是这样实现的:
9.第一方面,本技术提供一种测试取证方法,包括:
10.获取并执行待取证的测试用例;
11.对执行所述测试用例时的屏幕显示内容进行录屏,得到录屏视频;
12.将所述录屏视频的每一视频帧与取证内容进行对比,得到对比结果;
13.根据所述对比结果,对对应视频帧进行取证操作。
14.第二方面,本技术提供一种测试取证模型的训练方法,包括:
15.将样本数据中的取证内容和测试用例的录屏视频,分别输入至特征提取模型,对应得到所述取证内容对应的第一特征向量、和所述录屏视频的每一视频帧对应的第二特征向量;
16.将所述第一特征向量和所述第二特征向量输入至相似度计算模型中,得到每一视频帧与所述取证内容之间的相似度;
17.将满足相似度条件的视频帧在所述测试用例中的位置,输入至预设损失模型中,得到损失结果;
18.根据所述损失结果,对所述特征提取模型和所述相似度计算模型进行修正,得到所述测试取证模型。
19.第三方面,本技术提供一种测试取证装置,包括:
20.获取模块,用于获取并执行待取证的测试用例;
21.录屏模块,用于对执行所述测试用例时的屏幕显示内容进行录屏,得到录屏视频;
22.对比模块,用于将所述录屏视频的每一视频帧与取证内容进行对比,得到对比结果;
23.取证操作模块,用于根据所述对比结果,对对应视频帧进行取证操作。
24.第四方面,本技术提供一种测试取证模型的训练装置,包括:
25.第一输入模块,用于将样本数据中的取证内容和测试用例的录屏视频,分别输入至特征提取模型,对应得到所述取证内容对应的第一特征向量、和所述录屏视频的每一视频帧对应的第二特征向量;
26.第二输入模块,用于将所述第一特征向量和所述第二特征向量输入至相似度计算模型中,得到每一视频帧与所述取证内容之间的相似度;
27.第三输入模块,用于将满足相似度条件的视频帧在所述测试用例中的位置,输入至预设损失模型中,得到损失结果;
28.修正模块,用于根据所述损失结果,对所述特征提取模型和所述相似度计算模型进行修正,得到所述测试取证模型。
29.第四方面,本技术提供一种测试取证设备,所述设备至少包括:处理器和配置为存储可执行指令的存储介质,其中:所述处理器配置为执行存储的可执行指令;
30.所述可执行指令配置为执行上述所提供的测试取证方法。
31.第五方面,本技术提供一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令配置为执行上述所提供的测试取证方法。
32.本技术提供的测试取证方法及模型训练方法、装置、设备、存储介质,由于对执行测试用例时的屏幕显示内容进行录屏,得到录屏视频;对录屏视频的每一视频帧进行内容识别,得到识别结果;当识别结果表明任一视频帧中包括取证内容时,对对应视频帧进行截图,得到取证图,如此,通过对录屏视频中的每一视频帧进行识别,将包括取证内容的视频帧截图保存,能够实现对测试整个过程中的输出和重要测试过程进行取证,实现自动化测
试取证,全程无需人工干预,从而提高测试效率。
33.在一些实施例中,通过对测试用例进行取证点标记,那么,在后续对测试用例对应的录屏视频进行分析时,可以将录屏视频中的每一视频帧在整个测试过程中的位置信息作为判断依据,对录屏视频进行截图取证,从而能够准确快速的确定要截图取证的视频帧,得到准确的取证图。
34.在一些实施例中,通过人工智能技术中的智能摘要提取技术,确定测试用例的名称和取证图的名称,从而无需测试人员人工干预,无需测试人员来对每一取证图进行依次命名,极大的提高了测试的效率,使得整个测试过程更加智能。
35.在一些实施例中,通过预先训练好的测试取证模型实现本技术的测试取证方法,在测试取证模型的训练过程中,由于将样本数据中的取证内容和测试用例的录屏视频,输入至特征提取模型;以及,将得到的第一特征向量和第二特征向量输入至相似度计算模型中;并将得到的相似度输入至预设损失模型中,根据损失函数得到损失结果,从而能够根据损失结果对特征提取模型和相似度计算模型进行修正,所得到的相似度计算模型能够准确的计算每一视频帧与所述取证内容之间的相似度,从而能够准确的确定出需要取证的视频帧,为测试取证过程提供取证准确的依据,实现自动化测试取证,全程无需人工干预,进而提高测试效率。
附图说明
36.在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。
37.图1是本技术实施例提供的测试取证方法的一个可选的流程示意图;
38.图2是本技术实施例提供的测试取证方法的一个可选的流程示意图;
39.图3是本技术实施例提供的测试取证方法的一个可选的流程示意图;
40.图4是本技术实施例提供的测试取证方法的一个可选的流程示意图;
41.图5是本技术实施例提供的测试取证方法的一个可选的流程示意图;
42.图6是本技术实施例提供的测试取证方法的一个可选的流程示意图;
43.图7是本技术实施例提供的测试取证模型的训练方法的流程示意图;
44.图8是本技术实施例提供的测试取证方法的一个可选的流程示意图;
45.图9是本技术实施例提供的测试取证方法的逻辑流程图;
46.图10是本技术实施例所提供的测试取证装置的组成结构示意图;
47.图11是本技术实施例所提供的测试取证设备的组成结构示意图。
具体实施方式
48.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术的具体技术方案做进一步详细描述。以下实施例用于说明本技术,但不用来限制本技术的范围。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本技术的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
49.本技术提供一种测试取证方法及模型训练方法、装置、设备、存储介质,通过对录屏视频中的每一视频帧进行内容识别,将包括取证内容的视频帧截图保存,能够实现对测试整个过程中的输出和重要测试过程进行取证,实现自动化测试取证,全程无需人工干预,从而提高测试效率。
50.本技术提供的方法涉及人工智能中的文本识别技术和模型训练过程,例如,采用人工智能技术实现训练测试取证模型。为了更好地理解本技术提供的方法,首先对人工智能、人工智能的各个分支,以及本技术提供的方法所涉及的应用领域进行说明。
51.人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
52.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。以下对各个方向分别进行说明。
53.计算机视觉技术(cv,computer vision)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、ocr、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
54.语音技术(speech technology)的关键技术有自动语音识别技术(asr,automatic speech recognition)和语音合成技术(tts,text to speech)以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
55.自然语言处理(nlp,nature language processing)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
56.机器学习(ml,machine learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。
机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。
57.随着人工智能技术的研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
58.本技术提供的方案可以涉及人工智能的计算机视觉、语音处理技术、自然语言处理技术以及机器学习/深度学习等至少一个技术,具体通过如下实施例进行说明。
59.图1是本技术实施例提供的测试取证方法的一个可选的流程示意图,如图1所示,所述方法包括以下步骤:
60.步骤s101,获取并执行待取证的测试用例。
61.这里,用户创建待取证的测试用例,并在终端上执行所述测试用例,其中,所述测试用例可以是实现任意一种功能的测试用例或是按照任意一种测试规范所创建的测试条目。本技术实施例中,所述待取证的测试用例可以包括一条,也可以包括多条。
62.步骤s102,对执行测试用例时的屏幕显示内容进行录屏,得到录屏视频。
63.这里,当开始执行所述测试用例时,启动录屏模块对屏幕显示内容进行录屏,得到所述录屏视频,所述录屏视频包括从开始执行所述测试用例至执行完所述测试用例的整个过程的屏幕显示内容。
64.步骤s103,将所述录屏视频的每一视频帧与取证内容进行对比,得到对比结果。
65.其中,步骤s103可以通过以下步骤实现:步骤s1031,对所述录屏视频的每一视频帧进行内容识别,得到识别结果;步骤s1032,将所述识别结果与所述取证内容进行对比,得到对应视频帧的所述对比结果。
66.这里,可以在完成测试用例得到完整的录屏视频之后,按照所述录屏视频中每一视频帧的播放顺序,依次对每一视频帧进行识别;也可以在执行测试用例并进行录屏的过程中,对当前录屏所得到的录屏视频的视频帧进行实时识别,得到识别结果,其中,当对录屏视频进行实时识别时,所述录屏视频可以是不包括完整的屏幕显示内容的视频。
67.本技术实施例中,可以采用人工智能技术对视频帧进行识别,或者通过机器学习的方法预先对识别录屏视频的识别模块进行训练,得到测试取证模型,然后,通过测试取证模型实现对录屏视频的每一视频帧进行识别,也就是说,可以将录屏视频输入至训练好的测试取证模型中,通过测试取证模型对每一视频帧进行识别,得到所述识别结果。所述识别结果用于表征所述录屏视频中的视频帧中是否包括取证内容。
68.步骤s104,根据所述对比结果,对对应视频帧进行取证操作。
69.其中,步骤s104可以通过以下步骤实现:步骤s1041,当所述对比结果表明对应视频帧中包括取证内容时,对所述对应视频帧进行截图,得到取证图;步骤s1042,存储所述取证图。
70.这里,所述取证内容可以是测试人员预设的文本内容、图片内容、格式内容和取证位置信息等任意一种待取证的信息。
71.本技术实施例中,在对视频帧进行识别时,首先确定视频帧中所包括的内容或者视频帧的属性信息,当所述视频帧中所包括的内容或者视频帧的属性信息与所述取证内容
对应时,则所得到的识别结果为该视频帧中包括取证内容。
72.当任一视频帧中包括取证内容时,则需要对该视频帧进行取证,本技术实施例中,可以通过截图的方式,对对应视频帧进行截图取证,得到取证图,以便于后续可以根据取证图进行测试过程或者测试结果的评估。
73.在一些实施例中,取证内容可以包括文本内容,举例来说,预设的文本内容可以为“测试结果为”,那么,当检测到任一视频帧中包括有与文本内容一致的文本信息时,则确定该视频帧中包括取证内容,需要对该视频帧进行取证。因此,对录屏视频播放到该视频帧时的屏幕播放内容进行截图,即对该视频帧进行截图,得到取证图。
74.在一些实施例中,取证内容可以包括图片内容,举例来说,可以预设一图片作为取证内容,那么,当检测到任一视频帧中包括有与预设的图片相同的图片时,则确定该视频帧中包括取证内容,需要对该视频帧进行取证。因此,对录屏视频播放到该视频帧时的屏幕播放内容进行截图,即对该视频帧进行截图,得到取证图。
75.在一些实施例中,取证内容可以包括格式内容,举例来说,可以预设特定的格式作为取证内容,那么,当检测到任一视频帧中的格式与所述特定的格式相同时,则确定该视频帧中包括取证内容,需要对该视频帧进行取证。因此,对录屏视频播放到该视频帧时的屏幕播放内容进行截图,即对该视频帧进行截图,得到取证图。
76.在一些实施例中,取证内容可以包括取证位置信息,举例来说,可以预设要取证的位置为测试用例输出中间变量时,那么,当检测到某一视频帧是执行测试用例输出中间变量的视频帧时,则确定该视频帧中包括取证内容,需要对该视频帧进行取证。因此,对录屏视频播放到该视频帧时的屏幕播放内容进行截图,即对该视频帧进行截图,得到取证图。
77.在一些实施例中,可以将取证图存储在预设的存储模块中,或者,按照预设保存方式将取证图保存至本地指定路径,或者,调用上传脚本将取证图上传至测试管理系统中。
78.本技术实施例提供的测试取证方法,由于对执行测试用例时的屏幕显示内容进行录屏,得到录屏视频;对录屏视频的每一视频帧进行识别,得到识别结果;当识别结果表明任一视频帧中包括取证内容时,对对应视频帧进行截图,得到取证图,如此,通过对录屏视频中的每一视频帧进行识别,将包括取证内容的视频帧截图保存,能够实现对测试整个过程中的输出和重要测试过程进行取证,实现自动化测试取证,全程无需人工干预,从而提高测试效率。
79.在一些实施例中,用于实现本技术实施例的测试取证方法的测试取证系统包括测试终端和服务器,测试终端用于实现对所述测试用例的测试过程,服务器用于实现本技术实施例的测试取证方法,图2是本技术实施例提供的测试取证方法的一个可选的流程示意图,如图2所示,所述方法包括以下步骤:
80.步骤s201,测试终端获取用户所创建的待取证的测试用例。
81.步骤s202,测试终端执行所述测试用例。
82.这里,测试终端在执行所述测试用例的过程中,会在测试终端的当前屏幕上显示测试用例的执行过程和执行结果。
83.步骤s203,服务器对执行所述测试用例时的屏幕显示内容进行录屏,得到录屏视频。
84.步骤s204,服务器对所述录屏视频的每一视频帧进行识别,得到识别结果。
85.步骤s205,当所述识别结果表明任一视频帧中包括取证内容时,服务器对对应视频帧进行截图,得到取证图。
86.步骤s206,服务器将所述取证图发送给测试终端。
87.步骤s207,测试终端存储所述取证图。
88.本技术实施例提供的测试取证方法,测试终端在执行测试用例的过程中,服务器对测试过程的屏幕显示内容进行录屏,得到录屏视频,并对录屏视频的每一视频帧进行识别,得到识别结果;当识别结果表明任一视频帧中包括取证内容时,对对应视频帧进行截图,得到取证图,如此,通过对测试终端执行测试用例的录屏视频中的每一视频帧进行识别,将包括取证内容的视频帧截图保存,能够实现对测试整个过程中的输出和重要测试过程进行取证,实现自动化测试取证,全程无需人工干预,从而提高测试效率。
89.基于图2,图3是本技术实施例提供的测试取证方法的一个可选的流程示意图,在一些实施例中,所述取证内容包括预设关键词,或者,所述取证内容包括预设截图。如图3所示,上述步骤s204可以通过以下步骤实现:
90.步骤s301,对所述录屏视频的每一视频帧中的文本进行识别,得到对应视频帧的关键词。
91.这里,可以采用人工智能技术中的文本识别技术对视频帧中的文本进行识别,得到对应视频帧的关键词。
92.步骤s302,根据所述关键词与所述预设关键词,确定所述识别结果。
93.这里,如果所述关键词与预设关键词相同,则识别结果表明视频帧中包括取证内容,则对对应视频帧进行截图;如果所述关键词与预设关键词不相同,则识别结果表明视频帧中不包括取证内容,则继续对下一帧视频帧进行识别。
94.请继续参照图3,在其他实施例中,上述步骤s204还可通过以下步骤实现:
95.步骤s303,将所述录屏视频的每一视频帧与所述预设截图进行匹配。
96.这里,在进行匹配时,可以是将视频帧中的部分图形与预设截图进行匹配,也可以是将视频帧的整个图形与预设截图进行匹配。
97.步骤s304,将匹配结果确定为所述识别结果。
98.这里,当所述录屏视频的任一视频帧的全部或部分图形与所述预设截图相匹配时,确定所述识别结果为所述视频帧中包括取证内容。
99.图4是本技术实施例提供的测试取证方法的一个可选的流程示意图,如图4所示,上述步骤s302中根据所述关键词与所述预设关键词,确定所述识别结果,可以通过以下步骤实现:
100.步骤s401,分别确定所述关键词对应的第一词向量、和所述预设关键词对应的第二词向量。
101.这里,可以在词向量库中查询所述关键词对应的第一词向量、所述预设关键词对应的第二词向量。
102.步骤s402,根据所述第一词向量和所述第二词向量,确定所述关键词与所述预设关键词之间的相似度。
103.这里,计算第一词向量和第二词向量之间的距离,将该距离确定为关键词与预设关键词之间的相似度。当该距离较大时,表明关键词与预设关键词之间的相似度较小;当该
距离较小时,表明关键词与预设关键词之间的相似度较大。
104.步骤s403,当所述相似度大于或等于相似度阈值时,确定所述识别结果为所述视频帧中包括取证内容。
105.这里,所述相似度阈值可以是测试人员预先在测试取证系统中设置的阈值,在确定出相似度之后,比较相似度与相似度阈值的大小,当相似度大于或等于相似度阈值时,确定识别结果为视频帧中包括取证内容。
106.需要说明的是,对于所述录屏视频中的全部视频帧,均可以采用本技术实施例计算相似度的方法,来确定每一视频帧对应的关键词的第一词向量与预设关键词的第二词向量之间的相似度。在一些实施例中,所述预设关键词的数量可以为一个或多个,当预设关键词为多个时,对于每一视频帧,可以将所述关键词与多个预设关键词中的每一个均进行比较,来确定相似度,也可以是一旦确定到关键词与任一预设关键词之间的相似度大于或等于相似度阈值时,即可直接将识别结果确定为所述视频帧中包括取证内容。
107.图5是本技术实施例提供的测试取证方法的一个可选的流程示意图,如图5所示,所述方法包括以下步骤:
108.步骤s501,获取为所述测试用例标记的取证点信息。
109.这里,所述取证点信息是用于标记取证位置的信息,所述取证点信息包括所述测试用例的运行位置。
110.步骤s502,获取并执行待取证的测试用例。
111.步骤s503,当检测到开始执行所述测试用例时,启动录屏模块对所述屏幕显示内容进行录屏,得到所述录屏视频。
112.这里,所述录屏模块可以是测试取证系统内部的录屏模块,也可以是运行测试用例的测试终端中自带的录屏功能。当录屏模块是测试终端中自带的录屏功能时,服务器在需要对执行测试用例的屏幕显示内容进行录屏时,能够调用测试终端上的录屏功能进行录屏,即用于实现测试取证的服务器具有调用测试终端上的录屏功能的权限。
113.步骤s504,对所述录屏视频的取证点信息进行识别,以判断每一视频帧中是否包括取证点信息。
114.这里,可以将录屏视频中的视频帧中的信息作为录屏视频的取证点信息,也可以将视频帧在整个测试过程中的位置信息作为录屏视频的取证点信息。
115.当判断结果为是时,则执行步骤s505;当判断结果为否时,则继续执行步骤s504,以实现循环对每一视频帧进行识别判断。
116.在一些实施例中,当当前所识别判断的视频帧为整个录屏视频的最后一帧视频帧时,如果此时判断结果为是,则执行步骤s505,如果此时判断结果为否,则结束流程。
117.步骤s505,当任一视频帧中包括所述取证点信息时,确定所述识别结果为对应视频帧中包括所述取证内容。
118.步骤s506,当所述识别结果表明任一视频帧中包括取证内容时,对对应视频帧进行截图,得到取证图。
119.步骤s507,存储所述取证图。
120.本技术实施例提供的测试取证方法,对测试用例进行取证点标记,那么,在后续对测试用例对应的录屏视频进行分析时,可以根据录屏视频中的每一视频帧在整个测试过程
中的位置信息作为判断依据,对录屏视频进行截图取证,能够准确快速的确定要截图取证的视频帧,得到准确的取证图。
121.图6是本技术实施例提供的测试取证方法的一个可选的流程示意图,如图6所示,所述方法包括以下步骤:
122.步骤s601,获取并执行待取证的测试用例。
123.步骤s602,对执行测试用例时的屏幕显示内容进行录屏,得到录屏视频。
124.步骤s603,通过对所述测试用例的描述信息进行信息提取,得到所述测试用例的关键词。
125.步骤s604,根据所述测试用例的关键词,确定所述测试用例的名称。
126.这里,所述测试用例的关键词是通过对所述测试用例的摘要信息进行关键信息提取所得到,例如,可以采用人工智能技术中的智能摘要提取技术,确定测试用例的关键词。本技术实施例中,可以将测试用例的关键词直接确定为测试用例的名称,或者根据测试用例的关键词构造测试用例的名称。
127.步骤s605,对所述录屏视频的每一视频帧进行识别,得到识别结果。
128.步骤s606,当所述识别结果表明任一视频帧中包括取证内容时,对对应视频帧进行截图,得到取证图。
129.步骤s607,通过对取证图进行文本信息提取,得到取证图的关键词。
130.这里,通过对取证图中的文本信息进行提取,然后基于所提取的文本信息进行关键信息提取,例如,也可以采用人工智能技术中的智能摘要提取技术,确定所述文本信息对应的关键词,并将该关键词作为取证图的关键词。
131.步骤s608,通过对所述取证图在所述测试用例中对应的取证断点的描述信息进行信息提取,得到所述取证图的关键词。
132.这里,由于在每一取证断点处对应有测试用例的描述信息,即在每一测试用例执行完成时的输出位置对应有测试用例预设的描述信息,因此,可以对该描述信息进行信息提取,得到对应于当前取证断点的关键词,并将该取证断点的关键词作为该取证断点处的取证图的关键词。本技术实施例中,也可以采用人工智能技术中的智能摘要提取技术对取证断点处的描述信息进行关键信息提取,得到取证图的关键词。
133.步骤s609,根据所述取证图的关键词,确定所述取证图的名称。
134.这里,在得到取证图的关键词之后,可以将取证图的关键词直接确定为取证图的名称,或者根据取证图的关键词构造取证图的名称。
135.步骤s610,存储所述取证图。
136.本技术实施例提供的测试取证方法,通过人工智能技术中的智能摘要提取技术,确定测试用例的名称和取证图的名称,从而无需测试人员人工干预,无需测试人员来对每一取证图进行依次命名,极大的提高了测试的效率,使得整个测试过程更加智能。
137.在一些实施例中,还可以采用训练好的测试取证模型实现本技术实施例的测试取证方法,也就是说,采用测试取证模型,对所述录屏视频的每一视频帧进行识别,得到识别结果;并当所述识别结果表明任一视频帧中包括取证内容时,对对应视频帧进行截图,得到所述取证图。其中,测试取证模型包括特征提取模型和相似度计算模型,特征提取模型用于对取证内容和测试用例的录屏视频分别进行特征提取,对应得到所述取证内容对应的第一
特征向量、和所述录屏视频的每一视频帧对应的第二特征向量;相似度计算模型用于根据第一特征向量和每一第二特征向量,确定每一视频帧与所述取证内容之间的相似度。
138.这里,提供一种测试取证模型的训练方法,如图7所示,是本技术实施例提供的测试取证模型的训练方法的流程示意图,所述方法包括:
139.步骤s701,将样本数据中的取证内容和测试用例的录屏视频,分别输入至特征提取模型,对应得到所述取证内容对应的第一特征向量、和所述录屏视频的每一视频帧对应的第二特征向量。
140.这里,样本数据包括:取证内容和测试用例的录屏视频。特征提取模型用于对取证内容和测试用例的录屏视频分别进行特征提取,对应得到取证内容对应的第一特征向量、和所述录屏视频的每一视频帧对应的第二特征向量。
141.需要说明的是,所述录屏视频包括至少一帧视频帧,通过所述特征提取模型可以提取到所述录屏视频的每一视频帧的第二特征向量,也就是说,所述第二特征向量的数量与所述视频帧的数量对应,所述特征提取模块输出的第二特征向量为至少一个。
142.步骤s702,将所述第一特征向量和所述第二特征向量输入至相似度计算模型中,得到每一视频帧与所述取证内容之间的相似度。
143.这里,相似度计算模型用于根据第一特征向量和第二特征向量,计算第一特征向量和第二特征向量之间的距离,将该距离确定为视频帧与取证内容之间的相似度。当所计算的距离较大时,则视频帧与取证内容之间的相似度越小,当所计算的距离较小时,则视频帧与取证内容之间的相似度越大。
144.本技术实施例中,通过相似度计算模型计算第一特征向量与每一第二特征向量之间的相似度,即每一视频帧与取证内容之间的相似度,那么,由于第二特征向量的数量为至少一个,因此相似度计算模型输出的相似度也为至少一个。
145.步骤s703,将满足相似度条件的视频帧在所述测试用例中的位置,输入至预设损失模型中,得到损失结果。
146.这里,预设损失模型用于将每一视频帧与取证内容之间的相似度,与预设的相似度进行比较,得到损失结果。当然,由于每一视频帧与取证内容之间的相似度,即是第一特征向量与第二特征向量之间的距离,因此,预设损失模型也可以用于将第一特征向量和第二特征向量之间的距离,与预设的距离值进行比较,得到损失结果。
147.预设损失模型中包括损失函数,通过损失函数可以计算第一特征向量和第二特征向量之间的距离与预设的距离值之间的距离差值,或者计算每一视频帧与取证内容之间的相似度与预设的相似度之间的距离差值,并将距离差值确定为上述损失结果。
148.步骤s704,根据所述损失结果,对所述特征提取模型和所述相似度计算模型进行修正,得到所述测试取证模型。
149.这里,当上述距离差值大于预设损失阈值时,则损失结果表明当前的测试取证模型中的相似度计算模型,不能准确的确定每一视频帧与取证内容之间的相似度,或者特征提取模型不能对取证内容和测试用例的录屏视频进行准确的特征提取。因此,需要对当前的测试取证模型进行修正,则可以根据上述距离差值,对特征提取模型和相似度计算模型进行修正,直至相似度模型输出的每一视频帧与取证内容之间的相似度,与预设的相似度之间的距离差值满足预设条件时,将对应的测试取证模型确定为训练好的测试取证模型。
150.本技术实施例提供的测试取证模型的训练方法,由于将样本数据中的取证内容和测试用例的录屏视频,输入至特征提取模型,对应得到取证内容对应的第一特征向量、和录屏视频的每一视频帧对应的第二特征向量;以及,将第一特征向量和第二特征向量输入至相似度计算模型中,得到每一视频帧与所述取证内容之间的相似度;并将相似度输入至预设损失模型中,根据损失函数得到损失结果,从而能够根据损失结果对特征提取模型和相似度计算模型进行修正,所得到的相似度计算模型能够准确的计算每一视频帧与所述取证内容之间的相似度,从而能够准确的确定出需要取证的视频帧,为测试取证过程提供取证准确的依据,实现自动化测试取证,全程无需人工干预,进而提高测试效率。
151.下面,将说明本技术实施例在一个实际的应用场景中的示例性应用。
152.本技术实施例提供一种软件测试取证流程自动化方法(即测试取证方法),能够全自动实现截图,无需人工干预,也不会出现返工;并且,与测试系统对接,能够依据测试用例描述,智能命名截图,并自动将截图上传到指定位置;同时,满足全软件测试场景需求,能够应对中间输出的捕获需求,不会产生遗漏,也不需要返工。
153.图8是本技术实施例提供的测试取证方法的一个可选的流程示意图,如图8所示,包括以下步骤:
154.步骤s801,创建测试用例。
155.步骤s802,为测试用例标记取证点。
156.步骤s803,启动录屏模块开始录屏,同时自动化测试框架自动按照用例顺序开始执行测试用例。
157.步骤s804,当一个测试用例执行结束,录屏模块将当前录像保存,并依据测试用例描述提取第一关键字,自动命名视频片段。
158.这里,依据测试用例描述提取第一关键字,可以使用人工智能自动摘要技术进行第一关键字的提取。
159.步骤s805,识别模块后台处理视频片段,当出现需要取证的内容时,自动截图。
160.这里,需要取证的内容可以通过关键词定义,也可以通过机器学习的方式进行训练。其中,通过机器学习的方式训练识别模块,指的是用以往测试报告中同类测试用例的截图对识别模块进行训练。
161.步骤s806,识别模块依据取证断点所关联的测试用例描述,提取第二关键字作为截图的文件名,并按照预设保存方式将截图保存至本地指定路径,或是调用上传脚本将截图上传至测试管理系统中。
162.这里,依据测试用例描述提取第二关键字,可以使用人工智能自动摘要技术进行第二关键字的提取。
163.下面结合逻辑流程图对本技术实施例的方法作进一步详细说明。
164.图9是本技术实施例提供的测试取证方法的逻辑流程图,如图9所示,测试取证方法包括预准备阶段和测试阶段,其中,在预准备阶段,包括以下步骤:
165.步骤s901,测试人员提供取证训练素材。
166.步骤s902,测试人员创建测试用例。
167.步骤s903,测试人员为测试用例标记取证点,并添加取证描述。
168.步骤s904,识别模块使用取证训练素材训练识别模块。
169.步骤s905,存储模块读取测试用例并自动生成摘要。
170.步骤s906,录屏模块获取测试用例的摘要。
171.步骤s907,识别模块获取测试用例的摘要。
172.步骤s908,识别模块获取取证点。
173.在测试阶段,包括以下步骤:
174.步骤s909,开始测试,测试人员按照顺序依次执行测试用例。
175.步骤s910,在当前测试用例执行完成时,判断是否还有测试用例未执行。
176.当判断结果为是时,则返回继续执行步骤s909,当判断结果为否时,则结束测试流程。
177.步骤s911,在开始测试之后,录屏模块启动,实现录屏。
178.步骤s912,录屏模块获取摘要,并保存视频。
179.步骤s913,识别模块依据取证点要求,分析视频,并自动截图。
180.步骤s914,存储模块依据测试用例摘要命名截图。
181.步骤s915,存储模块调用脚本上传截图或将截图保存于指定位置。
182.步骤s916,输出测试结果与取证材料。
183.为了更好地理解本技术实施例,以下是本技术的一种实施例。现需要对分布式存储系统(ceph)集群进行测试,证明ceph集群的三副本策略生效。其测试用例包括如下表1所示,测试人员手工添加了取证点。
184.表1对ceph集群进行测试的测试用例
[0185][0186]
本技术实施例中,测试用例在测试集管理软件(testrail)中创建,并将测试用例导出为字符分隔值(csv,comma separated values)格式,例如ceph.csv。
[0187]
测试人员执行自动化测试框架,开始测试,此时录屏模块会自动启动,并对屏幕进行全程录像。当前测试用例运行完成后,录屏模块将当前视频片段提取出来,进行保存。保
存时,视频的文件名采用测试用例描述提取出的关键词进行命名。例如,将“写入一个对象:调用脚本写入一个对象,对象大小为4kb,此时集群状态应发生变化,对象数增加3”的摘要确定为“写入对象后对象增加”,另外,对截图处理后所截取的截图,可以将截图命名为“写入对象后增加.mp4”,保存在本地指定目录“d:\190801测试”中。
[0188]
识别模块采用后台工作方式,通过计算机视觉手段分析录屏视频,当遇到取证点时,识别模块自动截图,并保存截图。例如,当捕获器“看到”集群状态中对象数目发生了变化,且变化后预设时长之内(例如,1s)不再变化,则自动调用windows系统的截图功能进行截图,并将截图从系统缓存中拷贝出来,发送给存储模块。由于需要进行前后对比,此时显然会产生两幅截图。
[0189]
存储模块接收到截图后,根据测试用例描述自动提取摘要,将“写入一个对象:调用脚本写入一个对象,对象大小为4kb,此时集群状态应发生变化,对象数增加3”的摘要确定为“写入对象”,并将截图分别命名为“1-写入对象前.jpg”与“2-写入对象后.jpg”,保存在本地指定目录“d:\190801测试”中。
[0190]
通过上述方法,测试取证过程不再需要在过程中进行人工干预,结合自动化测试框架,例如开源软件项目(jenkins),可以实现测试与取证的全自动。
[0191]
本技术实施例通过将计算机视觉技术与人工智能结合的方式,实现了自动化测试取证过程。本技术的核心创新点包括:对测试用例取证点标记,取证内容的训练,是本技术人工智能应用的体现,是区别于相关技术的一个关键点;识别模块对测试的录屏视频进行智能截图,是本技术人工智能应用的体现;应用智能摘要的方式自动命名测试视频与截图,是本发明的核心创新点之一,也是人工智能应用的体现。
[0192]
本技术实施例提供的测试取证方法,全自动取证,无需人工干预,也不会出现返工,极大地提高效率,降低人力投入;并且,能够依据测试用例描述,智能命名录屏视频与截图,并自动上传或保存到指定位置;同时,满足全软件测试场景需求,能够应对中间输出这类复杂场景的取证需求。
[0193]
基于前述的实施例,本技术实施例提供一种测试取证装置,该装置包括所包括的各模块、以及各模块所包括的各部件,可以通过测试取证设备中的处理器来实现;当然也可通过逻辑电路实现;在实施的过程中,处理器可以为中央处理器(cpu,central processing unit)、微处理器(mpu,micro processor unit)、数字信号处理器(dsp,demand side platform)或现场可编程门阵列(fpga,field-programmable gate array)等。
[0194]
图10是本技术实施例所提供的测试取证装置的组成结构示意图,如图10所示,该测试取证装置1000包括:
[0195]
获取模块1001,用于获取并执行待取证的测试用例;
[0196]
录屏模块1002,用于对执行所述测试用例时的屏幕显示内容进行录屏,得到录屏视频;
[0197]
对比模块1003,用于将所述录屏视频的每一视频帧与取证内容进行对比,得到对比结果;
[0198]
取证操作模块1004,用于根据所述对比结果,对对应视频帧进行取证操作。
[0199]
在一些实施例中,所述对比模块还用于对所述录屏视频的每一视频帧进行内容识别,得到识别结果;将所述识别结果与所述取证内容进行对比,得到对应视频帧的所述对比
结果。
[0200]
在一些实施例中,所述取证操作模块还用于当所述对比结果表明对应视频帧中包括取证内容时,对所述对应视频帧进行截图,得到取证图;存储所述取证图。
[0201]
在一些实施例中,所述取证内容包括预设关键词;所述对比模块还用于:对所述录屏视频的每一视频帧中的文本进行内容识别,得到对应视频帧的关键词;根据所述关键词与所述预设关键词,确定所述识别结果。
[0202]
在一些实施例中,所述对比模块还用于:分别确定所述关键词对应的第一词向量、和所述预设关键词对应的第二词向量;根据所述第一词向量和所述第二词向量,确定所述关键词与所述预设关键词之间的相似度;当所述相似度大于或等于相似度阈值时,确定所述识别结果为所述视频帧中包括取证内容。
[0203]
在一些实施例中,所述取证内容包括预设截图;所述对比模块还用于:将所述录屏视频的每一视频帧与所述预设截图进行匹配;将匹配结果确定为所述识别结果;对应地,当所述录屏视频的任一视频帧的全部或部分图形与所述预设截图相匹配时,确定所述识别结果为所述视频帧中包括取证内容。
[0204]
在一些实施例中,所述录屏模块还用于:当检测到开始执行所述测试用例时,启动录屏模块对所述屏幕显示内容进行录屏,得到所述录屏视频。
[0205]
在一些实施例中,所述装置还包括:第二获取模块,用于获取为所述测试用例标记的取证点信息;对应地,所述对比模块还用于:对所述录屏视频的取证点信息进行内容识别,当识别到任一视频帧中包括所述取证点信息时,确定所述识别结果为对应视频帧中包括所述取证内容。
[0206]
在一些实施例中,所述装置还包括:第一信息提取模块,用于在得到所述录屏视频之后,通过对所述测试用例的描述信息进行信息提取,得到所述测试用例的关键词;第一确定模块,用于根据所述测试用例的关键词,确定所述测试用例的名称。
[0207]
在一些实施例中,所述装置还包括:第二信息提取模块,用于在对对应视频帧进行截图,得到取证图之后,通过对所述取证图进行文本信息提取,或者通过对所述取证图在所述测试用例中对应的取证断点的描述信息进行信息提取,得到所述取证图的关键词;第二确定模块,用于根据所述取证图的关键词,确定所述取证图的名称。
[0208]
在一些实施例中,所述装置还包括处理模块,用于采用测试取证模型,对所述录屏视频的每一视频帧进行内容识别,得到识别结果;并当所述识别结果表明任一视频帧中包括取证内容时,对对应视频帧进行截图,得到所述取证图。
[0209]
在其他实施例中,再提供一种测试取证模型的训练装置,包括:
[0210]
第一输入模块,用于将样本数据中的取证内容和测试用例的录屏视频,分别输入至特征提取模型,对应得到所述取证内容对应的第一特征向量、和所述录屏视频的每一视频帧对应的第二特征向量;
[0211]
第二输入模块,用于将所述第一特征向量和所述第二特征向量输入至相似度计算模型中,得到每一视频帧与所述取证内容之间的相似度;
[0212]
第三输入模块,用于将满足相似度条件的视频帧在所述测试用例中的位置,输入至预设损失模型中,得到损失结果;
[0213]
修正模块,用于根据所述损失结果,对所述特征提取模型和所述相似度计算模型
进行修正,得到所述测试取证模型。
[0214]
需要说明的是,本技术实施例中,如果以软件功能模块的形式实现上述的测试取证方法或测试取证模型的训练方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read only memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本技术实施例不限制于任何特定的硬件和软件结合。
[0215]
对应的,本技术实施例提供一种测试取证设备,图11是本技术实施例所提供的测试取证设备的组成结构示意图,如图11所示,所述测试取证设备1100至少包括:处理器1101、通信接口1102和配置为存储可执行指令的存储介质1103,其中:处理器1101通常控制所述测试取证设备1100的总体操作。
[0216]
通信接口1102可以使测试取证设备通过网络与其他终端或服务器通信。
[0217]
存储介质1103配置为存储由处理器1101可执行的指令和应用,还可以缓存待处理器1101和测试取证设备1100中各模块待处理或已处理的数据,可以通过闪存(flash)或随机访问存储器(ram,random access memory)实现。
[0218]
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0219]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0220]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器、磁碟或者
光盘等各种可以存储程序代码的介质。或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
[0221]
以上所述,仅为本发明的实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
再多了解一些

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

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

相关文献