基于图像识别技术的软件自动测试方法和系统与流程

文档序号:29224493发布日期:2022-03-12 12:55阅读:315来源:国知局
基于图像识别技术的软件自动测试方法和系统与流程

1.本技术涉及测试技术和图像识别技术,特别是一种基于图像识别技术的软件自动测试系统和方法。


背景技术:

2.软件自动化测试,通常通过人工录制脚本,然后基于图像技术对人工操作进行还原,从而实现对待测软件进行重复测试的目的。通过这样的测试,当录制的脚本无法执行时,说明软件出现错误,这样就可以抓取相关的画面或者日志,从而帮助测试者定位错误。
3.然而,在部分的软件测试中,涉及到设备之间的物理连接。例如,手机与计算机互联的软件,其测试涉及到硬件插拔连接的工况。现有技术一般仅针对软件实施,无法协同测试硬件导致的工况。部分软件可以模拟usb等接头插拔的功能,无法自动模拟硬件的物理特性。


技术实现要素:

4.本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种基于图像识别技术的软件自动测试系统和方法,以便捷地模拟硬件插头的物理特性。
5.一方面,本技术实施例提供了一种基于图像识别技术的软件自动测试系统,包括:
6.usb连接模块,包括第一usb插头、通断控制模块、第二usb插头和第三usb 插头,其中,所述第一usb插头和所述第二usb插头通过所述通断控制模块连接,所述通断控制模块根据来自于第三usb插头的指令控制第一usb插头和第二usb插头各引脚之间的连接状态;
7.测试模块,用于显示待测软件运行区域和usb连接模块操作区域,以及用于根据针对所述显示待测软件运行区域和所述usb连接模块操作区域的操作指令录制脚本,以及用于回放所述脚本;
8.其中,所述usb连接模块操作区域用于通过所述第三usb插头控制所述通断控制模块。
9.在部分实施例中,所述usb连接模块操作区域配置有若干个控制状态按钮,每个状态控制按钮对应于通断控制模块的一种状态切换动作。
10.在部分实施例中,所述通断控制模块包括多个可控开关、处理器和存储器;
11.所述测试模块还用于将状态切换动作的配置信息录入所述存储器;
12.所述存储器设置有各状态切换动作的索引表,所述处理器根据测试模块发送的指令,从所述索引表中查找对应的状态切换动作的配置信息,并控制所述通断控制模块执行对应的状态切换动作。
13.在部分实施例中,所述配置信息包括所述通断控制模块各单元的控制时序信息;
14.在配置状态下,所述测试模块还用于显示配置界面,所述配置界面中显示各组引脚的时序图,并根据针对时序图的操作指令确定配置信息。
15.在部分实施例中,所述时序图的横坐标为时间,所述横坐标单位长度表示的时长
针对标尺选择栏的操作指令确定。
16.在部分实施例中,所述测试模块录制脚本时,记录鼠标的点击操作、键盘的快捷键操作,以及各操作对应的画面截图;
17.测试模块在回放脚本时,根据当前识别到的画面截图,执行对应的操作。
18.在部分实施例中,所述存储器包括默认分区和多个自定义分区,所述默认分区中存放有预设的状态切换动作的配置信息,所述自定义分区中存放自定义的状态切换动作的配置信息;
19.其中,所述测试模块根据登录账号读取对应自定义分区中的配置信息。
20.在部分实施例中,所述配置模块根据读取到的配置信息在所述usb连接模块操作区域显示控制状态按钮;
21.其中,所述状态控制按钮包括自定义分区中配置信息对应的第一状态控制按钮与默认分区中配置信息对应的第二状态控制按钮。
22.在部分实施例中,所述第一状态控制按钮与第二状态控制按钮的顺序默认为第一状态控制按钮优先于所述第二状态控制按钮显示。
23.另一方面,本技术实施例提供了一种基于图像识别技术的软件自动测试方法,通过所述的基于图像识别技术的软件自动测试系统实现,包括以下步骤:
24.将所述usb连接模块的第一usb插头连接第一设备,将第二usb插头和第三 usb插头连接第二设备,其中,第二设备上运行有测试模块,测试模块中运行有待测软件;
25.录制脚本;所述脚本中包括针对待测软件运行区域和usb连接模块操作区域的操作,针对usb连接模块操作区域的操作触发所述通断控制模块切换状态,以模拟usb物理变化状态;
26.回放所述脚本,以完成测试。
27.本技术实施例通过设置usb连接模块,其包括第一usb插头、通断控制模块、第二usb插头和第三usb插头,用户可以在录制脚本的时候通过usb连接模块模拟usb接口的物理状态变化;并且,本实施例的测试模块通过录制usb连接模块的操作区域,将软件测试的操作录制和硬件控制的录制一体化进行,不需要额外配置相关的程序,也无需手动进行插拔,其自动化程度更高,更加方便,从而增加了测试的效率和减少认为因素的引入,提升了测试的质量。
附图说明
28.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.图1是本技术实施例提供的一种usb连接模块的模块框图;
30.图2是本技术实施例提供的一种测试模块的界面示意图;
31.图3是本技术实施例提供的一种测试模块的配置界面示意图。
具体实施方式
32.为使本技术的目的、技术方案和优点更加清楚,以下将参照本技术实施例中的附图,通过实施方式清楚、完整地描述本技术的技术方案,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
33.关于软件自动测试,通常基于脚本录制的方式来完成重复性测试,并在重复性测试中通过获取软件日志或者截图等方式识别出软件测试过程中呈现的bug。
34.参照图1和图2,本实施例公开了一种基于图像识别技术的软件自动测试系统,包括usb连接模块和测试模块。
35.usb连接模块,包括第一usb插头、通断控制模块、第二usb插头和第三usb 插头,其中,所述第一usb插头和所述第二usb插头通过所述通断控制模块连接,所述通断控制模块根据来自于第三usb插头的指令控制第一usb插头和第二usb插头各引脚之间的连接状态。其中,所述usb连接模块操作区域用于通过所述第三usb插头控制所述通断控制模块。
36.需要理解的是,usb连接模块是硬件模块,其包括三个usb插头,这些usb 插头根据需要可以配置成usb-type-a、usb-type-b或者usb-type-c。其中,一般均采用公头。在本实施例中,usb连接模块还包括一个用于改变第一usb插头和第二usb插头之间的连接状态的通断控制模块。需要理解的是,第一usb插头和第二usb插头各引脚是按照一般usb数据线的连接方式所对应连接的。在本实施例中的通断控制模块用于控制各线路的通断,那么意味着,如果第一usb 插头和第二usb插头采用的是四线制,则通断控制模块则需要四个模拟开关来控制四根电线的通断状态。当然,并不是必须为每个电线设置一个开关,开关的数量也可以少于线缆的数量。一般情况下,第一usb插头用于连接诸如手机等下位机,第二usb插头和第二usb插头用于连接诸如计算机等上位机。在某些场景下,待测软件可以是手机管理软件,此时,在测试与手机通信有关的功能时,需要模拟手机从物理上中断连接等情况下,软件的功能响应。
37.测试模块,用于显示待测软件运行区域和usb连接模块操作区域,以及用于根据针对所述显示待测软件运行区域和所述usb连接模块操作区域的操作指令录制脚本,以及用于回放所述脚本。
38.在本实施例中,测试模块可以是运行在计算机上的软件模块,如图2所示, usb连接模块操作区域100和显示待测软件运行区域200均为脚本录制的区域。那么意味着,在录制脚本时,用户可以通过快捷键或者鼠标点击的方式触发预先设置好的usb线路状态切换。可以有选择性地模拟断开usb连接中的全部或者部分若干个电线,从而仿真物理性能。需要理解的是,这一过程经过脚本的录制,可以通过软件直接完成回放,而无需在回放过程中另外设置软件来模拟 usb故障(或者称作物理状态变化)。这一方式方便了软件的测试,用户无需担心在模拟usb故障的时候如何处理同步问题,因为相关的模拟动作通过脚本录制的方式录入了用于回放测试的脚本之中。在测试时,用户连接好usb连接模块、以及配置好相关脚本,即可进行脚本的回放。
39.可以理解的是,本方案可以对usb连接模块中需要模拟的情况进行自定义的配置,通过一定的权限设置可以跨测试主机使用,在更换测试环境的时候更加方便。
40.在本实施例中,示例性地给出一种脚本的例子。
41.当识别到图a时,点击位置(a1,b1);//位置(a1,b1)位于显示待测软件运行区域200;
42.当识别到图b时,延迟100ms,点击位置(a2,b2);//位置(a2,b2)位于 usb连接模块操作区域100;
43.从上述脚本例子中可以看出,在生成脚本时,当录制的操作指令指向usb连接模块操作区域100时,在生成脚本的点击指令时,在该点击指令执行前增加预设延迟。通过增加预设延迟的方式,可以避免指令执行过快,出现不可预料的情况,更加真实地模拟了用户点击的动作。在部分情况下,例如,软件需要数据加载,但是由于usb状态变化在脚本中的触发快,可能导致执行异常。故在本实施例中,在执行针对usb连接模块操作区域的指令时,先设置一个延迟,该延迟可以根据实际情况进行调整。
44.参照图2,在部分实施例中,所述usb连接模块操作区域配置有若干个控制状态按钮,每个状态控制按钮对应于通断控制模块的一种状态切换动作。
45.在usb连接模块操作区域100中可以看到多个状态按钮,每个状态按钮会触发一种状态,需要理解的是,这些状态可以是临时性的,也可以是持续性的(在下一次改变前是持续的)。以usb中的某个引脚连线为例。通过触发某个特定的按钮,可以使得该引脚连线从连接状态切换成断开状态。在另一些例子中,同样对一根引脚连线进行操作,对其的操作可以是临时的,例如断开100ms,随后又重新连接。
46.通过该实施例,用户可以预先配置需要测试的情形,然后在脚本录制的时候,点击对应的按钮触发相关的状态,即可将硬件模拟的信息也录入脚本。
47.参照图1,在部分实施例中,所述通断控制模块包括多个可控开关、处理器和存储器。其中,存储器可以采用e2prom,flash等存储芯片,多个可控开关可以采用多路的电子开关实现。
48.所述测试模块还用于将状态切换动作的配置信息录入所述存储器;
49.所述存储器设置有各状态切换动作的索引表,所述处理器根据测试模块发送的指令,从所述索引表中查找对应的状态切换动作的配置信息,并控制所述通断控制模块执行对应的状态切换动作。
50.在本实施例中,存储器中设置有索引表,索引表将相关的指令编号指向对应的配置信息位置。测试模块在初始化时,通过索引表中读取配置信息呈现给用户。当用户触发某个按钮的时候,测试模块发送触发指令,处理器根据触发指令从存储器中获取索引表,然后获取对应的配置信息来执行。通过索引表的方式便于管理配置信息,减少配置信息传输的次数,减少传输过程出错而导致的模拟失败。
51.参照图3,在部分实施例中,所述配置信息包括所述通断控制模块各单元的控制时序信息;
52.在配置状态下,所述测试模块还用于显示配置界面,所述配置界面中显示各组引脚的时序图,并根据针对时序图的操作指令确定配置信息。所述时序图的横坐标为时间,所述横坐标单位长度表示的时长针对标尺选择栏的操作指令确定。
53.在测试模块中,可以通过菜单栏进入配置模式,在配置模式下,可以对各按钮的usb切换状态进行配置,配置界面300如图3所示。在配时,通过对各引脚时序图301的拖拽或者点击,设置引脚在该切换状态下的时序变化。为了适应更多的测试场景,可以利用标尺选
项302来选择横坐标的每一格表示的时间长度。
54.在部分实施例中,所述测试模块录制脚本时,记录鼠标的点击操作、键盘的快捷键操作,以及各操作对应的画面截图;
55.测试模块在回放脚本时,根据当前识别到的画面截图,执行对应的操作。
56.可以理解的是,在本实施例中,在录制脚本是,会基于点击或者快捷键操作,抓取当前录制区域的画面。在回放的时候,当检测到抓区的画面时,执行对应的操作。
57.在部分实施例中,所述存储器包括默认分区和多个自定义分区,所述默认分区中存放有预设的状态切换动作的配置信息,所述自定义分区中存放自定义的状态切换动作的配置信息;
58.其中,所述测试模块根据登录账号读取对应自定义分区中的配置信息。
59.在部分实施例中,所述配置模块根据读取到的配置信息在所述usb连接模块操作区域显示控制状态按钮;
60.其中,所述状态控制按钮包括自定义分区中配置信息对应的第一状态控制按钮与默认分区中配置信息对应的第二状态控制按钮。其中,第一状态控制按钮泛指用户自定义的按钮,而第二状态按钮泛指默认的按钮。
61.在本实施例中,为了使得usb连接模块可以被有效地公用,且各用户之间不会因为自定义配置而干扰对象的使用,本实施例中的存储器设置有默认分区和多个自定义分区,每个自定义分区基于用户设置的账号信息进行访问。其中,默认分区所存放的配置信息是测试模块默认的集中模拟状态。而自定义分区存储的配置信息则允许用户进行自定义。一般在显示时,根据用采取的配置策略,可以优先显示默认的切换状态按钮,也可以优先显示自定义的切换状态按钮。
62.需要理解的是,通过自定义的分区配置,多个用户可以在自己的账号下创建对对应的配置信息存档,通过在测试模块配置账号信息,可以避免多个用户共用usb连接模块的时候相互响应。
63.在部分实施例中,所述第一状态控制按钮与第二状态控制按钮的顺序默认为第一状态控制按钮优先于所述第二状态控制按钮显示。可以理解的是,在测试模块中默认用户自定义的按钮优先于默认按钮。
64.本技术实施例提供了一种基于图像识别技术的软件自动测试方法,通过所述的基于图像识别技术的软件自动测试系统实现,包括以下步骤:
65.将所述usb连接模块的第一usb插头连接第一设备,将第二usb插头和第三 usb插头连接第二设备,其中,第二设备上运行有测试模块,测试模块中运行有待测软件;
66.录制脚本;所述脚本中包括针对待测软件运行区域和usb连接模块操作区域的操作,针对usb连接模块操作区域的操作触发所述通断控制模块切换状态,以模拟usb物理变化状态;
67.回放所述脚本,以完成测试。
68.本技术实施例通过设置usb连接模块,其包括第一usb插头、通断控制模块、第二usb插头和第三usb插头,用户可以在录制脚本的时候通过usb连接模块模拟usb接口的物理状态变化;并且,本实施例的测试模块通过录制usb连接模块的操作区域,将软件测试的操作录制和硬件控制的录制一体化进行,不需要额外配置相关的程序,也无需手动进行插拔,
其自动化程度更高,更加方便,从而增加了测试的效率和减少认为因素的引入,提升了测试的质量。
69.注意,上述仅为本技术的较佳实施例及所运用技术原理。本领域技术人员会理解,本技术不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本技术的保护范围。因此,虽然通过以上实施例对本技术进行了较为详细的说明,但是本技术不仅仅限于以上实施例,在不脱离本技术构思的情况下,还可以包括更多其他等效实施例,而本技术的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1