CN101398778B - 自动化集成测试方法 - Google Patents

自动化集成测试方法 Download PDF

Info

Publication number
CN101398778B
CN101398778B CN2007101615874A CN200710161587A CN101398778B CN 101398778 B CN101398778 B CN 101398778B CN 2007101615874 A CN2007101615874 A CN 2007101615874A CN 200710161587 A CN200710161587 A CN 200710161587A CN 101398778 B CN101398778 B CN 101398778B
Authority
CN
China
Prior art keywords
tcl
file
extended instruction
parameter
input
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.)
Expired - Fee Related
Application number
CN2007101615874A
Other languages
English (en)
Other versions
CN101398778A (zh
Inventor
程寒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN2007101615874A priority Critical patent/CN101398778B/zh
Publication of CN101398778A publication Critical patent/CN101398778A/zh
Application granted granted Critical
Publication of CN101398778B publication Critical patent/CN101398778B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提出了一种自动化集成测试方法,该方法包括以下步骤:S302,创建工程文件并在工程文件中创建并初始化TCL解释器,通过在TCL解释器中注册TCL扩展指令将TCL扩展指令和扩展指令处理函数对应起来;S304,将TCL脚本文件传入工程文件并运行TCL脚本文件,TCL脚本文件从数据文件中读取输入参数和预期输出参数并将它们到TCL扩展指令;S306,通过TCL解释器找到对应于TCL扩展指令的扩展指令处理函数,扩展指令处理函数将输入参数输入到被测试模块,并驱动被测试模块以得到实际输出结果;S308,扩展指令处理函数将实际输出结果与预期输出参数进行比较,在一致时,则测试通过,否则,则测试未通过。

Description

自动化集成测试方法
技术领域
本发明涉及通信领域,尤其涉及一种自动化集成测试方法。
背景技术
PC侧手机软件测试方法指手机应用程序运行在个人PC的环境中进行测试,而不是下载到手机中,并在手机内运行时测试的方法。此测试方法是针对手机应用层的前台层软件进行测试。
手机软件是个多任务多进程的应用软件。它分为Layer1层、协议栈层和应用层。其中应用层又分为前台层、后台层和GIM(通用接口模块)。这里我们讲述的测试只是针对应用层的前台层(MMI)软件进行测试。前台层通过信号控制后台层;前台层通过信号响应后台的各种指示;前台层响应用的各种输入;前台层管理与底层驱动的接口;前台层通过GIM定制和显示MMI界面。前台子系统可以理解为手机软件中的一个任务,它通过接收处理其他任务发来的信号和内部发送的信号,来响应用户和网络的动作。
集成测试是确保各单元组合在一起后能够按既定意图协作运行,关注单元间的接口和集成后的功能。从最底层的单元测试到最终的整个模块都要通过集成来测试。
TCL(Terminal Control Language,终端控制语言)是一种解释执行的脚本语言,具有像C/C++语言类似的控制结构。它提供了一个功能较为齐备的固有的核心命令集,它是由一个库实现的,包括提供方便的C/C++语言扩展接口,实现可移植,最重要的是它可以构造一个虚拟层。虚拟层实际是提供一个转换适配的过程,向上提供统一的接口,将底层的细节屏蔽掉。TCL具有良好的可扩展性和可嵌入性,具有开放的框架,可以根据需要随时扩展TCL命令,这很好的适应了集成测试的多变性的特点。
由于我们手机软件一般都是用C/C++进行开发,所以可以和TCL脚本语言进行很好的集成。我们可以利用TCL的良好的扩展性和嵌入性来搭建我们的手机自动化集成测试的测试框架。
发明内容
鉴于以上所述的一个或多个问题,本发明提出了一种自动化集成测试方法,可以实现手机的自动化集成测试。
根据本发明的自动化集成测试方法包括以下步骤:步骤S302,创建工程文件并在工程文件中创建并初始化终端控制语言解释器,通过在终端控制语言解释器中注册终端控制语言扩展指令将终端控制语言扩展指令和扩展指令处理函数对应起来;步骤S304,将终端控制语言脚本文件传入工程文件并运行终端控制语言脚本文件,终端控制语言脚本文件从数据文件中读取输入参数和预期输出参数并将输入参数和预期输出参数输入到终端控制语言扩展指令;步骤S306,通过终端控制语言解释器找到对应于终端控制语言扩展指令的扩展指令处理函数,扩展指令处理函数将输入参数输入到被测试模块,并驱动被测试模块以得到实际输出结果;以及步骤S308,扩展指令处理函数将实际输出结果与预期输出参数进行比较,在实际输出结果和预期输出参数一致的情况下,则测试通过,在实际输出结果和预期输出参数不一致的情况下,则测试未通过。
其中,工程文件为C工程文件或C++工程文件。并在执行以上步骤之前,预先编写终端控制语言脚本文件,以及预先存储数据文件。数据文件中包括至少一条对应于测试用例的数据记录,数据记录包括输入参数和预期输出参数。
在步骤S304中,终端控制语言脚本文件从数据文件中循环读取一条或多条对应于测试用例的数据记录,并将数据记录解析为输入参数和预期输出参数,并将输入参数和预期输出参数输入到终端控制语言扩展指令。
通过本发明所述的方法,可以实现手机软件的自动化集成测试。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明的自动化集成测试方法的示意图;
图2是根据本发明的扩展指令名和对应处理函数的表格;以及
图3是根据本发明的自动化集成测试方法的流程图。
具体实施方式
下面参考附图,详细说明本发明的具体实施方式。
针对现有的手机PC侧软件,提供一种利用TCL脚本搭建自动化测试框架,模拟手机后台发送的各种信号并与预期的输出进行判断从而实现的自动化测试的一种方法。
为了达到上述自动化测试,我们需要创建TCL解释器、编写读取用例数据的TCL脚本、创建扩展指令。用TCL脚本实现测试用例,每步的参数,从数据文件中获得,将数据驱动的自动化测试转变为对数据文件的维护。
图1是根据本发明的自动化集成测试方法的示意图。如图1所示,我们需要在C/C++中创建TCL解释器来搭建测试框架。通过在解释器中注册扩展指令使得TCL脚本程序通过调用扩展指令来驱动被测试模块并传入从数据文件中读取的测试模块输入参数,使得运行结果与从数据文件中读取的预期输出参数进行比较,如果一致则返回测试用例通过,如果不相符则返回测试用例未通过。
图2是根据本发明的扩展指令名和对应处理函数的表格。通过在数据文件中输入多条测试用例的记录(输入与预期输出)来实现某个测试单元的自动化测试。针对不同的测试单元来编写相应的TCL脚本程序并通过在TCL解释器中注册一系列的扩展指令来实现对各测试单元的驱动,以此来实现所有的测试单元的自动化测试。实际是在解释器中建立如图2所示的扩展指令集。
图3是根据本发明的自动化集成测试方法的流程图。如图3所示,该方法包括以下步骤:
步骤S302,创建工程文件,搭建TCL测试框架,在该框架中创建、定义并初始化TCL解释器,注册扩展指令。
其中,通过注册扩展指令,使该扩展指令可以被TCL解释器识别,并且在执行扩展指令时,直接调用扩展指令对应的扩展指令处理函数。
步骤S304,向工程文件加载被测试模块,运行外部传入的TCL脚本文件,TCL脚本文件从数据文件中循环读取各用例的记录,并将每条记录的各参数解析为输入参数和预期输出参输,并将输入参数作为输入调用扩展指令。
步骤S306,通过终端控制语言解释器找到对应于终端控制语言扩展指令的扩展指令处理函数,扩展指令处理函数将获取到的输入参数传入到被测试模块接口并驱动被测试模块,得到实际输出结果。
步骤S308,扩展指令处理函数将实际输出结果与预期输出参数进行比较,在实际输出结果和预期输出参数一致的情况下,测试通过,在实际输出结果和预期输出参数不一致的情况下,测试未通过。
其中,工程文件为C工程文件或C++工程文件。并在执行以上步骤之前,预先编写终端控制语言脚本文件,以及预先存储数据文件。数据文件中包括至少一条对应于测试用例的数据记录,数据记录包括输入参数和预期输出参数。
TCL解释器的创建步骤:
a1.在自动化框架中引入tcl.h和tcl83.lib文件;
a2.定义TCL解释器;
通过使用TCL内部的数据类型Tcl_Interp定义TCL解释器全局变量。
定义tcl解释器,即全局变量:Tcl_Interp*MyInterp;
a3.创建TCL解释器;
a4.初始化TCL解释器;
通过使用TCL函数Tcl_Init()初始化解释器。
a5.在解释器中注册扩展指令;
通过使用TCL函数Tcl_CreateCommand()向解释器注册自定义扩展指令。
TCL脚本文件的设计步骤:
b1.将测试用例以数据文件的形式记录下来,每个用例的输入、预期输出对应一条数据记录;
b2.打开数据文件,循环读取各用例的数据记录;
b3.每读取一个用例的数据记录,将该记录的各个参数解析出来;
b4.把上述数据作为输入,调用TCL扩展指令
b5.把扩展指令的执行结果保存在结果文件中;
扩展指令的创建步骤:
c1.按照扩展指令函数的格式自定义自己的扩展指令函数。
c2.检查参数的数目;
c3.逐个获取参数的数值,即获取用例的输入和预期的输出参数;
c4.把获取到的输入参数传递给被测试模块的接口,将其驱动起来;
c5.将获取到的预期输出和被测试的模块的实际输出进行比较,得到测试结果,并将结果传送到指定令位置。
通过以上步骤地实施,可以实现手机软件的自动化集成测试。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种自动化集成测试方法,其特征在于,所述方法包括以下步骤:
步骤S302,创建工程文件并在所述工程文件中创建并初始化终端控制语言解释器,通过在所述终端控制语言解释器中注册终端控制语言扩展指令将所述终端控制语言扩展指令和扩展指令处理函数对应起来;
步骤S304,将终端控制语言脚本文件传入所述工程文件并运行所述终端控制语言脚本文件,所述终端控制语言脚本文件从数据文件中读取输入参数和预期输出参数并将所述输入参数和所述预期输出参数输入到所述终端控制语言扩展指令,其中所述数据文件中包括至少一条对应于测试用例的数据记录,所述数据记录包括所述输入参数和所述预期输出参数;
步骤S306,通过所述终端控制语言解释器找到对应于所述终端控制语言扩展指令的所述扩展指令处理函数,所述扩展指令处理函数将所述输入参数输入到被测试模块,并驱动所述被测试模块以得到实际输出结果;以及
步骤S308,所述扩展指令处理函数将所述实际输出结果与所述预期输出参数进行比较,在所述实际输出结果和所述预期输出参数一致的情况下,则测试通过,在所述实际输出结果和所述预期输出参数不一致的情况下,则测试未通过;
在步骤S304中,所述终端控制语言脚本文件从所述数据文件中循环读取一条或多条对应于所述测试用例的所述数据记录,并将所述数据记录解析为所述输入参数和所述预期输出参数,并将所述输入参数和所述预期输出参数输入到所述终端控制语言扩展指令。
2.根据权利要求1所述的自动化集成测试方法,其特征在于,所述工程文件为C工程文件或C++工程文件。
3.根据权利要求2所述的自动化集成测试方法,其特征在于,预先编写所述终端控制语言脚本文件。
4.根据权利要求3所述的自动化集成测试方法,其特征在于,预先存储所述数据文件。
CN2007101615874A 2007-09-29 2007-09-29 自动化集成测试方法 Expired - Fee Related CN101398778B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101615874A CN101398778B (zh) 2007-09-29 2007-09-29 自动化集成测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101615874A CN101398778B (zh) 2007-09-29 2007-09-29 自动化集成测试方法

Publications (2)

Publication Number Publication Date
CN101398778A CN101398778A (zh) 2009-04-01
CN101398778B true CN101398778B (zh) 2011-09-21

Family

ID=40517351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101615874A Expired - Fee Related CN101398778B (zh) 2007-09-29 2007-09-29 自动化集成测试方法

Country Status (1)

Country Link
CN (1) CN101398778B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604290B (zh) * 2009-06-05 2012-05-16 中国移动(深圳)有限公司 一种后台模块测试方法和后台模块测试系统
CN104239015B (zh) * 2013-06-18 2018-09-28 上海斐讯数据通信技术有限公司 脚本语言的扩展方法
CN103389940B (zh) * 2013-07-15 2016-03-30 厦门亿联网络技术股份有限公司 大规模函数功能的测试方法
CN104331360A (zh) * 2013-07-23 2015-02-04 上海斐讯数据通信技术有限公司 自动化测试平台
CN104881343B (zh) * 2014-02-27 2017-03-15 北京京东尚科信息技术有限公司 一种测试方法和测试系统
CN105117347B (zh) * 2015-09-24 2018-09-28 上海爱数信息技术股份有限公司 测试数据的模拟方法、系统及自动化测试方法、系统
CN109885488B (zh) * 2019-01-30 2022-03-18 上海卫星工程研究所 用例表驱动的卫星轨道计算软件自动化测试方法及系统
CN111913888A (zh) * 2020-09-09 2020-11-10 中移(杭州)信息技术有限公司 函数生成方法、自动测试方法、电子设备及存储介质
CN114629830B (zh) * 2022-03-02 2023-08-11 深圳市吉祥腾达科技有限公司 自动化控制TestCenter仪器测试的方法及系统
CN116339736B (zh) * 2023-05-29 2023-07-28 英诺达(成都)电子科技有限公司 Tcl交互界面的配置方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1527509A (zh) * 2003-03-06 2004-09-08 华为技术有限公司 一种测试方法
CN1577274A (zh) * 2003-07-01 2005-02-09 华为技术有限公司 自动化仿真方法及系统
CN1737753A (zh) * 2004-08-18 2006-02-22 华为技术有限公司 一种嵌入式实时操作系统
CN1790957A (zh) * 2004-12-14 2006-06-21 华为技术有限公司 设备测试方法
CN1866883A (zh) * 2005-10-19 2006-11-22 华为技术有限公司 对互联网协议第6版协议族进行一致性测试的方法
CN1909481A (zh) * 2005-08-05 2007-02-07 中兴通讯股份有限公司 一种测试工具及其界面和引擎分离的实现方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1527509A (zh) * 2003-03-06 2004-09-08 华为技术有限公司 一种测试方法
CN1577274A (zh) * 2003-07-01 2005-02-09 华为技术有限公司 自动化仿真方法及系统
CN1737753A (zh) * 2004-08-18 2006-02-22 华为技术有限公司 一种嵌入式实时操作系统
CN1790957A (zh) * 2004-12-14 2006-06-21 华为技术有限公司 设备测试方法
CN1909481A (zh) * 2005-08-05 2007-02-07 中兴通讯股份有限公司 一种测试工具及其界面和引擎分离的实现方法
CN1866883A (zh) * 2005-10-19 2006-11-22 华为技术有限公司 对互联网协议第6版协议族进行一致性测试的方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
关红洲,杨洁.TCL命令扩展在产品测试系统开发中的应用.江南大学学报(自然科学版)3 3.2004,3(3),271-273.
关红洲,杨洁.TCL命令扩展在产品测试系统开发中的应用.江南大学学报(自然科学版)3 3.2004,3(3),271-273. *
黄东晓等.基于TCL的分布式协议测试系统.计算机工程32 4.2006,32(4),128-130.
黄东晓等.基于TCL的分布式协议测试系统.计算机工程32 4.2006,32(4),128-130. *

Also Published As

Publication number Publication date
CN101398778A (zh) 2009-04-01

Similar Documents

Publication Publication Date Title
CN101398778B (zh) 自动化集成测试方法
CN101770423B (zh) 一种测试数据生成方法及测试系统
CN102799962A (zh) 一种配置型业务流程系统及其实现方法
CN110858356A (zh) 基于微服务架构的制造执行系统
CN104679513A (zh) 一种智能终端中的设备驱动架构开发方法
CN110275700A (zh) 一种基于electron的跨平台桌面应用程序开发框架及方法
CN111353235B (zh) 一种基于模型驱动的组件端口建模方法及终端
CN103605527A (zh) 实现云计算应用间界面集成和统一样式展现的系统及方法
CN107066265A (zh) 不同编程语言的互连方法及系统
CN107678949A (zh) 实现嵌入式设备不同通信方式的自动化测试方法
CN111858104B (zh) 多端适配的表单生成方法、装置、设备和介质
CN114461478A (zh) 模拟器,驱动测试方法,电子设备及计算机可读存储介质
CN112363714A (zh) 一种服务组合模型的开发方法、装置、存储介质及设备
US6192331B1 (en) Method for simulating control functions of a control device
CN102880479B (zh) 一种远程修改bios属性参数的方法及装置
Mendes et al. Software methodologies for the engineering of service-oriented industrial automation: The continuum project
CN102664952B (zh) 一种对嵌入式设备集群管理及监控的方法
CN103905233A (zh) 实现模拟传感器即插即用的方法、系统与接入网络设备
CN108446117A (zh) 在语音对话平台的产品中配置ui的方法及系统
CN111104276B (zh) 一种芯片测试系统及方法
CN114925516B (zh) 一种自动建模并仿真的方法和装置
CN110427260A (zh) 主机作业调度方法、装置及系统
CN110334014A (zh) 用于用户界面自动化测试方法、系统、服务器及存储介质
CN114756212A (zh) 低代码应用集成方法、装置、设备及介质
CN112162733B (zh) 基于Qt的相控阵雷达模块化监控软件的设计方法

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110921

Termination date: 20160929