软件自动化测试方法和装置及电子设备与流程

文档序号:20700153发布日期:2020-05-12 15:34阅读:167来源:国知局
软件自动化测试方法和装置及电子设备与流程

本发明涉及自动化测试技术领域,尤其是涉及软件自动化测试方法和装置及电子设备。



背景技术:

自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程逐步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。

目前,在自动化测试过程中经常会遇到图片验证码校验的流程,现有的方法大都是屏蔽图片验证码或上送一个万能验证码、从而以使自动化测试过程可以绕过图片验证码,进而进行下一步测试。现有的方法虽然简化了自动化测试的过程,但是会导致测试覆盖的代码分支不完全,从而造成自动化测试的结果不理想的技术问题。



技术实现要素:

有鉴于此,本发明的目的在于提供软件自动化测试方法和装置及电子设备,以缓解现有的软件自动化测试结果不理想的技术问题。

第一方面,本发明实施例提供了一种软件自动化测试方法,应用于服务器,所述方法包括:

当监测到用户输入的开启指令信息时,根据所述开启指令信息打开被测软件的登录页面;

获取所述被测软件的登录页面信息,以及所述登录页面信息中包括的携带有图片验证码的图片信息;

将所述图片信息发送至预先训练好的ocr图片解析网络,以使所述ocr图片解析网络对所述图片信息进行解析,并输出所述图片验证码对应的验证码信息;

接收所述ocr图片解析网络返回的所述验证码信息;

将所述登录页面信息和所述验证码信息发送至所述被测软件,以对所述被测软件进行测试。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述ocr图片解析网络为卷积神经网络,所述方法还包括:

获取验证码图片库中预先存储的样本图像,将所述样本图像输入至所述卷积神经网络,对所述卷积神经网络进行训练,以生成所述ocr图片解析网络。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述根据所述开启指令信息打开被测软件的登录页面之后,所述方法还包括:

将所述被测软件的登录页面进行显示。

结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述被测软件的登录页面为web页面,或者,app页面;所述获取所述登录页面信息中包括的携带有图片验证码的图片信息的步骤包括:

抓取所述web页面,或者,所述app页面中携带有图片验证码的图片信息;

将所述图片信息转换成所述ocr图片解析网络对应的格式。

结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述将所述登录页面信息和所述验证码信息发送至所述被测软件,以对所述被测软件进行测试的步骤包括:

将所述登录页面信息和所述验证码信息发送至所述被测软件;

如果所述被测软件返回验证通过的信息,则确定所述被测软件测试成功;

如果所述被测软件返回验证未通过的信息,则确定所述被测软件测试不成功。

第二方面,本发明实施例还提供一种软件自动化测试装置,应用于服务器,所述装置包括:

开启模块,用于当监测到用户输入的开启指令信息时,根据所述开启指令信息打开被测软件的登录页面;

获取模块,用于获取所述被测软件的登录页面信息,以及所述登录页面信息中包括的携带有图片验证码的图片信息;

解析模块,用于将所述图片信息发送至预先训练好的ocr图片解析网络,以使所述ocr图片解析网络对所述图片信息进行解析,并输出所述图片验证码对应的验证码信息;

接收模块,用于接收所述ocr图片解析网络返回的所述验证码信息;

测试模块,用于将所述登录页面信息和所述验证码信息发送至所述被测软件,以对所述被测软件进行测试。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述ocr图片解析网络为卷积神经网络,所述装置还包括:

获取验证码图片库中预先存储的样本图像,将所述样本图像输入至所述卷积神经网络,对所述卷积神经网络进行训练,以生成所述ocr图片解析网络。

结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述测试模块还包括:

将所述登录页面信息和所述验证码信息发送至所述被测软件;

如果所述被测软件返回验证通过的信息,则确定所述被测软件测试成功;

如果所述被测软件返回验证未通过的信息,则确定所述被测软件测试不成功。

第三方面,本发明实施例还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的软件自动化测试方法的步骤。

第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面所述的软件自动化测试方法的步骤。

本发明实施例带来了以下有益效果:

本发明实施例提供了软件自动化测试方法和装置及电子设备,包括:当监测到用户输入的开启指令信息时,根据开启指令信息打开被测软件的登录页面;获取被测软件的登录页面信息,以及登录页面信息中包括的携带有图片验证码的图片信息;将图片信息发送至预先训练好的ocr图片解析网络,以使ocr图片解析网络对图片信息进行解析,并输出图片验证码对应的验证码信息;接收ocr图片解析网络返回的验证码信息;将登录页面信息和验证码信息发送至被测软件,以对被测软件进行测试。本申请可以缓解现有的软件自动化测试结果不理想的技术问题,实现软件无需人工干预的自动化测试,且,提高了软件自动化测试的效率和精度。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种软件自动化测试原理图;

图2为本发明实施例提供的一种软件自动化测试方法的流程图;

图3为本发明实施例提供的另一种软件自动化测试方法的流程图;

图4为本发明实施例提供的另一种软件自动化测试方法的流程图;

图5为本发明实施例提供的另一种软件自动化测试方法的流程图;

图6为本发明实施例提供的一种软件自动化测试装置的示意图。

图标:

10-开启模块;20-获取模块;30-解析模块;40-接收模块;50-测试模块。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前,在自动化测试过程中经常会遇到图片验证码校验的流程,如图1所示,常见的方法是屏蔽掉图片验证码即不进行校验,或者设置一个万能验证码,从而避免了图片验证码校验的问题。现有方法虽然简化了软件自动化测试的处理流程,但不能完全模拟人的行为,可能会导致测试代码和生产代码有所不同,从而限制了自动化测试的代码覆盖率,导致软件自动化测试的结果不理想。

针对上述现有的软件自动化测试结果不理想的技术问题,本发明实施例提供了一种软件自动化测试方法和装置及电子设备,实现了软件无需人工干预的自动化测试,且,提高了软件自动化测试的效率和精度。

为便于对本实施例进行理解,下面首先对本发明实施例提供的一种软件自动化测试方法进行详细介绍。

实施例一:

本发明实施例提供了一种软件自动化测试方法,应用于服务器,图2为本发明实施例提供的一种软件自动化测试方法的流程图。如图2所示,该方法包括以下步骤:

步骤s102,当监测到用户输入的开启指令信息时,根据开启指令信息打开被测软件的登录页面;

具体地,在实际应用中,当服务器中的自动化测试脚本监测到用户输入的开启指令信息时,根据该开启指令信息打开被测软件的登录页面。其中,被测软件的登录页面为web(worldwideweb,全球广域网)页面,或者,app(application,手机软件)页面。此外,上述自动化测试脚本为用java或python等计算机语言编写的以实现软件测试用例为目的的代码工程。

步骤s104,获取被测软件的登录页面信息,以及登录页面信息中包括的携带有图片验证码的图片信息;

这里,打开被测软件的登录页面后,在该登录页面上携带有图片验证码,且,在特定时间段内,如果没有对该图片验证码进行任何输入操作,则该登录页面上的图片验证码保持不变。此时,抓取该被测软件的登录页面,从而得到被测软件的登录页面信息,以及该登录页面信息中包括的携带有图片验证码的图片信息。其中,图片信息的长宽和像素满足一定的规则,且,图片信息的内容具有一定的特征,只要携带有图片验证码的图片信息满足可以被ocr(opticalcharacterrecognition,光学字符识别)图片解析网络解析即可,本发明实施例对此不作限制说明。

此外,上述图片验证码的图片内容为文字或字母,当在登录页面验证图片验证码时,将图片内容中的文字或字母输入至图片验证码对应的输入框内即可,需要说明的是,本发明实施例中图片验证码不包括图片内容的排序和图片内容选择等对图片验证码有二次操作的图片验证码方式。

步骤s106,将图片信息发送至预先训练好的ocr图片解析网络,以使ocr图片解析网络对图片信息进行解析,并输出图片验证码对应的验证码信息;

