一种自动化测试软件更新系统及方法与流程

文档序号:15931647发布日期:2018-11-14 01:43阅读:356来源:国知局

本发明涉及一种软件处理技术领域,尤其涉及一种自动化测试软件更新系统及方法。

背景技术

软件更新通常是指用新版本软件替代旧版本软件的过程,在对于量产化的自动化生产行业来说,为了保证生产产品的质量,在自动化测试软件的新版本发布后,通常需要对ate(automatictestequipment,自动化测试设备)中的旧版本软件进行的更新处理。

目前自动化测试软件的更新方法主要为:由技术员手动下载并安装最新版的软件,以完成软件的升级。可见,软件更新过程基本由技术员手动完成,效率较低。

因此有必要设计一种新的自动化测试软件更新系统及方法,以克服上述问题。



技术实现要素:

本发明的目的在于克服现有技术之缺陷,提供了一种新的自动化测试软件更新系统及方法,以软件更新的效率。

本发明是这样实现的:

第一方面,本发明提供一种自动化测试软件更新系统,系统包括服务端、客户端和人机交互终端,其中,

所述服务端,用于接收所述人机交互终端发送的软件包,存储所接收的软件包;所述软件包包括版本文件和更新文件;

所述客户端,用于确定待更新软件的目标软件标识,向所述服务端发送携带所述目标软件标识的下载请求,并接收所述服务端针对所述下载请求发送的目标软件包,确定待更新软件的版本文件,当所接收的目标软件包中的版本文件与待更新软件的版本文件不相同时,基于目标更新文件对所述待更新软件进行更新,其中,所述目标软件包为具有所述目标软件标识的软件包,所述目标更新文件为所接收的目标软件包中的更新文件;

所述人机交互终端,用于获得用户输入的版本信息和更新文件,基于所获得的版本信息和更新文件生成具有软件标识的软件包,并将所生成的软件包发送给所述服务端。

可选的,所述版本信息包括软件标识,所述人机交互终端基于所获得的版本信息和更新文件生成具有软件标识的软件包,具体为:

用所获得的版本信息生成版本文件;

用所生成的版本文件和所获得的更新文件生成软件包,并用所获得的版本信息中的软件标识标记所生成的软件包。

可选的,所述人机交互终端还用于:

在基于所获得的版本信息和更新文件生成具有软件标识的软件包之前,判断所获得的版本信息是否合法;如果合法,则基于所获得的版本信息和更新文件生成具有软件标识的软件包。

可选的,所述版本信息包括所述用户的用户标识,所述人机交互终端判断所获得的版本信息是否合法,具体为:

将所获得的版本信息中的用户标识作为目标用户标识;

判断预设用户标识表中是否存在所述目标用户标识;

若存在,则判定所获得的版本信息合法;

若不存在,则判定所获得的版本信息不合法。

可选的,所述版本信息包括版本号和软件标识,所述人机交互终端判断所获得的版本信息是否合法,具体为:

将所获得的版本信息中的版本号和软件标识分别作为待检版本号和待检软件标识;

判断预先记录的与所述待检软件标识对应的版本号表中是否存在所述待检版本号;其中,所述版本号表用于存储所述待检软件标识对应的并且已被发送至服务端中的软件包所具有的版本号;

如果是,判定所获得的版本信息不合法;

如果否,判定所获得的版本信息合法。

可选的,所述版本文件包括路径标签,所述服务端存储所接收的软件包,具体为:

基于所接收的软件包中版本文件的路径标签,生成存储路径;

按照所生成的存储路径,存储所接收的软件包。

可选的,所述客户端基于目标更新文件对所述待更新软件进行更新,具体为:

遍历所述待更新软件的当前文件列表,删除所述当前文件列表中不存在于目标更新文件中的文件;

遍历所述目标更新文件,将所述目标更新文件中的第一类文件、第二类文件以及第三类文件加载至所述当前文件列表,其中,所述第一类文件为不存在于所述当前文件列表中的文件,所述第二类文件为存在于所述当前文件列表中、且在所述当前文件列表中的创建日期不同于在所述目标更新文件的创建日期的文件,所述第三类文件为预设的强制加载类型文件;

按照删除文件和加载文件后的当前文件列表对所述待更新软件进行更新。

可选的,所述客户端还用于:

在基于目标更新文件对所述待更新软件进行更新之前,显示版本更新提示对话框,在检测到用户的确认更新指令后,基于目标更新文件对所述待更新软件进行更新。

可选的,所述客户端还用于:

在检测到用户的版本选择指令后,利用预设的版本选择指令与软件标识之间的对应关系,获得所检测到的版本选择指令对应的软件标识,作为更新软件标识;

