CN101227345B - 基于应用程序接口的自动测试方法 - Google Patents
基于应用程序接口的自动测试方法 Download PDFInfo
- Publication number
- CN101227345B CN101227345B CN2008100081450A CN200810008145A CN101227345B CN 101227345 B CN101227345 B CN 101227345B CN 2008100081450 A CN2008100081450 A CN 2008100081450A CN 200810008145 A CN200810008145 A CN 200810008145A CN 101227345 B CN101227345 B CN 101227345B
- Authority
- CN
- China
- Prior art keywords
- test
- api
- instrumentation
- described test
- test api
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Maintenance And Management Of Digital Transmission (AREA)
- Monitoring And Testing Of Exchanges (AREA)
Abstract
本发明公开了一种基于应用程序接口的自动测试方法,涉及基于测试仪表的测试技术,为解决目前基于测试仪表的测试方法繁杂而提出,所采用的方案为:确定测试***中各测试仪表所支持的测试应用程序接口API及其调用指令,为各测试API设置标识,建立测试API库,测试API库中记录有测试API标识、测试API、测试API调用指令与测试仪表之间的对应关系;选取待测试项,根据测试API标识生成本地测试脚本;执行并解析测试脚本,确定出测试API及其调用指令,根据测试API与测试仪表的对应关系将测试API调用指令发送至测试仪表;测试仪表调用测试API,执行测试API对应的测试程序。本发明实现简单,维护成本低。
Description
技术领域
本发明涉及基于测试仪表的测试技术,尤其涉及一种基于应用程序接口(API,Application Programming Interface)的自动测试方法。
背景技术
随着通信技术在全球范围的不断推广和完善,通信产品的应用越来越广泛,涵盖了无线通信、计算机通信、光通信等领域。在技术优势日益不突出的今天,如何把握好通信产品的质量就成为占领市场配额的重要因素。在产品研发成功推向市场之前,测试工作是必要的,也是确定产品质量好坏的重要依据。产品测试的目的就是对产品的功能、性能、可靠性、兼容性、稳定性等进行严格的检查,提前体验用户感受,以提高产品的市场竞争力。
图1为现有的控制测试仪表的测试装置结构示意图,如图1所示,现有的控制测试仪表的测试装置包括应用程序接口客户端(API Client)、测试仪表控制服务器和测试仪表,其中,程序接口客户端调用测试仪表提供的API以执行测试仪表的自动化测试脚本,以完成相应测试项,程序接口客户端可以通过测试仪表控制服务器与测试仪表建立基于传输控制协议(TCP,TransmissionControl Protocol)的远程连接来操作测试仪表,也可以直接通过测试仪表控制服务器来操作测试仪表,或者直接将应用程序接口客户端与测试仪表连接,通过应用程序接口客户端直接操作测试仪表。测试仪表控制服务器是一台安装了测试仪表控制软件的服务器,其可以管理多个测试会话,作为服务器端接受多个应用程序接口客户端的远程操作或图形用户接口客户端的本地操作。测试仪表中包括有支持测试功能的测试仪表硬件、操作***、底层函数,其中,在硬件与操作***之间定义了一个硬件抽象层,向下直接控制硬件,向上为操作***提供接口,屏蔽硬件之间的差异。接收到测试指令后,通过操作***来解析指令,调用相应的底层函数库中的函数,经硬件抽象层对函数解析后,由相应的硬件完成测试。
在实际的数据通信设备测试过程当中,为保证产品大规模的生产,保证产品质量,测试工程师使用的测试仪表类型往往不止一种,并且所要测试的数据通信设备的功能也很多,由于测试仪表之间存在较大的差异性,不得不向用户提供差异性的测试界面,也就是说,必须针对不同的测试仪表生成相应的测试平台,才能实现用户对各测试仪表的操作。这无疑增加了测试的复杂度,不容易实现,在测试仪表更新时,需重新开发相应的测试平台,维护成本较高。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于应用程序接口的自动测试方法,能向测试用户提供统一的测试接口,并降低了开发人员的工作强度。
为达到上述目的,本发明的技术方案是这样实现的:
一种基于应用程序接口的自动测试方法,包括:
A、确定测试***中各测试仪表所支持的测试应用程序接口API及其调用指令,为各测试API设置标识,建立测试API库,所述测试API库中记录有测试API标识、测试API、测试API调用指令与测试仪表之间的对应关系;
B、选取待测试项,根据所述测试API标识生成本地测试脚本;
C、执行并解析所述测试脚本,根据所述测试API标识在所述测试API库中确定出所述测试API及其调用指令,根据所述测试API与测试仪表的对应关系将所述测试API调用指令发送至所述测试仪表;所述测试仪表调用所述测试API,执行所述测试API对应的测试程序。
优选地,步骤B具体为:
用户根据选取需要测试的测试项,确定所述测试项的执行顺序或执行条件,根据所述测试项选取相应的测试API标识,利用本地编程语言生成本地测试脚本。
优选地,该方法还包括:
测试***中测试仪表的测试项更新时,所述测试API库对应更新。
优选地,所述测试API库中,一个以上的测试API的调用指令相同时,一个以上的测试API与一个测试API调用指令对应。
本发明通过建立测试API库,对测试***中所有的测试仪表进行测试项进行统计,记录测试项的API、API调用指令等,为API设置标识。测试人员测试时,直接根据API标识,利用本地语言生成测试脚本,由本地客户端根据API解析测试脚本,并将解析后的API调用指令发送给相应的测试仪表,由测试仪表调用相应的API而完成测试工作。本发明向用户提供了统一的测试平台,屏蔽了测试仪表之间的差异性,方便了用户的使用。在生成测试脚本时,不用考虑测试仪表底层的API情况,根据所需的测试项,直接选用相应的API标识即可,测试脚本的开发相当简单,不需要具备专门的开发知识即可完成。在测试***的测试仪表增加或功能增加时,直接更新测试API库即可,维护难度小。
附图说明
图1为现有的控制测试仪表的测试装置结构示意图;
图2为本发明基于应用程序接口的自动测试方法的流程图。
具体实施方式
本发明的核心思想是:目前的通信产品测试方法中,测试仪表种类较多、功能更新速度非常快,而现有测试方法需要根据不同的测试仪表提供相应的测试平台,这非常不利于测试的操作,维护成本极高。本发明通过建立测试API库,对测试***中所有的测试仪表进行测试项进行统计,记录测试项的API、API调用指令等,为API设置标识。测试人员测试时,直接根据API标识,利用本地语言生成测试脚本,由本地客户端根据API解析测试脚本,并将解析后的API调用指令发送给相应的测试仪表,由测试仪表调用相应的API而完成测试工作。本发明向用户提供了统一的测试平台,屏蔽了测试仪表之间的差异性,方便了用户的使用。在生成测试脚本时,不用考虑测试仪表底层的API情况,根据所需的测试项,直接选用相应的API标识即可,测试脚本的开发相当简单,不需要具备专门的开发知识即可完成。在测试***的测试仪表增加或功能增加时,直接更新测试API库即可,维护难度小。以下结合附图对本发明进行详细描述。
图2为本发明基于应用程序接口的自动测试方法的流程图,如图2所示,本发明基于应用程序接口的自动测试方法包括以下步骤:
步骤201:确定测试***中各测试仪表所支持的测试应用程序接口API及其调用指令,为各测试API设置标识,建立测试API库,所述测试API库中记录有测试API标识、测试API、测试API调用指令与测试仪表之间的对应关系。
为用户提供一个测试脚本生成的测试终端,该测试终端连接于测试***中的各测试仪表,测试仪表上设置有串口或网口,测试终端通过串口或网口与这些测试仪表连接,以完成对测试仪表各API的调用。对测试***中各测试仪表所支持的API进行统计,也即是确定各测试仪表的测试能力、所支持的测试项到底有哪些、通过哪些API来实现等。关于测试仪表的API情况,可通过测试仪表的使用说明书、测试仪表的配置说明来确定,或者直接由有经验的测试人员来根据测试仪表的型号等信息来确定。在测试终端上建立测试仪表测试API库,将前述所确定的各测试仪表的API存储到测试API库中,同时,根据各测试API所支持的测试能力,为其设置可表示测试能力的标识,所述标识并不限定具体的格式,只要能清晰表达API所支持的测试能力,方便用户通过标识确定测试项即可。各测试API还与所提供API的测试仪表对应,即记载测试API是来自哪个测试仪表,还需要记载触发该测试API的调用指令具体是什么。对于不同的测试API,提供者不同时,调用该测试API的指令可能会不同,在测试API库中记载其调用指令即可,该调用指令是极小的指令段,占用的存储空间不大。
本发明的测试API库可根据测试API的情况进行数据优化,例如,一个以上的测试API的调用指令相同时,可将该一个以上的测试API与相应的测试API调用指令对应。
当测试***中的测试仪表增加或测试仪表的API增加时,在测试API库中增加相应的测试API,为这些新增测试API添加相应标识,再建立这些新增测试API与测试仪表、测试API标识、测试API调用指令之间的对应关系即可。而当测试***中的测试仪表减少或测试仪表的API减少时,在测试API库中删除相应的对应项即可,当然,测试仪表减少时,也可不删除测试API库中的API对应项,不会影响到API的匹配和调用指令的确定。因此,本发明的测试方法维护相当简单。
步骤202:选取待测试项,根据所述测试API标识生成本地测试脚本。
进行测试时,首先确定需要测试哪些测试项,例如需要测试数据包流量中帧长、流量负载以及帧间隔等测试项时,可通过测试API标识来直接确定,例如上述测试项,可直接以“帧长测试”、“流量负载测试”及“帧间隔测试”等字段作为实现上述测试功能的测试API标识。测试用户根据测试需要可直接通过选取相应的测试API标识而生成本地测试脚本。这里,测试脚本由测试终端支持的编程语言实现。需要说明的是,本发明的测试脚本实现根据测试需要直接用高级语言确定调用的测试API标识,确定调用测试API标识的触发条件或调用时间即可,不需要专门的编程人员即可实现。
由于本发明提供的是测试仪表的调用脚本,而很多测试仪表虽然所支持的API格式不同,但所提供的能力比较类似,因此,测试脚本的实现方式基本一致,测试脚本有很强的移植性。在利用多测试仪表完成多测试项时,可大大降低测试人员的工作强度。
步骤203:执行并解析所述测试脚本,根据所述测试API标识在所述测试API库中确定出所述测试API及其调用指令,根据所述测试API与测试仪表的对应关系将所述测试API调用指令发送至所述测试仪表。
测试终端自动执行测试脚本,实现本地的测试脚本解析。这里,主要是确定测试API标识对应的测试API调用指令、提供测试API的测试仪表是哪个仪表,同时获取测试脚本的触发条件。触发条件到来,将所解析出的测试API调用指令发送到测试API所属的测试仪表。这里,测试API调用指令是测试仪表所支持本地的调用指令,测试仪表可直接识别并执行该指令。
本发明支持任何方式的测试API调用指令的传输,如测试终端与测试仪表直接连接时,直接通过数据串口发送所确定的测试API调用指令,而如果测试终端与测试仪表网络连接时,通过相应的网络接口、IP地址发送所确定的测试API调用指令。
步骤204:所述测试仪表调用所述测试API,执行所述测试API对应的测试程序。
测试仪表接收到测试API的调用指令后,通过操作***来解析指令,调用相应的底层函数库中的函数,经通过在硬件与操作***之间的硬件抽象层对函数解析后,由相应的硬件完成测试。测试完成后通过相应的数据接口向测试终端返回测试结果。
本发明在测试仪表底层API层之上增加了一个通用的API用户界面,统一定义测试仪表应用程序接口,对下层的测试仪表API进行封装,向用户屏蔽测试仪表差异。测试脚本在不需要任何改变的情况下在另一测试仪表平台下运行,极大提高了脚本通用性。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (4)
1.一种基于应用程序接口的自动测试方法,其特征在于,该方法包括:
A、确定测试***中各测试仪表所支持的测试应用程序接口API及其调用指令,为各测试API设置标识,建立测试API库,所述测试API库中记录有测试API标识、测试API、测试API调用指令与测试仪表之间的对应关系;
B、选取待测试项,根据所述测试API标识生成本地测试脚本;
C、执行并解析所述测试脚本,根据所述测试API标识在所述测试API库中确定出所述测试API及其调用指令,根据所述测试API与测试仪表的对应关系将所述测试API调用指令发送至所述测试仪表;所述测试仪表调用所述测试API,执行所述测试API对应的测试程序。
2.根据权利要求1所述的基于应用程序接口的自动测试方法,其特征在于,步骤B具体为:
用户根据选取的需要测试的测试项,确定所述测试项的执行顺序或执行条件,根据所述测试项选取相应的测试API标识,利用本地编程语言生成本地测试脚本。
3.根据权利要求1或2所述的基于应用程序接口的自动测试方法,其特征在于,该方法还包括:
测试***中测试仪表的测试项更新时,所述测试API库对应更新。
4.根据权利要求1或2所述的基于应用程序接口的自动测试方法,其特征在于,所述测试API库中,一个以上的测试API的调用指令相同时,将该一个以上的测试API与相应的一个测试API调用指令对应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100081450A CN101227345B (zh) | 2008-02-05 | 2008-02-05 | 基于应用程序接口的自动测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100081450A CN101227345B (zh) | 2008-02-05 | 2008-02-05 | 基于应用程序接口的自动测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101227345A CN101227345A (zh) | 2008-07-23 |
CN101227345B true CN101227345B (zh) | 2010-08-18 |
Family
ID=39859112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100081450A Active CN101227345B (zh) | 2008-02-05 | 2008-02-05 | 基于应用程序接口的自动测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101227345B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231685A (zh) * | 2011-06-17 | 2011-11-02 | 中兴通讯股份有限公司 | 测试方法、服务器及*** |
CN102306122A (zh) * | 2011-09-14 | 2012-01-04 | 北京星网锐捷网络技术有限公司 | 自动化测试方法及设备 |
CN102968371B (zh) * | 2012-11-26 | 2015-09-23 | 武汉天喻信息产业股份有限公司 | 测试java api单元组件的方法及装置 |
CN103064789B (zh) * | 2013-01-11 | 2017-08-04 | 上海斐讯数据通信技术有限公司 | 一种软件控制的自动化测试方法 |
CN103701662B (zh) * | 2013-12-25 | 2017-01-04 | 武汉日电光通信工业有限公司 | 自动化测试终端仿真方法及仿真*** |
CN106201865A (zh) * | 2016-06-27 | 2016-12-07 | 乐视控股(北京)有限公司 | 一种应用程序编程接口api测试方法、装置及终端设备 |
CN106201864A (zh) * | 2016-06-27 | 2016-12-07 | 乐视控股(北京)有限公司 | 一种应用程序编程接口api测试方法、装置及移动设备 |
CN107454240B (zh) * | 2017-09-18 | 2020-10-02 | 上海研端信息科技有限公司 | 一种检测***的安装方法、检测***及摄像头的检测方法 |
CN108174405B (zh) * | 2017-12-22 | 2021-06-29 | 歌尔科技有限公司 | 产品测试方法及设备 |
CN109979444A (zh) * | 2017-12-27 | 2019-07-05 | 深圳市优必选科技有限公司 | 一种语音指令自动化测试方法、终端以及装置 |
CN108647143A (zh) * | 2018-05-09 | 2018-10-12 | 平安普惠企业管理有限公司 | Mock接口测试方法、装置、计算机设备以及存储介质 |
CN108737220B (zh) * | 2018-06-26 | 2021-12-28 | 广东九博科技股份有限公司 | 路由设备的测试*** |
CN112100013B (zh) * | 2020-11-18 | 2021-09-21 | 北京智芯微电子科技有限公司 | 安全芯片spi接口测试方法、装置及*** |
CN114295120A (zh) * | 2021-11-24 | 2022-04-08 | 华中光电技术研究所(中国船舶重工集团公司第七一七研究所) | 一种星敏感器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1746694A (zh) * | 2004-09-07 | 2006-03-15 | 华为技术有限公司 | 自动测试装置及方法 |
CN1983168A (zh) * | 2005-11-16 | 2007-06-20 | 致茂电子股份有限公司 | 对自动测试***仪器装置执行控制与撷取数据的处理方法 |
-
2008
- 2008-02-05 CN CN2008100081450A patent/CN101227345B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1746694A (zh) * | 2004-09-07 | 2006-03-15 | 华为技术有限公司 | 自动测试装置及方法 |
CN1983168A (zh) * | 2005-11-16 | 2007-06-20 | 致茂电子股份有限公司 | 对自动测试***仪器装置执行控制与撷取数据的处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101227345A (zh) | 2008-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101227345B (zh) | 基于应用程序接口的自动测试方法 | |
CN107704395B (zh) | 一种基于Openstack下云平台自动化测试实施方法与*** | |
CN105094783B (zh) | 安卓应用稳定性测试的方法及装置 | |
CN107832207A (zh) | 接口性能测试方法、装置、存储介质和计算机设备 | |
CN101930400A (zh) | Sdk自动化测试***及方法 | |
CN111651366A (zh) | Sdk测试方法、装置、设备及存储介质 | |
CN106209503B (zh) | Rpc接口测试方法及*** | |
CN105224401A (zh) | 定时任务控制方法及装置 | |
CN101247292A (zh) | 基于通用测试仪表应用编程接口的测试设备及测试方法 | |
CN111597110A (zh) | 页面测试方法、装置、电子设备及存储介质 | |
CN110381101A (zh) | Api网关控制***、控制方法、设备和介质 | |
CN105760300B (zh) | 一种stk/utk业务的自动化测试方法及测试*** | |
CN112231206A (zh) | 应用程序测试的脚本编辑方法、计算机可读存储介质及测试平台 | |
CN102420717B (zh) | 移动终端协议栈测试方法及*** | |
CN102025555B (zh) | Ip多媒体子***性能测试的方法 | |
CN112650689A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN100362817C (zh) | 软件模块的测试方法 | |
CN101296462A (zh) | 一种移动终端软件自动测试的批量执行的方法及*** | |
CN103546342A (zh) | 一种终端一致性测试方法及用于该方法的api接口通用适配器 | |
CN109586994A (zh) | 一种整机柜服务器老化测试监控方法及*** | |
CN112230938B (zh) | 工业互联网的租赁产品的配置方法和装置 | |
CN103019927A (zh) | 一种性能测试方法和*** | |
CN114968770A (zh) | 一种自动化测试的方法、装置、设备和存储介质 | |
CN114745313A (zh) | 终端远程测试方法、装置、电子设备和可读介质 | |
CN108536607B (zh) | Ui测试方法、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |