CN1987817A - 一种实现测试用例自动化运行的方法 - Google Patents

一种实现测试用例自动化运行的方法 Download PDF

Info

Publication number
CN1987817A
CN1987817A CN 200510132220 CN200510132220A CN1987817A CN 1987817 A CN1987817 A CN 1987817A CN 200510132220 CN200510132220 CN 200510132220 CN 200510132220 A CN200510132220 A CN 200510132220A CN 1987817 A CN1987817 A CN 1987817A
Authority
CN
China
Prior art keywords
state
conversion
function
test case
tree
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
Application number
CN 200510132220
Other languages
English (en)
Other versions
CN100472470C (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.)
State Grid Tianjin Electric Power Co Ltd
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 CNB2005101322200A priority Critical patent/CN100472470C/zh
Publication of CN1987817A publication Critical patent/CN1987817A/zh
Application granted granted Critical
Publication of CN100472470C publication Critical patent/CN100472470C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

本发明公开一种实现测试用例自动化运行的方法,先设定待测对象的状态节点,根据其执行路径将状态节点组成状态树;在测试平台中建立和保存实现状态树中任意两个状态节点间转换的函数和处理单元;实现测试用例时,使其起始状态和结束状态为状态树上的状态,并分别设定到前置条件和后置条件中;运行多个测试用例时,在一个测试用例执行完后,处理单元将该测试用例结束状态作为转换起始状态,将下一个测试用例起始状态作为转换结束状态,调用相应函数完成转换,然后执行下一测试用例。本发明可以实现测试用例的自动化运行,且组织灵活,后续维护工作量小。

Description