向所述服务端发送携带所述更新软件标识的版本更新请求,并接收所述服务端针对所述版本更新请求发送的更新软件包,基于所接收的更新软件包中的更新文件对所述待更新软件进行更新,其中,所述更新软件包为具有所述更新软件标识的软件包。

第二方面,本发明提供一种自动化测试软件更新方法,应用于上述自动化测试软件更新系统,所述方法应用于所述客户端,具体包括:

确定待更新软件的目标软件标识;

向所述服务端发送携带所述目标软件标识的下载请求,并接收所述服务端针对所述下载请求发送的目标软件包,其中,所述目标软件包为具有所述目标软件标识的软件包;

确定待更新软件的版本文件,当所接收的目标软件包中的版本文件与待更新软件的版本文件不相同时,基于目标更新文件对所述待更新软件进行更新,其中,所述目标更新文件为所接收的目标软件包中的更新文件。

本发明具有以下有益效果:应用本发明实施例提供的技术方案,人机交互终端可以将软件包发送给服务端,服务端可以存储软件包,客户端可以接收服务端发送的软件包,并当所接收的目标软件包中的版本文件与待更新软件的版本文件不相同时,基于目标软件包中的更新文件对所述待更新软件进行更新,本发明实施例通过各个终端之间的相互配合实现了对待更新软件的更新,提高了软件更新的效率。

附图说明

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

图1为本发明实施例提供的一种自动化测试软件更新系统的结构示意图;

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

具体实施方式

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

为解决现有技术问题,本发明实施例提供了一种自动化测试软件更新系统及方法。下面首先对本发明所提供的一种自动化测试软件更新系统进行说明。

参见图1,图1为本发明实施例提供的一种自动化测试软件更新系统的结构示意图,系统包括服务端、客户端和人机交互终端,其中,

服务端,用于接收人机交互终端发送的软件包,存储所接收的软件包;软件包包括版本文件和更新文件;

客户端,用于确定待更新软件的目标软件标识,向服务端发送携带目标软件标识的下载请求,并接收服务端针对下载请求发送的目标软件包,确定待更新软件的版本文件,当所接收的目标软件包中的版本文件与待更新软件的版本文件不相同时,基于目标更新文件对待更新软件进行更新;

人机交互终端,用于获得用户输入的版本信息和更新文件,基于所获得的版本信息和更新文件生成具有软件标识的软件包,并将所生成的软件包发送给服务端。

其中,目标软件包可以为具有目标软件标识的软件包,目标更新文件为所接收的目标软件包中的更新文件,待更新软件可以为客户端中当前处于开启状态或暂停运行状态的自动化测试软件。本发明实施例对自动化测试软件的类型不做限定,例如可以是基于c#、.net或vb等开发语言编制的用于进行自动化测试的开源软件。每个软件对应一个软件标识,软件和软件标识之间的对应关系可以预先存储于数据表中,通过查找该数据表,客户端可以确定待更新软件的目标软件标识。

具体的,服务端可以为服务器,具体可以为ftp(filetransferprotocol,文件传输协议)服务器,当然,也可以是其他提供上传下载服务的服务器,例如web(worldwideweb,全球广域网)服务器。客户端可以是自动化测试设备,也可以是安装了自动化测试软件的其他设备,例如:平板、个人电脑等等,人机交互终端可以为逻辑功能模块,也可以为独立存在的物理实体。当人机交互终端为逻辑功能模块时,可以将其设置于客户端中,也可以将其设置于独立于服务端和客户端的第三方物理实体中,本发明实施例对人机交互终端的存在形态不做限定。

一种实现方式中,版本信息可以包括软件标识,人机交互终端基于所获得的版本信息和更新文件生成具有软件标识的软件包,具体为:

用所获得的版本信息生成版本文件;

用所生成的版本文件和所获得的更新文件生成软件包,并用所获得的版本信息中的软件标识标记所生成的软件包。

人机交互终端可以提供人机界面,用户可以通过人机交互界面输入版本信息和更新文件,版本信息可以是用户输入的以下信息中的一种或组合:版本描述、版本号,版本的创建日期、软件标识、升级功能介绍,强制文件升级声明,用户的用户标识(也可称为上传者编号)等。软件标识可以为软件名称、软件图标或软件编号等可以唯一标识软件包的标记。

更新文件中可以包含多个文件,含有多个文件的更新文件可以被做成一个镜像文件,镜像文件格式可以为iso格式、bin格式、img格式等等。版本文件可以是xml(extensiblemarkuplanguage,可扩展标记语言)类型/html(hypertextmarkuplanguage,超文本标记语言)类型的文件。

本发明实施例对具体的生成版本文件的方式不做限定,例如,人机交互终端可以采用dom方式/sax方式/jdom方式,用所获得的版本信息生成版本文件。

