CN101409655A - 一种报文驱动的自动化测试系统以及实现方法 - Google Patents
一种报文驱动的自动化测试系统以及实现方法 Download PDFInfo
- Publication number
- CN101409655A CN101409655A CNA200810217332XA CN200810217332A CN101409655A CN 101409655 A CN101409655 A CN 101409655A CN A200810217332X A CNA200810217332X A CN A200810217332XA CN 200810217332 A CN200810217332 A CN 200810217332A CN 101409655 A CN101409655 A CN 101409655A
- Authority
- CN
- China
- Prior art keywords
- test
- module
- message
- agent
- described test
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种报文驱动的自动化测试系统以及实现方法,包括测试系统、被测试系统与测试代理,所述测试系统、所述测试代理与所述被测试系统顺序通信连接,所述测试系统用于配置测试策略、发送与测试代理相关的控制信息、发送测试报文、接收测试结果与对测试结果进行验证处理;所述被测试系统用于处理测试报文并返回应答报文;所述测试代理用于提取测试报文与测试结果相应的特征码、接收所述测试系统的控制信息并转发相应报文。本发明在现有技术中增加了测试代理,拓展了系统应用空间,提高了系统测试灵活性;并通过相应的测试流程进一步增强了系统易用性,极大的满足了用户的需求。
Description
技术领域
本发明涉及自动化测试领域,尤其涉及一种报文驱动的自动化测试系统以及实现方法。
背景技术
自动化测试框架与工具的发展经历了三个阶段:第一阶段是简单的录制与回放,此阶段的测试工具主要是针对界面的自动化测试,测试工具录制并记录操作过程以及生成数据脚本,通过人工回放来重复操作的过程;在这种模式下,数据与脚本是混在一起的,每个测试用例对应一个脚本,难以维护。界面一旦改变,测试用例需要重新录制,脚本的可复用性低,同时,一些测试工具在录制脚本时根据窗口坐标定位界面元素,如果改变了显示器分辨率,测试用例就没无法执行。第二阶段是数据驱动的自动化测试,具体做法是从数据文件中读入测试数据,通过变量的参数化,将测试数据传入测试脚本,不同的数据文件对应不同的测试用例;这种模式把数据与脚本分离开了,脚本与数据的可复用程度以及可维护性大大提高,但测试仍然受界面变化的影响。第三阶段是关键字驱动的自动化测试,它在数据驱动的自动化测试上进一步改进,将测试逻辑按照关键字进行拆分,形成数据文件,关键字对应封装的业务逻辑;其中,关键字分为三类:被操作对象即Item、操作即Operation与值即Value,可以表示为Item.Operation(Value);关键字驱动的思想在于脚本与数据分离、界面元素名称与测试内部对象名分离、测试描述与具体时间线细节分离。
目前,市场上许多针对功能测试的自动化测试软件都采用关键字驱动的思想,但是,这些产品对被测系统采用的通信协议、界面框架限制较多。如图1所示的,对于一个在现有产品上迭代开发又计划采纳自动化测试的项目,由于其采用的通信协议、报文格式、界面框架已经确定,很难直接采用现有的自动化测试软件。由此可见,现有技术有待于更进一步的发展。
发明内容
本发明为解决上述现有技术中的缺陷提供一种报文驱动的自动化测试系统以及实现方法,增加测试代理以拓展系统应用空间,增强系统灵活性,提高系统测试易用性。
为解决上述技术问题,本发明方案包括:
一种报文驱动的自动化测试系统,包括测试系统与被测试系统,其中,所述自动化测试系统还包括测试代理,所述测试系统、所述测试代理与所述被测试系统顺序通信连接,所述测试系统用于配置测试策略、发送与测试代理相关的控制信息、发送测试报文、接收测试结果与对测试结果进行验证处理;
所述被测试系统用于处理测试报文并返回应答报文;
所述测试代理用于提取相应的特征码、接收所述测试系统的控制信息并转发相应报文。
所述的自动化测试系统,其中,所述测试代理包括测试系统接口、被测试系统接口与报文控制转发模块,所述报文控制转发模块用于提取相应的特征码并转发测试报文与应答报文。
所述的自动化测试系统,其中,所述测试系统还包括数据访问模块、脚本解释模块、测试报文转发模块与测试报告模块,所述数据访问模块、所述测试报文转发模块、所述测试报告模块分别与所述脚本解释模块通信连接,所述测试报文转发模块与所述测试代理通信连接,所述数据访问模块用于测试数据与测试脚本的存取;
所述脚本解释模块用于执行测试脚本;
所述测试报文转发模块用于转发测试报文到目的地;
所述测试报告模块用于处理相关结果后生成报告文档。
所述的自动化测试系统,其中,所述测试系统还包括测试日志模块,所述测试日志模块与所述脚本解释模块通信连接,所述测试日志模块用于记录所述测试系统的测试过程。
所述的自动化测试系统,其中,所述被测试系统包括至少两个子系统,子系统之间通过网络连接进行通信。
所述自动化测试系统的方法,包括以下步骤:
A、测试代理进行配置后分别与测试系统、被测试系统建立通信连接;
B、所述测试系统执行测试脚本并向所述测试代理发送与测试代理相关的控制信息与测试报文,所述测试代理提取并保存特征码后将测试报文转发至所述被测试系统;
C、所述被测试系统向所述测试代理返回应答报文,所述测试代理提取应答报文的特征码并与所述测试代理保存的特征码进行匹配,若匹配成功,则所述测试代理转发应答报文至所述测试系统;
D、所述测试系统接收到应答报文后执行测试脚本。
所述的实现方法,其中,步骤B中的所述控制信息包括改变所述测试代理工作状态信息与被测试系统的报文特征码。
所述的实现方法,其中,所述步骤B中还包括:所述脚本解释模块执行测试脚本后由数据访问模块取得测试报文并传送至测试报文转发模块,所述测试报文转发模块将其传送至所述测试代理。
所述的实现方法,其中,所述步骤D还包括:,所述测试系统将应答报文与测试策略进行匹配,并由测试报告模块根据匹配结果生成报告文档。
所述的实现方法,其中,所述特征码是唯一标识报文的ID字段。
本发明提供的一种报文驱动的自动化测试系统以及实现方法,在现有技术中增加了测试代理与相应程序,拓展了系统应用空间,提高了系统测试灵活性,增强了系统易用性,方便了用户体验。
附图说明
图1是现有技术中报文驱动的自动化测试系统的结构示意图;
图2是本发明中报文驱动的自动化测试系统的结构示意图;
图3是本发明中自动化测试系统的测试流程示意图;
具体实施方式
以下将结合附图,对本发明各较佳实施例进行较为详尽的说明。
本发明提供的一种报文驱动的自动化测试系统,图2所示的,包括测试系统201、测试代理203与被测试系统202,所述测试系统210、所述测试代理203与所述被测试系统202顺序通信连接,所述测试系统201用于配置测试策略、发送带有被测试系统特征码的控制信息、发送测试报文、接收测试结果与对测试结果进行验证处理;所述被测试系统202用于处理测试报文并返回应答报文;所述测试代理203用于提取相应的报文特征码、接收所述测试系统的控制信息并转发相应报文。所述测试代理还包括测试系统接口、被测试系统接口与报文控制转发模块,所述报文控制转发模块用于提取相应的报文特征码并转发测试报文与应答报文;所述测试代理203通过所述测试系统接口与所述测试系统201通信连接;所述测试代理203通过所述被测试系统接口与所述被测试系统202通信连接。
所述测试系统201包括所述测试系统包括数据访问模块206、脚本解释模块207、测试报文转发模块208、测试报告模块209与测试日志模块210,所述数据访问模块206、所述测试报文转发模块208、所述测试报告模块209、所述测试日志模块210分别与所述脚本解释模块通信连接,所述测试报文转发模块208与所述测试代理203通信连接,所述数据访问模块206用于测试数据205与测试脚本204的存取;所述脚本解释模块207用于执行测试脚本204;所述测试报文转发模块208用于转发测试报文到目的地;所述测试报告模块209用于处理相关结果后生成报告文档;所述测试日志模块210用于记录所述测试系统201的测试过程。
所述被测试系统202包括至少两个子系统,例如子系统A211与子系统B212,并且子系统之间通过网络连接进行通信,例如子系统A211与子系统B212之间通过网络连接进行通信。
上述的报文驱动的自动化测试系统的实现方法,包括以下步骤:
a、所述测试代理203进行配置后通过所述测试系统接口、所述被测试系统接口分别与所述测试系统201、所述被测试系统202建立通信连接;并且所述测试代理203可以与所述被测试系统202中的一个子系统建立通信连接,也可以与所述被测试系统202中的多个子系统建立通信连接;
b、所述测试系统201通过所述数据访问模块206获取测试脚本204,并通过所述脚本解释模块207执行测试脚本,然后所述测试系统201向所述测试代理203发送带有被测试系统202特征码的控制信息与测试报文,所述测试代理203提取并保存报文特征码后将测试报文转发至所述被测试系统202;并且所述控制信息包括改变所述测试代理203工作状态信息与被测试系统202的报文特征码,其中,被测试系统202的特征码可以是一个也可以是多个;如果上述流程成功,则转入步骤c;若上述流程失败,则结束流程;
c、所述被测试系统202将测试报文进行处理后向所述测试代理203返回应答报文,所述测试代理203中的所述报文控制转发模块提取应答报文的特征码并与所述测试代理203保存的特征码进行匹配,若匹配成功,则所述测试代理203转发应答报文至所述测试系统202;若匹配不成功,则所述测试代理203丢弃该应答报文,并等待下一个应答报文;
d、所述测试系统201接收到应答报文后执行测试脚本,将应答报文与测试策略进行匹配,并将匹配结果发送至所述测试报告模块209进行相应处理,所述测试报告模块209将其处理完成后生成报告文档;
e、所述测试系统201中的所述测试日志模块210记录步骤a之后的所有测试过程。
其中,步骤b还包括所述脚本解释模块207执行测试脚本204,由所述数据访问模块206取得测试报文并传送至所述测试报文转发模块208,所述测试报文转发模块208将其传送至所述测试代理203;在上述流程中的特征码可以是命令码也可以是唯一标识报文的ID字段。
为了进一步阐述本发明,现以由子系统A与子系统B组成的被测试系统为例进行说明,测试代理203对子系统B可以屏蔽子系统A,对子系统A也可以屏蔽子系统B,如图3所示的,所述自动化测试系统的测试流程包括以下步骤:
步骤301:所述测试系统201与所述测试代理203建立网络连接,所述被测试系统202与所述测试代理203建立网络连接;若通过接口建立连接,则可以省略该步骤:
步骤302:所述脚本解释模块207执行测试脚本204,由所述数据访问模块206取得测试报文并传送至所述测试报文转发模块208,所述测试报文转发模块208将其传送至所述测试代理203;
步骤303:所述测试系统201向所述测试代理203发送带有被测试系统202特征码的控制信息;
步骤304:所述测试代理203保存控制信息并向所述测试系统201返回设置结果情况;
步骤305:所述测试系统201执行测试脚本并向所述测试代理203发送测试报文;
步骤306:所述测试代理203根据测试报文携带的目的信息转发测试报文至所述被测试系统202中的子系统A211或子系统B212;
步骤307:所述被测试系统202对测试报文处理后向所述测试代理203返回应答报文;
步骤308:所述测试代理203提取应答报文的特征码并与所述测试代理203保存的特征码进行匹配,若匹配成功,则进入步骤309;若匹配不成功,则所述测试代理203丢弃该应答报文并等待下一个应答报文;
步骤309:所述测试代理203向所述测试系统201返回应答报文;
步骤310:所述测试系统201将接收到的应答报文与测试策略进行匹配,并将匹配结果发送至所述测试报告模块209进行相应处理;
步骤311:所述测试报告模块209将匹配结果处理完成后生成报告文档即测试报告。
综上所述,本发明提供了一种报文驱动的自动化测试系统以及实现方法,在现有技术中增加了测试代理,拓展了系统应用空间,提高了系统测试准确性;并通过相应的测试流程进一步增强了系统适应性,方便了用户体验,极大的满足了用户的需求。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换、简单组合等多种变形,这些均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
Claims (10)
1、一种报文驱动的自动化测试系统,包括测试系统与被测试系统,其特征在于,所述自动化测试系统还包括测试代理,
所述测试系统、所述测试代理与所述被测试系统顺序通信连接,所述测试系统用于配置测试策略、发送与测试代理相关的的控制信息、发送测试报文、接收测试结果与对测试结果进行验证处理;
所述被测试系统用于处理测试报文并返回应答报文;
所述测试代理用于提取相应的特征码、接收所述测试系统的控制信息并转发相应报文。
2、根据权利要求1所述的自动化测试系统,其特征在于,所述测试代理包括测试系统接口、被测试系统接口与报文控制转发模块,所述报文控制转发模块用于提取相应的特征码并转发测试报文与应答报文。
3、根据权利要求2所述的自动化测试系统,其特征在于,所述测试系统还包括数据访问模块、脚本解释模块、测试报文转发模块与测试报告模块,所述数据访问模块、所述测试报文转发模块、所述测试报告模块分别与所述脚本解释模块通信连接,所述测试报文转发模块与所述测试代理通信连接,所述数据访问模块用于测试数据与测试脚本的存取;
所述脚本解释模块用于执行测试脚本;
所述测试报文转发模块用于转发测试报文到目的地;
所述测试报告模块用于处理相关结果后生成报告文档。
4、根据权利要求3所述的自动化测试系统,其特征在于,所述测试系统还包括测试日志模块,所述测试日志模块与所述脚本解释模块通信连接,所述测试日志模块用于记录所述测试系统的测试过程。
5、根据权利要求4所述的自动化测试系统,其特征在于,所述被测试系统包括至少两个子系统,子系统之间通过网络连接进行通信。
6、一种实现根据权利要求1所述自动化测试系统的方法,包括以下步骤:
A、测试代理进行配置后分别与测试系统、被测试系统建立通信连接;
B、所述测试系统执行测试脚本并向所述测试代理发送与测试代理相关的控制信息与测试报文,所述测试代理提取并保存特征码后将测试报文转发至所述被测试系统;
C、所述被测试系统向所述测试代理返回应答报文,所述测试代理提取应答报文的特征码并与所述测试代理保存的特征码进行匹配,若匹配成功,则所述测试代理转发应答报文至所述测试系统;
D、所述测试系统接收到应答报文后执行测试脚本。
7、根据权利要求6所述的实现方法,其特征在于,步骤B中的所述控制信息包括改变所述测试代理工作状态信息与被测试系统的报文特征码。
8、根据权利要求6所述的实现方法,其特征在于,所述步骤B中还包括:所述脚本解释模块执行测试脚本后由数据访问模块取得测试报文并传送至测试报文转发模块,所述测试报文转发模块将其传送至所述测试代理。
9、根据权利要求6所述的实现方法,其特征在于,所述步骤D还包括:,所述测试系统将应答报文与测试策略进行匹配,并由测试报告模块根据匹配结果生成报告文档。
10、根据权利要求6至9任一权项所述的实现方法,其特征在于,所述特征码是唯一标识报文的ID字段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200810217332XA CN101409655A (zh) | 2008-11-12 | 2008-11-12 | 一种报文驱动的自动化测试系统以及实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200810217332XA CN101409655A (zh) | 2008-11-12 | 2008-11-12 | 一种报文驱动的自动化测试系统以及实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101409655A true CN101409655A (zh) | 2009-04-15 |
Family
ID=40572458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200810217332XA Pending CN101409655A (zh) | 2008-11-12 | 2008-11-12 | 一种报文驱动的自动化测试系统以及实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101409655A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185734A (zh) * | 2011-04-18 | 2011-09-14 | 华为软件技术有限公司 | 接口自动化测试方法及服务器 |
CN103049379A (zh) * | 2012-12-19 | 2013-04-17 | 中国铁道科学研究院 | 一种系统测试的方法 |
CN103593277A (zh) * | 2012-08-15 | 2014-02-19 | 深圳市世纪光速信息技术有限公司 | 日志处理方法及系统 |
CN105846973A (zh) * | 2016-04-25 | 2016-08-10 | 北京智能综电信息技术有限责任公司 | 一种嵌入式软件的协议测试方法和装置 |
CN106776300A (zh) * | 2016-12-01 | 2017-05-31 | 北京驰波信息工程有限公司 | 一种中间系统的压力测试系统及方法 |
CN109491885A (zh) * | 2018-09-26 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 测试问题定位方法、装置、计算机设备和存储介质 |
-
2008
- 2008-11-12 CN CNA200810217332XA patent/CN101409655A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185734A (zh) * | 2011-04-18 | 2011-09-14 | 华为软件技术有限公司 | 接口自动化测试方法及服务器 |
CN103593277A (zh) * | 2012-08-15 | 2014-02-19 | 深圳市世纪光速信息技术有限公司 | 日志处理方法及系统 |
CN103049379A (zh) * | 2012-12-19 | 2013-04-17 | 中国铁道科学研究院 | 一种系统测试的方法 |
CN103049379B (zh) * | 2012-12-19 | 2016-03-02 | 中国铁道科学研究院 | 一种系统测试的方法 |
CN105846973A (zh) * | 2016-04-25 | 2016-08-10 | 北京智能综电信息技术有限责任公司 | 一种嵌入式软件的协议测试方法和装置 |
CN106776300A (zh) * | 2016-12-01 | 2017-05-31 | 北京驰波信息工程有限公司 | 一种中间系统的压力测试系统及方法 |
CN109491885A (zh) * | 2018-09-26 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 测试问题定位方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6804796B2 (en) | Method and test tool for verifying the functionality of a software based unit | |
CN109768970B (zh) | 一种基于可配置的通用协议生成方法 | |
US6560723B1 (en) | Automatic communication protocol test system with message/sequence edit function and test method using the same | |
CN101136790B (zh) | 以太网交换机集群管理的自动化测试系统及方法 | |
CN101409655A (zh) | 一种报文驱动的自动化测试系统以及实现方法 | |
CN102421112B (zh) | 移动终端的测试方法、移动终端模拟器、测试设备及系统 | |
CN105303112B (zh) | 组件调用漏洞的检测方法及装置 | |
CN100388690C (zh) | 数据通讯设备命令行接口命令的自动测试系统及测试方法 | |
CN107302476A (zh) | 一种测试异步交互系统的自动化测试方法与系统 | |
CN105224396A (zh) | 一种业务数据处理方法和装置 | |
CN112559289B (zh) | 一种监控系统 | |
CN110908708B (zh) | 一种代码发布方法、装置和系统 | |
CN111309616B (zh) | 一种测试平台的实现方法 | |
CN111245671B (zh) | 用于卫星激光通信终端地面测试的自动化集成测试系统 | |
CN101964923A (zh) | 交互式命令的配置系统及方法 | |
CN213213488U (zh) | 自动化测试系统 | |
JP3139459B2 (ja) | 並列分散システムのデバッグ装置及びデバッグ方法 | |
CN102413247A (zh) | 终端死机现场的恢复方法及装置 | |
CN116431504A (zh) | 自动化测试方法、系统及装置 | |
CN107205241A (zh) | 一种无线通信检测方法及其设备 | |
CN114448775A (zh) | 设备故障信息处理方法、装置、电子设备及存储介质 | |
CN103678054B (zh) | 用于BACnet设备的测试方法及装置 | |
CN111737133A (zh) | 测试方法及装置、计算机设备及计算机可读存储介质 | |
CN102316212A (zh) | 一种实现手机自动测试的方法 | |
CN110850841A (zh) | 故障诊断方法和相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20090415 |