一种实现测试用例自动化运行的方法
技术领域
本发明涉及测试技术,特别地涉及一种实现测试用例自动化运行的方法。
背景技术
一个测试用例包含的基本内容包括用例编号、名称、描述、前置条件、测试过程、期望结果、后置条件和其他用例说明等内容,其中与测试用例执行相关的内容有前置条件、测试过程、期望结果和后置条件,而目前在设计和实现测试用例过程中都只是关注测试过程和期望结果,对于前置条件和后置条件,通常只是作为测试用例的说明内容。在实际的自动化测试过程中,这种设计实现的测试用例很难组织和执行。
由于在设计实现过程中没有充分考虑测试用例的前置条件和后置条件,每个测试用例的起始状态和结束状态也各不相同,在后续过程中组织执行测试用例需要的处理过程也各不相同,无法统一组织管理。对于这种情况,通常的处理方法有以下两种:
(1)手工将环境设定为测试用例的起始状态。这种方法在测试用例设计实现过程中应用较多,适合单个测试用例的执行,通过查看测试用例前置条件描述,人为地改变待测对象状态达到测试用例开始执行要求的运行状态。但这种方法在多个测试用例连续执行时很难应用,由于需要人为参与,造成无法自动化的连续测试。
(2)每个测试用例从待测对象的初始状态开始。这种方法较多的应用到待测对象特定功能的测试,基本能够实现自动化测试执行。
但是,这种方法的应用也存在诸多问题,例如:每个测试用例规模较大,无法灵活组织执行;测试用例设计实现需要的工作量较大,这使得后续的维护工作量更大,特别是在待测对象修改升级后,其中一个环节的修改,将使得与该环节相关的所有测试用例都需要修改,而即使该环节只是测试用例设定前置条件的中间环节也需要修改维护。
发明内容
本发明要解决的技术问题是提供一种实现测试用例自动化运行的方法,使测试用例可自动化运行,且组织灵活,后续维护工作量小。
为了解决上述技术问题,本发明提供了一种实现测试用例自动化运行的方法,包括以下步骤:
(a)设定待测对象的状态节点,根据待测对象的执行路径将所述状态节点组成运行过程状态树;
(b)在测试平台中建立和保存用于实现所述状态树中任意两个状态节点间转换的函数和处理单元;实现测试用例时,使其起始状态和结束状态均为所述状态树上的状态,并分别设定到该测试用例的前置条件和后置条件中;
(c)运行多个测试用例时,在一个测试用例执行完成后,所述处理单元将该测试用例的结束状态作为转换的起始状态,将下一个测试用例的起始状态作为转换的结束状态,调用相应函数,转换到下一测试用例的起始状态,然后执行下一测试用例。
进一步地,上述方法还可具有以下特点:所述步骤(b)中,对所述状态树中任意两个相邻状态节点间的连接,均建立和保存用于实现两个相应状态之间双向转换的转换函数,作为所述用于实现状态树中任意两个状态节点间转换的函数;所述步骤(c)中,处理单元先按照状态树的遍历算法找到从所述转换的起始状态到结束状态的路径,然后依次调用该路径上前后两个状态对应的转换函数,从而完成状态转换。
进一步地,上述方法还可具有以下特点:所述步骤(b)中,对所述状态树中任意两个相邻状态节点间的连接,均建立和保存用于实现两个相应状态之间双向转换的转换函数;然后采用树的遍历算法得出状态树中任意两个状态节点之间的路径,再依次调用该路径上相邻状态节点对应的转换函数,生成完成首尾两个状态节点状态转换的算法函数,作为所述用于实现状态树中任意两个状态节点间转换的函数;所述步骤(c)中,处理单元直接根据所述转换的起始状态到结束状态找到相应的算法函数,完成状态转换。
进一步地,上述方法还可具有以下特点:所述用于实现两个相应状态之间双向转换的转换函数可以是一个可完成状态间双向转换的函数,也可以是两个分别完成状态间单向转换的函数。
进一步地,上述方法还可具有以下特点:所述用于实现两个相应状态之间双向转换的转换函数可以是一个可完成状态间双向转换的函数,也可以是两个分别完成状态间单向转换的函数,所述用于实现首尾两个状态节点间状态转换的算法函数,可以是一个可完成双向转换的函数,也可以是两个分别完成单向转换的函数。
进一步地,上述方法还可具有以下特点:所述函数均保存在测试平台的库文件中,所述状态节点的标识和对这些函数的声明保存在测试平台的头文件中。
进一步地,上述方法还可具有以下特点:所述步骤(a)中,是将待测对象按照功能模块划分,定义出该待测对象的各个状态节点和运行过程状态树的。
进一步地,上述方法还可具有以下特点:所述步骤(a)中,是将待测对象按照运行过程划分,定义出该待测对象的各个状态节点和运行过程状态树的。
与现有技术相比,本发明具有如下显著优点:
(1)采用本发明所述方法,只要在用例设计中把测试用例的起始状态和结束状态设定到运行过程状态树的状态节点上,就自动设定好测试用例运行环境,测试用例实现内容不受限制,可以跨越状态和功能;
(2)采用本发明所述方法,测试用例设计的规模可以减小,粒度可以更加细化,待测对象的改变对测试用例的影响很小,后续维护工作量减小;
(3)本发明所述方法相当于测试用例粘合剂,连续运行的两个测试用例之间状态的差别可以通过状态转换自动得到结合,实现测试用例连续执行;
(4)通过采用本发明所述方法可以方便地建立了测试用例运行的运行环境,使测试用例的组织和测试套的建立更加灵活。
附图说明
图1为本发明实施例待侧对象的状态树。
图2为本发明实施例自动运行测试用例的示意图。
图3为本发明实施例构建测试用例运行环境设定平台的流程图。
具体实施方式
本发明自动化构建测试用例运行环境的方法的核心思想是:通过分析和整理,描绘出待测对象的运行状态和执行路径;通过数学转换得出待测对象的运行过程状态树;通过实现待测对象的运行过程状态树中所有相邻状态的双向转换,可以使待测对象在任意两个状态之间切换,从而构建一个统一的自动化的测试用例运行环境设定平台,以下也简称为测试平台,用于提供实现测试用例、设置测试用例运行环境和执行测试用例的平台。
下面结合附图和具体实施例对本发明作进一步的介绍,但不作为对本发明的限定。
如图1和图2所示,本实施例自动化构建测试用例运行环境的方法包括以下步骤:
步骤101,设定待测对象的状态节点,并对这些状态节点分别编号,将所有状态节点的编号以不同的全局变量保存到头文件中以便调用;
划分待测对象的方法有很多,可以按照功能模块划分,也可以按照待测对象运行过程划分,只要保证能够清楚定义状态点,可以根据实际待测对象的各种特点划分。
如图1所示,将状态节点分别编号为“状态0”、“状态1”、“状态11”、“状态12”、“状态2”、“状态21”、“状态22”、“状态121”、“状态122”和“状态221”。
步骤102,按照待测对象的执行路径将各个状态节点组成运行过程状态树,除根节点外,每层的状态节点表示与其相邻(指图中相连)的上一层状态节点的后续状态,但相邻状态节点的状态也可以双向转换;
如图1所示,其中:“状态0”为待测应用的起始状态,并有两个后续状态,分别为“状态1”和“状态2”,而“状态1”有两个后续状态“状态11”和“状态12”,“状态2”也有2个后续状态“状态21”和“状态22”,而“状态12”的后续状态为“状态121”和“状态122”,同时“状态122”也为“状态21”的后续状态,“状态22”的后续状态为“状态221”,如图所示,状态树中所有的相邻状态都是可以相互转换的;
步骤103,对状态树中任意两个相邻状态节点之间的连接,建立相应的状态转换函数,可以是一个可完成双向转换的函数,也可以是分别完成一个方向转换的两个函数,将得到的状态转换函数保存到库文件中;
在使用不同的测试平台时,根据状态树中相邻状态节点的连接建立状态函数方法也不同,本发明对此不做限定。
步骤104,然后采用树的遍历算法得出状态树中任意两个状态节点之间的路径,并通过依次调用库文件中该路径上相邻状态节点对应的状态转换函数,生成用于实现首尾两个状态节点间状态转换的算法函数,可以是一个可完成双向转换的函数,也可以是两个分别完成单向转换的函数,然后在头文件中进行算法函数的声明,将得到的算法函数放到库文件中;
步骤105,修改测试平台,增加实现测试用例间状态转换的状态转换处理单元,用于根据需要转换的两个状态确定转换路径,从头文件和库文件调用相应的算法函数,完成状态转换;
步骤106,利用测试平台实现测试用例,要求测试用例的起始状态和结束状态必须为状态图中存在的状态上,完成测试用例实现后,设定测试用例的环境,即将测试用例的起始状态和结束状态分别设定到其前置条件和后置条件中,以便状态转换。
利用上述步骤构建好测试平台后,测试用例的执行过程将不再受到限制。下面结合图2对测试用例执行过程进行描述,图中选择了连续自动化执行两个测试用例。
测试用例N:起始状态(前置条件)为状态12,结束状态(后置条件)为221;
测试用例N+1:起始状态(前置条件)为状态1,结束状态(后置条件)为状态121。
测试用例的自动执行过程如下:
第一步,首先将测试平台的运行环境设定为测试用例N的起始状态,执行测试用例N的内容;
第二步,测试用例N执行完成之后,状态转换处理单元查看测试用例的前置条件和后置条件,将测试用例N的结束状态221作为转换的起始状态,将测试用例N+1的起始状态1作为转换的结束状态;
第三步,状态转换处理单元根据转换的起始状态和结束状态,并从库文件中找到相应的算法函数,将待测对象的状态转换为状态1;
第四步,测试用例N+1的起始状态(或称为运行环境)自动设定完成,开始进行测试用例N+1内容的执行。
可以看出,既使增加更多的测试用例,也可以由测试平台自动完成多个测试用例的执行,无需人工干预。并且,由于各个测试用例之间相对独立,一个测试用例的起始或结束状态发生变化时,并不需要修改其它的测试用例,还可以方便地增加或删除需要运行的测试用例。因此,方便地实现了测试用例的灵活组织,使测试用例最大程度的得到重用,提高效率。
在上述实施例的基础上,本发明还可以有各种变换。例如,本实施例中虽然用的是头文件、库文件保存得到的状态节点编号和算法函数、转换函数等,但在采用其它的测试平台时,可能名称并不如此称呼。
又如,在另一实施例中,可以不进行实施例步骤104,即不生成和保存状态树中两个状态节点之间的算法函数,而在具体执行时,在对应于实施例的步骤三中,再根据转换的起始状态和结束状态,按照状态树的遍历算法找到从状态221到状态1的路径:221→22→2→0→1,然后依次调用该路径上前后两个状态之间的转换函数,也同样可以完成状态转换。原实施例会多占用一些存储空间,不过执行时直接找到相应的算法函数就可以了。