具体的,人机交互终端用所生成的版本文件和所获得的更新文件生成软件包可以为:将所生成的版本文件嵌入更新文件中,将嵌入版本文件后的更新文件作为软件包。

为了保证获得的版本信息的合法性,提高系统的可靠性,又一种实现方式中,人机交互终端还用于:

在基于所获得的版本信息和更新文件生成具有软件标识的软件包之前,判断所获得的版本信息是否合法;如果合法,则基于所获得的版本信息和更新文件生成具有软件标识的软件包。

本发明实施例对具体的人机交互终端判断所获得的版本信息是否合法的方式不做限定。例如可以采用以下方式:

方式一、版本信息可以包括用户的用户标识,人机交互终端判断所获得的版本信息是否合法,具体可以为:将所获得的版本信息中的用户标识作为目标用户标识;判断预设用户标识表中是否存在目标用户标识;若存在,则判定所获得的版本信息合法;若不存在,则判定所获得的版本信息不合法。

预设用户标识表可以是预先建立的一张数据表,该数据表可以存储一些合法的用户标识,并且该数据表可以存储于人机交互终端中,从而,人机交互终端可以判断该数据表中是否存在目标用户标识,若存在,则可以判定所获得的版本信息合法;若不存在,则可以判定所获得的版本信息不合法。

示例性的,预设用户标识表中的用户标识包括a、b、c、d,若目标用户标识为e,即预设用户标识表中不存在目标用户标识,则判定所获得的版本信息不合法;若目标用户标识为a/b/c/d,即预设用户标识表中存在目标用户标识,则判定所获得的版本信息合法。

方式二、版本信息可以包括版本号和软件标识,人机交互终端判断所获得的版本信息是否合法,具体可以为:将所获得的版本信息中的版本号和软件标识分别作为待检版本号和待检软件标识;判断预先记录的与待检软件标识对应的版本号表中是否存在待检版本号;如果是,判定所获得的版本信息不合法;如果否,判定所获得的版本信息合法。

其中,版本号表用于存储待检软件标识对应的并且已被发送至服务端中的软件包所具有的版本号;可以理解的是,针对每一软件包,人机交互终端在将该软件包发送给服务端以后,可以将该软件包所具有的版本号与该软件包的软件标识对应存储到版本号表。故一张版本号表中存储了一个软件标识对应的、并且已被发送至服务端中的软件包所具有的所有版本号。

可以理解的是,若版本号表中存在待检版本号,则可以认为人机交互终端当前所获得的更新文件在之前已经获得过,故可以判定所获得的版本信息不合法,进而无需基于所获得的版本信息和更新文件生成具有软件标识的软件包;若版本号表中不存在待检版本号,则可以认为人机交互终端当前所获得的更新文件在之前未获得过,故可以判定所获得的版本信息合法,进而可以基于所获得的版本信息和更新文件生成具有软件标识的软件包。

为了服务端可以合理地对软件包进行存储,一种实现方式中,版本文件包括路径标签,服务端存储所接收的软件包,具体为:

基于所接收的软件包中版本文件的路径标签,生成存储路径;

按照所生成的存储路径,存储所接收的软件包。

路径标签可以包括:软件的用途、软件名称、软件类别等等。软件的用途可以包括接口测试、功能测试、接口调试、功能调试等等,软件类别可以分为调试类和测试类等等,根据设计者的需求,路径标签还可以包括其他内容,对此不做限定。一个路径标签可以对应一项子索引,进而可以用路径标签对应的所有子索引形成存储路径,并按照所生成的存储路径,存储所接收的软件包。

应用本发明实施例提供的技术方案,可以基于所接收的软件包中版本文件的路径标签,生成存储路径,从而可以形成清晰的文件分层架构,进而,按照所生成的存储路径,存储所接收的软件包,可以有利于服务端对软件包进行合理地存储,实现了对软件包的有效管理。

一种实现方式中,客户端基于目标更新文件对待更新软件进行更新,具体为:

遍历待更新软件的当前文件列表,删除当前文件列表中不存在于目标更新文件中的文件;

遍历目标更新文件,将目标更新文件中的第一类文件、第二类文件以及第三类文件加载至当前文件列表,

按照删除文件和加载文件后的当前文件列表对待更新软件进行更新。

其中,第一类文件为不存在于当前文件列表中的文件,第二类文件为存在于当前文件列表中、且在当前文件列表中的创建日期不同于在目标更新文件的创建日期的文件,第三类文件为预设的强制加载类型文件;具体的,当用户判断某个软件包的功能运行稳定后,可以在输入版本信息时填入强制文件升级声明,并将更新文件的类型设置为强制加载类型。