具体地,将上述抓取得到的图片信息发送至预先训练好的ocr图片解析网络,该ocr图片解析网络可以对图片信息进行解析,并把解析后的内容即图片验证码对应的验证码信息发送至自动化测试脚本。

步骤s108,接收ocr图片解析网络返回的验证码信息;

步骤s110,将登录页面信息和验证码信息发送至被测软件,以对被测软件进行测试。

此时,自动化脚本在登录页面信息中输入验证码信息,以完成图片验证码的校验,从而实现被测软件的自动化测试,且,无需更改程序和人工干预,也不会限制软件自动化测试的代码覆盖率,缓解了软件自动化测试的结果不理想的技术问题。

本发明实施例提供的软件自动化测试方法,包括:当监测到用户输入的开启指令信息时,根据开启指令信息打开被测软件的登录页面;获取被测软件的登录页面信息,以及登录页面信息中包括的携带有图片验证码的图片信息;将图片信息发送至预先训练好的ocr图片解析网络,以使ocr图片解析网络对图片信息进行解析,并输出图片验证码对应的验证码信息;接收ocr图片解析网络返回的验证码信息;将登录页面信息和验证码信息发送至被测软件,以对被测软件进行测试。本申请可以缓解现有的软件自动化测试结果不理想的技术问题,实现软件无需人工干预的自动化测试,且,提高了软件自动化测试的效率和精度。

进一步的,上述ocr图片解析网络为卷积神经网络,该方法还包括:获取验证码图片库中预先存储的样本图像,将样本图像输入至卷积神经网络,对卷积神经网络进行训练,以生成ocr图片解析网络。

具体地,本发明实施例中ocr图片解析网络为卷积神经网络,在使用该ocr图片解析网络对图片信息进行解析处理前,还需对卷积神经网络进行训练,以生成ocr图片解析网络,即首先获取验证码图片库中预先存储的样本图像,并将样本图像输入至卷积神经网络,从而对卷积神经网络进行训练,最后生成用于解析图片信息的ocr图片解析网络。

进一步的,在图2的基础上,本发明实施例还提供了另一种软件自动化测试方法,图3为本发明实施例提供的另一种软件自动化测试方法的流程图。如图3所示,该方法包括以下步骤:

步骤s202,当监测到用户输入的开启指令信息时,根据开启指令信息打开被测软件的登录页面;

步骤s204,将被测软件的登录页面进行显示;

这里,将被测软件的登录页面进行显示,以便对登录页面进行抓取操作,从而获得被测软件的登录页面信息和登录页面信息中包括的携带有图片验证码的图片信息。

步骤s206,获取被测软件的登录页面信息,以及登录页面信息中包括的携带有图片验证码的图片信息;

步骤s208,将图片信息发送至预先训练好的ocr图片解析网络,以使ocr图片解析网络对图片信息进行解析,并输出图片验证码对应的验证码信息;

步骤s210,接收ocr图片解析网络返回的验证码信息;

步骤s212,将登录页面信息和验证码信息发送至被测软件,以对被测软件进行测试。

进一步的,在图2的基础上,本发明实施例还提供了另一种软件自动化测试方法,图4为本发明实施例提供的另一种软件自动化测试方法的流程图。如图4所示,其中,被测软件的登录页面为web页面,或者,app页面,该方法还包括以下步骤:

步骤s302,当监测到用户输入的开启指令信息时,根据开启指令信息打开被测软件的登录页面;

步骤s304,获取被测软件的登录页面信息;其中,被测软件的登录页面为web页面,或者,app页面;

步骤s306,抓取web页面,或者,app页面中携带有图片验证码的图片信息;

具体地,这里通过抓取web页面,或者,app页面中携带有图片验证码的图片信息,从而得到被测软件的登录页面信息和登录页面信息中包括的携带有图片验证码的图片信息。

步骤s308,将图片信息转换成ocr图片解析网络对应的格式;