Claims (8)

1、一种实现测试用例自动化运行的方法,包括以下步骤:
(a)设定待测对象的状态节点,根据待测对象的执行路径将所述状态节点组成运行过程状态树;
(b)在测试平台中建立和保存用于实现所述状态树中任意两个状态节点间转换的函数和处理单元;实现测试用例时,使其起始状态和结束状态均为所述状态树上的状态,并分别设定到该测试用例的前置条件和后置条件中;
(c)运行多个测试用例时,在一个测试用例执行完成后,所述处理单元将该测试用例的结束状态作为转换的起始状态,将下一个测试用例的起始状态作为转换的结束状态,调用相应函数,转换到下一测试用例的起始状态,然后执行下一测试用例。
2、如权利要求1所述的方法,其特征在于,所述步骤(b)中,对所述状态树中任意两个相邻状态节点间的连接,均建立和保存用于实现两个相应状态之间双向转换的转换函数,作为所述用于实现状态树中任意两个状态节点间转换的函数;所述步骤(c)中,处理单元先按照状态树的遍历算法找到从所述转换的起始状态到结束状态的路径,然后依次调用该路径上前后两个状态对应的转换函数,从而完成状态转换。
3、如权利要求1所述的方法,其特征在于,所述步骤(b)中,对所述状态树中任意两个相邻状态节点间的连接,均建立和保存用于实现两个相应状态之间双向转换的转换函数;然后采用树的遍历算法得出状态树中任意两个状态节点之间的路径,再依次调用该路径上相邻状态节点对应的转换函数,生成完成首尾两个状态节点状态转换的算法函数,作为所述用于实现状态树中任意两个状态节点间转换的函数;所述步骤(c)中,处理单元直接根据所述转换的起始状态到结束状态找到相应的算法函数,完成状态转换。
4、如权利要求2所述的方法,其特征在于,所述用于实现两个相应状态之间双向转换的转换函数可以是一个可完成状态间双向转换的函数,也可以是两个分别完成状态间单向转换的函数。
5、如权利要求3所述的方法,其特征在于,所述用于实现两个相应状态之间双向转换的转换函数可以是一个可完成状态间双向转换的函数,也可以是两个分别完成状态间单向转换的函数,所述用于实现首尾两个状态节点间状态转换的算法函数,可以是一个可完成双向转换的函数,也可以是两个分别完成单向转换的函数。
6、如权利要求1所述的方法,其特征在于,所述函数均保存在测试平台的库文件中,所述状态节点的标识和对这些函数的声明保存在测试平台的头文件中。
7、如权利要求1所述的方法,其特征在于,所述步骤(a)中,是将待测对象按照功能模块划分,定义出该待测对象的各个状态节点和运行过程状态树的。
8、如权利要求1所述的方法,其特征在于,所述步骤(a)中,是将待测对象按照运行过程划分,定义出该待测对象的各个状态节点和运行过程状态树的。
CNB2005101322200A 2005-12-22 2005-12-22 一种实现测试用例自动化运行的方法 Expired - Fee Related CN100472470C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101322200A CN100472470C (zh) 2005-12-22 2005-12-22 一种实现测试用例自动化运行的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101322200A CN100472470C (zh) 2005-12-22 2005-12-22 一种实现测试用例自动化运行的方法

