CN102521133A - 基于tcl的白盒测试自动化方法及系统 - Google Patents
基于tcl的白盒测试自动化方法及系统 Download PDFInfo
- Publication number
- CN102521133A CN102521133A CN2011104203069A CN201110420306A CN102521133A CN 102521133 A CN102521133 A CN 102521133A CN 2011104203069 A CN2011104203069 A CN 2011104203069A CN 201110420306 A CN201110420306 A CN 201110420306A CN 102521133 A CN102521133 A CN 102521133A
- Authority
- CN
- China
- Prior art keywords
- tcl
- module
- test cases
- script
- data
- 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
- Stored Programmes (AREA)
Abstract
本发明提供一种基于TCL的白盒测试自动化方法及系统,该方法包括:对测试软件的源代码进行分析设计测试案例,将测试案例规范化处理后送入数据存储模块;对用户输入条件进行解析,根据输入的查询条件将指令发送至数据存储模块,数据存储模块根据查询条件返回相关条件的查询结果;查出需要生成脚本的测试案例时,将生成脚本数据发送至TCL脚本生成模块,脚本生成模块根据不同的模板生成相关的TCL脚本;将待测软件源代码导入源代码库编译模块,源代码库编译模块将所述源代码编译成可供所述TCL脚本调用的库文件,并将库文件传送至所述TCL脚本生成模块。这样只需要修改相应的脚本模板,便可以达到所有脚本的统一更新,降低了测试成本。
Description
技术领域
本发明涉及软件测试方法技术领域,尤其涉及一种基于TCL(工具命令语言)的白盒测试自动化的方法及系统。
背景技术
在相关的通信以及软件公司,软件、系统测试一直是产品质量的保证。其中白盒测试一直都是相关测试过程中必不可少的重要环节。白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。一方面,由于软件版本不断更新,对于前期代码的反复测试将占用大量的时间,从而大幅提高了产品成本,延长了产品的研发周期;另一方面,由于白盒测试对于测试人员的专业素质的要求很高,迫使企业需要大量的高素质人才对于代码进行简单的重复性校验测试的工作,另外对于产品文档的维护也需要花费大量人力来维护。
因此,有必要提供一种基于TCL的白盒测试自动化的方法及系统,以克服上述问题。
发明内容
本发明的目的在于提供一种基于TCL的白盒测试自动化的方法。
本发明的另一目的在于提供一种基于TCL的白盒测试自动化的系统,该系统应用于基于TCL的白盒测试自动化的方法。
相应地,本发明的一种基于TCL的白盒测试自动化的方法,包括以下步骤:
S10, 对测试软件的源代码进行分析设计测试案例,将测试案例规范化处理后送入数据存储模块;
S20, 对用户输入条件进行解析,根据输入的查询条件将指令发送至数据存储模块,数据存储模块根据查询条件返回相关条件的查询结果;
S30,查出需要生成脚本的测试案例时,将生成脚本数据发送至TCL脚本生成模块,脚本生成模块根据不同的模板生成相关的TCL脚本;
S40,将待测软件源代码导入源代码库编译模块,源代码库编译模块将所述源代码编译成可供所述TCL脚本调用的库文件,并将库文件传送至所述TCL脚本生成模块。
作为本发明的进一步改进,查出需要修改测试案例时,将待修改的测试案例传送至测试案例修改模块,修改指定测试案例并将修改后数据送至数据存储模块更新存储。
作为本发明的进一步改进,查出需要删除的测试案例时,将待删除测试案例传送至测试案例删除模块,测试案例删除模块解析用户删除指令并发送删除指令至数据存储模块以删除相关数据。
作为本发明的进一步改进,查出需要生成文档的测试案例时,将生成相关文档数据传送至文档生成模块,文档生成模块根据用户需求生成相应格式的文档。
作为本发明的进一步改进,将S40中生成的脚本发送至脚本及文档下载模块供用户下载使用。
相应地,本发明的一种基于TCL的白盒测试自动化系统,其特征在于,包括:
测试案例输入模块,用于解析输入的测试案例数据,并进行规范化处理后送入数据存储模块;
测试案例查询模块,用于对用户输入条件进行解析,根据输入的查询条件将指令发送至存储模块,并用以接收数据存储模块根据查询条件返回的查询结果;
TCL脚本生成模块,用以在查出需要生成脚本的测试案例时,接收生成脚本数据并根据不同的模板生成相关的TCL脚本;
源代码库编译模块,用以将待测软件源代码导入并将所述源代码编译成可供所述TCL脚本调用的库文件,最终将库文件传送至所述TCL脚本生成模块。
作为本发明的进一步改进,还包括测试案例修改模块,用于在查出需要修改测试案例时,接收待修改测试案例,修改指定测试案例并将修改后数据送至数据存储模块更新存储。
作为本发明的进一步改进,还包括测试案例删除模块,用于在查出需要删除的测试案例时,接收待删除测试案例,解析用户删除指令并发送删除指令至数据存储模块以删除相关数据。
作为本发明的进一步改进,还包括文档生成模块,用于在查出需要生成文档的测试案例时,接收生成相关文档数据,根据用户需求生成相应格式的文档。
作为本发明的进一步改进,还包括脚本及文档下载模块,用以接收所述生成的脚本供用户下载使用。
本发明的有益效果是:本发明对于脚本实施了规范化的管理,对于脚本平台的修改,脚本平台的更换或者是脚本语言的更改,都不再需要大批量的修改,只需要修改相应的脚本模板,便可以达到所有脚本的统一更新,降低了测试成本。
附图说明
图1示出了本发明一实施方式基于TCL的白盒测试自动化的方法的流程图;
图2示出了本发明一实施方式基于TCL的白盒测试自动化的系统模块流程图。
具体实施方式
以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
如图1所示,本发明一实施方式中基于TCL的白盒测试自动化的方法,包括以下步骤:
S10, 对测试软件的源代码进行分析设计测试案例,将测试案例规范化处理后送入数据存储模块;
S20, 对用户输入条件进行解析,根据输入的查询条件将指令发送至数据存储模块,数据存储模块根据查询条件返回相关条件的查询结果;
S30,查出需要生成脚本的测试案例时,将生成脚本数据发送至TCL脚本生成模块,脚本生成模块根据不同的模板生成相关的TCL脚本;
S40,将待测软件源代码导入源代码库编译模块,源代码库编译模块将所述源代码编译成可供所述TCL脚本调用的库文件,并将库文件传送至所述TCL脚本生成模块。
具体地,参图2所示,包括以下几个过程:
测试案例存储流程:测试人员针对待测软件的源代码中的单独函数或者过程进行分析设计测试案例,将测试案例预输入测试案例输入模块1,该测试案例输入模块1解析用户的输入数据并将数据进行规范化处理后按照系统要求存入数据存储模块2,数据存储模块2统一对存储的数据进行管理备份,并提供相关的查询,输入,输出接口供其他模块调用。
测试案例的查询流程:测试案例查询模块3提供接受用户指定的过滤条件并解析整理相应的输入条件,调用提供的查询接口,将查询条件传送至数据存储模块2,数据存储模块2按照指定的条件对已存入数据查询数据,并返回符合相关条件的查询结果传送至测试案例查询模块3。
测试案例的修改流程:用户根据测试案例的查询过程查出需要修改的测试案例,系统返回测试结果给测试案例查询模块3。测试案例查询模块3将待修改测试案例传送给测试案例修改模块4,用户根据实际的需求修改测试案例,修改完成之后,系统将修改后的测试案例返回给数据存储模块2,进行相应的数据的更新存档。
测试案例的删除流程:用户根据测试案例的查询过程查出需要删除的测试案例,系统返回测试结果给测试案例查询模块3。测试案例查询模块3将待删除测试案例传送给测试案例删除模块5,测试案例删除模块5接受、解析并确认用户指令,将删除该测试案例的指令发送给数据存储模块2,数据存储模块2根据指令删除相关数据。
测试案例脚本生成流程:首先用户根据测试案例的查询过程查出需要生成脚本的测试案例,系统返回测试结果给测试案例查询模块3。测试案例查询模块3将生成脚本数据传送至TCL脚本生成模块6,TCL脚本生成模块6根据不同的模板生成相关的TCL脚本。然后系统将源代码导入源代码库编译模块7,源代码库编译模块7自动将源代码编译成可供TCL脚本调用的库文件,并将已经编译的库文件传送至TCL脚本生成模块6供生成的TCL脚本使用。最后将已生成的脚本进行整理、压缩、打包并发送至脚本及文档下载模块8,供用户下载使用。
文档生成流程:用户根据测试案例的查询过程查出需要生成文档的测试案例,系统返回测试结果给测试案例查询模块3。测试案例查询模块3将生成相关文档数据传送至文档生成模块9,文档生成模块9根据用户需求生成相应格式的文档,并将已生成的文档进行整理、压缩、打包并发送至脚本及文档下载模块8,供用户下载使用。
继续参图2所示,本发明一实施方式中基于TCL的白盒测试的系统,包括:
测试案例输入模块1,用于解析输入的测试案例数据,并进行规范化处理后送入数据存储模块2;
测试案例查询模块3,用于对用户输入条件进行解析,根据输入的查询条件将指令发送至数据存储模块2,并用以接收数据存储模块2根据查询条件返回的查询结果;
TCL脚本生成模块6,用以在查出需要生成脚本的测试案例时,接收生成脚本数据并根据不同的模板生成相关的TCL脚本;
源代码库编译模块7,用以将待测软件源代码导入并将所述源代码编译成可供所述TCL脚本调用的库文件,最终将库文件传送至所述TCL脚本生成模块6。
具体地,上述系统还包括测试案例修改模块4,用于在查出需要修改测试案例时,接收待修改测试案例,修改指定测试案例并将修改后数据送至数据存储模块2更新存储。
具体地,上述系统还包括测试案例删除模块5,用于在查出需要删除的测试案例时,接收待删除测试案例,解析用户删除指令并发送删除指令至数据存储模块2以删除相关数据。
具体地,上述系统还包括文档生成模块9,用于在查出需要生成文档的测试案例时,接收生成相关文档数据,根据用户需求生成相应格式的文档。
具体地,上述系统还包括脚本及文档下载模块8,该模块用于接收从文档生成模块9中输出的指定格式文档,或用于接收从TCL脚本生成模块6中输出的自动化TCL脚本供用户下载使用。
本发明首先提供了在实际的白盒测试过程中,由于软件版本的替换,代码的更新以及交付前的验证等阶段的完全自动化的测试脚本;其次对于脚本实施了规范化的管理,对于脚本平台的修改,脚本平台的更换或者是脚本语言的更改,都不再需要大批量的修改,只需要修改相应的脚本模板,便可以达到所有脚本的统一更新;同时降低了白盒测试的门槛,白盒测试人员不再需要对于实际的函数实现有一个细致的了解,只需要根据函数或者过程的输入和输出就可以快速完成测试点的设计和测试脚本的完成;最终通过本发明也可以满足使用者的不同要求,规范,格式,根据测试过程生成相应的测试记录或者产品说明。
具体地,本发明相较现有技术具有以下有益效果:
1.支持自动化的测试方式,避免了大量的人力资源来做重复的劳动,降低了测试的成本;
2.降低了白盒测试的复杂度,使得不熟悉代码的测试人员也可以进行相应的白盒测试;
3.支持多语言的源代码白盒测试;
4.支持多语言的测试案例生成以及测试用例的系统化管理;
5.支持多格式的文档的生成以及系统化管理。
为了描述的方便,描述以上系统时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。
以上所描述的系统实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请可用于众多通用或专用的计算系统环境或配置,或通信设备中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于TCL的白盒测试自动化方法,其特征在于,包括以下步骤:
S10, 对测试软件的源代码进行分析设计测试案例,将测试案例规范化处理后送入数据存储模块;
S20, 对用户输入条件进行解析,根据输入的查询条件将指令发送至数据存储模块,数据存储模块根据查询条件返回相关条件的查询结果;
S30,查出需要生成脚本的测试案例时,将生成脚本数据发送至TCL脚本生成模块,脚本生成模块根据不同的模板生成相关的TCL脚本;
S40,将待测软件源代码导入源代码库编译模块,源代码库编译模块将所述源代码编译成可供所述TCL脚本调用的库文件,并将库文件传送至所述TCL脚本生成模块。
2.根据权利要求1所述的基于TCL的白盒测试自动化方法,其特征在于,查出需要修改测试案例时,将待修改的测试案例传送至测试案例修改模块,修改指定测试案例并将修改后数据送至数据存储模块更新存储。
3.根据权利要求1所述的基于TCL的白盒测试自动化方法,其特征在于, 查出需要删除的测试案例时,将待删除测试案例传送至测试案例删除模块,测试案例删除模块解析用户删除指令并发送删除指令至数据存储模块以删除相关数据。
4.根据权利要求1所述的基于TCL的白盒测试自动化方法,其特征在于,查出需要生成文档的测试案例时,将生成相关文档数据传送至文档生成模块,文档生成模块根据用户需求生成相应格式的文档。
5.根据权利要求1至4中任一项所述的基于TCL的白盒测试自动化方法,其特征在于,将S40中生成的脚本发送至脚本及文档下载模块供用户下载使用。
6.一种基于TCL的白盒测试自动化系统,其特征在于,包括:
测试案例输入模块,用于解析输入的测试案例数据,并进行规范化处理后送入数据存储模块;
测试案例查询模块,用于对用户输入条件进行解析,根据输入的查询条件将指令发送至存储模块,并用以接收数据存储模块根据查询条件返回的查询结果;
TCL脚本生成模块,用以在查出需要生成脚本的测试案例时,接收生成脚本数据并根据不同的模板生成相关的TCL脚本;
源代码库编译模块,用以将待测软件源代码导入并将所述源代码编译成可供所述TCL脚本调用的库文件,最终将库文件传送至所述TCL脚本生成模块。
7.根据权利要求6所述的基于TCL的白盒测试自动化系统,其特征在于,还包括测试案例修改模块,用于在查出需要修改测试案例时,接收待修改测试案例,修改指定测试案例并将修改后数据送至数据存储模块更新存储。
8.根据权利要求6所述的基于TCL的白盒测试自动化系统,其特征在于,还包括测试案例删除模块,用于在查出需要删除的测试案例时,接收待删除测试案例,解析用户删除指令并发送删除指令至数据存储模块以删除相关数据。
9.根据权利要求6所述的基于TCL的白盒测试自动化系统,其特征在于,还包括文档生成模块,用于在查出需要生成文档的测试案例时,接收生成相关文档数据,根据用户需求生成相应格式的文档。
10.根据权利要求6至9中任一项所述的基于TCL的白盒测试自动化系统,其特征在于,还包括脚本及文档下载模块,用以接收所述生成的脚本供用户下载使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104203069A CN102521133A (zh) | 2011-12-15 | 2011-12-15 | 基于tcl的白盒测试自动化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104203069A CN102521133A (zh) | 2011-12-15 | 2011-12-15 | 基于tcl的白盒测试自动化方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102521133A true CN102521133A (zh) | 2012-06-27 |
Family
ID=46292064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104203069A Pending CN102521133A (zh) | 2011-12-15 | 2011-12-15 | 基于tcl的白盒测试自动化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102521133A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239212A (zh) * | 2014-09-28 | 2014-12-24 | 北京国双科技有限公司 | 测试用例的查询方法及装置、测试用例的建立方法及装置 |
CN109213670A (zh) * | 2017-06-30 | 2019-01-15 | 中兴通讯股份有限公司 | 实现白盒otn硬件设备的方法及装置、存储介质 |
CN110347598A (zh) * | 2019-07-10 | 2019-10-18 | 上海达梦数据库有限公司 | 一种测试脚本生成方法、装置、服务器及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770148A (zh) * | 2004-11-01 | 2006-05-10 | 华为技术有限公司 | 一种脚本文件自动生成系统及自动生成方法 |
CN101192194A (zh) * | 2007-01-19 | 2008-06-04 | 中兴通讯股份有限公司 | 基于测试用例数据库系统的测试用例设计方法 |
US20080270841A1 (en) * | 2007-04-11 | 2008-10-30 | Quilter Patrick J | Test case manager |
US20100192128A1 (en) * | 2009-01-27 | 2010-07-29 | Honeywell International Inc. | System and methods of using test points and signal overrides in requirements-based test generation |
-
2011
- 2011-12-15 CN CN2011104203069A patent/CN102521133A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770148A (zh) * | 2004-11-01 | 2006-05-10 | 华为技术有限公司 | 一种脚本文件自动生成系统及自动生成方法 |
CN101192194A (zh) * | 2007-01-19 | 2008-06-04 | 中兴通讯股份有限公司 | 基于测试用例数据库系统的测试用例设计方法 |
US20080270841A1 (en) * | 2007-04-11 | 2008-10-30 | Quilter Patrick J | Test case manager |
US20100192128A1 (en) * | 2009-01-27 | 2010-07-29 | Honeywell International Inc. | System and methods of using test points and signal overrides in requirements-based test generation |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239212A (zh) * | 2014-09-28 | 2014-12-24 | 北京国双科技有限公司 | 测试用例的查询方法及装置、测试用例的建立方法及装置 |
CN104239212B (zh) * | 2014-09-28 | 2017-04-12 | 北京国双科技有限公司 | 测试用例的查询方法及装置、测试用例的建立方法及装置 |
CN109213670A (zh) * | 2017-06-30 | 2019-01-15 | 中兴通讯股份有限公司 | 实现白盒otn硬件设备的方法及装置、存储介质 |
CN110347598A (zh) * | 2019-07-10 | 2019-10-18 | 上海达梦数据库有限公司 | 一种测试脚本生成方法、装置、服务器及存储介质 |
CN110347598B (zh) * | 2019-07-10 | 2023-11-28 | 上海达梦数据库有限公司 | 一种测试脚本生成方法、装置、服务器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11789715B2 (en) | Systems and methods for transformation of reporting schema | |
US11620117B2 (en) | Systems and methods for code clustering analysis and transformation | |
US10353913B2 (en) | Automating extract, transform, and load job testing | |
US10481884B2 (en) | Systems and methods for dynamically replacing code objects for code pushdown | |
CN108845940B (zh) | 一种企业级信息系统自动化功能测试方法和系统 | |
US11188319B2 (en) | Systems and methods for entry point-based code analysis and transformation | |
CN103336705B (zh) | 脚本处理和工作流系统间的自动转码和语义自适应 | |
KR102237877B1 (ko) | 실시간 협업지원 지능형 소프트웨어 자동 개발 시스템 및 그 방법 | |
US20240045850A1 (en) | Systems and methods for database orientation transformation | |
US11429365B2 (en) | Systems and methods for automated retrofitting of customized code objects | |
US8601433B2 (en) | Method and apparatus for generating virtual software platform based on component model and validating software platform architecture using the platform | |
CN104133772A (zh) | 一种自动生成测试数据的方法 | |
CN104007984B (zh) | 一种转换数据的方法及装置 | |
CN115658529A (zh) | 用户页面的自动化测试方法以及相关设备 | |
CN102521133A (zh) | 基于tcl的白盒测试自动化方法及系统 | |
CN114035786A (zh) | 一种基于依赖的微前端兼容迁移方法及系统 | |
CN110647349B (zh) | 一种实现iOS APP持续交付的方法 | |
KR102602534B1 (ko) | 시스템 온 칩 설계 검증을 위한 테스트 자동화 시스템 및 방법 | |
CN115951970A (zh) | 一种异构多仿真软件集成开发环境 | |
US9870257B1 (en) | Automation optimization in a command line interface | |
US11888937B2 (en) | Domain specific provider contracts for core data services | |
CN117852485B (zh) | 一种fpga布局布线方法及系统 | |
CN114237574A (zh) | 金融业务生产管理系统、方法、设备、介质和程序产品 | |
Gupta | Modern controllers, upgrades: Legacy industrial automation systems must be replaced or upgraded. See four challenges and five benefits of upgrades using modern controllers. | |
WO2023172328A1 (en) | Deploying a static code analyzer based on program synthesis from input-output examples |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120627 |