示例性的,当前文件列表包括a、b、c、d四个文件,文件的创建时间分别为:2016.7.1、2016.7.9、2016.7.1、2016.8.1,更新文件中包括a、c、e、f、g,其中,文件的创建时间分别为:2016.7.1、2017.8.1、2016.8.1、2017.8.1、2017.8.1,预设的强制加载类型文件为g,则第一类文件为e和f,第二类文件为c,第三类文件为g。

本发明实施例对具体的文件加载顺序不做限定,例如,可以先加载第一类文件,然后加载第二类文件,最后加载第三类文件,也可以先加载第三类文件,再加载第一类文件,最后加载第二类文件。

为了提高软件更新的灵活性,一种实现方式中,客户端还用于:

在基于目标更新文件对待更新软件进行更新之前,显示版本更新提示对话框,在检测到用户的确认更新指令后,基于目标更新文件对待更新软件进行更新。

具体的,版本更新提示对话框中可以显示勾选框,当客户端检测到勾选框被选中时,可以认为检测到用户的确认更新指令,进而可以对待更新软件进行更新;或者,版本更新提示对话框中可以显示确认按钮,当客户端检测到确认按钮被点击时,可以认为检测到用户的确认更新指令,进而可以对待更新软件进行更新。

应用本发明实施例,可以在检测到用户的确认更新指令后,基于所接收的目标软件包中的更新文件对待更新软件进行更新,使得用户可以根据自身需求判断是否需要进行软件更新,从而提高了软件更新的灵活性。

为了进一步提高软件更新的灵活性,在另一种实现方式中,客户端还用于:

在检测到用户的版本选择指令后,利用预设的版本选择指令与软件标识之间的对应关系,获得所检测到的版本选择指令对应的软件标识,作为更新软件标识;

向服务端发送携带更新软件标识的版本更新请求,并接收服务端针对版本更新请求发送的更新软件包,基于所接收的更新软件包中的更新文件对待更新软件进行更新。

其中,版本更新请求可以是客户端向服务端发送的、且带有更新软件标识的请求,更新软件包为具有更新软件标识的软件包。

具体的,客户端可以提供版本选择菜单项,版本选择菜单项可以显示可供用户选择的版本列表,版本列表中包含多个版本项,为了便于用户理解,每个版本项可以显示为带有软件名称和版本号的条形框。当客户端检测到用户点击版本列表中的某个版本项后,可以认为检测到用户的版本选择指令,并且针对每个版本选择指令,可以预先设置该版本选择指令对应的软件标识,进而,在检测到用户的版本选择指令后,可以获得所检测到的版本选择指令对应的软件标识。

具体的,客户端基于所接收的更新软件包中的更新文件对待更新软件进行更新的方式与前述客户端基于目标更新文件对待更新软件进行更新的方式可以相同,在此不再赘述。

对于客户端中当前安装的每一软件而言,版本列表中包含该软件的多个不同版本项,既有各个旧版本,也有最新版本,用户可以选择任一版本对当前安装的软件进行更新,因此,相比于现有技术仅用新版本替换旧版本的方案而言,本发明不仅可以实现用新版本软件替换旧版本软件,还可以实现用旧版本软件替换新版本软件,提高了软件更新的灵活性。

可见,应用本发明实施例提供的技术方案,人机交互终端可以将软件包发送给服务端,服务端可以存储软件包,客户端可以接收服务端发送的软件包,并当所接收的目标软件包中的版本文件与待更新软件的版本文件不相同时,基于目标软件包中的更新文件对待更新软件进行更新,本发明实施例通过各个终端之间的相互配合实现了对待更新软件的更新,提高了软件更新的效率。

相应于上述自动化测试软件更新系统实施例,本发明实施例提供了一种自动化测试软件更新方法,参见图2所示,与图1所示结构相对应,该方法应用于上述自动化测试软件更新系统,具体的,方法应用于客户端,具体包括:

s101、确定待更新软件的目标软件标识;

s102、向服务端发送携带目标软件标识的下载请求,并接收服务端针对下载请求发送的目标软件包,其中,目标软件包为具有目标软件标识的软件包;

s103、确定待更新软件的版本文件,当所接收的目标软件包中的版本文件与待更新软件的版本文件不相同时,基于目标更新文件对待更新软件进行更新,其中,目标更新文件为所接收的目标软件包中的更新文件。

可见,应用本发明实施例提供的技术方案,人机交互终端可以将软件包发送给服务端,服务端可以存储软件包,客户端可以接收服务端发送的软件包,并当所接收的目标软件包中的版本文件与待更新软件的版本文件不相同时,基于目标软件包中的更新文件对所述待更新软件进行更新,本发明实施例通过各个终端之间的相互配合实现了对待更新软件的更新,提高了软件更新的效率。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于系统实施例,所以描述的比较简单,相关之处参见系统实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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