一种自动化测试方法、装置、系统及访问代理的制作方法

文档序号:9810433阅读:421来源:国知局
一种自动化测试方法、装置、系统及访问代理的制作方法
【技术领域】
[0001] 本发明涉及通信技术领域,特别是涉及一种自动化测试方法、装置、系统及访问代 理。
【背景技术】
[0002] 自动化测试中测试人员需要选择一种宿主语言编写自动化测试程序,对软件系统 进行测试。被测的软件系统如果是采用不同与自动化测试程序宿主语言设计的,则开发自 动化测试程序只能更换宿主语言,或者利用宿主语言的对外接口实现跨语言访问。
[0003] 这两种方法都有其不足之处。更换自动化测试程序宿主语言需要自动化测试程序 开发人员学习新的编程语言,并且全部测试程序都需要重编写,导致测试成本增多。这种方 式比较适合编写单元测试,而对于集成测试和系统测试这样的复杂测试,测试人员大多使 用跨语言访问的方式,如测试人员使用python语言开发自动化测试程序,被测试的软件系 统用c语言开发,并为用户提供了 tel语言接口。测试人员既要测试系统内部的c语言实 现的模块功能,又要测试对外的tel语言接口,这时就需要使用python语言的扩展包来分 别访问c语言接口和tel语言接口,但有的语言只提供了对一种语言的直接调度接口,而不 能实现对多种语言的直接调度。例如,java语言只提供了通过JNI方式对c语言的调用,这 时对tel等语言的访问需要通过JNI调用C语言,然后间接通过C语言调用tel语言。由 此可见,现有技术中,对于跨语言的软件自动测试,测试程序繁琐复杂,效率低下。

【发明内容】

[0004] 本发明要解决的技术问题是提供一种自动化测试方法、装置、系统及访问代理,用 以解决现有技术中跨语言的软件自动测试,测试程序繁琐复杂,效率低下的问题。
[0005] -方面,本发明提供一种自动化测试方法,包括:提供基于被测对象宿主语言的访 问代理,所述访问代理用于以统一接口与各种测试工具通信,同时用于通过不同的端口与 不同宿主语言的被测对象通信;所述被测对象宿主语言与所述各种测试工具支持的语言不 同;所述各种测试工具通过所述访问代理对所述被测对象进行测试。
[0006] 可选的,所述统一接口包括socket tcp或socket udp接口。
[0007] 可选的,所述各种测试工具通过所述访问代理对所述被测对象进行测试具体包 括:所述访问代理通过统一接口接收所述各种测试工具的测试请求;所述访问代理根据所 述测试请求,对相应端口的被测对象进行测试。
[0008] 可选的,所述测试请求包括:建立连接请求、调用函数请求、调用对象请求、断开连 接请求中的至少一种。
[0009] 可选的,所述访问代理对所述调用对象请求的响应过程包括:所述访问代理根据 所述测试工具的新建对象请求建立测试对象;所述访问代理根据所述测试工具的调用对象 请求调用所述测试对象的函数;所述访问代理根据所述测试工具的删除对象请求删除所述 测试对象。
[0010] 另一方面,本发明提供一种自动化测试装置,包括:提供单元,用于提供基于被测 对象宿主语言的访问代理,所述访问代理用于以统一接口与各种测试工具通信,同时用于 通过不同的端口与不同宿主语言的被测对象通信;所述被测对象宿主语言与所述各种测试 工具支持的语言不同;测试单元,用于使所述各种测试工具通过所述访问代理对所述被测 对象进行测试。
[0011] 另一方面,本发明提供一种访问代理,包括:接收单元,用于通过统一接口接收所 述各种测试工具的测试请求;测试单元,用于根据所述测试请求,对相应端口的被测对象进 行测试。
[0012] 可选的,所述测试请求包括:建立连接请求、调用函数请求、调用对象请求、断开连 接请求中的至少一种。
[0013] 可选的,所述测试单元具体用于:根据所述测试工具的新建对象请求建立测试对 象;根据所述测试工具的调用对象请求调用所述测试对象的函数;根据所述测试工具的删 除对象请求删除所述测试对象。
[0014] 另一方面,本发明提供一种自动化测试系统,包括:被测对象和测试工具,所述被 测对象宿主语言与所述测试工具支持的语言不同;所述被测对象中设置有基于被测对象宿 主语言的访问代理,所述访问代理用于以统一接口与各种测试工具通信,同时用于通过不 同的端口与不同宿主语言的被测对象通信;所述测试工具,用于通过所述访问代理对所述 被测对象进行测试。
[0015] 本发明实施例提供的自动化测试方法、装置、系统及访问代理,当测试工具所支持 的语言与被测对象开发所使用的宿主语言不同时,可以提供一个基于宿主语言访问代理, 该访问代理能够以统一接口与各种测试工具通信,同时能够通过不同的网络端口号与不同 宿主语言实现的被测对象通信,这样,各种语言编写的测试工具都能够通过该访问代理对 不同宿主语言实现的被测对象进行自动化测试,从而极大地方便了跨语言的软件自动测 试,有效提高了软件测试效率。
【附图说明】
[0016] 图1是本发明实施例提供的自动化测试方法的一种流程图;
[0017] 图2是本发明优选实施例中使用宿主语言访问代理实现跨语言访问的一种示意 图;
[0018] 图3是本发明优选实施例中访问宿主语言函数功能的一种示意图;
[0019] 图4是本发明优选实施例中访问宿主语言中对象的一种示意图;
[0020] 图5是本发明实施例提供的自动化测试装置的一种结构示意图;
[0021] 图6是本发明实施例提供的访问代理的一种结构示意图;
[0022] 图7是本发明实施例中测试工具跨语言访问不同设备的一种详细示意图。
【具体实施方式】
[0023] 以下结合附图对本发明进行详细说明。应当理解,此处所描述的具体实施例仅仅 用以解释本发明,并不限定本发明。
[0024] 如图1所示,本发明的实施例提供一种自动化测试方法,包括:
[0025] SI 1,提供基于被测对象宿主语言的访问代理,所述访问代理用于以统一接口与各 种测试工具通信,同时用于通过不同的端口与不同宿主语言的被测对象通信;所述被测对 象宿主语言与所述各种测试工具支持的语言不同;
[0026] S12,所述各种测试工具通过所述访问代理对所述被测对象进行测试。
[0027] 本发明实施例提供的自动化测试方法,当测试工具所支持的编程语言与被测对象 开发所使用的宿主语言不同时,可以提供一个用被测对象宿主语言实现的访问代理,该访 问代理能够以统一接口与各种测试工具通信,同时能够通过不同的网络端口号区分对不同 宿主语言实现的被测对象通信,这样,各种语言编写的测试工具都能够通过该访问代理对 不同宿主语言的被测对象进行自动化测试,从而极大地方便了跨语言的软件自动测试,有 效提高了软件测试效率。
[0028] 本实施例中,代理服务程序为各种测试工具提供一个统一的网络通信接口,同时 用不同的网络端口号区分不同被测对象宿主语言的代理服务,测试工具用统一的接口命令 通过代理服务,测试不同宿主语言实现的被测对象,从而实现了测试工具对不同语言实现 的功能进行跨语言测试。
[0029] 可选的,步骤S11中提供的访问代理可以是用实现被测对象的宿主语言开发的一 个本语言的访问代理进程,测试工具的测试程序进程能够通过这个HLAP(host language access proxy,宿主语言访问代理)实现跨语言访问。如图2所示,HLAP规定了标准的访 问接口,如socket tcp或udp接口,可以解析各种测试程序发送的访问请求,并调用被测对 象的测试接口。每种语言的被测对象都可以用本语言实现一个HLAP供其他语言访问,以保 证测试被测对象时不受任何限制。
[0030] 需要说明的是,由于访问代理只需实现很少的代理功能,只要能调用被测对象的 测试接口即可,无需深入被测系统,因而可以使HLAP做到面向特定的语言但无需面向特定 的系统,保证了 H
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1