一种基于神经网络的自动化测试方法技术

技术编号:31087028 阅读:10 留言:0更新日期:2021-12-01 12:42
本发明专利技术针对软件测试领域中的自动化测试问题,提出了一个基于神经网络的自动化测试方法,通过对已有的测试视频进行分类和光标的目标追踪,可以编写一个能自动进行软件测试的测试软件,并且拥有自我优化功能,实现正确的自动测试功能,当测试过程中发生意外阻断时,也能快速恢复到上次的关联测试部分,进行后续操作。作。作。

【技术实现步骤摘要】
一种基于神经网络的自动化测试方法


[0001]本专利技术属于神经网络
,具体是涉及到通过CNN+RNN神经网络,实现对视频分类,进行软件自动化测试的设备。

技术介绍

[0002]在当前的软件测试领域,自动化测试已成为系统测试发展的主流。现在许多国内外的计算机公司都已经开发了属于自己的自动化测试软件用于对产品的自动化测试。然而现在的自动化测试软件,只能针对某类或某几类特殊产品或功能进行自动化测试,如果需要进行其他产品或功能进行测试,就需要程序员对软件进行修改。特别在面对同一套软件系统在不同部门的正确设计测试时,因为不同的部门的编程水平和设计理念不同,对于同一套软件系统的设计也会不一样,这时候如果还是依靠程序员编写测试脚本或者人工测试的方式,效率会非常低下,成本也较高。
[0003]视频可以被视为由大量图像按时间顺序排列而成的帧序列。而对于图像的分类,现在主流是采用CNN卷积神经网络进行分类,又因为这些图像是按照时间顺序进行排列,因此可以加入RNN循环神经网络对时间序列的特征提取。采用CNN+RNN的方式,可以对视频进行分类。
[0004]专利技术专利CN201710928075.X软件测试方法、装置、设备和计算机存储介质,公开了一种软件测试方法,软件测试方法包括以下步骤:当检测到软件测试请求时,根据软件测试请求显示软件测试任务单,以供测试人员输入测试信息;根据测试信息确定测试任务,并根据测试任务调用预置测试原子库中的测试原子,并配置形成测试原子集合;当检测到软件测试的执行指令时,根据测试信息中的执行参数调用并执行测试原子集合中的测试原子,以完成软件测试的原子操作。这项专利技术还公开了一种软件测试装置、设备和计算机存储介质。这项专利技术旨在利用原子操作降低软件测试的成本,提高软件测试的效率避免人为操作导致的误差。这项专利技术主要还是依靠人工进行测试,效率低、成本高。
[0005]当前在软件测试领域,主要还是依靠针对不同测试项目编写不同的测试脚本或者直接进行人工测试的方式对软件界面和功能进行测试。随着软件功能的增加或是新软件项目的增加,测试工作就会变得非常繁琐和困难。为了避免降低测试人员的工作强度,提高测试效率,设计一种自动化测试方法是非常有必要的。神经网络作为深度学习的核心,在人工智能领域发挥着重要作用。通过构建神经网络模型,可以让计算机完成一些人类才能完成的工作。在软件测试领域,可以从视频分类和目标追踪角度出发,编写测试软件和神经网络模型,让测试软件追踪已有的测试项目的测试视频,自动完成软件的测试。

技术实现思路