此外,对于抓取获得的携带有图片验证码的图片信息,还需将图片信息转换为ocr图片解析网络对应的格式,并通过接口将转换后的图片信息发送至ocr图片解析网络。

步骤s310,将图片信息发送至预先训练好的ocr图片解析网络,以使ocr图片解析网络对图片信息进行解析,并输出图片验证码对应的验证码信息;

步骤s312,接收ocr图片解析网络返回的验证码信息;

步骤s314,将登录页面信息和验证码信息发送至被测软件,以对被测软件进行测试。

进一步的,在图2的基础上,本发明实施例还提供了另一种软件自动化测试方法,图5为本发明实施例提供的另一种软件自动化测试方法的流程图。如图5所示,该方法还包括以下步骤:

步骤s402,当监测到用户输入的开启指令信息时,根据开启指令信息打开被测软件的登录页面;

步骤s404,获取被测软件的登录页面信息,以及登录页面信息中包括的携带有图片验证码的图片信息;

步骤s406,将图片信息发送至预先训练好的ocr图片解析网络,以使ocr图片解析网络对图片信息进行解析,并输出图片验证码对应的验证码信息;

步骤s408,接收ocr图片解析网络返回的验证码信息;

步骤s410,将登录页面信息和验证码信息发送至被测软件;

步骤s412,如果被测软件返回验证通过的信息,则确定被测软件测试成功;

步骤s414,如果被测软件返回验证未通过的信息,则确定被测软件测试不成功。

具体地,这里将登录页面信息和验证码信息发送至被测软件后,将验证码信息输入至登录页面信息中图片验证码对应的输入框内,此时,如果被测软件返回验证通过的信息,则确定被测软件测试成功;如果被测软件返回验证未通过的信息,则确定被测软件测试不成功。因此,该方法实现了软件无需人工干预的自动化测试,且,提高了软件自动化测试的效率和精度。

在上述实施例的基础上,本发明实施例还提供了一种软件自动化测试装置,图6为本发明实施例提供的一种软件自动化测试装置。如图6所示,该装置包括:

开启模块10,用于当监测到用户输入的开启指令信息时,根据所述开启指令信息打开被测软件的登录页面;

获取模块20,用于获取所述被测软件的登录页面信息,以及所述登录页面信息中包括的携带有图片验证码的图片信息;

解析模块30,用于将所述图片信息发送至预先训练好的ocr图片解析网络,以使所述ocr图片解析网络对所述图片信息进行解析,并输出所述图片验证码对应的验证码信息;

接收模块40,用于接收所述ocr图片解析网络返回的所述验证码信息;

测试模块50,用于将所述登录页面信息和所述验证码信息发送至所述被测软件,以对所述被测软件进行测试。

进一步的,上述ocr图片解析网络为卷积神经网络,该装置还包括:

获取验证码图片库中预先存储的样本图像,将样本图像输入至卷积神经网络,对卷积神经网络进行训练,以生成ocr图片解析网络。

进一步的,上述测试模块50还包括:

将登录页面信息和验证码信息发送至被测软件;

如果被测软件返回验证通过的信息,则确定被测软件测试成功;

如果被测软件返回验证未通过的信息,则确定被测软件测试不成功。

本发明实施例提供的软件自动化测试装置,包括:当监测到用户输入的开启指令信息时,根据开启指令信息打开被测软件的登录页面;获取被测软件的登录页面信息,以及登录页面信息中包括的携带有图片验证码的图片信息;将图片信息发送至预先训练好的ocr图片解析网络,以使ocr图片解析网络对图片信息进行解析,并输出图片验证码对应的验证码信息;接收ocr图片解析网络返回的验证码信息;将登录页面信息和验证码信息发送至被测软件,以对被测软件进行测试。本申请可以缓解现有的软件自动化测试结果不理想的技术问题,实现软件无需人工干预的自动化测试,且,提高了软件自动化测试的效率和精度。

本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例提供的软件自动化测试方法的步骤。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例的软件自动化测试方法的步骤。

本发明实施例所提供的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的软件自动化测试装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1