CN110399309A - 一种测试数据生成方法及装置 - Google Patents
一种测试数据生成方法及装置 Download PDFInfo
- Publication number
- CN110399309A CN110399309A CN201910710788.8A CN201910710788A CN110399309A CN 110399309 A CN110399309 A CN 110399309A CN 201910710788 A CN201910710788 A CN 201910710788A CN 110399309 A CN110399309 A CN 110399309A
- Authority
- CN
- China
- Prior art keywords
- data
- test
- test data
- document
- pool
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 195
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000013515 script Methods 0.000 claims abstract description 40
- 238000012216 screening Methods 0.000 claims abstract description 19
- 230000000153 supplemental effect Effects 0.000 claims description 25
- 241001269238 Data Species 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 abstract description 10
- 238000012217 deletion Methods 0.000 abstract 1
- 230000037430 deletion Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 5
- 238000011990 functional testing Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 239000000047 product Substances 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011017 operating method Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种测试数据生成方法及装置,包括:从待测试数据中提取数据参数,所述数据参数包括:数据特征、应用名、所属环境和数据类别;根据所述数据特征与数据构造脚本之间的逻辑关联调用与所述数据特征对应的数据构造脚本,生成数据基础信息;将所述数据参数和所述数据基础信息记录在数据池文档中并刷新所述数据池文档,以提供测试数据;其中,所述测试数据为根据测试需求筛选并刷新后的数据。本申请克服了现有技术中心数据同步机制不能够解决多测试人员或测试脚本共用测试数据以及不规范删改记录导致数据失效的问题。
Description
技术领域
本申请涉及数据测试技术领域,具体地讲,涉及一种测试数据生成方法及装置。
背景技术
功能测试的实施流程包含“数据准备-触发被测功能-结果核对”三个环节,任一环节的耗时增加,都将影响功能测试的总时间成本。一直以来,功能测试人员在“数 据准备”环节,采取自给自足方式。当测试环境缺少被测功能所需数据,测试人员需 自行触发不同的系统功能,完成所需数据的构造。例如,当“被测功能”是个人外汇 买入,测试人员首先需要开立个人客户信息,进而开立一类账户,给账户存款,再开 立外汇交易账号,才能开展外汇买入功能的测试。一旦数据准备涉及的应用较多,功 能链路较长,时间消耗会相应增加。
在数据使用过程中,可能存在不同测试人员或测试脚本共用同一笔数据的情况,造成多个功能在极短时间内先后更新数据,给结果核对带来干扰。例如测试人员A 测试买入100美金,测试人员B测试卖出50美金,他们选择了同一个投资交易账户, 且互不知晓,按触发顺序,系统先执行买入,再执行卖出,最后余额实际增加了50 美元。测试人员A期望余额增加100,却发现只增加了50,影响测试结果的可靠性。 如果个别测试人员执行了不规范操作,例如直接在数据库删、改记录,将直接造成数 据失效,其他测试人员无法再使用该笔数据,绑定了该数据的测试脚本,也将运行失 败。
由于无从得知测试环境已有哪些种类的数据,缺少哪些种类的数据,哪些类型的数据需求量大,哪些数据目前正在被使用,哪些数据已经失效等关键信息,作为测试 经理或测试管理人员无法从整体角度对存量测试数据进行有效的管理。
现有的“数据同步”机制往往包含多个应用,每个应用使用不同的数据库,一笔 有效的数据,需要在不同应用多个数据库均存在相应记录。但不同应用的“数据同步” 机制,存在差异。例如,客户信息应用规定日期在2019-04-01至2019-05-01之间的 数据,同步到新环境数据库,而外汇应用规定日期在2019-03-01至2019-05-01之间 的数据,才会同步,从而造成新环境里2019-03-01至2019-04-01之间的外汇账户, 因为缺少了客户信息,成为失效数据,无法用于测试。
同时,“数据同步”机制并不能解决多测试人员或测试脚本共用测试数据,以及不规 范删、改记录导致数据失效的问题。
发明内容
本申请提供了一种测试数据生成方法及装置,以至少解决现有技术中数据同步机制的差异而导致的数据失效问题。
根据本申请的一个方面,提供了一种测试数据生成方法,包括:从待测试数据中提取数据参数,所述数据参数包括:数据特征、应用名、所属环境和数据类别;
根据所述数据特征与数据构造脚本之间的逻辑关联调用与所述数据特征对应的数据构造脚本,生成数据基础信息;
将所述数据参数和所述数据基础信息记录在数据池文档中并刷新所述数据池文档,以提供测试数据;其中,所述测试数据为根据测试需求筛选并刷新后的数据。
在一实施例中,该测试数据生成方法还包括:
根据测试需求从所述数据池文档中筛选符合条件的测试数据;
刷新所述符合条件的测试数据并根据刷新结果采用对应的方式提供所述测试数据。
在一实施例中,该测试数据生成方法还包括:
根据所述数据池文档中的数据补充信息和数据特征判断待测试数据的状态,所述状态包括:可用和占用。
在一实施例中,刷新所述数据池文档,具体包括:
刷新所述数据池文档中的数据补充信息、所述数据池文档中的数据特征和所述数据池文档中的数据状态。
在一实施例中,从所述数据池文档中筛选符合条件的测试数据,具体包括:
当所述数据状态为可用时,根据所述数据参数预查询所述数据池文档,筛选符合条件的测试数据。
在一实施例中,对所述符合条件的测试数据进行刷新,包括:
对所述符合条件的测试数据,从第一笔测试数据开始,针对单笔刷新该测试数据的所述数据特征和所述数据状态;
判断刷新后的该测试数据与刷新前是否一致,得到刷新结果。
在一实施例中,根据刷新结果采用对应的方式提供所述测试数据,包括:
将刷新结果为是的所有测试数据选定,提供选定的测试数据,并将所述数据状态更新为占用;
如果所有测试数据的刷新结果为否,进行数据构造。
基于上述方法,本申请还提供了一种测试数据生成装置,包括:
提取单元,用于从待测试数据中提取数据参数,所述数据参数包括:数据特征、 应用名、所属环境和数据类别;
基础信息生成单元,用于根据所述数据特征与数据构造脚本之间的逻辑关联调用与所述数据特征对应的数据构造脚本,生成数据基础信息;
记录刷新单元,用于将所述数据参数和所述数据基础信息记录在数据池文档中并刷新所述数据池文档,以提供测试数据;其中,所述测试数据为根据测试需求筛选并 刷新后的数据。
在一实施例中,该测试数据生成装置还包括:
筛选单元,用于根据测试需求从所述数据池文档中筛选符合条件的测试数据;
数据提供单元,用于刷新所述符合条件的测试数据并根据刷新结果采用对应的方式提供所述测试数据。
在一实施例中,该测试数据生成装置还包括:
状态判断单元,用于根据所述数据池文档中的数据补充信息和数据特征判断待测试数据的状态,所述状态包括:可用和占用。
在一实施例中,记录刷新单元,包括:
状态刷新模块,用于刷新所述数据池文档中的数据补充信息、所述数据池文档中的数据特征和所述数据池文档中的数据状态。
在一实施例中,筛选单元,具体包括:
预查询模块,当所述数据状态为可用时,用于根据所述数据参数预查询所述数据池文档,筛选符合条件的测试数据。
在一实施例中,数据提供单元,包括:
测试数据刷新模块,用于对所述符合条件的测试数据,从第一笔测试数据开始,针对单笔刷新该测试数据的所述数据特征和所述数据状态;
判断模块,用于判断刷新后的该测试数据与刷新前是否一致,得到刷新结果。
在一实施例中,数据提供单元,包括:
选定数据模块,用于将刷新结果为是的所有测试数据选定,提供选定的测试数据,并将所述数据状态更新为占用;
数据构造模块,如果所有测试数据的刷新结果为否,用于进行数据构造。
本申请提供了一种集中式测试数据生成系统及方法,通过提供数据构造脚本,配套数据占用机制和刷新功能,提升了数据构造的效率,减少数据是笑对测试人员和自 动化测试脚本的影响,同时避免了数据共用造成的互相干扰,确保测试人员随时获取 所需数据,自动化测试脚本不因数据失效而运行失败。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅 是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提 下,还可以根据这些附图获得其他的附图。
图1为本申请中测试数据生成方法的流程图。
图2为本申请实施例中测试数据生成方法的流程图。
图3为本申请中数据刷新方法的流程图。
图4为本申请中提供测试数据的方法流程图。
图5为本申请中测试数据生成装置的结构框图。
图6为本申请实施例中测试数据生成装置的结构框图。
图7为本申请中数据提供单元的结构框图。
图8为本申请实施例中数据提供单元的结构框图。
图9为本申请中测试数据生成方法的一种电子设备的具体实施方式。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。 基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的 所有其他实施例,都属于本发明保护的范围。
现有技术的“数据同步”机制,在新测试环境搭建完毕后,会以一定规则(例如 更新日期在某一日期之后)从原环境数据库拷贝数据记录到新环境数据库。该机制使 原有数据在新测试环境得以沿用,一定程度上缓解了功能测试人员自行构造数据的压 力。但是,庞大的系统往往包含多个应用,每个应用使用不同的数据库,一笔有效的 数据,需要在不同应用多个数据库均存在相应记录。但不同应用的“数据同步”机制, 存在差异。例如,客户信息应用规定日期在2019-04-01至2019-05-01之间的数据, 同步到新环境数据库,而外汇应用规定日期在2019-03-01至2019-05-01之间的数据, 才会同步,从而造成新环境里2019-03-01至2019-04-01之间的外汇账户,因为缺少 了客户信息,成为失效数据,无法用于测试。同时,“数据同步”机制并不能解决多 测试人员或测试脚本共用测试数据,以及不规范删、改记录导致数据失效的问题。
基于此,本申请提供了一种测试数据生成方法,如图1所示,包括如下步骤:
S101从待测试数据中提取数据参数,所述数据参数包括:数据特征、应用名、 所属环境和数据类别。
在一具体实施例中,管理员负责录入各个应用的数据库配置信息、数据特征及检查SQL,数据补充信息及SQL,系统接收应用、环境、数据类别、数据特征等参数, 程序根据数据特征和数据构造脚本之间的逻辑关联,调用所需的数据构造脚本,完成 在真实测试环境里数据的生成,并形成数据基础信息。数据使用方包括测试人员和自 动化测试脚本,可以根据数据特征值,向数据池申请所需数据,数据池返回符合特征 值的数据映射信息,数据使用方根据映射信息定位并使用对应真实测试环境中的数据。 数据特征由“特征类别”、“特征名”,和“特征值”组成,用于判断、定位测试数据 的特征归属。例如,为了测试外汇买入,需要一个外汇投资交易账户状态正常的客户, 相应特征类别是投资交易账户,特征名是账户状态,特征值包含“正常、作废、冻结”。 每一个特征值有对应检查SQL,当SQL运行结果为true,即定位对应特征值。
S102根据所述数据特征与数据构造脚本之间的逻辑关联调用与所述数据特征对应的数据构造脚本,生成数据基础信息。
在一具体实施例中,数据基础信息和补充信息构成了测试数据信息,数据基础信息是真实环境数据库与数据池的映射关键,不随测试过程改变,例如客户信息号,一 旦生成不会改变;“补充信息”是根据基本信息获取的对数据更全面的说明,会随测 试过程发生改变。例如客户投资信息,随着测试开户/销户,投资交易账户状态会更 新为正常/作废。每一个补充信息有对应检查SQL,SQL运行返回的信息为数据当前 的补充信息。数据特征与数据构造脚本之间构成了映射关系。
S103将所述数据参数和所述数据基础信息记录在数据池文档中并刷新所述数据池文档,以提供测试数据;其中,所述测试数据为根据测试需求筛选并刷新后的数据。
在一具体实施例中,数据池的数据存储结构由于不同应用对数据的补充信息及特征需求不一致,数据结构灵活性要求较高,故选择非关系型数据库(例子使用 MongoDB),作为数据存储媒介。系统将接收到的参数应用、环境、数据类别和数据 基础信息,在数据池文档登记一笔记录,其中“数据补充信息”和“数据特征”登记 为空,数据状态登记为可用。
本系统一共使用4个数据文档:
1)app_env_db(应用、环境、数据库对照关系文档,如表1所示)
表1应用、环境、数据库对照关系文档
2)addition_info_config(数据补充信息配置文档,如表2所示)
表2数据补充信息配置文档
3)data_feature(数据特征文档,如表3所示)
表3数据特征文档
4)data_pool(数据池文档,如表4所示)
表4数据池文档
在一实施例中,如图2所示,该测试数据生成方法还包括:
S201根据测试需求从所述数据池文档中筛选符合条件的测试数据。
在一具体实施例中,当测试人员需要调用测试数据的时候,向数据池中输入测试需求条件,数据池依照测试需求从数据池文档中筛选出符合测试需求条件的测试数据。
S202刷新所述符合条件的测试数据并根据刷新结果采用对应的方式提供所述测试数据。
在一实施例中,如图2所示,该测试数据生成方法还包括:
S203根据所述数据池文档中的数据补充信息和数据特征判断待测试数据的状态,所述状态包括:可用和占用。
在一实施例中,S103中刷新所述数据池文档,具体包括:
刷新所述数据池文档中的数据补充信息、所述数据池文档中的数据特征和所述数据池文档中的数据状态。
在一具体实施例中,对数据池文档登记的映射信息进行刷新,支持对单笔记录刷新,以及定时对全量记录进行刷新,包括更新映射信息中的“数据补充信息”、“数据 特征”和“数据状态”,具体流程如下所示:
读取data_pool(数据池文档)的一笔记录,获取app、env、dataType和version。
“更新数据补充信息”步骤:
根据data_pool的app、env、dataType查询addition_info_config(数据补充信息配置文档),以priority排序,筛选出相应数据类型的记录。
逐笔处理addition_info_config符合条件记录,步骤如下:
获取addition_info_config的env、infoKey、infoSql(含app、dbName、sql)和notNull。
根据上一步env、infoSql(含app、dbName、sql),查询app_env_db,获取dbUrl、dbUser、dbName、dbPassword。
通过上一步dbUrl、dbUser、dbName、dbPassword连接测试环境数据库,运行sql,并以Map形式返回运行结果。
如果sql查询结果为空,进入A步骤,否则进入B步骤。
A如果notNull为true,更新数据库data_pool对应记录,status为异常,lstRefreshTime为当前时间,刷新完毕。
B infoKey和sql运行结果(Map)以键值对形式保存,添加至additionInfo。
“更新数据特征”步骤:
根据app、env、dataType查询data_feature,以featureType、featureName分组,以featureDict排序,获取符合记录。
分别处理每一组data_feature记录,步骤如下:
逐笔处理data_feature当前分组内记录,获取第一条/下一条记录的env、featureType、featureName、featureDict和chkSql。
根据上一步env、chkSql(含app、dbName、sql),查询app_env_db,获取dbUrl、dbUser、dbName、dbPassword。
通过上一步dbUrl、dbUser、dbName、dbPassword连接测试环境数据库,运行sql。
判断上一步sql运行结果,如果为true,表示特征定位,以键值对形式(如:featureType:{featureName:featureDict})保存,并添加至features。进而重新处理下一特征分组。否则继续处理分组内下一条记录,如果分组内所有记录的sql运行结果都 为false,更新数据库data_pool对应记录,status为异常,remark登记异常原因为某 特征(featureName)无法定位,lstRefreshTime更新为当前时间。
“更新数据状态”步骤:
根据data_pool的lstTime最近占用时间+holdTime占用时长,判断如果小于等 于当前时间,data_pool对应记录status更新为可用。
在一实施例中,S201中从所述数据池文档中筛选符合条件的测试数据,具体包括:
当所述数据状态为可用时,根据所述数据参数预查询所述数据池文档,筛选符合条件的测试数据。
在一具体实施例中,根据app应用、env环境、dataType数据类别、features数据 特征,status为可用,预查询data_pool(数据池文档),筛选符合条件的所有记录。
在一实施例中,S202中对所述符合条件的测试数据进行刷新,如图3所示,包 括:
S301对所述符合条件的测试数据,从第一笔测试数据开始,针对单笔刷新该测 试数据的所述数据特征和所述数据状态。
S302判断刷新后的该测试数据与刷新前是否一致,得到刷新结果。
在一具体实施例中,对符合条件的记录,从第一笔记录开始,针对单笔刷新一次特征和状态,如果仍符合记录,则选定该笔数据。若刷新后不符合则从下一条开始重 复刷新和判断的操作。
在一实施例中,S202中根据刷新结果采用对应的方式提供所述测试数据,如图4所示,包括:
S401将刷新结果为是的所有测试数据选定,提供选定的测试数据,并将所述数 据状态更新为占用。
在一具体实施例中,更新被选定的测试数据,更新最近占用人、最近占用时间、 占用时长,数据状态更新为占用,然后组成返回信息提供给测试人员,返回信息包括 数据基础信息、数据补充信息和数据特征等信息。
S402如果所有测试数据的刷新结果为否,进行数据构造。
在一具体实施例中,如果预查询得到的所有记录刷新后都不符合条件,则调用数据构造服务,数据构造服务包含数据构造脚本,和数据生成服务:
1)不同应用单个“数据构造脚本”作为独立的构件,调用对应应用在测试环境 提供的服务实现数据的构造。多个“数据构造脚本”组合成程序包方式。
2)“数据生成服务”依赖于“数据构造脚本”组合成程序包,它根据数据特征, 按需调用一个或多个“数据构造脚本”,完成某一类型数据的构造,同时把映射信息 登记入数据池。
基于同一发明构思,本申请实施例还提供了一种测试数据生成装置,可以用于实现上述实施例中所描述的方法,如下面实施例所述。由于该测试数据生成装置解决问 题的原理与测试数据生成方法相似,因此测试数据生成装置的实施可以参见测试数据 生成方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可 以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软 件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
如图5所示,为本申请中对应于上述方法的测试数据生成装置,
提取单元501,用于从待测试数据中提取数据参数,所述数据参数包括:数据特征、应用名、所属环境和数据类别。
基础信息生成单元502,用于根据所述数据特征与数据构造脚本之间的逻辑关联调用与所述数据特征对应的数据构造脚本,生成数据基础信息。
记录刷新单元503,用于将所述数据参数和所述数据基础信息记录在数据池文档中并刷新所述数据池文档,以提供测试数据;其中,所述测试数据为根据测试需求筛 选并刷新后的数据。
在一实施例中,如图6所示,该测试数据生成装置还包括:
筛选单元601,用于根据测试需求从所述数据池文档中筛选符合条件的测试数据。
数据提供单元602,用于刷新所述符合条件的测试数据并根据刷新结果采用对应的方式提供所述测试数据。
在一实施例中,该测试数据生成装置还包括:
状态判断单元603,用于根据所述数据池文档中的数据补充信息和数据特征判断待测试数据的状态,所述状态包括:可用和占用。
在一实施例中,记录刷新单元503,包括:
状态刷新模块5031,用于刷新所述数据池文档中的数据补充信息、所述数据池 文档中的数据特征和所述数据池文档中的数据状态。
在一实施例中,筛选单元601,具体包括:
预查询模块6011,当所述数据状态为可用时,用于根据所述数据参数预查询所 述数据池文档,筛选符合条件的测试数据。
在一实施例中,如图7所示,数据提供单元602,包括:
测试数据刷新模块701,用于对所述符合条件的测试数据,从第一笔测试数据开始,针对单笔刷新该测试数据的所述数据特征和所述数据状态。
判断模块702,用于判断刷新后的该测试数据与刷新前是否一致,得到刷新结果。
在一实施例中,如图8所示,数据提供单元602,包括:
选定数据模块801,用于将刷新结果为是的所有测试数据选定,提供选定的测试数据,并将所述数据状态更新为占用。
数据构造模块802,如果所有测试数据的刷新结果为否,用于进行数据构造。
本申请中的数据构造脚本目前以程序包方式提供,数据构造工程需要依赖数据构造脚本程序包,也可以将数据构造脚本服务化,数据构造服务通过服务调用的方式来 调用数据构造脚本。本申请通过提供数据构造脚本,配套数据占用机制和刷新功能, 提升数据构造效率,确保测试人员和自动化测试脚本随时能够获取所需的有效数据, 同时避免了数据共用造成的互相干扰。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种电子设备的具体实施方式,参见图9,所述电子设备具体包括如下内容:
处理器(processor)901、内存902、通信接口(Communications Interface)903、总线 904和非易失性存储器905;
其中,所述处理器901、内存902、通信接口903通过所述总线904完成相互间 的通信;
所述处理器901用于调用所述内存902和非易失性存储器905中的计算机程序, 所述处理器执行所述计算机程序时实现上述实施例中的方法中的全部步骤,例如,所 述处理器执行所述计算机程序时实现下述步骤:
S101从待测试数据中提取数据参数,所述数据参数包括:数据特征、应用名、 所属环境和数据类别。
S102根据所述数据特征与数据构造脚本之间的逻辑关联调用与所述数据特征对应的数据构造脚本,生成数据基础信息。
S103将所述数据参数和所述数据基础信息记录在数据池文档中并刷新所述数据池文档,以提供测试数据;其中,所述测试数据为根据测试需求筛选并刷新后的数据。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理 器执行时实现上述实施例中的方法的全部步骤,例如,所述处理器执行所述计算机程 序时实现下述步骤:
S101从待测试数据中提取数据参数,所述数据参数包括:数据特征、应用名、 所属环境和数据类别。
S102根据所述数据特征与数据构造脚本之间的逻辑关联调用与所述数据特征对应的数据构造脚本,生成数据基础信息。
S103将所述数据参数和所述数据基础信息记录在数据池文档中并刷新所述数据池文档,以提供测试数据;其中,所述测试数据为根据测试需求筛选并刷新后的数据。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于 硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相 关之处参见方法实施例的部分说明即可。虽然本说明书实施例提供了如实施例或流程 图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操 作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯 一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的 方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式 数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包 含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且 还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所 固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产 品或者设备中还存在另外的相同或等同要素。为了描述的方便,描述以上装置时以功 能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同 一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子 单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划 分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或 组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点, 所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或 单元的间接耦合或通信连接,可以是电性,机械或其它的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述 的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、 以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到 通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生 一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于 实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能 的装置。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬 件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算 机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学 存储器等)上实施的计算机程序产品的形式。本说明书中的各个实施例均采用递进的 方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都 是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实 施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书 的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一 些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包 含于本说明书实施例的至少一个实施例或示例中。
在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施 例或示例以及不同实施例或示例的特征进行结合和组合。以上所述仅为本说明书实施 例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明 书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何 修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
Claims (16)
1.一种测试数据生成方法,其特征在于,包括:
从待测试数据中提取数据参数,所述数据参数包括:数据特征、应用名、所属环境和数据类别;
根据所述数据特征与数据构造脚本之间的逻辑关联调用与所述数据特征对应的数据构造脚本,生成数据基础信息;
将所述数据参数和所述数据基础信息记录在数据池文档中并刷新所述数据池文档,以提供测试数据;其中,所述测试数据为根据测试需求筛选并刷新后的数据。
2.根据权利要求1所述的测试数据生成方法,其特征在于,还包括:
根据测试需求从所述数据池文档中筛选符合条件的测试数据;
刷新所述符合条件的测试数据并根据刷新结果采用对应的方式提供所述测试数据。
3.根据权利要求2所述的测试数据生成方法,其特征在于,还包括:
根据所述数据池文档中的数据补充信息和数据特征判断待测试数据的状态,所述状态包括:可用和占用。
4.根据权利要求1所述的测试数据生成方法,其特征在于,所述刷新所述数据池文档,具体包括:
刷新所述数据池文档中的数据补充信息、所述数据池文档中的数据特征和所述数据池文档中的数据状态。
5.根据权利要求2所述的测试数据生成方法,其特征在于,所述从所述数据池文档中筛选符合条件的测试数据,具体包括:
当所述数据状态为可用时,根据所述数据参数预查询所述数据池文档,筛选符合条件的测试数据。
6.根据权利要求2所述的测试数据生成方法,其特征在于,所述刷新所述符合条件的测试数据,包括:
对所述符合条件的测试数据,从第一笔测试数据开始,针对单笔刷新该测试数据的所述数据特征和所述数据状态;
判断刷新后的该测试数据与刷新前是否一致,得到刷新结果。
7.根据权利要求2所述的测试数据生成方法,其特征在于,所述根据刷新结果采用对应的方式提供所述测试数据,包括:
将刷新结果为是的所有测试数据选定,提供选定的测试数据,并将所述数据状态更新为占用;
如果所有测试数据的刷新结果为否,进行数据构造。
8.一种测试数据生成装置,其特征在于,包括:
提取单元,用于从待测试数据中提取数据参数,所述数据参数包括:数据特征、应用名、所属环境和数据类别;
基础信息生成单元,用于根据所述数据特征与数据构造脚本之间的逻辑关联调用与所述数据特征对应的数据构造脚本,生成数据基础信息;
记录刷新单元,用于将所述数据参数和所述数据基础信息记录在数据池文档中并刷新所述数据池文档,以提供测试数据;其中,所述测试数据为根据测试需求筛选并刷新后的数据。
9.根据权利要求8所述的测试数据生成装置,其特征在于,还包括:
筛选单元,用于根据测试需求从所述数据池文档中筛选符合条件的测试数据;
数据提供单元,用于刷新所述符合条件的测试数据并根据刷新结果采用对应的方式提供所述测试数据。
10.根据权利要求9所述的测试数据生成装置,其特征在于,还包括:
状态判断单元,用于根据所述数据池文档中的数据补充信息和数据特征判断待测试数据的状态,所述状态包括:可用和占用。
11.根据权利要求8所述的测试数据生成装置,其特征在于,所述记录刷新单元,包括:
状态刷新模块,用于刷新所述数据池文档中的数据补充信息、所述数据池文档中的数据特征和所述数据池文档中的数据状态。
12.根据权利要求9所述的测试数据生成装置,其特征在于,所述筛选单元,具体包括:
预查询模块,当所述数据状态为可用时,用于根据所述数据参数预查询所述数据池文档,筛选符合条件的测试数据。
13.根据权利要求9所述的测试数据生成装置,其特征在于,所述数据提供单元,包括:
测试数据刷新模块,用于对所述符合条件的测试数据,从第一笔测试数据开始,针对单笔刷新该测试数据的所述数据特征和所述数据状态;
判断模块,用于判断刷新后的该测试数据与刷新前是否一致,得到刷新结果。
14.根据权利要求9所述的测试数据生成装置,其特征在于,所述数据提供单元,包括:
选定数据模块,用于将刷新结果为是的所有测试数据选定,提供选定的测试数据,并将所述数据状态更新为占用;
数据构造模块,如果所有测试数据的刷新结果为否,用于进行数据构造。
15.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7中任一项所述测试数据生成方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述测试数据生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910710788.8A CN110399309B (zh) | 2019-08-02 | 2019-08-02 | 一种测试数据生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910710788.8A CN110399309B (zh) | 2019-08-02 | 2019-08-02 | 一种测试数据生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110399309A true CN110399309A (zh) | 2019-11-01 |
CN110399309B CN110399309B (zh) | 2023-11-03 |
Family
ID=68327362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910710788.8A Active CN110399309B (zh) | 2019-08-02 | 2019-08-02 | 一种测试数据生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110399309B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100086A (zh) * | 2020-11-17 | 2020-12-18 | 深圳市房多多网络科技有限公司 | 软件自动化测试方法、装置、设备和计算机可读存储介质 |
CN112559320A (zh) * | 2020-11-17 | 2021-03-26 | 贝壳技术有限公司 | 测试数据构造方法及装置 |
CN112948275A (zh) * | 2021-04-27 | 2021-06-11 | 平安普惠企业管理有限公司 | 测试数据生成方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832230A (zh) * | 2017-12-04 | 2018-03-23 | 中国工商银行股份有限公司 | 基于数据调优的测试方法、设备以及系统 |
US20180217921A1 (en) * | 2017-02-02 | 2018-08-02 | Cognizant Technology Solutions India Pvt. Ltd. | System and method for generating and executing automated test cases |
-
2019
- 2019-08-02 CN CN201910710788.8A patent/CN110399309B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180217921A1 (en) * | 2017-02-02 | 2018-08-02 | Cognizant Technology Solutions India Pvt. Ltd. | System and method for generating and executing automated test cases |
CN107832230A (zh) * | 2017-12-04 | 2018-03-23 | 中国工商银行股份有限公司 | 基于数据调优的测试方法、设备以及系统 |
Non-Patent Citations (1)
Title |
---|
张晋桂;: "基于RFT的软件功能自动化测试研究" * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100086A (zh) * | 2020-11-17 | 2020-12-18 | 深圳市房多多网络科技有限公司 | 软件自动化测试方法、装置、设备和计算机可读存储介质 |
CN112559320A (zh) * | 2020-11-17 | 2021-03-26 | 贝壳技术有限公司 | 测试数据构造方法及装置 |
CN112948275A (zh) * | 2021-04-27 | 2021-06-11 | 平安普惠企业管理有限公司 | 测试数据生成方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110399309B (zh) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104252481B (zh) | 主从数据库一致性的动态校验方法和装置 | |
US20180011775A1 (en) | Providing debug information on production containers using debug containers | |
Chihoub et al. | Harmony: Towards automated self-adaptive consistency in cloud storage | |
CN105760192B (zh) | 系统服务端业务模块的注册方法及装置 | |
CN108415832A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
Musa | The operational profile in software reliability engineering: an overview | |
CN108737325A (zh) | 一种多租户数据隔离方法、装置及系统 | |
CN109302522A (zh) | 测试方法、装置以及计算机系统和介质 | |
CN110399309A (zh) | 一种测试数据生成方法及装置 | |
CN107908543A (zh) | 应用程序测试方法、装置、计算机设备及存储介质 | |
CN107832207A (zh) | 接口性能测试方法、装置、存储介质和计算机设备 | |
CN111367989B (zh) | 一种实时数据指标计算系统和方法 | |
CN110083533A (zh) | 基于Mock服务的数据处理方法及装置 | |
CN102760096A (zh) | 测试用数据的生成方法、单元测试方法以及单元测试系统 | |
CN109815141A (zh) | 一种测试方法和装置 | |
CN111309624B (zh) | 测试方法、装置、设备及存储介质 | |
CN109977012A (zh) | 系统的联调测试方法、装置、设备及计算机可读存储介质 | |
US20150317336A1 (en) | Data reconstruction | |
CN110402435A (zh) | 具有松散耦合节点的多主数据库中的单调交易 | |
US20210133195A1 (en) | Dynamic access paths | |
CN113220597B (zh) | 测试方法、测试装置、电子设备及存储介质 | |
CN110515750A (zh) | 一种应用拓扑生成方法、系统及集群 | |
EP2831741A1 (en) | Constructing test-centric model of application | |
CN109902010A (zh) | 一种kvm架构下api测试的方法及系统 | |
US11386108B2 (en) | Mining data transformation flows in spreadsheets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |