测试装置、自动化测试方法和计算机可读存储介质与流程

文档序号:17489092发布日期:2019-04-23 20:16阅读:156来源:国知局
测试装置、自动化测试方法和计算机可读存储介质与流程
本发明涉及计算机及网络
技术领域
,特别涉及一种测试装置、自动化测试方法和计算机可读存储介质。
背景技术
:当前,随着信息化建设在力度、广度、深度和频度方面的不断拓展,各企业或政府均需把业务服务作为一个整体向社会提供全生命周期、全业务流程的公共服务,因此,出现了大量的公共平台类系统。由于集合了多种功能,公共平台类系统通常包含部署复杂的多台设备(例如,多个服务器及数据库),每台设备的运行状况都可能对整个系统的运行状况产生较大的影响。但目前,仍然缺乏一种对系统中各个设备的运行状态进行自动化监控或测试的方法,维护人员不能第一时间发现系统错误。因此,如何实现对系统的自动化测试成为一个亟待解决的问题。技术实现要素:本发明的主要目的是提供一种测试装置、自动化测试方法和计算机可读存储介质,旨在实现对系统的自动化测试。为实现上述目的,本发明提出一种测试装置,所述测试装置包括存储器和处理器,所述存储器上存储有自动化测试程序,所自动化测试程序被所述处理器执行时实现如下步骤:第一测试步骤:运行预先确定的服务器连接测试程序,获取并解析所述服务器连接测试程序的运行结果,当所述服务器连接测试程序的运行结果不满足第一预设条件时,发出提示信息;第二测试步骤:在与服务器建立通信连接后,定时运行预先确定的应用测试程序,获取并解析所述应用测试程序的运行结果,当所述应用测试程序的运行结果不满足第二预设条件时,发出提示信息;第三测试步骤:与数据库建立通信连接,运行预先确定的数据库运行测试程序,获取并解析所述数据库运行测试程序的运行结果,当所述数据库运行测试程序的运行结果不满足第三预设条件时,发出提示信息。优选地,所述处理器执行所述自动化测试程序,还实现以下步骤:实时或定时侦测服务器中是否有新增的服务器日志信息,当侦测到时,从所述服务器日志信息中提取关键字段;根据提取的所述关键字段,确定错误类型;根据预先确定的错误类型与预设脚本之间的映射关系,于所有预设脚本中查询各个错误类型对应的预设脚本;运行查询到的所有预设脚本。优选地,所述第一测试步骤包括:模拟客户端向服务器发送多个通信连接请求,并获取各个通信连接请求的连接结果,所述连接结果包括连接成功及连接失败;根据所述连接结果,计算通信连接成功率,并将所述通信连接成功率作为所述服务器连接测试程序的运行结果;或者,根据所述连接结果,计算通信连接失败率,并将所述通信连接失败率作为所述服务器连接测试程序的运行结果;判断所述服务器连接测试程序的运行结果是否满足第一预设条件,若否,则发出提示信息,其中,当所述服务器连接测试程序的运行结果为所述通信连接成功率时,所述第一预设条件为所述通信连接成功率大于第一预设阈值,当所述服务器连接测试程序的运行结果为所述通信连接失败率时,所述第一预设条件为所述通信连接失败率小于第二预设阈值。优选地,所述第二测试步骤包括:在与服务器建立通信连接后,模拟客户端调用服务器的登陆接口,并向服务器发送携带登录信息的用户登录请求;接收服务器返回的登录结果,所述登录结果包括登录成功及登录失败;当所述登陆结果为登陆失败时,发出提示信息。优选地,所述第三测试步骤包括:与数据库建立通信连接,调用数据库的查询接口,并发送查询请求至数据库;接收数据库返回的查询结果;判断所述查询结果是否与预设结果相同;当所述查询结果与预设结果不同时,发出提示信息。此外,为实现上述目的,本发明还提出一种自动化测试方法,适用于测试装置,该方法包括:第一测试步骤:运行预先确定的服务器连接测试程序,获取并解析所述服务器连接测试程序的运行结果,当所述服务器连接测试程序的运行结果不满足第一预设条件时,发出提示信息;第二测试步骤:在与服务器建立通信连接后,定时运行预先确定的应用测试程序,获取并解析所述应用测试程序的运行结果,当所述应用测试程序的运行结果不满足第二预设条件时,发出提示信息;第三测试步骤:与数据库建立通信连接,运行预先确定的数据库运行测试程序,获取并解析所述数据库运行测试程序的运行结果,当所述数据库运行测试程序的运行结果不满足第三预设条件时,发出提示信息。优选地,该方法还包括:实时或定时侦测服务器中是否有新增的服务器日志信息,当侦测到时,从所述服务器日志信息中提取关键字段;根据提取的所述关键字段,确定错误类型;根据预先确定的错误类型与预设脚本之间的映射关系,于所有预设脚本中查询各个错误类型对应的预设脚本;运行查询到的所有预设脚本。优选地,所述第一测试步骤包括:模拟客户端向服务器发送多个通信连接请求,并获取各个通信连接请求的连接结果,所述连接结果包括连接成功及连接失败;根据所述连接结果,计算通信连接成功率,并将所述通信连接成功率作为所述服务器连接测试程序的运行结果;或者,根据所述连接结果,计算通信连接失败率,并将所述通信连接失败率作为所述服务器连接测试程序的运行结果;判断所述服务器连接测试程序的运行结果是否满足第一预设条件,若否,则发出提示信息,其中,当所述服务器连接测试程序的运行结果为所述通信连接成功率时,所述第一预设条件为所述通信连接成功率大于第一预设阈值,当所述服务器连接测试程序的运行结果为所述通信连接失败率时,所述第一预设条件为所述通信连接失败率小于第二预设阈值。优选地,所述第二测试步骤包括:在与服务器建立通信连接后,模拟客户端调用服务器的登陆接口,并向服务器发送携带登录信息的用户登录请求;接收服务器返回的登录结果,所述登录结果包括登录成功及登录失败;当所述登陆结果为登陆失败时,发出提示信息;所述第三测试步骤包括:与数据库建立通信连接,调用数据库的查询接口,并发送查询请求至数据库;接收数据库返回的查询结果;判断所述查询结果是否与预设结果相同;当所述查询结果与预设结果不同时,发出提示信息。此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有自动化测试程序,所述自动化测试程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述任一项所述的自动化测试方法的步骤。本发明运行预先确定的服务器连接测试程序,获取并解析所述服务器连接测试程序的运行结果,当该运行结果不满足第一预设条件时,发出提示信息;定时运行预先确定的应用测试程序,获取并解析所述应用测试程序的运行结果,当该运行结果不满足第二预设条件时,发出提示信息;运行预先确定的数据库运行测试程序,获取并解析所述数据库运行测试程序的运行结果,当该运行结果不满足第三预设条件时,发出提示信息。相较于现有技术,本发明通过实时或定时运行服务器连接测试程序、应用测试程序及数据库运行测试程序,实现对系统中各个服务器及数据库的自动化测试。此外,本发明在测试程序的运行结果不满足预设条件时,发出提示信息,有助于系统维护人员及时的发现和处理系统错误。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。图1为本发明各个实施例一可选的应用环境示意图;图2为本发明自动化测试程序一实施例的运行环境示意图;图3为本发明自动化测试程序一实施例的程序模块图;图4为本发明自动化测试方法一实施例的流程示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。参阅图1所示,是本发明各个实施例一可选的应用环境示意图。在本实施例中,本发明可应用于包括,但不仅限于,测试装置1、服务器2、数据库3的应用环境中。所述测试装置1、服务器2及数据库3之间可通过网络通信连接。该网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(globalsystemofmobilecommunication,gsm)、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi等无线或有线网络。此外,在该应用环境中,测试装置1、服务器2及数据库3的数量均可以是一台或多台,本实施例对此不作限定。下面,将基于上述应用环境和相关设备,提出本发明的各个实施例。本发明提出一种自动化测试程序。请参阅图2,是本发明自动化测试程序10一实施例的运行环境示意图。在本实施例中,自动化测试程序10安装并运行于测试装置1中。测试装置1可以是桌上型计算机、笔记本、掌上电脑等计算设备。该测试装置1可包括,但不仅限于,存储器11、处理器12及显示器13。图1仅示出了具有组件11-13的测试装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。存储器11在一些实施例中可以是测试装置1的内部存储单元,例如该测试装置1的硬盘或内存。存储器11在另一些实施例中也可以是测试装置1的外部存储设备,例如测试装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器11还可以既包括测试装置1的内部存储单元也包括外部存储设备。存储器11用于存储安装于测试装置1的应用软件及各类数据,例如自动化测试程序10的程序代码等。存储器11还可以用于暂时地存储已经输出或者将要输出的数据。处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行自动化测试程序10等。显示器13在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。显示器13用于显示在测试装置1中处理的信息以及用于显示可视化的用户界面。测试装置1的部件11-13通过程序总线相互通信。请参阅图3,是本发明自动化测试程序10一实施例的程序模块图。在本实施例中,自动化测试程序10可以被分割成一个或多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行,以完成本发明。例如,在图3中,自动化测试程序10可以被分割成第一测试模块101、第二测试模块102及第三测试模块103。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述自动化测试程序10在测试装置1中的执行过程,其中:第一测试模块101,用于运行预先确定的服务器连接测试程序,获取并解析所述服务器连接测试程序的运行结果,当所述服务器连接测试程序的运行结果不满足第一预设条件时,发出提示信息。例如,第一测试模块101模拟客户端向服务器2发送多个通信连接请求,并获取各个通信连接请求的连接结果(所述连接结果包括连接成功及连接失败)。接着,根据所述连接结果,计算通信连接成功率,并将所述通信连接成功率作为所述服务器连接测试程序的运行结果;或者,根据所述连接结果,计算通信连接失败率,并将所述通信连接失败率作为所述服务器连接测试程序的运行结果。其中,计算通信连接成功率的步骤包括:统计所有连接成功的连接结果的数量,并统计连接结果的总数量,计算连接成功的连接结果的数量与连接结果的总数量的比值,该比值即为通信连接成功率。计算通信连接失败率的步骤包括:统计所有连接失败的连接结果的数量,并统计连接结果的总数量,计算连接失败的连接结果的数量与连接结果的总数量的比值,该比值即为通信连接失败率。最后,判断所述服务器连接测试程序的运行结果是否满足第一预设条件,若否,则确定测试失败,并发出提示信息,若是,则确定测试成功。其中,当所述服务器连接测试程序的运行结果为所述通信连接成功率时,所述第一预设条件为所述通信连接成功率大于第一预设阈值,当所述服务器连接测试程序的运行结果为所述通信连接失败率时,所述第一预设条件为所述通信连接失败率小于第二预设阈值。所述发出提示信息的方式包括:电子邮件、短信、即时消息(即时消息包括文字即时消息及语音即时消息)等。第二测试模块102,用于在与服务器2建立通信连接后,定时运行预先确定的应用测试程序,获取并解析所述应用测试程序的运行结果,当所述应用测试程序的运行结果不满足第二预设条件时,发出提示信息。本实施例中,所述应用测试程序用于对服务器2的应用程序进行测试。例如,在与服务器2建立通信连接后,第二测试模块102模拟客户端调用服务器2的登陆接口,并向服务器2发送携带登录信息的用户登录请求。然后,接收服务器2返回的登录结果。其中,所述登录结果包括登录成功及登录失败。当所述登陆结果为登陆失败时,确定测试失败,并发出提示信息(例如,以电子邮件、短信、即时消息等方式发送)。当所述登陆结果为登陆成功时,确定测试成功。在本实施例中,第二测试模块102还可模拟客户端调用其他类型的接口,以测试服务器2的其他功能。第三测试模块103,用于与数据库3建立通信连接,运行预先确定的数据库运行测试程序,获取并解析所述数据库运行测试程序的运行结果,当所述应用测试程序的运行结果不满足第三预设条件时,发出提示信息。例如,第三测试模块103与数据库3建立通信连接,调用数据库3的查询接口,并发送查询请求(该查询请求可携带查询条件)至数据库3。然后,接收数据库3返回的查询结果。接着,判断所述查询结果是否与预设结果相同。当所述查询结果与预设结果不同时,确定测试失败,并发出提示信息(例如,以电子邮件、短信、即时消息等方式发送)。当所述查询结果与预设结果相同时,确定测试成功。相较于现有技术,本发明通过实时或定时运行服务器连接测试程序、应用测试程序及数据库运行测试程序,实现对系统中各个服务器2及数据库3的自动化测试。此外,本发明在测试程序的运行结果不满足预设条件时,发出提示信息,有助于系统维护人员及时的发现和处理系统错误。进一步地,本实施例中,该自动化测试程序10还包括侦测模块、确定模块、运行模块(图中未示出),其中:侦测模块,用于实时或定时侦测服务器2中是否有新增的服务器日志信息,当侦测到时,从所述服务器日志信息中提取关键字段。所述服务器日志信息包括访问记录、错误记录(用于记录运行时的出错信息)等。该服务器日志信息中的错误记录不仅对服务器2内部运行时出错信息进行记录,还可对与服务器2交互的装置或设备(例如,数据库3)的运行错误进行记录。确定模块,用于根据提取的所述关键字段,确定错误类型。所述确定错误类型的方式至少包括如下两种方案。方案一:根据预先确定的关键字段与错误类型之间的映射关系,确定提取的关键字段对应的错误类型。关键字段与错误类型之间的映射关系可参照表一所示。表一:上述示例仅用于帮助理解,用户可根据具体的应用场景设置关键字及关键字与错误类型之间的映射关系。方案二:在提取到第一预设关键字段(例如,“forceshutdownsuccessfully”)后的预设时长(例如,十分钟)内,判断是否提取到第二预设关键字段(例如,“starting”),若否,则确定错误类型为服务器应用程序启动异常。运行模块,用于根据预先确定的错误类型与预设脚本之间的映射关系,于所有预设脚本中查询各个错误类型对应的预设脚本。错误类型与预设脚本之间的映射关系可参照表二所示。表二:错误类型预设脚本数据异常无磁盘空间不足clearwlsstg.sh脚本数据库异常数据库重启脚本服务器应用程序启动异常reset.sh脚本所述clearwlsstg.sh脚本用于清理磁盘空间。所述数据库重启脚本用于重启数据库3。所述reset.sh脚本用于重启服务器2的应用程序,并在重启服务器2后,从更新的服务器日志信息中查询预设第三关键字段(例如“serverstatechangedtostarting”),若查询到,则反馈服务器2的应用程序恢复正常的信息。步骤s70,运行查询到的所有预设脚本。本实施例通过侦测服务器日志信息,可自动识别错误类型(即故障类型),并通过运行预设脚本,实现对部分错误的自动修复,有利于减少人力资源的消耗,提高系统的可用性和稳定性。此外,本发明提出一种自动化测试方法,适用于测试装置。如图4所示,图4为本发明自动化测试方法一实施例的流程示意图。本实施例中,该方法包括:步骤s10,运行预先确定的服务器连接测试程序,获取并解析所述服务器连接测试程序的运行结果,当所述服务器连接测试程序的运行结果不满足第一预设条件时,发出提示信息。例如,测试装置1模拟客户端向服务器2发送多个通信连接请求,并获取各个通信连接请求的连接结果(所述连接结果包括连接成功及连接失败)。接着,根据所述连接结果,计算通信连接成功率,并将所述通信连接成功率作为所述服务器连接测试程序的运行结果;或者,根据所述连接结果,计算通信连接失败率,并将所述通信连接失败率作为所述服务器连接测试程序的运行结果。其中,计算通信连接成功率的步骤包括:统计所有连接成功的连接结果的数量,并统计连接结果的总数量,计算连接成功的连接结果的数量与连接结果的总数量的比值,该比值即为通信连接成功率。计算通信连接失败率的步骤包括:统计所有连接失败的连接结果的数量,并统计连接结果的总数量,计算连接失败的连接结果的数量与连接结果的总数量的比值,该比值即为通信连接失败率。最后,判断所述服务器连接测试程序的运行结果是否满足第一预设条件,若否,则确定测试失败,并发出提示信息,若是,则确定测试成功。其中,当所述服务器连接测试程序的运行结果为所述通信连接成功率时,所述第一预设条件为所述通信连接成功率大于第一预设阈值,当所述服务器连接测试程序的运行结果为所述通信连接失败率时,所述第一预设条件为所述通信连接失败率小于第二预设阈值。所述发出提示信息的方式包括:电子邮件、短信、即时消息(即时消息包括文字即时消息及语音即时消息)等。步骤s20,在与服务器2建立通信连接后,定时运行预先确定的应用测试程序,获取并解析所述应用测试程序的运行结果,当所述应用测试程序的运行结果不满足第二预设条件时,发出提示信息。本实施例中,所述应用测试程序用于对服务器2的应用程序进行测试。例如,在与服务器2建立通信连接后,测试装置1模拟客户端调用服务器2的登陆接口,并向服务器2发送携带登录信息的用户登录请求。然后,接收服务器2返回的登录结果。其中,所述登录结果包括登录成功及登录失败。当所述登陆结果为登陆失败时,确定测试失败,并发出提示信息(例如,以电子邮件、短信、即时消息等方式发送)。当所述登陆结果为登陆成功时,确定测试成功。在本实施例中,测试装置1还可模拟客户端调用其他类型的接口,以测试服务器2的其他功能。步骤s30,与数据库3建立通信连接,运行预先确定的数据库运行测试程序,获取并解析所述数据库运行测试程序的运行结果,当所述数据库运行测试程序的运行结果不满足第三预设条件时,发出提示信息。例如,测试装置1与数据库3建立通信连接,调用数据库3的查询接口,并发送查询请求(该查询请求可携带查询条件)至数据库3。然后,接收数据库3返回的查询结果。接着,判断所述查询结果是否与预设结果相同。当所述查询结果与预设结果不同时,确定测试失败,并发出提示信息(例如,以电子邮件、短信、即时消息等方式发送)。当所述查询结果与预设结果相同时,确定测试成功。相较于现有技术,本发明通过实时或定时运行服务器连接测试程序、应用测试程序及数据库运行测试程序,实现对系统中各个服务器2及数据库3的自动化测试。此外,本发明在测试程序的运行结果不满足预设条件时,发出提示信息,有助于系统维护人员及时的发现和处理系统错误。进一步地,本实施例中,该方法还包括步骤s40~s70(图中未示出),其中:步骤s40,实时或定时侦测服务器2中是否有新增的服务器日志信息,当侦测到时,从所述服务器日志信息中提取关键字段。所述服务器日志信息包括访问记录、错误记录(用于记录运行时的出错信息)等。该服务器日志信息中的错误记录不仅对服务器2内部运行时出错信息进行记录,还可对与服务器2交互的装置或设备(例如,数据库3)的运行错误进行记录。步骤s50,根据提取的所述关键字段,确定错误类型。所述确定错误类型的方式至少包括如下两种方案。方案一:根据预先确定的关键字段与错误类型之间的映射关系,确定提取的关键字段对应的错误类型。关键字段与错误类型之间的映射关系可参照表一所示。表一:上述示例仅用于帮助理解,用户可根据具体的应用场景设置关键字及关键字与错误类型之间的映射关系。方案二:在提取到第一预设关键字段(例如,“forceshutdownsuccessfully”)后的预设时长(例如,十分钟)内,判断是否提取到第二预设关键字段(例如,“starting”),若否,则确定错误类型为服务器应用程序启动异常。步骤s60,根据预先确定的错误类型与预设脚本之间的映射关系,于所有预设脚本中查询各个错误类型对应的预设脚本。错误类型与预设脚本之间的映射关系可参照表二所示。表二:错误类型预设脚本数据异常无磁盘空间不足clearwlsstg.sh脚本数据库异常数据库重启脚本服务器应用程序启动异常reset.sh脚本所述clearwlsstg.sh脚本用于清理磁盘空间。所述数据库重启脚本用于重启数据库3。所述reset.sh脚本用于重启服务器2的应用程序,并在重启服务器2后,从更新的服务器日志信息中查询预设第三关键字段(例如“serverstatechangedtostarting”),若查询到,则反馈服务器2的应用程序恢复正常的信息。步骤s70,运行查询到的所有预设脚本。本实施例通过侦测服务器日志信息,可自动识别错误类型(即故障类型),并通过运行预设脚本,实现对部分错误的自动修复,有利于减少人力资源的消耗,提高系统的可用性和稳定性。进一步地,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有自动化测试程序,所述自动化测试程序可被至少一个处理器执行,以使所述至少一个处理器执行上述任一实施例中的自动化测试方法。以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的
技术领域
均包括在本发明的专利保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1