CN112073709A - 测试数据的生成方法、装置及电子设备 - Google Patents
测试数据的生成方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112073709A CN112073709A CN202010735982.4A CN202010735982A CN112073709A CN 112073709 A CN112073709 A CN 112073709A CN 202010735982 A CN202010735982 A CN 202010735982A CN 112073709 A CN112073709 A CN 112073709A
- Authority
- CN
- China
- Prior art keywords
- data
- test
- parameter
- service
- parameters
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Alarm Systems (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
本发明提供了一种测试数据的生成方法、装置及电子设备,首先根据待系统的业务需求及预设的数据元素,确定初始数据集;然后根据待测系统的测试目标,从基本参数子集提取基本参数和基本参数的参数值,从测试参数子集中提取测试参数和测试参数的参数值,得到待测系统的数据记录集;最后基于数据记录集以及待测系统的测试时间需求,生成待测系统的第一测试数据。该方式基于待测试系统的业务需求、预设的数据元素、测试目标以及测试时间需求,生成待测系统的第一测试数据,无需通过真实的监控系统产生测试数据,大大降低了生成测试数据的时间成本。
Description
技术领域
本发明涉及系统仿真技术领域,尤其是涉及一种测试数据的生成方法、装置及电子设备。
背景技术
监控系统在上线之前,需要进行测试。相关技术中,监控系统的测试大多通过构造模拟视频流的方式实现,具体而言,将多路模拟视频流输入至待测试的监控系统中,基于该多路模拟视频流,使监控系统运行一段时间,依此产生数据量符合测试需求的测试数据。然而,这种产生测试数据的方式耗时较长,例如,如果需要3天的测试数据,则系统的运行时间就是3天,时间成本高。
发明内容
本发明的目的在于提供一种测试数据的生成方法、装置及电子设备,以降低生成监控系统的测试数据的时间成本。
第一方面,本发明实施例提供了一种测试数据的生成方法,包括:根据待测系统的业务需求及预设的数据元素,确定初始数据集;初始数据集包括待测系统的基本参数子集及测试参数子集;基本参数子集包括多个基本参数,以及每个基本参数的参数值;测试参数子集包括多个测试参数,以及每个测试参数的参数值;根据待测系统的测试目标,从基本参数子集提取基本参数和基本参数的参数值,从测试参数子集中提取测试参数和测试参数的参数值,得到待测系统的数据记录集;基于数据记录集以及待测系统的测试时间需求,生成待测系统的第一测试数据。
进一步的,基本参数包括相机信息和图像信息;测试参数包括人员信息、属性信息、行为信息中的多种。
进一步的,业务需求包括待测系统的基本参数类型、第一参数数量,以及待测系统的测试参数类型、第二参数数量;数据元素包括多种类型的数据;根据待测系统的业务需求及预设的数据元素,确定初始数据集的步骤,包括:基于基本参数类型对应的参数格式及预设的数据元素,生成基本参数子集;基本参数子集包括第一设定数量的基本参数,第一设定数量与第一参数数量相匹配;基于测试参数类型对应的参数格式及预设的数据元素,生成测试参数子集;测试参数子集包括第二参数数量的测试参数,第二设定数量与第二参数数量相匹配;将基本参数子集和测试参数子集确定为初始数据集。
进一步的,测试目标包括:业务数据量;根据待测系统的测试目标,从基本参数子集提取基本参数,从测试参数子集中提取测试参数,得到待测系统的数据记录集的步骤,包括:针对数据记录集中的每条数据记录,从数据记录集提取第三设定数量的基本参数,从测试参数子集中提取第四设定数量的测试参数,组合成该数据记录;其中,数据记录集中的数据记录的数据量,与业务数据量相匹配。
进一步的,测试时间需求包括数据分布密度、测试数据量和测试时长;基于数据记录集以及待测系统的测试时间需求,生成待测系统的第一测试数据的步骤,包括:根据数据分布密度和测试数据量,确定用于读取数据记录的数据读取速度;按照数据读取速度逐一读取数据记录集中的数据记录;针对每个读取出来的数据记录,确定该数据记录的读取时间;基于读取时间及测试时长,为该数据记录添加时间信息;将添加有时间信息的数据记录,确定为待测系统的第一测试数据。
进一步的,待测系统包括多个业务;每个业务具有该业务的目标参数及业务子数据量;目标参数至少包括目标基本参数、目标测试参数和目标时间信息中的一种;将添加有时间信息的数据记录,确定为待测系统的第一测试数据的步骤之后,方法还包括:逐一判断第一测试数据是否包含目标业务的目标参数;如果包含,将第一测试数据确定为目标业务对应的第二测试数据,直至第二测试数据的数据量与业务子数据量相匹配。
进一步的,方法还包括:如果无法获取数据量与业务子数据量相匹配的第二测试数据,根据当前的第二测试数据的数据量、目标参数以及预设的数据元素,更新第一测试数据;逐一判断更新后的第一测试数据是否包含目标业务的目标参数;如果包含,将第一测试数据确定为第二测试数据,直至第二测试数据的数据量与业务子数据量相匹配。
进一步的,方法还包括:如果接收到数据重置指令,基于数据重置指令确定待重置的目标业务;如果目标业务与除目标业务以外的业务相独立,删除目标业务对应的第二测试数据;如果目标业务为依赖业务,删除依赖目标业务的业务对应的第二测试数据,删除目标业务对应的第二测试数据;其中,依赖业务为:存在除目标业务以外的业务,该业务的实现需要依赖目标业务。
进一步的,删除目标业务对应的第二测试数据的步骤,包括:判断目标业务对应的第二测试数据的数据量是否大于预设的数据删除量;如果大于,删除第二测试数据中预设数量的测试数据;其中,预设数量与数据删除量相匹配;继续执行判断目标业务对应的第二测试数据的数据量是否大于预设的数据删除量的步骤,直至第二测试数据的数据量小于或等于数据删除量,删除当前的第二测试数据。
第二方面,本发明实施例提供了一种测试数据的生成装置,包括:初始数据集确定模块,用于根据待测系统的业务需求及预设的数据元素,确定初始数据集;初始数据集包括待测系统的基本参数子集及测试参数子集;基本参数子集包括多个基本参数,以及每个基本参数的参数值;测试参数子集包括多个测试参数,以及每个测试参数的参数值;数据记录集确定模块,用于根据待测系统的测试目标,从基本参数子集提取基本参数和基本参数的参数值,从测试参数子集中提取测试参数和测试参数的参数值,得到待测系统的数据记录集;第一测试数据生成模块,用于基于数据记录集以及待测系统的测试时间需求,生成待测系统的第一测试数据。
第三方面,本发明实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述方法。
第四方面,本发明实施例还提供一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述方法。
本发明实施例提供了一种测试数据的生成方法、装置及电子设备,首先根据待系统的业务需求及预设的数据元素,确定初始数据集;然后根据待测系统的测试目标,从基本参数子集提取基本参数和基本参数的参数值,从测试参数子集中提取测试参数和测试参数的参数值,得到待测系统的数据记录集;最后基于数据记录集以及待测系统的测试时间需求,生成待测系统的第一测试数据。该方式基于待测试系统的业务需求、预设的数据元素、测试目标以及测试时间需求,生成待测系统的第一测试数据,无需通过真实的监控系统产生测试数据,大大降低了生成测试数据的时间成本。
本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种测试数据的生成方法的流程图;
图2为本发明实施例提供的另一种测试数据的生成方法的流程图;
图3为本发明实施例提供的另一种测试数据的生成方法的流程图;
图4为本发明实施例提供的一种测试数据仿真系统的结构示意图;
图5为本发明实施例提供的一种测试数据的生成装置的结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
监控系统主要用于实现入侵报警、视频监控、出入口控制、防爆安全检查等功能。监控系统可以由摄像机及数据处理设备等组成。随着人工智能技术在安防领域的深入应用,监控系统所产生的数据量以几何倍数增长,多种报警数据、抓拍数据不仅量级巨大,而且关系耦合;不仅给实际线上的监控系统带来压力,也对监控系统上线前的测试阶段带来巨大的挑战。
相关技术中,监控系统的测试大多通过构造模拟视频流(也称为模拟流)的方式实现,具体而言,将多路模拟视频流输入至待测试的监控系统中,基于该多路模拟视频流,使监控系统运行一段时间,依此产生数据量符合测试需求的测试数据。然而,这种产生测试数据的方式存在以下问题:
(1)构造数据耗时较长:基于现在的监控系统的构造数据能力,要构造千万数量级的报警数据,待测试的监控系统需24小时不间断运行3-4天。如果需要监控系统3天的测试数据,则系统的运行时间就是3天;由于受限于测试环境显卡资源,无法通过不断堆叠模拟流来缩短时间,构造线上仿真环境的时间成本较高。
(2)构造数据过于稀疏,无法模拟线上真实环境数据分布:由于使用的是有限路数的模拟视频流,可能视频流的数量远小于系统在上线后实际处理的视频流数量,因而这种方式产生的测试数据过于稀疏。该方式也会造成产生的测试数据在某个时间段过于密集,某个时间段出现缺失,数据分布与系统在实际运行过程中产生的运行数据差异较大,导致数据分布严重失真,给测试系统带来较大的不确定性;不利于工作人员在测试过程中发现系统的问题,降低了系统的可靠性,不利于系统正式上线。
(3)重置测试环境的成本较大,无法局部更新或重置数据:基于模拟流产生的测试数据为统一整体,无法根据数据流向局部更新数据节点,并且由于数据量巨大,常规一次性删除操作容易造成系统假死,无法使用。
基于上述技术问题,本发明实施例提供了一种测试数据的生成方法、装置及电子设备,该技术可以应用于各种系统的测试数据生成过程中,如监控系统、门禁系统等。
实施例一:
首先,对本发明实施例提供的一种测试数据的生成方法进行介绍,如图1所示,该方法包括如下步骤:
步骤S100,根据待测系统的业务需求及预设的数据元素,确定初始数据集;初始数据集包括待测系统的基本参数子集及测试参数子集;基本参数子集包括多个基本参数,以及每个基本参数的参数值;测试参数子集包括多个测试参数,以及每个测试参数的参数值;
上述待测系统可以是待测试的监控系统;上述业务需求可以对应于监控系统待测试的业务功能,如基于采集到的图像或视频进行黑名单人员报警,或者异常行为(例如抽烟)、特定场景(例如杂物堆放)报警等功能。业务需求通常设定了监控系统的业务功能的业务数据量,如报警信息量。不同的业务功能,其产生的业务数据包含对应的业务信息;该业务信息在测试过程中可以作为监控系统的测试参数;如监控系统的报警业务数据包含的业务信息,通常包括基于摄像头获取到的图片数据,以及对图片数据进行人脸识别得到的人员身份信息(也称为人员ID),还可以包括获取图片的摄像头的设备信息,如设备型号、设备编码等。
上述预设的数据元素,可为26个英文字母(包含大小写)以及10个阿拉伯数字等这些虚拟的数字,也可为真实环境的图片地址,相机的URL地址。通过这些数据元素,可在访客,员工,重点关注人员信息表,以及相机表中模拟数据。姓名、性别、照片等基础信息,均可从数据元素中随机获取。其大小和数据丰富程度,可依赖数据元素的大小和丰富程度,其数据可为真实,也可为虚拟。同理,相机信息表,相机名,相机URL(统一资源定位系统)均可从数据元素中随机获取。通过此种方式,可构造出初始数据集。
上述预设的数据元素通常包括基础的字符,如多个英文字母A-Z、阿拉伯数字1-10以及数学符号等虚拟元素;还包括摄像机的信息(也称为相机ID);通过该摄像机获取到的图片信息(可以通过链接的形式表示),以及通过该图片检测到的人员身份信息(可以包括姓名、性别、年龄等)或随机的虚假人员身份信息;还包括一些人员的行为信息,以及场景信息;还包括现有一些应用中已存储的数据,以及根据字母数字随机组合出来的假数据。通过这些数据元素,可在访客,员工,重点关注人员信息表,以及相机表中模拟数据,姓名、性别、照片等基础信息,均可从数据元素中随机获取;其初始数据集的大小和数据丰富程度,可依赖数据元素的大小和丰富程度,其数据可为真实,也可为虚拟。同理,相机信息表,相机名,相机URL(统一资源定位系统)均可从数据元素中随机获取。通过此种方式,可构造出初始数据集。
具体而言,可以基于业务需求对应的业务功能,确定预设的数据元素中各个元素对应的业务信息,将与业务需求相关的数据元素提取出来,确定为初始数据集;比如,当上述业务需求与监控系统的报警功能相关时,可以将数据元素中的相机信息,图片信息,人员信息,还可以包括人员的动作行为信息,属性信息,场景信息等,将上述信息确定为初始数据集。
因此,上述初始数据集通常包含:相机信息初始数据集和图像信息数据集,还包括以下至少一种类型的数据集:人员信息初始数据集;属性信息初始数据集;行为信息初始数据集;场景信息初始数据集。其中,属性信息包括人员的服装、配饰等信息,比如,未带安全帽,未穿工服等;行为信息包括人员的动作行为,比如,抽烟等;场景信息包括当前场景内目标对象的行为,比如,车辆违停,出店经营,杂物堆放等。
上述初始数据集包括待测系统的基本参数子集及测试参数子集;基本参数子集包括多个基本参数,以及每个基本参数的参数值;比如,基本参数子集包括:相机ID子集,图像ID子集(为基本参数);相机ID子集包括{001 022 012}3个相机ID,图像ID子集包括{0001、0002、0003}3个图像ID(为每个基本参数的参数值);测试参数子集包括多个测试参数,以及每个测试参数的参数值;比如,测试参数子集包括:人员ID子集,属性ID子集(为基本参数);人员ID子集包括{00a 00b 00c}3个人员ID,属性ID子集包括{000a1、000a2、000a3}3个属性ID(为每个基本参数的参数值)。
步骤S102,根据待测系统的测试目标,从基本参数子集提取基本参数和基本参数的参数值,从测试参数子集中提取测试参数和测试参数的参数值,得到待测系统的数据记录集;
上述测试目标包括:测试人员身份,比如访客、员工、重点关注人员等按身份;还包括测试场景行为,比如,车辆违停,出店经营,杂物堆放等特定行为及场景。
具体而言,当待测系统的测试目标为测试人员身份,即人员报警测试,可以组合初始数据集中的数据,从基本参数子集中提取相机信息的基本参数相机以及基本参数的参数值、图像信息的基本参数以及基本参数的参数值,从测试参数子集中提取人员信息的测试参数和测试参数的参数值,还可以从测试参数子集中提取属性信息初的测试参数和测试参数的参数值、行为信息测试参数和测试参数的参数值;得到人员报警数据记录集,只要安放系统识别出有人员,则产生一次报警,这里并不限制人员人份、人员属性以及人员行为,不仅仅是只有异常人员才会报警。
当待测系统的测试目标为测试场景行为,即场景报警测试,可以组合初始数据集中的数据,从基本参数子集中提取相机信息的基本参数和基本参数的参数值、图像信息的基本参数和基本参数的参数值,从测试参数子集中提取场景信息的测试参数和测试参数的参数值;得到场景报警数据记录集,监控系统如果检测出异常场景,会产生一次报警。
步骤S104,基于数据记录集以及待测系统的测试时间需求,生成待测系统的第一测试数据。
其中,待测系统的测试时间需求通常包括测试时长。例如,测试时间需求为:测试时长为2020年1月1日0时至24时。具体而言,可以根据测试时间需求的测试时长,确定数据记录集中各个数据记录的测试时间。从数据记录集读取每条数据记录,并按照读取时间为数据记录添加测试时间,将添加了测试时间的数据记录确定为第一测试数据。另外,还可以根据测试数据的分布密度、测试数据量及当前的数据读取速度,读取数据记录集,确定数据记录的读取时间;再基于测试时长及读取数据记录所用的时长,将数据记录的读取时间转换为测试时间,最后将添加了测试时间的数据记录确定为第一测试数据。上述数据读取速度与执行上述方法的设备的硬件条件及软件设置(如线程数等)相关。
本发明实施例提供了一种测试数据的生成方法,首先根据待系统的业务需求及预设的数据元素,确定初始数据集;然后根据待测系统的测试目标,从基本参数子集提取基本参数和基本参数的参数值,从测试参数子集中提取测试参数和测试参数的参数值,得到待测系统的数据记录集;最后基于数据记录集以及待测系统的测试时间需求,生成待测系统的第一测试数据。该方式基于待测试系统的业务需求、预设的数据元素、测试目标以及测试时间需求,生成待测系统的第一测试数据,无需通过真实的监控系统产生测试数据,大大降低了生成测试数据的时间成本。
实施例二:
本发明实施例还提供了另一种测试数据的生成方法,该方法在上述实施例方法的基础上实现;该方法重点描述当业务需求包括待测试系统的基本参数类型、第一参数数量,以及待测系统的测试参数类型、第二参数数量;以及数据元素包括多种类型的数据时,根据待测系统的业务需求及预设的数据元素,确定初始数据集的具体实现过程(通过下述步骤S200-S204实现),以及当测试目标包括业务数据量时,根据待测系统的测试目标,从基本参数子集提取基本参数,从测试参数子集中提取测试参数,得到待测系统的数据记录集的具体实现过程(通过下述步骤S206实现)如图2所示,该方法包括以下步骤:
步骤S200,基于基本参数类型对应的参数格式及预设的数据元素,生成基本参数子集;基本参数子集包括第一设定数量的基本参数,第一设定数量与第一参数数量相匹配;
如果数据元素仅包括技术的字符,如多个英文字母、阿拉伯数字以及数学符号时,可以根据业务需求包括的待测系统的基本参数类型,以及每种基本参数都有其对应的参数格式,生成基本参数子集,比如,相机基本参数对应的参数格式可以为8位字符,其中包括5个英文字母前两个字母为XJ后三个字母可以随机匹配(大小写均可)、连接符“-”及2个阿拉伯数字,如:XJlkf-13;即可以随机选取3个英文字母及2个阿拉伯数字生成一个字符串,该字符串可以表示相机信息的基本参数子集。
上述数据元素的数据也可以为业务需求对应的业务信息类型的数据,如多个真实的检测数据和对应的检测结果;具体可以为通过摄像头获取到的图片(可以通过链接的形式表示),以及通过该图片检测到的人员身份信息(可以包括姓名、性别等),在该情况下,可以把数据元素中的每条业务信息对应的测试参数,按照对应的参数格式的形式直接作为基本参数子集中的数据。上述业务信息还可以包括多个检测数据和多个检测结果,其对应关系没有具体限定。在生成上述基本参数子集时,可以为检测结果分配对应的检测数据,将确定了对应关系的检测结果和检测数据作为上述基本参数子集。
另外,上述第一参数数量可以为监控系统的待测试业务对应的数据量;可以设置较大的业务数据量以适应后续不同的测试情景。基本参数子集包括第一设定数量的基本参数,上述第一参数数量与第一设定数量相匹配。
步骤S202,基于测试参数类型对应的参数格式及预设的数据元素,生成测试参数子集;测试参数子集包括第二参数数量的测试参数,第二设定数量与第二参数数量相匹配;
与步骤S200的具体实现过程相同,如果数据元素仅包括技术的字符,如多个英文字母、阿拉伯数字以及数学符号时,可以根据业务需求包括的待测系统的测试参数类型,以及每种测试参数都有其对应的参数格式,生成测试参数子集,比如,人员信息测试参数对应的参数格式可以为9位字符,其中包括5个英文字母前两个字母为后三个字母可以随机匹配(大小写均可)、连接符“-”及3个阿拉伯数字,如:IDlkf-013;即可以随机选取3个英文字母及3个阿拉伯数字生成一个字符串,该字符串可以表示人员信息的测试参数子集。
上述数据元素的数据也可以为业务需求对应的业务信息类型的数据,如多个真实的检测数据和对应的检测结果;具体可以为通过摄像头获取到的图片(可以通过链接的形式表示),以及通过该图片检测到的人员身份信息(可以包括姓名、性别等)等,在该情况下,可以把数据元素中的每条业务信息的测试参数,按照对应的参数格式的形式直接作为测试参数子集中的数据。上述业务信息还可以包括多个检测数据和多个检测结果,其对应关系没有具体限定。在生成上述测试参数子集时,可以为检测结果分配对应的检测数据,将确定了对应关系的检测结果和检测数据作为上述测试参数子集。
另外,上述第二参数数量可以为监控系统的待测试业务对应的数据量;可以设置较大的业务数据量以适应后续不同的测试情景。测试参数子集包括第二设定数量的测试参数,上述第二参数数量与第二设定数量相匹配。
步骤S204,将基本参数子集和测试参数子集确定为初始数据集;
可以将基本参数的参数值与测试参数的参数值随机进行匹配,得到初始数据集;也可以直接将基本参数子集和测试参数子集确定为初始数据集。
上述监控系统为待测试的监控系统,待测试业务的业务信息可以作为测试过程中的测试参数,例如,当对监控系统的测试为基于图片的人员报警业务测试时,测试参数为获取到的图片、拍摄图片的装置以及通过该图片识别到的人员身份信息,对应地,初始数据集可以包括:图片的地址信息、拍摄图片的摄像装置信息和从该图片中识别出的人员身份信息。
步骤S206,针对数据记录集中的每条数据记录,从基本参数子集中提取第三设定数量的基本参数,从测试参数子集中提取第四设定数量的测试参数,组合成该数据记录;其中,数据记录集中的数据记录的数据量,与业务数据量相匹配;
由于初始数据集中包括与业务需求相关的数据信息,上述数据记录集中的每条数据记录可以表示一种业务信息,如果预设了每个业务信息的格式,可以从初始数据集中提取对应的预设数量的基本参数和测试参数,按照预设格式组合成对应的业务信息,将该业务信息作为该记录集的记录数据,最终得到数据记录集。数据记录集中的数据记录的数据量,与业务数据量相匹配。
步骤S208,基于数据记录集以及待测系统的测试时间需求,生成待测系统的第一测试数据。
本发明实施例提供了一种测试数据的生成方法,首先根据待系统的基本参数类型、第一参数数量,以及测试参数类型、第二参数数量,从预设的数据元素中,确定初始数据集;再根据业务数据量,从初始数据集中确定为数据记录集;最后根据待测系统的测试时间需求及数据记录集,生成待测系统的第一测试测试数据。该方式基于待系统的业务需求、预设的数据元素、测试目标以及测试时间需求,生成待测系统的第一测试数据,无需通过真实的监控系统产生测试数据,减少了测试数据的生成时间,降低了时间成本。
实施例三:
本发明实施例还提供了另一种测试数据的生成方法,该方法在上述实施例方法的基础上实现;该方法重点描述当测试时间需求包括数据分布密度、测试数据量和测试时长时,基于数据记录集以及待测系统的测试时间需求,生成待测系统的第一测试数据的具体实现过程(通过下述步骤S304-S310实现),如图3所示,该方法包括以下步骤:
步骤S300,根据待测系统的业务需求及预设的数据元素,确定初始数据集;
步骤S302,根据待测系统的测试目标,从基本参数子集提取基本参数和基本参数的参数值,从测试参数子集中提取测试参数和测试参数的参数值,得到待测系统的数据记录集;
步骤S304,根据数据分布密度和测试数据量,确定用于读取数据记录的数据读取速度;
在实际测试过程中,数据记录的分布通常不是均匀的,因此可以利用数据分布密度进行表示,例如,数据的数量为40000,数据的分布密度遵循正态分布。具体而言,可以根据数据的分布密度、测试时长及测试数据量,确定各个测试数据的测试时间。从数据记录集业务逻辑表项中读取数据记录,并按照读取时间为数据记录添加测试时间,然后根据测试数据的分布密度、测试数据量,及测试时长,确定当前的数据读取速度,比如,数据总量为1000万,要模拟的测试时间跨度是在一年内分布,则速率speed=时间(单位毫秒)/总数量,即speed=365*24*3600*1000/10000000,然后再取整。并且该生成过程在后台静默完成,对用户无感,不影响其他操作。
同时,也可以模拟不同密度的数据分布,使得不同时间段内数据分布自己可控,不一定需要均匀分布。具体是通过时间和数据总量来控制,以获得不同的速率,譬如在输入参数中,今天数据总量是100万,明天的数据总量是200万,由于时间跨度都是一天,所以这两天的速率不一样,同样,这两天的数据密度也可以不一样。通过这样重复设置不同的时间段和数据总量,可以保证想要模拟的数据在不同时间段内分布不同,达到自己可控。
上述数据分布密度通常与监控系统所在区域的人流密度相关,如监控系统用于居民小区时,工作日中的数据分布密度通常在早7点至9点及晚17点至20点较高,具体可以根据调研及历史数据得到数据分布密度的取值或函数。通过数据分布密度和测试数量,可以得到每个单位测试时间所生成的数据数量,即上述数据记录集的数据读取速度。如果数据分布密度不是均匀的,则数据记录集的数据读取速度也是变化的。
上述数据读取速度也会受到执行该方法的设备的硬件及软件的限制,当生成数据记录集的线程数已经确定时,数据记录集的平均读取速度是确定的;可以结合平均读取速度及数据分布密度和测试数据量,确定数据记录集的数据读取速度。
步骤S306,按照数据读取速度逐一读取数据记录集中的数据记录;
步骤S308,针对每个读取出来的数据记录,确定该数据记录的读取时间;基于读取时间及测试时长,为该数据记录添加时间信息;
通常情况下,可以把读取出来的数据记录的时间确定为该数据记录的读取时间,或者将第一次读取的数据记录的时间设定为初始时间,即0时刻;也可以根据需求进行其他设定。
上述测试时长可以表示实际上监控系统生成测试数据量对应的测试数据的时间长度;该测试时长可以包括测试起始时间和测试终止时间,也可以为一个设定的时间长度。可以将基于本发明实施例提供的方法确定的数据记录集的读取时间与测试时长相对应起来,将数据记录的读取时间转换为与测试时长相匹配的测试时间,将该测试时间作为对应的数据记录的时间信息。
步骤S310,将添加有时间信息的数据记录,确定为待测系统的第一测试数据。
读取数据记录集中的数据记录,确定数据记录的读取时间;再基于测试时长及读取数据记录所用的时长,将数据记录的读取时间转换为测试时间,最后将添加了测试时间的数据记录确定为第一测试数据。通过上述方法得到的测试数据包括监控系统的业务需求对应的测试参数及测试时间,可以用于后续的监控系统的信息查询等功能测试的过程中。上述数据读取速度与执行上述方法的设备的硬件条件及软件设置(如线程数等)相关。
进一步的,上述待测系统包括多个业务;每个业务具有该业务的目标参数及业务子数据量;目标参数至少包括目标基本参数、目标测试参数和目标时间信息中的一种;其中,目标基本参数对应于生成某个相机拍摄的图片所检测的报警信息的子表;目标测试参数对应于生成某种人员身份或某种异常行为等的报警信息子表;目标时间信息对应于生成关于时间信息的统计表。
当监控系统包括多个业务;每个业务的业务需求包括该业务对应的业务数据量时,可以逐一将每个业务确定为目标业务,将添加有时间信息的数据记录,确定为待测系统的第一测试数据的步骤之后,上述方法还包括:
逐一判断第一测试数据是否包含目标业务的目标参数;如果包含,将第一测试数据确定目标业务对应的第二测试数据,直至第二测试数据的数据量与业务子数据量相匹配;
如果无法获取数据量与业务子数据量相匹配的第二测试数据,根据当前的第二测试数据的数据量、目标参数以及预设的数据元素,更新第一测试数据;
逐一判断更新后的第一测试数据是否包含目标业务的目标参数;如果包含,将第一测试数据确定为第二测试数据,直至第二测试数据的数据量与业务子数据量相匹配。
另外,如果接收到数据重置指令,基于数据重置指令确定待重置的目标业务;
如果目标业务与除目标业务以外的业务相独立,删除目标业务对应的第二测试数据;
如果目标业务为依赖业务,删除依赖目标业务的业务对应的第二测试数据,删除目标业务对应的第二测试数据;其中,依赖业务为:存在除目标业务以外的业务,该业务的实现需要依赖目标业务。
如果目标业务为依赖业务,则有依赖目标业务的业务的对应的第二测试数据与目标业务的对应的第二测试数据是相关联的;需要先删除依赖目标业务的业务对应的第二测试数据,然后再删除目标业务对应的第二测试数据。
上述删除目标业务对应的第二测试数据的步骤,包括:
(1)判断目标业务对应的第二测试数据的数据量是否大于预设的数据删除量;上述预设的数据删除量可以与目标业务对应的第二测试数据中每种目标参数的数据量相同。
(2)如果大于,删除第二测试数据中预设数量的测试数据;其中,预设数量与数据删除量相匹配;即数据删除量对应的数量的表项,当数据删除量为每页的数据数量时,即对第二测试数据进行分页删除。
(3)继续执行判断目标业务对应的第二测试数据的数据量是否大于预设的数据删除量的步骤,直至第二测试数据的数据量小于或等于数据删除量,删除当前的第二测试数据。具体而言,以数据删除量为单位,分批量删除第二测试数据,当剩余的第二测试数据的数据数量小于或等于数据删除量时,删除剩余的第二测试数据。
本发明实施例提供了一种测试数据的生成方法,在生成第一测试数据时,根据数据分布密度和测试数据量,确定用于读取数据记录集的数据读取速度,按照数据读取速度逐一读取数据记录集中的数据记录,针对每个读取出来的数据记录,确定该数据记录的读取时间,基于该读取时间及测试时长,为数据记录添加时间信息,将添加有时间信息的数据记录,确定为监控系统的第一测试数据;当接收到数据重置指令时,首先判断目标业务是否为依赖业务,如果目标业务不是依赖业务,按照设定的数据删除量分批量删除目标业务的数据记录;如果目标业务为依赖业务,则首先删除依赖目标业务的业务对应的第二测试数据,然后在删除目标业务对应的第二测试数据。该方式通过设定数据分布密度生成第一测试数据,可以模拟监控系统的实际测试环境,从而提高监控系统测试的有效性;在进行数据重置时,考虑到各个业务之间的依赖关系,实现了对局部数据的重置。
实施例四:
本发明实施例还提供了另一种测试数据的生成方法,用于解决在硬件资源受限环境下,构造海量级数据时间成本问题、监控系统的测试仿真数据分布失真不均的问题、解决仿真系统数据逻辑固化,关系耦合的问题、以及解决仿真系统局部数据节点更新不便,以及海量数据删除卡死的问题。
以测试数据为监控系统基于图片的人员报警信息为例,对该方法的实现过程进行具体说明:该方法首先基于业务逻辑抽象出相机信息、人员信息及报警信息;然后构造人员身份数据集(其中包含上述实施例中的人员身份信息,也称为人员ID),相机数据集(其中包含上述实施例中的摄像装置信息,也称为相机ID),以及图像数据集(其中包含上述实施例中的图片地址信息);然后配置数据逻辑关系,包括原始报警表数据(相当于上述实施例中的初始数据集),人员轨迹表数据(相当于一种上述实施例中的数据记录集),报警类型统计表数据(相当于一种上述实施例中的数据记录集),具体人员报警统计表数据(相当于一种上述实施例中的数据记录集),以及互相的依赖关系;最后通过数据速率模拟器,选择数据来源,配置时间维度范围,根据数据逻辑关系模拟报警数据。
上述方法通过测试数据仿真系统实现;该系统由4个模块组成,分别为数据采集模块、逻辑配置模块、速率器控制模块、数据重置模块,其结构示意图如图4所示。
首先对数据采集模块的功能进行介绍:对于数据采集模块,其主要功能是为整个仿真系统提供基础的数据来源(相当于上述实施例中的预设的数据元素)。该数据来源是为监控系统提供数据的,包含人员ID-图片的数据对,还可以包括人员的性别、相机ID等。当需要把生成的初始数据集保存到设定数据库时,首先定义与设定数据库的数据连接,即连上对应的业务库,并写入为随机数算法提供数据源的相应元数据,然后根据具体业务需要(相当于上述实施例的待测系统的业务需求),决定是否生成初始化数据集。
上述元数据,可为26个英文字母(包含大小写)以及10个阿拉伯数字等这些虚拟的数字,也可为真实环境的图片地址,相机的URL(Uniform Resource Locator,统一资源定位符)地址。通过这些元数据,可模拟访客,员工,重点关注人员信息表。人员身份信息,如姓名、性别、照片等,均可从元数据中随机获取。信息的多少和丰富程度,可依赖元数据的大小和丰富程度,其数据可为真实存在的,也可为虚拟生成的。同理,相机信息表中的相机名,相机URL地址页可从元数据中随机获取。通过此种方式,可构造出基础的初始数据集。
具体而言,可以将26个英文字母和10个阿拉伯数字随机组成字符串作为人员ID,把真实相机拍摄的图片作为图片集,对于某个人员ID,随机从图片集中选择图片分配给该人员ID,此时可以认为基于该图片识别到该人员ID。这样生成的多个“人员ID-图片”数据对可以作为初始数据集。此外,还可以对每个人员ID分配一个人员身份,此时该人员身份可以对应于不同业务的业务需求。例如,现在需要初始数据集中包含100条报警数据,其中员工30条,访客30条,重点关注人员40条,可以把生成的100个“人员ID-图片”数据对中的人员ID分别赋予这3种身份。
对于逻辑配置模块,其主要功能是生成关联数据,处理数据之间的依赖关系。如果需要将生成的业务数据表(相当于上述实施例的第二测试数据)保存至保存到设定数据库时时,需要首先定义与设定数据库的数据连接,即连上对应的业务库。该模块依赖数据采集模块,如上述流程图所示,该流程依赖初始数据集,如果没有初始数据集,则会进入数据采集模块,如果没有初始数据集,会给出提示,要求进行初始化数据,否则无法据此生成后续关联业务数据(即上述业务数据表中的数据)。此模块的重点是理清各个数据流向之间的关系,涉及原始报警表,访客报警子表,重点关注人员报警子表,陌生人报警子表,以及对应的以小时为维度的报警统计表和以人为维度的报警统计表。
对于数据一致的主子表(相当于上述实施例汇总的依赖业务对应的第二测试数据及相关业务的业务对应的第二测试数据),例如原始报警大表(相当于业务逻辑主表项,也称为主表)和对应身份的各个报警子表(相当于对应的第二测试数据,也称为子表),需要将原始报警大表中数据根据身份类型(相当于上述实施例中的各个业务的业务需求)进行过滤,最后生成结果数据,再写入对应的各个身份类型的报警子表中。譬如仿真系统中存在一个原始报警大表,其保存的数据为根据初始数据集中的人员信息,姓名、性别、图片等以及相机表中的相机名、相机id,构造出的报警数据;报警数据的报警ID可以根据UUID((Universally Unique Identifier,通用唯一识别码)生成,每个报警ID都是唯一的。
同时,报警数中的各个身份类型报警数据,可以随机从初始数据集中的各个人员身份信息表中获取,譬如从员工、访客、重点关注人员中随机均匀取出人员信息后,再加上相机信息,构造出各个身份报警数据,从而对应员工报警子表、访客报警子表、重点关注人员报警子表中的数据。之后产生的子表数据来源均为原始报警大表中的数据:从原始报警大表中,依据报警类型(对应于上述身份类型)进行过滤后,再分别生成对应身份的结果数据集,将各个结果数据集中的数据写入各个子表中。
此外,还可以根据日期生成子表;如在获取报警原始数据后,依据日期进行分组求和,涉及到按小时,天,月三个不同时间维度,最后生成结果数据集,写各报警统计表(与日期相关的统计表)中。
速率控制器模块主要是控制数据分布以及数据构造时间,首先需要分别确认可配置的线程个数,仿真数据总量,数据分布时间段,得出数据速率(也称为造数数率)。
该模块依赖数据采集模块,如无初始数据集,则会进入数据采集模块,获取初始数据。如果已有初始数据,则会读取数据逻辑配置。由于在逻辑配置模块,只要存在了初始数据集,则一定会产生相应的业务数据(相当于上述实施例中的第一测试数据),因此在该速率控制模块会按照计算好的速率根据相应逻辑配置生成最终模拟数据(相当于上述实施例中的测试数据)。具体速率计算的值是通过输入参数来控制的,譬如在输入参数中,需要模拟的数据总量count为1000万,要模拟的时间跨度time是在一年内分布,则速率speed=时间(单位毫秒)/总数量,即speed=365*24*3600*1000/10000000,然后再取整,此时默认一个最终模拟数据的生成速度为1ms。最终模拟数据的生成过程在后台静默完成,对用户无感,不影响其他操作。
此外,上述最终模拟数据的生成过程也可以模拟不同密度的数据分布,使得不同时间段内数据分布自己可控,不一定需要均匀分布。具体是通过时间和数据总量来控制,以获得不同的速率,譬如在输入参数中,今天数据总量是100万,明天的数据总量是200万,由于时间跨度都是一天,所以这两天的速率不一样,同样,这两天的数据密度也对不一样。通过这样重复设置不同的时间段和数据总量,可以保证模拟的监控系统的测试数据在不同时间段内分布不同,达到分布可控。
数据重置模块主要用于重置全部或局部仿真数据,由于仿真数据之间存在关系耦合,而且局部仿真数据量级巨大,如果强硬删除整个数据,极易造成系统卡死导致无法正常工作,故特设计该模块用来重置系统。当数据重置模块需要读取设定数据库的数据时,需要首先定义与设定数据库的数据连接,即连上对应的业务库,然后确定待删除数据表(通常为第二测试数据)及该待删除数据表是否有依赖表(相当于子表);如果有依赖表首先删除依赖表,然后再分页删除待删除数据表;如果没有依赖表,分页删除待删除数据表。
对于待删除的仿真数据(即待删除数据表中的数据),主要有两类。第一类是和其他数据无关联的单表数据(即保存该数据的待删除数据表不存在依赖表),第二类是存在和其他数据耦合的业务数据(即保存该数据的待删除数据表存在依赖表)。
对于第一类数据,主要存在数据量过大问题,直接通过SQL脚本删除大概率会造成数据库卡死,业务不可用。因此通过采用分页删除的方式,配置一次性可删除的最大数据条数(相当于上述实施例中的数据删除量),循环进行删除。第一类数据主要包含数据量较大的日志表,和一些特殊类型的报警表,譬如陌生人报警表,因为不存在陌生人的一些客观的人员属性,所以相对比较单一。
对于第二类数据,主要是一些存在依赖关系的表,譬如访客信息表,访客报警子表,原始报警大表,这直接数据存在相互依赖的关系。还有重点关注人员信息表,重点关注人员报警子表,原始报警大表,也存在这种关联关系。对于这类数据,一般通过逻辑配置模块,查找该表逻辑对应关系,找到对应的依赖表,对依赖表进行分页删除,然后再对该表进行删除。
如果只想重置局部数据,只需选择对应的表,进入重置流程即可。此处的局部数据,是针对业务属性来区分,而不是专门指明是单个表还是多个关联表。譬如针对相机信息来说,局部数据即指相机信息单表;针对访客信息来说,局部数据是包含访客人员信息表,访客报警子表,原始报警大表中的访客报警数据这三类数据。
上述方法将目前园区监控系统构造千万量级数据时间成本减少一个数量级,由天缩减为小时;同时有效模拟了监控系统长时间的数据,并且分布相对均匀,与真实相符,并排除了其他因测试手段限制导致的人为干扰因素,给系统上线前的性能测试阶段提供了极具价值的参考意义;基于该方法产生的测试数据可以用于测试园区监控系统的报警功能是否可用,以及是否可正常返回用户需要查询的结果(例如实时报警、报警统计)。
实施例五:
对应于上述测试数据的生成方法实施例,本发明实施例提供了一种测试数据的生成装置,如图5所示,该装置包括:
初始数据集确定模块51,用于根据待测系统的业务需求及预设的数据元素,确定初始数据集;初始数据集包括待测系统的基本参数子集及测试参数子集;基本参数子集包括多个基本参数,以及每个基本参数的参数值;测试参数子集包括多个测试参数,以及每个测试参数的参数值;
数据记录集确定模块52,用于根据待测系统的测试目标,从基本参数子集提取基本参数和基本参数的参数值,从测试参数子集中提取测试参数和测试参数的参数值,得到待测系统的数据记录集;
第一测试数据生成模块53,用于基于数据记录集以及待测系统的测试时间需求,生成待测系统的第一测试数据。进一步的,基本参数包括相机信息和图像信息;测试参数包括人员信息、属性信息、行为信息中的多种。
进一步的,上述业务需求包括待测系统的基本参数类型、第一参数数量,以及待测系统的测试参数类型、第二参数数量;上述数据元素包括多种类型的数据;上述初始数据集确定模块还用于:基于基本参数类型对应的参数格式及预设的数据元素,生成基本参数子集;基本参数子集包括第一设定数量的基本参数,第一设定数量与第一参数数量相匹配;基于测试参数类型对应的参数格式及预设的数据元素,生成测试参数子集;测试参数子集包括第二参数数量的测试参数,第二设定数量与第二参数数量相匹配;将基本参数子集和测试参数子集确定为初始数据集。
进一步的,上述测试目标包括:业务数据量;上述数据记录集确定模块用于:针对数据记录集中的每条数据记录,从数据记录集提取第三设定数量的基本参数,从测试参数子集中提取第四设定数量的测试参数,组合成该数据记录;其中,数据记录集中的数据记录的数据量,与业务数据量相匹配。
进一步的,上述测试时间需求包括数据分布密度、测试数据量和测试时长;上述第一测试数据生成模块用于:根据数据分布密度和测试数据量,确定用于读取数据记录的数据读取速度;按照数据读取速度逐一读取数据记录集中的数据记录;针对每个读取出来的数据记录,确定该数据记录的读取时间;基于读取时间及测试时长,为该数据记录添加时间信息;将添加有时间信息的数据记录,确定为待测系统的第一测试数据。
进一步的,上述待测系统包括多个业务;每个业务具有该业务的目标参数及业务子数据量;目标参数至少包括目标基本参数、目标测试参数和目标时间信息中的一种;上述装置还用于:逐一判断第一测试数据是否包含目标业务的目标参数;如果包含,将第一测试数据确定为目标业务对应的第二测试数据,直至第二测试数据的数据量与业务子数据量相匹配。
进一步的,上述装置还用于:如果无法获取数据量与业务子数据量相匹配的第二测试数据,根据当前的第二测试数据的数据量、目标参数以及预设的数据元素,更新第一测试数据;逐一判断更新后的第一测试数据是否包含目标业务的目标参数;如果包含,将第一测试数据确定为第二测试数据,直至第二测试数据的数据量与业务子数据量相匹配。
进一步的,上述装置还用于:如果接收到数据重置指令,基于数据重置指令确定待重置的目标业务;如果目标业务与除目标业务以外的业务相独立,删除目标业务对应的第二测试数据;如果目标业务为依赖业务,删除依赖目标业务的业务对应的第二测试数据,删除目标业务对应的第二测试数据;其中,依赖业务为:存在除目标业务以外的业务,该业务的实现需要依赖目标业务。
进一步的,上述装置还用于:判断目标业务对应的第二测试数据的数据量是否大于预设的数据删除量;如果大于,删除第二测试数据中预设数量的测试数据;其中,预设数量与数据删除量相匹配;继续执行判断目标业务对应的第二测试数据的数据量是否大于预设的数据删除量的步骤,直至第二测试数据的数据量小于或等于数据删除量,删除当前的第二测试数据。
本发明实施例所提供的监控系统的测试数据的生成装置,其实现原理及产生的技术效果和前述测试数据的生成方法实施例相同,为简要描述,监控系统的测试数据的生成装置实施例部分未提及之处,可参考前述测试数据的生成方法实施例中相应内容。
实施例六:
本发明实施例还提供了一种电子设备,参见图6所示,该电子设备包括处理器130和存储器131,该存储器131存储有能够被处理器130执行的机器可执行指令,该处理器130执行机器可执行指令以实现测试数据的生成方法。
进一步地,图6所示的电子设备还包括总线132和通信接口133,处理器130、通信接口133和存储器131通过总线132连接。
其中,存储器131可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口133(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线132可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器130可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器130中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器130可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器131,处理器130读取存储器131中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述测试数据的生成方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的测试数据的生成方法及装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种测试数据的生成方法,其特征在于,包括:
根据待测系统的业务需求及预设的数据元素,确定初始数据集;所述初始数据集包括所述待测系统的基本参数子集及测试参数子集;所述基本参数子集包括多个基本参数,以及每个所述基本参数的参数值;所述测试参数子集包括多个测试参数,以及每个所述测试参数的参数值;
根据所述待测系统的测试目标,从所述基本参数子集提取基本参数和所述基本参数的参数值,从所述测试参数子集中提取测试参数和所述测试参数的参数值,得到所述待测系统的数据记录集;
基于所述数据记录集以及所述待测系统的测试时间需求,生成所述待测系统的第一测试数据。
2.根据权利要求1所述的方法,其特征在于,所述基本参数包括相机信息和图像信息;所述测试参数包括人员信息、属性信息、行为信息中的多种。
3.根据权利要求1所述的方法,其特征在于,所述业务需求包括所述待测系统的基本参数类型、第一参数数量,以及所述待测系统的测试参数类型、第二参数数量;所述数据元素包括多种类型的数据;
所述根据待测系统的业务需求及预设的数据元素,确定初始数据集的步骤,包括:
基于所述基本参数类型对应的参数格式及预设的数据元素,生成基本参数子集;所述基本参数子集包括第一设定数量的基本参数,所述第一设定数量与所述第一参数数量相匹配;
基于所述测试参数类型对应的参数格式及预设的数据元素,生成测试参数子集;所述测试参数子集包括第二设定数量的测试参数,所述第二设定数量与所述第二参数数量相匹配;
将所述基本参数子集和测试参数子集确定为初始数据集。
4.根据权利要求1所述的方法,其特征在于,所述测试目标包括:业务数据量;
根据所述待测系统的测试目标,从所述基本参数子集提取基本参数,从所述测试参数子集中提取测试参数,得到所述待测系统的数据记录集的步骤,包括:
针对所述数据记录集中的每条数据记录,从所述基本参数子集提取第三设定数量的基本参数,从所述测试参数子集中提取第四设定数量的测试参数,组合成该数据记录;其中,所述数据记录集中的数据记录的数据量,与所述业务数据量相匹配。
5.根据权利要求1所述的方法,其特征在于,所述测试时间需求包括数据分布密度、测试数据量和测试时长;
基于所述数据记录集以及所述待测系统的测试时间需求,生成所述待测系统的第一测试数据的步骤,包括:
根据所述数据分布密度和所述测试数据量,确定用于读取所述数据记录的数据读取速度;
按照所述数据读取速度逐一读取所述数据记录集中的数据记录;
针对每个读取出来的数据记录,确定该数据记录的读取时间;基于所述读取时间及所述测试时长,为该数据记录添加时间信息;
将添加有时间信息的数据记录,确定为所述待测系统的第一测试数据。
6.根据权利要求5所述的方法,其特征在于,所述待测系统包括多个业务;每个所述业务具有该业务的目标参数及业务子数据量;所述目标参数至少包括目标基本参数、目标测试参数和目标时间信息中的一种;
将添加有时间信息的数据记录,确定为所述待测系统的第一测试数据的步骤之后,所述方法还包括:
逐一判断所述第一测试数据是否包含目标业务的目标参数;如果包含,将所述第一测试数据确定为所述目标业务对应的第二测试数据,直至所述第二测试数据的数据量与所述业务子数据量相匹配。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
如果无法获取数据量与所述业务子数据量相匹配的第二测试数据,根据当前的第二测试数据的数据量、所述目标参数以及预设的数据元素,更新所述第一测试数据;
逐一判断更新后的所述第一测试数据是否包含所述目标业务的目标参数;如果包含,将所述第一测试数据确定为所述第二测试数据,直至所述第二测试数据的数据量与所述业务子数据量相匹配。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
如果接收到数据重置指令,基于所述数据重置指令确定待重置的目标业务;
如果所述目标业务与除所述目标业务以外的业务相独立,删除所述目标业务对应的第二测试数据;
如果所述目标业务为依赖业务,删除依赖所述目标业务的业务对应的第二测试数据,删除所述目标业务对应的第二测试数据;其中,所述依赖业务为:存在除所述目标业务以外的业务,该业务的实现需要依赖所述目标业务。
9.根据权利要求8所述的方法,其特征在于,所述删除所述目标业务对应的第二测试数据的步骤,包括:
判断所述目标业务对应的第二测试数据的数据量是否大于预设的数据删除量;
如果大于,删除所述第二测试数据中预设数量的测试数据;其中,所述预设数量与所述数据删除量相匹配;
继续执行判断所述目标业务对应的第二测试数据的数据量是否大于预设的数据删除量的步骤,直至所述第二测试数据的数据量小于或等于所述数据删除量,删除当前的第二测试数据。
10.一种测试数据的生成装置,其特征在于,包括:
初始数据集确定模块,用于根据待测系统的业务需求及预设的数据元素,确定初始数据集;所述初始数据集包括所述待测系统的基本参数子集及测试参数子集;所述基本参数子集包括多个基本参数,以及每个所述基本参数的参数值;所述测试参数子集包括多个测试参数,以及每个所述测试参数的参数值;
数据记录集确定模块,用于根据所述待测系统的测试目标,从所述基本参数子集提取基本参数和所述基本参数的参数值,从所述测试参数子集中提取测试参数和所述测试参数的参数值,得到所述待测系统的数据记录集;
第一测试数据生成模块,用于基于所述数据记录集以及所述待测系统的测试时间需求,生成所述待测系统的第一测试数据。
11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1至9任一项所述的方法。
12.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010735982.4A CN112073709B (zh) | 2020-07-27 | 2020-07-27 | 测试数据的生成方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010735982.4A CN112073709B (zh) | 2020-07-27 | 2020-07-27 | 测试数据的生成方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112073709A true CN112073709A (zh) | 2020-12-11 |
CN112073709B CN112073709B (zh) | 2023-04-14 |
Family
ID=73656311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010735982.4A Active CN112073709B (zh) | 2020-07-27 | 2020-07-27 | 测试数据的生成方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112073709B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113505069A (zh) * | 2021-07-09 | 2021-10-15 | 中国人民解放军火箭军工程大学 | 一种测试数据分析方法及系统 |
CN113645415A (zh) * | 2021-08-13 | 2021-11-12 | 京东科技信息技术有限公司 | 用于生成视频的方法、装置、电子设备和介质 |
CN114138819A (zh) * | 2021-12-08 | 2022-03-04 | 中国建设银行股份有限公司 | 一种数据处理的方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140343886A1 (en) * | 2013-05-16 | 2014-11-20 | Enica Engineering, PLLC | Automated testing and diagnostic management of building automation and controlled systems |
WO2015176431A1 (zh) * | 2014-05-23 | 2015-11-26 | 中兴通讯股份有限公司 | 一种测试数据的生成方法及装置 |
CN107102941A (zh) * | 2017-03-30 | 2017-08-29 | 腾讯科技(深圳)有限公司 | 一种测试用例的生成方法及装置 |
CN107979754A (zh) * | 2016-10-25 | 2018-05-01 | 百度在线网络技术(北京)有限公司 | 一种基于摄像头应用的测试方法和装置 |
US20180210821A1 (en) * | 2017-01-20 | 2018-07-26 | Wipro Limited | Method of generating and transforming test data and a system therefor |
CN108874611A (zh) * | 2017-05-12 | 2018-11-23 | 北京金山云网络技术有限公司 | 一种测试数据的构建方法及装置 |
CN110147318A (zh) * | 2019-04-19 | 2019-08-20 | 平安普惠企业管理有限公司 | 一种生成测试数据的方法及装置、电子设备 |
CN110334009A (zh) * | 2019-05-28 | 2019-10-15 | 中国平安人寿保险股份有限公司 | 测试用例自动生成方法、装置、终端及存储介质 |
CN110554958A (zh) * | 2019-08-01 | 2019-12-10 | 北京百度网讯科技有限公司 | 图数据库测试方法、系统、设备和存储介质 |
CN110765025A (zh) * | 2019-10-31 | 2020-02-07 | 北京东软望海科技有限公司 | 测试方法、装置、计算机设备及存储介质 |
CN111221726A (zh) * | 2019-12-25 | 2020-06-02 | 平安普惠企业管理有限公司 | 一种测试数据生成方法、装置、存储介质和智能设备 |
-
2020
- 2020-07-27 CN CN202010735982.4A patent/CN112073709B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140343886A1 (en) * | 2013-05-16 | 2014-11-20 | Enica Engineering, PLLC | Automated testing and diagnostic management of building automation and controlled systems |
WO2015176431A1 (zh) * | 2014-05-23 | 2015-11-26 | 中兴通讯股份有限公司 | 一种测试数据的生成方法及装置 |
CN107979754A (zh) * | 2016-10-25 | 2018-05-01 | 百度在线网络技术(北京)有限公司 | 一种基于摄像头应用的测试方法和装置 |
US20180210821A1 (en) * | 2017-01-20 | 2018-07-26 | Wipro Limited | Method of generating and transforming test data and a system therefor |
CN107102941A (zh) * | 2017-03-30 | 2017-08-29 | 腾讯科技(深圳)有限公司 | 一种测试用例的生成方法及装置 |
CN108874611A (zh) * | 2017-05-12 | 2018-11-23 | 北京金山云网络技术有限公司 | 一种测试数据的构建方法及装置 |
CN110147318A (zh) * | 2019-04-19 | 2019-08-20 | 平安普惠企业管理有限公司 | 一种生成测试数据的方法及装置、电子设备 |
CN110334009A (zh) * | 2019-05-28 | 2019-10-15 | 中国平安人寿保险股份有限公司 | 测试用例自动生成方法、装置、终端及存储介质 |
CN110554958A (zh) * | 2019-08-01 | 2019-12-10 | 北京百度网讯科技有限公司 | 图数据库测试方法、系统、设备和存储介质 |
CN110765025A (zh) * | 2019-10-31 | 2020-02-07 | 北京东软望海科技有限公司 | 测试方法、装置、计算机设备及存储介质 |
CN111221726A (zh) * | 2019-12-25 | 2020-06-02 | 平安普惠企业管理有限公司 | 一种测试数据生成方法、装置、存储介质和智能设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113505069A (zh) * | 2021-07-09 | 2021-10-15 | 中国人民解放军火箭军工程大学 | 一种测试数据分析方法及系统 |
CN113505069B (zh) * | 2021-07-09 | 2024-01-05 | 中国人民解放军火箭军工程大学 | 一种测试数据分析方法及系统 |
CN113645415A (zh) * | 2021-08-13 | 2021-11-12 | 京东科技信息技术有限公司 | 用于生成视频的方法、装置、电子设备和介质 |
CN114138819A (zh) * | 2021-12-08 | 2022-03-04 | 中国建设银行股份有限公司 | 一种数据处理的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112073709B (zh) | 2023-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112073709B (zh) | 测试数据的生成方法、装置及电子设备 | |
CN111368619B (zh) | 可疑人员的检测方法、装置及设备 | |
JP2022518469A (ja) | 情報処理方法および装置、記憶媒体 | |
CN109241223B (zh) | 行为行踪识别方法及系统 | |
CN110046297B (zh) | 运维违规操作的识别方法、装置和存储介质 | |
CN111860377A (zh) | 基于人工智能的直播方法、装置、电子设备及存储介质 | |
CN110633675A (zh) | 一种基于卷积神经网络的视频中火灾识别系统及方法 | |
CN110059981B (zh) | 信任度评估方法、装置及终端设备 | |
CN110674790A (zh) | 一种视频监控中异常场景处理方法及系统 | |
CN111177795A (zh) | 一种利用区块链识别视频篡改的方法、装置和计算机存储介质 | |
CN114489561A (zh) | 音频音量智能调节方法、装置、电子设备及存储介质 | |
CN114550076A (zh) | 区域异常行为监控方法、装置、设备及存储介质 | |
CN113489704A (zh) | 基于流量的敏感数据识别方法、装置、电子设备及介质 | |
CN114693192A (zh) | 风控决策方法、装置、计算机设备和存储介质 | |
CN113495886A (zh) | 用于模型训练的污染样本数据的检测方法及装置 | |
CN110909263B (zh) | 一种身份特征的伴随关系确定方法及装置 | |
CN112906671A (zh) | 面审虚假图片识别方法、装置、电子设备及存储介质 | |
CN115037790B (zh) | 异常注册识别方法、装置、设备及存储介质 | |
CN109598190A (zh) | 用于动作识别的方法、装置、计算机设备及存储介质 | |
CN115082999A (zh) | 合影图像人物分析方法、装置、计算机设备和存储介质 | |
CN113656842A (zh) | 一种数据验证方法、装置及设备 | |
CN112491839A (zh) | 基于跨系统的登录处理方法、装置、计算机设备及介质 | |
CN111385655A (zh) | 一种广告弹幕检测方法、装置、服务器及存储介质 | |
CN112559072B (zh) | 业务功能启动方法及相关设备 | |
CN112559787B (zh) | 一种基于区块链的遥测数据处理方法、系统及云平台 |
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 |