[0006]一种基于神经网络的自动化测试方法,其特征在于,所述方法包括:
[0007]根据提前录制人工测试软件示范的视频,作为深度学习训练语料,获取每次测试时需要打开的软件界面以及软件测试顺序;将录制好的视频放入神经网络中训练,根据打
开的界面获取句柄;根据对SeleniumIDE底层源码的改写,使其具备测试软件的基础功能;根据视频获取鼠标需自动点击的位置参数,根据鼠标自动点击的位置,自动输入测试语句;当输入的测试语句获取的信息错误时,搜索后续的测试语句进行测试;当所有测试语句都获取信息错误时,变化自动点击位置,重新输入;当测试过程被意外阻断时,记录已经测试的内容,在下次测试时,自动测试曾经测试成功的内容,恢复到上次的关联测试部分,并继续进行后续的测试;根据视频测试项目标签与测试项目名称对比,对视频分类模型进行优化和更新。
[0008]进一步可选地,其中,所述根据提前录制人工测试软件示范的视频,作为深度学习训练语料,获取每次测试时需要打开的软件界面以及软件测试顺序,包括:
[0009]进行测试前,记录好进行的测试项目名称;同一软件的测试视频,以编号加名称为命名储存至以该软件命名的文件夹中。
[0010]进一步可选地,如上所述的方法中,所述将录制好的视频放入神经网络中训练,根据打开的界面获取句柄,包括:
[0011]视频放入下载训练好的神经网络中,获取每一帧的画面图像,用于后续操作;当测试软件获取信息错误时,根据软件界面句柄,将软件界面回退到变化前的界面,以及用于保存视频元素时的软件操作方式。
[0012]进一步可选地,如上所述的方法中,所述根据对SeleniumIDE底层源码的改写,使其具备测试软件的基础功能,包括:
[0013]通过对SeleniumIDE底层源码改写,实现软件驱动呵呵测试脚本的改写,具备模拟鼠标的移动,鼠标进行单击、双击操作,键盘输入文本的操作。
[0014]进一步可选地,如上所述的方法中,所述根据视频获取鼠标需自动点击的位置参数,根据鼠标自动点击的位置,自动输入测试语句,包括:
[0015]通过将图像颜色空间转换为HSV颜色空间,调整HSV阈值范围为白色,找到鼠标光标位置;根据鼠标光标位置,依次自动模拟测试软件基础功能。
[0016]进一步可选地,如上所述的方法中,所述当输入的测试语句获取的信息错误时,搜索后续的测试语句进行测试,包括:
[0017]根据找到鼠标光标位置,依次进行鼠标单击、双击,键盘输入文本的操作;其中在视频识别文本时,逐个字识别,依次进行操作,直到软件界面与视频画面相似。
[0018]进一步可选地,如上所述的方法中,所述当所有测试语句都获取信息错误时,变化自动点击位置,重新输入,包括:
[0019]当所有测试语句都失效时,判定视频中软件部分按钮与当前测试软件的按钮位置不一致;通过逐一对按钮进行测试语句的操作,直到软件界面与视频画面相似。
[0020]进一步可选地,如上所述的方法中,所述当测试过程被意外阻断时,记录已经测试的内容,在下次测试时,自动测试曾经测试成功的内容,恢复到上次的关联测试部分,并继续进行后续的测试,包括:
[0021]所述记录已经测试的内容包含:鼠标位置,评测方式以及测试语句;通过记录的内容,可以使机器快速操作,恢复到上次的关联测试部分。
[0022]进一步可选地,如上所述的方法中,所述根据视频测试项目标签与测试项目名称对比,对视频分类模型进行优化和更新,包括:
[0023]视频项目标签与测试项目名称对比,通过神经网络,对标签与名称不一致的视频重新进行训练,得到真实匹配的视频分类标签。
[0024]本专利技术实施提供的技术方案可以包括以下有益效果:
[0025]本专利技术针对软件测试领域中的自动化测试问题,提出了一个基于神经网络的自动化测试方法,通过对已有的测试视频进行分类和光标的目标追踪,可以编写一个能自动进行软件测试的测试软件,并且拥有自我优化功能,实现正确的自动测试功能,当测试过程中发生意外阻断时,也能快速恢复到上次的关联测试部分,进行后续操作。
附图说明
[0026]图1是根据本专利技术实施例的一种基于神经网络的自动化测试方法的流程示意图;
具体实施方式
[0027]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于神经网络的自动化测试方法,其特征在于,所述方法包括:根据提前录制人工测试软件示范的视频,作为深度学习训练语料,获取每次测试时需要打开的软件界面以及软件测试顺序;将录制好的视频放入神经网络中训练,根据打开的界面获取句柄;根据对SeleniumIDE底层源码的改写,使其具备测试软件的基础功能;根据视频获取鼠标需自动点击的位置参数,根据鼠标自动点击的位置,自动输入测试语句;当输入的测试语句获取的信息错误时,搜索后续的测试语句进行测试;当所有测试语句都获取信息错误时,变化自动点击位置,重新输入;当测试过程被意外阻断时,记录已经测试的内容,在下次测试时,自动测试曾经测试成功的内容,恢复到上次的关联测试部分,并继续进行后续的测试;根据视频测试项目标签与测试项目名称对比,对视频分类模型进行优化和更新。2.根据权利要求1所述的方法,其中,所述根据提前录制人工测试软件示范的视频,作为深度学习训练语料,获取每次测试时需要打开的软件界面以及软件测试顺序,包括:进行测试前,记录好进行的测试项目名称;同一软件的测试视频,以编号加名称为命名储存至以该软件命名的文件夹中。3.根据权利要求1所述的方法,其中,所述将录制好的视频放入神经网络中训练,根据打开的界面获取句柄,包括:视频放入下载训练好的神经网络中,获取每一帧的画面图像,用于后续操作;当测试软件获取信息错误时,根据软件界面句柄,将软件界面回退到变化前的界面,以及用于保存视频元素时的软件操作方式。4.根据权利要求1所述的方法,其中,所述根据对SeleniumIDE底层源码的改写,使其具备测试软件的基础功能,包括:通过对SeleniumIDE底层源码改写...

【专利技术属性】
技术研发人员:才华
申请(专利权)人:广东南方信息安全研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1