Publications (2)

Publication Number Publication Date
CN1987817A true CN1987817A (zh) 2007-06-27
CN100472470C CN100472470C (zh) 2009-03-25

Family

ID=38184620

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101322200A Expired - Fee Related CN100472470C (zh) 2005-12-22 2005-12-22 一种实现测试用例自动化运行的方法

Country Status (1)

Country Link
CN (1) CN100472470C (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102222043A (zh) * 2011-07-08 2011-10-19 华为软件技术有限公司 一种测试方法和测试装置
CN103678138A (zh) * 2014-01-03 2014-03-26 北京经纬恒润科技有限公司 一种生成状态转换测试用例的方法及装置
CN104008056A (zh) * 2014-05-30 2014-08-27 广州华多网络科技有限公司 软件测试方法及装置
CN104698368A (zh) * 2015-04-01 2015-06-10 山东华芯半导体有限公司 一种实现芯片顶层测试用例重用的方法
CN107818049A (zh) * 2017-11-01 2018-03-20 郑州云海信息技术有限公司 一种测试用例的执行方法、执行装置及执行设备
CN107870852A (zh) * 2016-09-26 2018-04-03 北京金山云网络技术有限公司 一种测试方法及装置
CN109271311A (zh) * 2017-07-18 2019-01-25 华为机器有限公司 一种需求场景化方法及需求场景化装置
CN109426239A (zh) * 2017-08-31 2019-03-05 株洲中车时代电气股份有限公司 一种机车顺序控制***及方法
CN109446146A (zh) * 2018-11-09 2019-03-08 中国科学院长春光学精密机械与物理研究所 一种应用层通信协议的状态转换序列生成方法
CN109922930A (zh) * 2016-11-09 2019-06-21 Abb瑞士股份有限公司 用于确定***状态的可能转换的方法
CN112131101A (zh) * 2020-08-27 2020-12-25 新华三大数据技术有限公司 一种自动化测试的方法、测试终端和存储介质
CN114385475A (zh) * 2020-10-16 2022-04-22 腾讯科技(深圳)有限公司 一种测试方法和相关装置

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102222043A (zh) * 2011-07-08 2011-10-19 华为软件技术有限公司 一种测试方法和测试装置
CN102222043B (zh) * 2011-07-08 2015-06-17 华为软件技术有限公司 一种测试方法和测试装置
CN103678138B (zh) * 2014-01-03 2017-01-25 北京经纬恒润科技有限公司 一种生成状态转换测试用例的方法及装置
CN103678138A (zh) * 2014-01-03 2014-03-26 北京经纬恒润科技有限公司 一种生成状态转换测试用例的方法及装置
CN104008056A (zh) * 2014-05-30 2014-08-27 广州华多网络科技有限公司 软件测试方法及装置
CN104008056B (zh) * 2014-05-30 2016-11-23 广州华多网络科技有限公司 软件测试方法及装置
CN104698368A (zh) * 2015-04-01 2015-06-10 山东华芯半导体有限公司 一种实现芯片顶层测试用例重用的方法
CN104698368B (zh) * 2015-04-01 2017-11-10 山东华芯半导体有限公司 一种实现芯片顶层测试用例重用的方法
CN107870852B (zh) * 2016-09-26 2020-11-27 北京金山云网络技术有限公司 一种测试方法及装置
CN107870852A (zh) * 2016-09-26 2018-04-03 北京金山云网络技术有限公司 一种测试方法及装置
CN109922930B (zh) * 2016-11-09 2022-05-17 Abb瑞士股份有限公司 用于确定***状态的可能转换的方法
CN109922930A (zh) * 2016-11-09 2019-06-21 Abb瑞士股份有限公司 用于确定***状态的可能转换的方法
CN109271311A (zh) * 2017-07-18 2019-01-25 华为机器有限公司 一种需求场景化方法及需求场景化装置
CN109426239A (zh) * 2017-08-31 2019-03-05 株洲中车时代电气股份有限公司 一种机车顺序控制***及方法
CN109426239B (zh) * 2017-08-31 2020-05-08 株洲中车时代电气股份有限公司 一种机车顺序控制***及方法
CN107818049A (zh) * 2017-11-01 2018-03-20 郑州云海信息技术有限公司 一种测试用例的执行方法、执行装置及执行设备
CN109446146A (zh) * 2018-11-09 2019-03-08 中国科学院长春光学精密机械与物理研究所 一种应用层通信协议的状态转换序列生成方法
CN112131101A (zh) * 2020-08-27 2020-12-25 新华三大数据技术有限公司 一种自动化测试的方法、测试终端和存储介质
CN114385475A (zh) * 2020-10-16 2022-04-22 腾讯科技(深圳)有限公司 一种测试方法和相关装置

Also Published As

Publication number Publication date
CN100472470C (zh) 2009-03-25

Similar Documents

Publication Publication Date Title
CN100472470C (zh) 一种实现测试用例自动化运行的方法
CN109376867A (zh) 两量子比特逻辑门的处理方法及装置
CN103530231A (zh) 一种基于业务流程控制的应用程序测试方法及***
GB2262174A (en) Reconfigurable signal processor
CN112463211A (zh) 一种兼容多种开发架构的***架构改造方法及***架构
CN111682973A (zh) 一种边缘云的编排方法及***
CN108460199A (zh) Cni建模***
CN114970814A (zh) 神经网络计算图的处理方法及处理装置
US20210397163A1 (en) Engineering system for orchestration of an industrial plant
CN107390662B (zh) 基于监控对象模型的工业监控方法及装置
CN100373326C (zh) 一种自动化测试***及其方法
CN110083406A (zh) 基于文本二维表格的状态机定义方法及其***
CN102779036B (zh) 用于自动化技术的软件工具
EP1624614A1 (de) Automatische Planung von Netzwerkkonfigurationen
Hristozov et al. Resilient architecture framework for robotic systems
CN100524289C (zh) 用于过程技术的测量设备和用于测量设备的运行方法
CN113268884A (zh) 一种基于资产管理壳的分布式控制***管控方法
US11294843B2 (en) On-process migration of controller(s) to utilize an IO pool
CN107992559A (zh) 多数据源的数据迁移方法
Maturana et al. A highly distributed intelligent multi-agent architecture for industrial automation
Rabelo et al. Component-based development applied to energetic operation planning of hydrothermal power systems
CN109815589B (zh) 仿生自修复硬件快速布线方法及***
Popescu et al. An incremental Petri Net-derived approach to modeling of flow and resources in service-oriented manufacturing systems
JPS60156144A (ja) 周期処理の負荷最適分散制御方式
CN109591180A (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
ASS Succession or assignment of patent right

Owner name: STATE GRID TIANJIN ELECTRIC POWER COMPANY

Free format text: FORMER OWNER: ZTE CORPORATION

Effective date: 20131226

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518057 SHENZHEN, GUANGDONG PROVINCE TO: 300010 HEBEI, TIANJIN

TR01 Transfer of patent right

Effective date of registration: 20131226

Address after: 300010 Tianjin city Hebei District Wujing Road No. 39

Patentee after: State Grid Tianjin Electric Power Company

Address before: 518057 Nanshan District high tech Industrial Park, Guangdong, South Road, science and technology, ZTE building, legal department

Patentee before: ZTE Corporation

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: 20090325

Termination date: 20191222