CN102063372A - 一种主键驱动的模块化的自动化测试方法 - Google Patents
一种主键驱动的模块化的自动化测试方法 Download PDFInfo
- Publication number
- CN102063372A CN102063372A CN2010106135343A CN201010613534A CN102063372A CN 102063372 A CN102063372 A CN 102063372A CN 2010106135343 A CN2010106135343 A CN 2010106135343A CN 201010613534 A CN201010613534 A CN 201010613534A CN 102063372 A CN102063372 A CN 102063372A
- Authority
- CN
- China
- Prior art keywords
- function
- script
- scene
- data
- driven
- 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
- 238000010998 test method Methods 0.000 title abstract description 4
- 238000013515 script Methods 0.000 claims abstract description 66
- 238000012360 testing method Methods 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 36
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 11
- 238000011161 development Methods 0.000 claims abstract description 9
- 238000013461 design Methods 0.000 claims description 10
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 150000001875 compounds Chemical class 0.000 claims description 5
- 238000005192 partition Methods 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 abstract description 9
- 238000007689 inspection Methods 0.000 description 3
- 230000004069 differentiation Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种主键驱动的模块化的自动化测试方法,属于自动化测试领域。该方法包含以下步骤:以功能为单位开发脚本;根据功能的逻辑再将功能脚本进行模块化分拆;通过功能逻辑算法将分拆的模块化的脚本进行组装;开发以功能为单位的脚本对应的测试对象;设计功能脚本对应的数据驱动的数据结构,增加场景主键字段;开发业务场景脚本;根据测试场景用例以场景主键区分、增加数据驱动记录;根据测试用例增加功能对应的检查点,也以场景主键区分。与现有技术相比,本发明的主键驱动的模块化的自动化测试方法可以以较低的开发、维护成本完成对场景法用例的自动化测试开发工作,并且具有比较广泛地应用范围。
Description
技术领域
本发明涉及自动化测试领域,具体地说是一种主键驱动的模块化的自动化测试方法。
背景技术
1.自动化测试的构成:脚本、测试对象、数据驱动、检查点。脚本里包含的是对对象的操作,测试对象文件中包含的是对对象(程序的控件)的描述(关键属性值),数据驱动中包含的是需要录入的数据,检查点就是对对象期望值检查的方法。
2.自动化测试的工作过程:自动化测试工具从测试对象文件中获取对象的描述,并识别对象;同时从数据驱动中获得数据,然后根据脚本中包含的操作步骤,对程序对象进行操作(将数据按步骤录入到程序)或检查,完成功能的测试。
3.自动化测试的开发模式:自动化测试脚本的开发基本处于面向过程的模式,当开发按场景划分的用例对应的脚本时,每个测试场景对应一段脚本和相应的测试对象、数据驱动以及检查点。在这种模式中同一个功能会被多个测试场景用到。此时,这个功能的脚本、测试对象、数据驱动都要分别在多个脚本中进行开发和维护,工作量巨大,而且其中相当一部分工作量是重复的。而且这种模式的脚本开发过程模式只能等待场景的用例设计完成后才能开始脚本的开发导致脚本开发和用例设计无法并行进行。
现有技术中自动化测试构成的结构如附图1所示。
发明内容
本发明的技术任务是针对上述现有技术的不足,提供一种主键驱动的模块化的自动化测试方法。利用该方法可以减少脚本开发和维护工作量。
本发明的技术任务是按以下方式实现的:一种主键驱动的模块化的自动化测试方法,包含以下步骤:
1)以功能为单位开发的可复用的模块化的脚本;
2)形成与功能脚本对应的以功能为单位的可复用的测试对象;
3)根据功能的逻辑再将功能脚本进行模块化分拆,拆分成多个对象操作的方法;
4)开发功能逻辑算法将分拆的模块化的脚本进行组装,形成完整的功能操作方法;
5)设计功能脚本对应的模块化的可复用数据驱动的数据结构;
6)增加数据驱动的场景主键字段,用以区分不同场景的数据驱动的记录;
7)如果同一个场景需要作同一个功能的多张单据,场景字段可以与单据编号字段设置成复合主键;
8)开发业务场景脚本,此脚本全是对功能操作方法的调用,通过传递场景主键参数,执行此场景的自动化测试;
9)根据测试场景用例增加以场景主键区分的数据驱动记录;
10)根据测试用例增加功能对应的检查点,也以场景主键区分。
本发明的主键驱动的模块化的自动化测试方法与现有技术相比,其区别在于:
●脚本是以功能为单位开发的,每个功能的脚本本身就是模块化的,然后根据功能的逻辑将功能脚本进行再次的模块化分拆,拆分成多个对象操作的方法。最后通过功能逻辑算法将分拆的模块化的脚本进行组装,形成完整的功能操作方法。场景走查中要实现此功能的操作时只需要直接调用逻辑算法并传递场景主键参数即可,大大减少了脚本的开发、维护的工作量,尤其在脚本维护阶段当功能发生变动时,采用此方法可以减少相当多的工作量。
●由于脚本是以功能为单位开发的,这样功能对应的测试对象也是模块化的,功能的对象只需要在此功能对应的一个测试对象文件中进行维护,减少了测试对象维护工作量。
●被拆分的多个对象操作的方法也可以直接调用,实现更加灵活的走查需求。
●功能对应的数据结构也是模块化的,所有业务场景中此功能的数据都存放功能对应的数据驱动中。后期结构以及数据维护成本会比较低,而不同场景只需要维护相关数据记录以场景主键区分就可以了。其次,可以将场景主键和单据编号设置成复合主键,满足一个场景制一个功能的多张单据的需求。另外,功能对应的数据驱动的可以按照功能分拆后的对象操作方法分别对应,就是说一个功能可以根据功能逻辑对应多个具体的数据驱动文件,数据驱动文件中可以根据场景主键或复合主键定义从属关系,让数据驱动表更加清晰、灵活、易于操作。
●业务场景的脚本里只有功能实现方法的调用,根据数据驱动中场景主键区分的数据实现不同场景的走查,执行的步骤非常清晰。
●检查点也是对应功能以场景主键区分的,而且可以使用统一的检查点的方法调用,方便维护。
与现有技术相比,具有以下突出的有益效果:
(一)实现了脚本、数据驱动、测试对象、检查点之间的分离和各自的模块化,提高了脚本、数据以及对象的复用性,降低了自动化执行的开发和维护成本。
(二)功能的模块化的脚本与的测试场景实现了分离,提高了脚本的灵活性,降低了脚本耦合度。最后通过调用模块化的功能脚本并传递场景主键参数的方法,来实现灵活调用、自由组合的测试场景的执行。
(三)采用此方法可以在用例设计好之前就开发模块化功能脚本以及数据驱动的数据结构。而用例完成后要做的只是数据驱动中数据记录的编辑以及业务场景脚本的开发。从而从一定程度上减少了脚本开发对用例设计进度的依赖。
(四)本方法是一种通用的脚本实现方法,不局限于某一个自动化脚本工具,应用范围非常广。
附图说明
附图1是现有技术中自动化测试构成的结构示意图;
附图2是本发明主键驱动的模块化的自动化测试方法的实现流程图;
附图3是本发明发明主键驱动的模块化的自动化测试方法的结构框图;
附图4是本发明实施例结构框图。
具体实施方式
参照说明书附图以具体实施例对本发明的主键驱动的模块化的自动化测试方法作以下详细地说明。
如附图2所示,本发明的测试方法包含以下步骤:
1)以功能为单位开发的可复用的模块化的脚本;
2)形成与功能脚本对应的以功能为单位的可复用的测试对象;
3)根据功能的逻辑再将功能脚本进行模块化分拆,拆分成多个对象操作的方法;
4)开发功能逻辑算法将分拆的模块化的脚本进行组装,形成完整的功能操作方法;
5)设计功能脚本对应的模块化的可复用数据驱动的数据结构;
6)增加数据驱动的场景主键字段,用以区分不同场景的数据驱动的记录;
7)如果同一个场景需要作同一个功能的多张单据,场景字段可以与单据编号字段设置成复合主键;
8)开发业务场景脚本,此脚本全是对功能操作方法的调用,通过传递场景主键参数,执行此场景的自动化测试;
9)根据测试场景用例增加以场景主键区分的数据驱动记录;
10)根据测试用例增加功能对应的检查点,也以场景主键区分。
通过以上步骤形成如附图3所示的结构。
实施例:(ERP软件产品中库存模块的业务走查脚本实现方法)
如附图4所示,在库存的多个业务场景(如:采购收货、生产收货)都里会用到收货功能,这时可以开发收货功能的脚本,收货功能的脚本只对应一个测试对象文件。收货功能可以拆成索引对象操作方法、表头对象操作方法、表体对象操作方法和辅助分录对象操作方法,一张收货单通常是一个索引记录对应一个表头记录在对应一个或多个表体记录,一个表体记录又对应一个或多个辅助分录记录,根据这个逻辑我们可以开发一对多的循环算法:“收货单输入算法”,这个算法可以实现以上对应关系的录入。然后可以设计开发收货功能的数据驱动的数据结构,索引、表头对应一张表,表体对应一张表,辅助分录对应一张表,表头、表体、辅助分录对应的表分别包含“主键”字段用以区分不同场景的数据记录和“单据编号”字段用于关联主表(表头数据驱动表)和从表(表体数据驱动表)。当库存模块的采购收货场景和生产收货场景的测试用例设计出来之后我们可以开始两个场景的场景脚本,这部分脚本只包括功能实现方法的调用。调用时分别传递采购收货和生产收货两个主键参数,然后可以根据用例增加数据驱动表头表、表体表和辅助分录表的记录以“采购收货”和“生产收货”主键字段区分,这样就可以通过“收货单录入算法”根据以场景主键区分的不同场景设计的数据分别录入需要的收货单据。另外,可以开发库存明细查询功能的表格控件检查方法,这个方法可以根据不同场景主键参数执行不同的检查点。收货功能的单据收货单录入算法和库存明细查询功能的表格控件检查等方法串起来就是一个完整业务场景的脚本执行过程。当收货功能发生改变,它对应的脚本、测试对象、数据驱动结构只需修改一遍就能完成脚本的维护工作。
综上,本发明的方法可以以较低的开发、维护成本完成对场景法用例的自动化测试开发工作,并且应用范围比较广泛。
上述仅以优选实施里对本发明进行说明,非因此即局限本发明的权利范围,因此,在不脱离本发明的思想的情况下,凡运用本发明说明书及附图内容所为的等效变化,均理同包含于本发明的权利要求范围内。
Claims (1)
1.一种主键驱动的模块化的自动化测试方法,其特征在于包含以下步骤:
1)以功能为单位开发的可复用的模块化的脚本;
2)形成与功能脚本对应的以功能为单位的可复用的测试对象;
3)根据功能的逻辑再将功能脚本进行模块化分拆,拆分成多个对象操作的方法;
4)开发功能逻辑算法将分拆的模块化的脚本进行组装,形成完整的功能操作方法;
5)设计功能脚本对应的模块化的可复用数据驱动的数据结构;
6)增加数据驱动的场景主键字段,用以区分不同场景的数据驱动的记录;
7)如果同一个场景需要作同一个功能的多张单据,场景字段可以与单据编号字段设置成复合主键;
8)开发业务场景脚本,此脚本全是对功能操作方法的调用,通过传递场景主键参数,执行此场景的自动化测试;
9)根据测试场景用例增加以场景主键区分的数据驱动记录;
10)根据测试用例增加功能对应的检查点,也以场景主键区分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106135343A CN102063372A (zh) | 2010-12-30 | 2010-12-30 | 一种主键驱动的模块化的自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106135343A CN102063372A (zh) | 2010-12-30 | 2010-12-30 | 一种主键驱动的模块化的自动化测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102063372A true CN102063372A (zh) | 2011-05-18 |
Family
ID=43998657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010106135343A Pending CN102063372A (zh) | 2010-12-30 | 2010-12-30 | 一种主键驱动的模块化的自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102063372A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521122A (zh) * | 2011-11-23 | 2012-06-27 | 北京交通大学 | 面向动态场景的测试序列生成方法及系统 |
CN102915303A (zh) * | 2011-08-01 | 2013-02-06 | 阿里巴巴集团控股有限公司 | 一种etl测试的方法和装置 |
CN102955739A (zh) * | 2012-11-21 | 2013-03-06 | 浪潮电子信息产业股份有限公司 | 一种提高性能测试脚本重用率的方法 |
CN103399761A (zh) * | 2013-07-22 | 2013-11-20 | 珠海全志科技股份有限公司 | 固件烧录方法及其装置 |
CN104978258A (zh) * | 2014-04-01 | 2015-10-14 | 中国银联股份有限公司 | 软件自动化测试方法及系统 |
CN106897181A (zh) * | 2017-03-01 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种Vdbench测试装置 |
CN110399304A (zh) * | 2019-07-30 | 2019-11-01 | 江苏恒宝智能系统技术有限公司 | 一种脚本的测试方法及系统 |
CN110765001A (zh) * | 2019-09-06 | 2020-02-07 | 赛诺贝斯(北京)营销技术股份有限公司 | 针对应用系统的模块化自动测试方法和装置 |
CN111459793A (zh) * | 2020-02-25 | 2020-07-28 | 汇通达网络股份有限公司 | 一种全生命周期的软件自动化测试方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719062A (zh) * | 2009-11-27 | 2010-06-02 | 浪潮集团山东通用软件有限公司 | 一种脚本执行测试设计的实现方法 |
-
2010
- 2010-12-30 CN CN2010106135343A patent/CN102063372A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719062A (zh) * | 2009-11-27 | 2010-06-02 | 浪潮集团山东通用软件有限公司 | 一种脚本执行测试设计的实现方法 |
Non-Patent Citations (1)
Title |
---|
盖士伟: "浪潮ERP_GS采购管理子系统设计与实现", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915303A (zh) * | 2011-08-01 | 2013-02-06 | 阿里巴巴集团控股有限公司 | 一种etl测试的方法和装置 |
CN102915303B (zh) * | 2011-08-01 | 2016-04-20 | 阿里巴巴集团控股有限公司 | 一种etl测试的方法和装置 |
CN102521122A (zh) * | 2011-11-23 | 2012-06-27 | 北京交通大学 | 面向动态场景的测试序列生成方法及系统 |
CN102521122B (zh) * | 2011-11-23 | 2014-08-13 | 北京交通大学 | 面向动态场景的测试序列生成方法 |
CN102955739B (zh) * | 2012-11-21 | 2016-02-03 | 浪潮电子信息产业股份有限公司 | 一种提高性能测试脚本重用率的方法 |
CN102955739A (zh) * | 2012-11-21 | 2013-03-06 | 浪潮电子信息产业股份有限公司 | 一种提高性能测试脚本重用率的方法 |
CN103399761B (zh) * | 2013-07-22 | 2016-11-23 | 珠海全志科技股份有限公司 | 固件烧录方法及其装置 |
CN103399761A (zh) * | 2013-07-22 | 2013-11-20 | 珠海全志科技股份有限公司 | 固件烧录方法及其装置 |
CN104978258A (zh) * | 2014-04-01 | 2015-10-14 | 中国银联股份有限公司 | 软件自动化测试方法及系统 |
CN104978258B (zh) * | 2014-04-01 | 2018-03-23 | 中国银联股份有限公司 | 软件自动化测试方法及系统 |
CN106897181A (zh) * | 2017-03-01 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种Vdbench测试装置 |
CN106897181B (zh) * | 2017-03-01 | 2020-03-20 | 郑州云海信息技术有限公司 | 一种Vdbench测试装置 |
CN110399304A (zh) * | 2019-07-30 | 2019-11-01 | 江苏恒宝智能系统技术有限公司 | 一种脚本的测试方法及系统 |
CN110399304B (zh) * | 2019-07-30 | 2023-07-25 | 江苏恒宝智能系统技术有限公司 | 一种脚本的测试方法及系统 |
CN110765001A (zh) * | 2019-09-06 | 2020-02-07 | 赛诺贝斯(北京)营销技术股份有限公司 | 针对应用系统的模块化自动测试方法和装置 |
CN111459793A (zh) * | 2020-02-25 | 2020-07-28 | 汇通达网络股份有限公司 | 一种全生命周期的软件自动化测试方法和装置 |
CN111459793B (zh) * | 2020-02-25 | 2023-05-30 | 汇通达网络股份有限公司 | 一种全生命周期的软件自动化测试方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102063372A (zh) | 一种主键驱动的模块化的自动化测试方法 | |
CN104778124B (zh) | 一种软件应用自动化测试方法 | |
Shim et al. | Three-dimensional information model-based bridge engineering in Korea | |
CN100589420C (zh) | 基于功能操作封装的自动化测试脚本实现方法及装置 | |
CN102323946B (zh) | 并行数据库中算子复用的实现方法 | |
CN102332125A (zh) | 基于后继任务的工作流挖掘方法 | |
CN103049620A (zh) | 一种船舶建造过程船舶仿真系统及方法 | |
Eliasson et al. | Architecting in the automotive domain: Descriptive vs prescriptive architecture | |
CN100484140C (zh) | 一种规范驱动的网格工作流描述和验证方法 | |
CN107194029A (zh) | 一种基于体系结构框架的标准视图建模方法 | |
CN106776326B (zh) | 一种数据分析模型的建模方法及系统 | |
CN108108329A (zh) | Ima系统动态重构策略多特性分析方法 | |
CN111813661A (zh) | 一种全局业务数据驱动自动测试方法、装置、设备和介质 | |
Lee et al. | Study on a process-centric modeling methodology for virtual manufacturing of ships and offshore structures in shipyards | |
CN105022288A (zh) | 一种工业电子嵌入式系统的仿真系统 | |
Williamsson et al. | An approach to integrated modularization | |
CN111124927A (zh) | 一种多分区机载软件的测试方法 | |
CN105116758A (zh) | 一种工业电子嵌入式系统的仿真方法 | |
CN101021788A (zh) | 一种网络游戏开发中的版本管理模式 | |
CN102955739A (zh) | 一种提高性能测试脚本重用率的方法 | |
CN114896108A (zh) | 测试验证系统 | |
CN110705823A (zh) | 一种生产工艺路线配置方法 | |
CN109032567B (zh) | 一种微服务环境中的服务开发和运行方法及其系统 | |
CN115344246A (zh) | 使用过程控制计划数字孪生的产品的开发 | |
CN107562808B (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110518 |