CN101398778A - 自动化集成测试方法 - Google Patents
自动化集成测试方法 Download PDFInfo
- Publication number
- CN101398778A CN101398778A CNA2007101615874A CN200710161587A CN101398778A CN 101398778 A CN101398778 A CN 101398778A CN A2007101615874 A CNA2007101615874 A CN A2007101615874A CN 200710161587 A CN200710161587 A CN 200710161587A CN 101398778 A CN101398778 A CN 101398778A
- 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.)
- Granted
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 (6)
1.一种自动化集成测试方法,其特征在于,所述方法包括以下步骤:
步骤S302,创建工程文件并在所述工程文件中创建并初始化终端控制语言解释器,通过在所述终端控制语言解释器中注册终端控制语言扩展指令将所述终端控制语言扩展指令和扩展指令处理函数对应起来;
步骤S304,将终端控制语言脚本文件传入所述工程文件并运行所述终端控制语言脚本文件,所述终端控制语言脚本文件从数据文件中读取输入参数和预期输出参数并将所述输入参数和所述预期输出参数输入到所述终端控制语言扩展指令;
步骤S306,通过所述终端控制语言解释器找到对应于所述终端控制语言扩展指令的所述扩展指令处理函数,所述扩展指令处理函数将所述输入参数输入到被测试模块,并驱动所述被测试模块以得到实际输出结果;以及
步骤S308,所述扩展指令处理函数将所述实际输出结果与所述预期输出参数进行比较,在所述实际输出结果和所述预期输出参数一致的情况下,则测试通过,在所述实际输出结果和所述预期输出参数不一致的情况下,则测试未通过。
2.根据权利要求1所述的自动化集成测试方法,其特征在于,所述工程文件为C工程文件或C++工程文件。
3.根据权利要求2所述的自动化集成测试方法,其特征在于,预先编写所述终端控制语言脚本文件。
4.根据权利要求3所述的自动化集成测试方法,其特征在于,预先存储所述数据文件。
5.根据权利要求4所述的自动化集成测试方法,其特征在于,所述数据文件中包括至少一条对应于测试用例的数据记录,所述数据记录包括所述输入参数和所述预期输出参数。
6.根据权利要求4或5所述的自动化集成测试方法,其特征在于,在步骤S304中,所述终端控制语言脚本文件从所述数据文件中循环读取一条或多条对应于所述测试用例的所述数据记录,并将所述数据记录解析为所述输入参数和所述预期输出参数,并将所述输入参数和所述预期输出参数输入到所述终端控制语言扩展指令。
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 true CN101398778A (zh) | 2009-04-01 |
CN101398778B 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) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101604290B (zh) * | 2009-06-05 | 2012-05-16 | 中国移动(深圳)有限公司 | 一种后台模块测试方法和后台模块测试系统 |
CN103389940A (zh) * | 2013-07-15 | 2013-11-13 | 厦门亿联网络技术股份有限公司 | 大规模函数功能的测试方法 |
CN104239015A (zh) * | 2013-06-18 | 2014-12-24 | 上海斐讯数据通信技术有限公司 | 脚本语言的扩展方法 |
CN104331360A (zh) * | 2013-07-23 | 2015-02-04 | 上海斐讯数据通信技术有限公司 | 自动化测试平台 |
CN104881343A (zh) * | 2014-02-27 | 2015-09-02 | 北京京东尚科信息技术有限公司 | 一种测试方法和测试系统 |
CN105117347A (zh) * | 2015-09-24 | 2015-12-02 | 上海爱数软件有限公司 | 测试数据的模拟方法、系统及自动化测试方法、系统 |
CN109885488A (zh) * | 2019-01-30 | 2019-06-14 | 上海卫星工程研究所 | 用例表驱动的卫星轨道计算软件自动化测试方法及系统 |
CN111913888A (zh) * | 2020-09-09 | 2020-11-10 | 中移(杭州)信息技术有限公司 | 函数生成方法、自动测试方法、电子设备及存储介质 |
CN114629830A (zh) * | 2022-03-02 | 2022-06-14 | 深圳市吉祥腾达科技有限公司 | 自动化控制TestCenter仪器测试的方法及系统 |
CN116339736A (zh) * | 2023-05-29 | 2023-06-27 | 英诺达(成都)电子科技有限公司 | Tcl交互界面的配置方法、装置、设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1300961C (zh) * | 2003-03-06 | 2007-02-14 | 华为技术有限公司 | 一种测试方法 |
CN100514296C (zh) * | 2003-07-01 | 2009-07-15 | 华为技术有限公司 | 自动化仿真方法及系统 |
CN100535853C (zh) * | 2004-08-18 | 2009-09-02 | 华为技术有限公司 | 一种嵌入式实时操作系统 |
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版协议族进行一致性测试的方法 |
-
2007
- 2007-09-29 CN CN2007101615874A patent/CN101398778B/zh not_active Expired - Fee Related
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101604290B (zh) * | 2009-06-05 | 2012-05-16 | 中国移动(深圳)有限公司 | 一种后台模块测试方法和后台模块测试系统 |
CN104239015A (zh) * | 2013-06-18 | 2014-12-24 | 上海斐讯数据通信技术有限公司 | 脚本语言的扩展方法 |
CN104239015B (zh) * | 2013-06-18 | 2018-09-28 | 上海斐讯数据通信技术有限公司 | 脚本语言的扩展方法 |
CN103389940B (zh) * | 2013-07-15 | 2016-03-30 | 厦门亿联网络技术股份有限公司 | 大规模函数功能的测试方法 |
CN103389940A (zh) * | 2013-07-15 | 2013-11-13 | 厦门亿联网络技术股份有限公司 | 大规模函数功能的测试方法 |
CN104331360A (zh) * | 2013-07-23 | 2015-02-04 | 上海斐讯数据通信技术有限公司 | 自动化测试平台 |
CN104881343A (zh) * | 2014-02-27 | 2015-09-02 | 北京京东尚科信息技术有限公司 | 一种测试方法和测试系统 |
CN104881343B (zh) * | 2014-02-27 | 2017-03-15 | 北京京东尚科信息技术有限公司 | 一种测试方法和测试系统 |
CN105117347A (zh) * | 2015-09-24 | 2015-12-02 | 上海爱数软件有限公司 | 测试数据的模拟方法、系统及自动化测试方法、系统 |
CN109885488A (zh) * | 2019-01-30 | 2019-06-14 | 上海卫星工程研究所 | 用例表驱动的卫星轨道计算软件自动化测试方法及系统 |
CN109885488B (zh) * | 2019-01-30 | 2022-03-18 | 上海卫星工程研究所 | 用例表驱动的卫星轨道计算软件自动化测试方法及系统 |
CN111913888A (zh) * | 2020-09-09 | 2020-11-10 | 中移(杭州)信息技术有限公司 | 函数生成方法、自动测试方法、电子设备及存储介质 |
CN114629830A (zh) * | 2022-03-02 | 2022-06-14 | 深圳市吉祥腾达科技有限公司 | 自动化控制TestCenter仪器测试的方法及系统 |
CN114629830B (zh) * | 2022-03-02 | 2023-08-11 | 深圳市吉祥腾达科技有限公司 | 自动化控制TestCenter仪器测试的方法及系统 |
CN116339736A (zh) * | 2023-05-29 | 2023-06-27 | 英诺达(成都)电子科技有限公司 | Tcl交互界面的配置方法、装置、设备及存储介质 |
CN116339736B (zh) * | 2023-05-29 | 2023-07-28 | 英诺达(成都)电子科技有限公司 | Tcl交互界面的配置方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101398778B (zh) | 2011-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101398778B (zh) | 自动化集成测试方法 | |
Capilla et al. | An overview of Dynamic Software Product Line architectures and techniques: Observations from research and industry | |
CN100593156C (zh) | 用于二次开发平台的基于控件的插件管理系统及方法 | |
CN102799962A (zh) | 一种配置型业务流程系统及其实现方法 | |
CN110765013B (zh) | 一种流程自动化执行方法及系统 | |
CN110858356A (zh) | 基于微服务架构的制造执行系统 | |
CN107547263A (zh) | 一种实现网元设备自动化查找模板配置的方法 | |
CN101770423A (zh) | 一种测试数据生成方法及测试系统 | |
Sharaf et al. | An architecture framework for modelling and simulation of situational-aware cyber-physical systems | |
CN107066265A (zh) | 不同编程语言的互连方法及系统 | |
CN106874204A (zh) | 自动化测试定制方法及定制系统 | |
CN112988165A (zh) | 基于Kubernetes的交互式建模方法、装置、电子设备及存储介质 | |
CN111858104B (zh) | 多端适配的表单生成方法、装置、设备和介质 | |
CN114461478A (zh) | 模拟器,驱动测试方法,电子设备及计算机可读存储介质 | |
CN102880479B (zh) | 一种远程修改bios属性参数的方法及装置 | |
Mendes et al. | Software methodologies for the engineering of service-oriented industrial automation: The continuum project | |
CN110427260A (zh) | 主机作业调度方法、装置及系统 | |
CN116756049B (zh) | 芯片的通用验证方法、装置、电子设备及存储介质 | |
CN109445384A (zh) | 一种多设备控制系统 | |
CN111104276B (zh) | 一种芯片测试系统及方法 | |
CN114925516B (zh) | 一种自动建模并仿真的方法和装置 | |
Felhi et al. | Adaptation of Web services to the context based on workflow: Approach for self-adaptation of service-oriented architectures to the context | |
CN110334014A (zh) | 用于用户界面自动化测试方法、系统、服务器及存储介质 | |
CN114756212A (zh) | 低代码应用集成方法、装置、设备及介质 | |
CN114612264A (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 | ||
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 |