CN110674029A - 自动生成测试数据方法、装置、电子设备及存储介质 - Google Patents
自动生成测试数据方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110674029A CN110674029A CN201910792766.0A CN201910792766A CN110674029A CN 110674029 A CN110674029 A CN 110674029A CN 201910792766 A CN201910792766 A CN 201910792766A CN 110674029 A CN110674029 A CN 110674029A
- Authority
- CN
- China
- Prior art keywords
- test data
- field
- format
- generating
- preset
- 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 359
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000002159 abnormal effect Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 description 11
- 238000013522 software testing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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
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)
- Debugging And Monitoring (AREA)
Abstract
一种自动生成测试数据方法,包括:根据测试需求设置待生成的测试数据的格式;接收选择的生成测试数据的文件格式;判断所述文件格式是否为预设格式;当所述文件格式为预设格式时,根据所述预设格式配置相应的字段;确认配置的相应字段是否包括预设类型;当所述配置的相应字段包括所述预设类型时,设置所述预设类型数据的数量;及根据设置的数量生成测试数据。本发明还提供一种自动生成测试数据装置、电子设备及存储介质。通过本发明可以快速生成大量测试数据。
Description
技术领域
本发明涉及测试技术领域,具体涉及一种自动生成测试数据方法、装置、电子设备及存储介质。
背景技术
软件测试是软件研发活动中必不可少的环节,对于大型互联网电子商务平台来说,软件测试活动更是确保软件平台正确、可靠、稳定运行的强有力保障。大型电商平台业务流程长、软件架构复杂,相应的软件测试工作也会更加繁杂,而测试数据维护、管理是确保软件测试可持续发展的基础及核心工作。
目前主要测试项目如大数据同步,需要的测试数据可能有百万个,而包含所述测试数据的文件格式可能为Excel、CSV或是Txt。所述测试数据又可以包含多种数据格式,例如随机数、手机号、具体地址、金额格式的数据等等不同的数据类型。传统的测试数据生成方法为新建一个Excel表格,然后手动插入数据;或拖动表格生成大量的数据。这种方法往往需要耗费大量时间,并且当需要的测试数据的字段越多。例如,需要上百万的测试数据时,需要花费的时间更多,若还要保证数据不重复,就更加困难。
发明内容
鉴于以上内容,有必要提出一种自动生成测试数据方法、装置、电子设备及存储介质,可以一键生成大量的测试数据,节省大量准备测试数据的时间。
本发明的第一方面提供一种自动生成测试数据方法,所述方法包括:
根据测试需求设置待生成的测试数据的格式;
接收选择的生成测试数据的文件格式;
判断所述文件格式是否为预设格式;
当所述文件格式为预设格式时,根据所述预设格式配置相应的字段;
确认配置的相应字段是否包括预设类型;
当所述配置的相应字段包括所述预设类型时,设置所述预设类型数据的数量;及
根据设置的数量生成测试数据。
优选地,所述方法还包括:当所述配置的相应字段不包括所述预设类型时,根据配置的字段的数据格式生成测试数据。
优选地,所述方法还包括:当所述文件格式不是所述预设格式时,确定所述测试数据的文件格式的类型;根据确定的文件格式的类型配置相应的字段信息;根据所述字段信息生成测试数据,并将生成的测试数据通过所述确定的文件格式类型进行保存。
优选地,所述方法还包括生成加密测试数据的步骤,所述生成加密测试数据的步骤包括:设置所述测试数据的加密算法;选择待生成的测试数据中需加密的字段;在根据选择的字段生成相应的字段数据后,根据所述加密算法对所述字段数据进行加密后生成测试数据。
优选地,所述根据设置的数量生成测试数据的步骤包括:根据设置的数量同时启动多个子线程;将设置的数量的测试数据生成任务分发给所述多个子线程执行。
优选地,所述方法还包括:侦测是否有子线程发生异常事件;当侦测到有子线程发送异常事件时,将发生异常事件的子线程生成的测试数据进行删除;终止其他子线程的生成任务。
优选地,所述方法还包括:判断所述测试数据是否正确的步骤,所述判断所述测试数据是否正确包括:判断所述测试数据的字段是否存在缺失;当所述测试数据的字段不存在缺失,则按照预设的匹配规则判断所述测试数据的字段与配置的字段是否匹配;当所述测试数据的字段与配置的字段匹配时,确定所述测试数据正确;当所述测试数据的字段存在缺失,或者所述测试数据的字段不存在缺失,但所述测试数据的字段与配置的字段不匹配时,确定所述测试数据存在错误。
本发明的第二方面提供一种自动生成测试数据装置,所述装置包括:
设置模块,用于根据测试需求设置待生成的测试数据的格式;
接收模块,用于接收选择的生成测试数据的文件格式;
判断模块,用于判断所述文件格式是否为预设格式;
配置模块,用于当所述文件格式为预设格式时,根据所述预设格式配置相应的字段;
确认模块,用于确认配置的相应字段是否包括预设类型;
所述设置模块,还用于当所述配置的相应字段包括所述预设类型时,设置所述预设类型数据的数量;及
生成模块,用于根据设置的数量生成测试数据。
本发明的第三方面提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述自动生成测试数据方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述自动生成测试数据方法。
本发明所述的自动生成测试数据方法、装置、电子设备及存储介质,本发明根据测试需求设置待生成的测试数据的格式;接收选择的生成测试数据的文件格式;当所述文件格式为预设格式时,根据所述预设格式配置相应的字段;当所述配置的相应字段包括所述预设类型时,设置所述预设类型数据的数量;根据设置的数量生成测试数据。从而可以一键生成大量的测试数据,无需手工去一个一个的生成,节省大量准备测试数据的时间。并且本方案还可以将生成的测试数据需求保存为不同格式的文件,支持多样化的数据生成,满足需要测试服务性能时进行压力测试而需要的测试数据快速生成方案。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例一提供的自动生成测试数据方法的流程图。
图2是本发明实施例二提供的自动生成测试数据装置的功能模块图。
图3是本发明实施例三提供的电子设备的示意图。
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例的自动生成测试数据方法应用在电子设备中。所述对于需要进自动生成测试数据的电子设备,可以直接在电子设备上集成本发明的方法所提供的自动生成测试数据功能,或者安装用于实现本发明的方法的客户端。再如,本发明所提供的方法还可以以软件开发工具包(Software Development Kit,SDK)的形式运行在服务器等设备上,以SDK的形式提供自动生成测试数据功能的接口,电子设备或其他设备通过提供的接口即可实现自动生成测试数据功能。
实施例一
图1是本发明实施例一提供的自动生成测试数据方法的流程图。根据不同的需求,所述流程图中的执行顺序可以改变,某些步骤可以省略。
步骤S1,根据测试需求设置待生成的测试数据的格式。
在本实施方式中,所述待生成的测试数据的格式包括日期类型、字符串类型、整型、浮点型等不同类型。所述不同类型的格式又可以对应不同的信息。例如,所述字符串类型可以对应姓名,所述整型可以对应电话号码,所述浮点型可以对应价格等信息。当所述测试数据的格式为整型,且对应电话号码时,可以通过所述自动生成测试数据的方法生成大量包含11位阿拉伯数字的移动电话号码。
步骤S2,接收选择的生成测试数据的文件格式。
在本实施方式中,可以在电子设备显示屏中显示自动生成测试数据工具的界面,所述界面包括供用户选择生成测试数据的文件格式选项。在用户选择所述文件格式后,所述电子设备可以接收用户选择的测试数据的文件格式。
优选地,所述文件格式包括Json格式、excel格式、txt格式和xml格式等。例如,当用户选择生成excel格式的测试数据时,所述自动生成测试数据的方法将生成以excel格式保存的测试数据;当用于选择生成txt格式的测试数据时,所述自动生成测试数据的方法将生成txt格式保存的测试数据。
步骤S3,判断所述文件格式是否为预设格式。当所述文件格式为预设格式时,流程进入步骤S4;当所述文件格式不是预设格式时,流程进入步骤S9。
在本实施方式中,所述预设格式为Json格式。所述Json格式可以构建为“名称/值”对的集合。
步骤S4,当所述文件格式为预设格式时,根据所述预设格式配置相应的字段。
在本实施方式中,先根据所述预设格式配置相应的标准字段,当配置的标准字段无法满足用户需求时,可以根据用户的选择自行添加字段信息。再将用户添加的字段信息通过所述Json格式进行保存,从而可以根据所述Json格式生成所述测试数据。
步骤S5,确认配置的相应字段是否包括预设类型。当所述配置的相应字段包括所述预设类型时,流程进入步骤S6;当所述配置的相应字段不包括所述预设类型时,流程进入步骤S7。
在本实施方式中,所述预设类型为List类型。由于软件测试过程中需要的测试数据通常需要一次生成成千上万,甚至上百万数据。因此通常需要以列表(List)形式生成测试数据。
步骤S6,当所述配置的相应字段包括所述预设类型时,设置所述预设类型数据的数量。
在本实施方式中,当所述配置的相应字段包括List类型时,设置生成List数据的数量。例如,生成1000个测试数据。
通过所述步骤S5-S6,可以实现一次生成大量测试数据。例如,若需要生成1000个测试数据,则设置所述预设类型数据的数量为1000,即可根据所述自动生成测试数据工具生成1000个测试数据。达到了无需用户手动一个一个生成测试数据的目的。
步骤S7,当所述配置的相应字段不包括所述预设类型时,根据配置的字段的数据格式生成测试数据。
优选地,在所述步骤S7之前,所述自动生成测试数据的方法还包括:
加密所述字段,以生成加密测试数据的步骤。
具体地,所述加密所述测试数据的步骤包括:
设置所述测试数据的加密算法;
选择待生成的测试数据中需加密的字段;
在根据选择的字段生成相应的字段数据后,根据所述加密算法对所述字段数据进行加密后生成测试数据。
在本实施方式中,所述加密算法可以是信息-摘要算法(MD5)、Aes加密算法或DES加密算法中的至少一种。
步骤S8,根据设置的数量生成测试数据。
通过上述步骤S1至S8可以实现一键生成大量的测试数据,无需手工去一个一个的生成,节省大量准备测试数据的时间。
当测试数据要求生成100万,1000万,上亿时。由于数据太多会出现数据量太大而导致内存溢出的情况,且存在生成测试数据耗时长的问题。
具体地,所述根据设置的数量生成测试数据的步骤包括:
(1)根据设置的数量同时启动多个子线程;
在本实施方式中,当生成数据量大时,根据数据量的大小去进行任务分发生成。例如,当需要生成100万测试数据的任务时,将所述100万测试数据的任务分成10个子任务,每个任务需要生成10万条测试数据,即同时启动10个子线程。
(2)将设置的数量的测试数据生成任务分发给所述多个子线程执行。
例如,将所述10个子任务分发给所述10个子线程,每个子线程执行生成10万条测试数据的任务。
优选地,为了保存程序正常运行,最多同时启动20个子线程。通过以上的方法可以在生成大量数据时节省时间,同时也解决需要生成上亿数据时,而导致内存泄露的问题。
进一步的,所述方法还包括:
侦测是否有子线程发生异常事件;
当侦测到有子线程发送异常事件时,将发生异常事件的子线程生成的测试数据进行删除;
终止其他子线程的生成任务。
本实施例中,当某一个或几个所述子线程在生成测试数据时发生了异常事件,所述电子设备捕获异常事件并将所述生成任务置为失败。所述电子设备删除发生异常事件的子线程生成的测试数据,同时关闭所述其他正在执行测试数据生成任务的子线程。所述其他正在执行测试数据生成任务的子线程是指除了发生异常事件的子线程之外的所有子线程。
需要说明的是,有任何一个子线程在生成测试数据时发生异常事件,则控制所有其他子线程全部终止生成任务。
优选地,所述方法还包括:判断所述测试数据是否正确的步骤。所述判断所述测试数据是否正确的步骤包括:
判断所述测试数据的字段是否存在缺失;
当所述测试数据的字段不存在缺失,则按照预设的匹配规则判断所述测试数据的字段与配置的字段是否匹配;
当所述测试数据的字段与配置的字段匹配时,确定所述测试数据正确;
当所述测试数据的字段存在缺失,或者所述测试数据的字段不存在缺失,但所述测试数据的字段与配置的字段不匹配时,确定所述测试数据存在错误。
本实施例中,所述测试数据的数据字段可以包括:用户的手机号码、家庭住址。
所述配置的字段和家庭住址字段是按照预先设置的格式进行设置的。例如,可以预先设置家庭住址字段固定为字符,且所述字符的格式为XX国XX省XX市XX区XX路XX号。
具体地,当所述测试数据为家庭住址时,判断所述家庭住址字段是否存在缺失。例如,若测试数据为中国广东省深圳市龙华区建达路78号,而生成的测试数据只包含中国广东省深圳市龙华区78号,缺失了建达路,则判定所述测试数据不正确;当所述家庭住址字段不存在缺失时,则按照预设的匹配规则判断所述测试数据的字段与配置的字段是否匹配。例如,若生成的测试数据为建达路路78号中国广东省深圳市龙华区,与预设匹配规则的中国广东省深圳市龙华区建达路78号不一致,确认测试数据的字段与配置的字段不匹配,确认所述测试数据不正确。
本实施例中,通过先确定测试数据的字段是否存在缺失,并在数据的字段不存在缺失的情况下,进一步将测试数据的字段格式与之前配置的字段格式进行匹配,能够确定生成的测试数据的准确性。
优选地,所述自动自动生成测试数据的方法还包括:
判断所述测试数据是否超过预设值,当所述测试数据超过预设值时,将所述测试数据分割成多个文件生成。
例如,当所述测试数据的数量达到预设值(如100万)时,会出现内存溢出的情况。需要将所述测试数据进行拆分成多个文件生成,最后将生成的测试数据放入List中存储。
步骤S9,当所述文件格式不是所述预设格式时,确定所述测试数据的文件格式的类型。
步骤S10,根据确定的文件格式的类型配置相应的字段信息。
步骤S11,根据所述字段信息生成测试数据,并将生成的测试数据通过所述确定的文件格式类型进行保存。
例如,当确定的所述测试数据的文件格式为excel格式时,根据确定的excel格式配置相应的字段信息(如Column),根据所述字段信息生成测试数据,并将生成的测试数据通过所述确定的excel格式进行保存。
当确定的所述测试数据的文件格式为txt格式时,根据确定的txt格式配置相应的字段信息(如将数据进行标识符分割,所述标识符可以是“|”或是“,”),根据所述字段信息生成测试数据,并将生成的测试数据通过所述确定的excel格式进行保存。
通过上述步骤S9至S11可以将生成的测试数据需求做成多样化,支持多样化的数据生成。
优选地,在本实施方式中,所述自动生成测试数据的方法还包括:
保存根据文件格式配置的相应字段为常用配置。
具体地,通过扩展自动生成测试数据工具的功能,将测试人员生成的测试数据的文件格式配置进行保存,并可标记所述测试数据的文件格式配置为常用的测试数据生成配置。从而,方便测试人员在下次再需要生成同样的测试数据时,只要选择之前的标记过的格式配置,即可生成,无需测试人员重新配置。
综上所述,本发明提供的自动生成测试数据方法包括,根据测试需求设置待生成的测试数据的格式;接收选择的生成测试数据的文件格式;当所述文件格式为预设格式时,根据所述预设格式配置相应的字段;当所述配置的相应字段包括所述预设类型时,设置所述预设类型数据的数量;根据设置的数量生成测试数据。从而可以一键生成大量的测试数据,无需手工去一个一个的生成,节省大量准备测试数据的时间。并且本方案还可以将生成的测试数据生成不同数据格式及保存为不同的文件格式,支持多样化的数据生成;满足需要测试服务性能时进行压力测试而需要的测试数据快速生成方案。
以上所述,仅是本发明的具体实施方式,但本发明的保护范围并不局限于此,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。
下面结合图2和图3,分别对实现上述自动生成测试数据方法的电子设备的功能模块及硬件结构进行介绍。
实施例二
图2为本发明自动生成测试数据装置较佳实施例中的功能模块图。
在一些实施例中,所述自动生成测试数据装置20(为便于描述,简称为“生成装置”)运行于电子设备中。所述生成装置20可以包括多个由程序代码段所组成的功能模块。所述生成装置20中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行自动生成测试数据功能。
本实施例中,所述生成装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:设置模块201、接收模块202、判断模块203、配置模块204、确认模块205及生成模块206。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在一些实施例中,关于各模块的功能将在后续的实施例中详述。
所述设置模块201根据测试需求设置待生成的测试数据的格式。
在本实施方式中,所述待生成的测试数据的格式包括日期类型、字符串类型、整型、浮点型等不同类型。所述不同类型的格式又可以对应不同的信息。例如,所述字符串类型可以对应姓名,所述整型可以对应电话号码,所述浮点型可以对应价格等信息。当所述测试数据的格式为整型,且对应电话号码时,可以通过所述自动生成测试数据的方法生成大量包含11位阿拉伯数字的移动电话号码。
所述接收模块202接收选择的生成测试数据的文件格式。
在本实施方式中,可以在电子设备显示屏中显示自动生成测试数据工具的界面,所述界面包括供用户选择生成测试数据的文件格式选项。在用户选择所述文件格式后,所述电子设备可以接收用户选择的测试数据的文件格式。
优选地,所述文件格式包括Json格式、excel格式、txt格式和xml格式等。例如,当用户选择生成excel格式的测试数据时,所述自动生成测试数据的方法将生成以excel格式保存的测试数据;当用于选择生成txt格式的测试数据时,所述自动生成测试数据的方法将生成txt格式保存的测试数据。
所述判断模块203判断所述文件格式是否为预设格式。
在本实施方式中,所述预设格式为Json格式。所述Json格式可以构建为“名称/值”对的集合。
当所述文件格式为预设格式时,所述配置模块204根据所述预设格式配置相应的字段。
在本实施方式中,先根据所述预设格式配置相应的标准字段,当配置的标准字段无法满足用户需求时,可以根据用户的选择自行添加字段信息。再将用户添加的字段信息通过所述Json格式进行保存,从而可以根据所述Json格式生成所述测试数据。
所述确认模块205确认配置的相应字段是否包括预设类型。
在本实施方式中,所述预设类型为List类型。由于软件测试过程中需要的测试数据通常需要一次生成成千上万,甚至上百万数据。因此通常需要以列表(List)形式生成测试数据。
当所述配置的相应字段包括所述预设类型时,所述设置模块201还设置所述预设类型数据的数量。
在本实施方式中,当所述配置的相应字段包括List类型时,设置生成List数据的数量。例如,生成1000个测试数据。
通过上述模块可以实现一次生成大量测试数据。例如,若需要生成1000个测试数据,则设置所述预设类型数据的数量为1000,即可根据所述自动生成测试数据工具生成1000个测试数据。达到了无需用户手动一个一个生成测试数据的目的。
当所述配置的相应字段不包括所述预设类型时,所述生成模块206根据配置的字段的数据格式生成测试数据。
优选地,所述生成装置20还可以加密所述字段,以生成加密测试数据。
具体地,所述加密所述测试数据包括:
设置所述测试数据的加密算法;
选择待生成的测试数据中需加密的字段;
在根据选择的字段生成相应的字段数据后,根据所述加密算法对所述字段数据进行加密后生成测试数据。
在本实施方式中,所述加密算法可以是信息-摘要算法(MD5)、Aes加密算法或DES加密算法中的至少一种。
所述生成模块206用于根据设置的数量生成测试数据。
实施本方案可以实现一键生成大量的测试数据,无需手工去一个一个的生成,节省大量准备测试数据的时间。
当测试数据要求生成100万,1000万,上亿时。由于数据太多会出现数据量太大而导致内存溢出的情况,且存在生成测试数据耗时长的问题。
具体地,所述根据设置的数量生成测试数据的步骤包括:
(1)根据设置的数量同时启动多个子线程;
在本实施方式中,当生成数据量大时,根据数据量的大小去进行任务分发生成。例如,当需要生成100万测试数据的任务时,将所述100万测试数据的任务分成10个子任务,每个任务需要生成10万条测试数据,即同时启动10个子线程。
(2)将设置的数量的测试数据生成任务分发给所述多个子线程执行。
例如,将所述10个子任务分发给所述10个子线程,每个子线程执行生成10万条测试数据的任务。
优选地,为了保存程序正常运行,最多同时启动20个子线程。通过以上的方法可以在生成大量数据时节省时间,同时也解决需要生成上亿数据时,而导致内存泄露的问题。
进一步的,所述生成装置20还可以侦测是否有子线程发生异常事件;当侦测到有子线程发送异常事件时,将发生异常事件的子线程生成的测试数据进行删除;终止其他子线程的生成任务。
本实施例中,当某一个或几个所述子线程在生成测试数据时发生了异常事件,所述电子设备捕获异常事件并将所述生成任务置为失败。所述电子设备删除发生异常事件的子线程生成的测试数据,同时关闭所述其他正在执行测试数据生成任务的子线程。所述其他正在执行测试数据生成任务的子线程是指除了发生异常事件的子线程之外的所有子线程。
需要说明的是,有任何一个子线程在生成测试数据时发生异常事件,则控制所有其他子线程全部终止生成任务。
优选地,所述生成装置20还可以判断所述测试数据是否正确。
具体地,所述判断所述测试数据是否正确包括:判断所述测试数据的字段是否存在缺失;当所述测试数据的字段不存在缺失,则按照预设的匹配规则判断所述测试数据的字段与配置的字段是否匹配;当所述测试数据的字段与配置的字段匹配时,确定所述测试数据正确;当所述测试数据的字段存在缺失,或者所述测试数据的字段不存在缺失,但所述测试数据的字段与配置的字段不匹配时,确定所述测试数据存在错误。
本实施例中,所述测试数据的数据字段可以包括:用户的手机号码、家庭住址。
所述配置的字段和家庭住址字段是按照预先设置的格式进行设置的。例如,可以预先设置家庭住址字段固定为字符,且所述字符的格式为XX国XX市XX区XX路XX号。
具体地,当所述测试数据为家庭住址时,判断所述家庭住址字段是否存在缺失。例如,若测试数据为中国广东省深圳市龙华区建达路78号,而生成的测试数据只包含中国广东省深圳市龙华区78号,缺失了建达路,则判定所述测试数据不正确;当所述家庭住址字段不存在缺失时,则按照预设的匹配规则判断所述测试数据的字段与配置的字段是否匹配。例如,若生成的测试数据为建达路78号中国广东省深圳市龙华区,与预设匹配规则的中国广东省深圳市龙华区建达路78号不一致,确认测试数据的字段与配置的字段不匹配,确认所述测试数据不正确。
本实施例中,通过先确定测试数据的字段是否存在缺失,并在数据的字段不存在缺失的情况下,进一步将测试数据的字段格式与之前配置的字段格式进行匹配,能够确定生成的测试数据的准确性。
当所述文件格式不是所述预设格式时,所述确认模块205确定所述测试数据的文件格式的类型。
所述配置模块204还用于根据确定的文件格式的类型配置相应的字段信息。
所述生成模块206还用于根据所述字段信息生成测试数据,并将生成的测试数据通过所述确定的文件格式类型进行保存。
例如,当确定的所述测试数据的文件格式为excel格式时,根据确定的excel格式配置相应的字段信息(如Column),根据所述字段信息生成测试数据,并将生成的测试数据通过所述确定的excel格式进行保存。
当确定的所述测试数据的文件格式为txt格式时,根据确定的txt格式配置相应的字段信息(如将数据进行标识符分割,所述标识符可以是“|”或是“,”),根据所述字段信息生成测试数据,并将生成的测试数据通过所述确定的excel格式进行保存。
通过实施本方案可以将生成的测试数据需求做成多样化,支持多样化的数据生成。
优选地,在本实施方式中,所述生成装置20还可以保存根据文件格式配置的相应字段为常用配置。
具体地,通过扩展自动生成测试数据工具的功能,将测试人员生成的测试数据的文件格式配置进行保存,并可标记所述测试数据的文件格式配置为常用的测试数据生成配置。从而,方便测试人员在下次再需要生成同样的测试数据时,只要选择之前的标记过的格式配置,即可生成,无需测试人员重新配置。
综上所述,本发明所述的自动生成测试数据装置20,包括设置模块201、接收模块202、判断模块203、配置模块204、确认模块205及生成模块206。所述设置模块201用于根据测试需求设置待生成的测试数据的格式;所述接收模块202用于接收选择的生成测试数据的文件格式;所述判断模块203用于判断所述文件格式是否为预设格式;所述配置模块204用于当所述文件格式为预设格式时,根据所述预设格式配置相应的字段;所述确认模块205用于确认配置的相应字段是否包括预设类型;所述设置模块201还用于当所述配置的相应字段包括所述预设类型时,设置所述预设类型数据的数量;及所述生成模块206用于根据设置的数量生成测试数据。从而可以一键生成大量的测试数据,无需手工去一个一个的生成,节省大量准备测试数据的时间。并且本方案还可以将生成的测试数据需求保存为不同格式的文件,支持多样化的数据生成,满足需要测试服务性能时进行压力测试而需要的测试数据快速生成方案。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,双屏设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
图3为本发明实施例三提供的电子设备的示意图。
所述电子设备3包括:存储器31、至少一个处理器32、存储在所述存储器31中并可在所述至少一个处理器32上运行的计算机程序33、至少一条通讯总线34及数据库35。
所述至少一个处理器32执行所述计算机程序33时实现上述自动生成测试数据方法实施例中的步骤。
示例性的,所述计算机程序33可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器31中,并由所述至少一个处理器32执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序33在所述电子设备3中的执行过程。
所述电子设备3可以是手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)等安装有应用程序的设备。本领域技术人员可以理解,所述示意图3仅仅是电子设备3的示例,并不构成对电子设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备3还可以包括输入输出设备、网络接入设备、总线等。
所述至少一个处理器32可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述处理器32可以是微处理器或者所述处理器32也可以是任何常规的处理器等,所述处理器32是所述电子设备3的控制中心,利用各种接口和线路连接整个电子设备3的各个部分。
在一些实施例中,所述存储器31用于存储程序代码和各种数据,例如安装在所述计算机设备3中的装置,并在计算机设备3的运行过程中实现高速、自动地完成程序或数据的存取。所述存储器31包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
所述存储器31中存储有程序代码,且所述至少一个处理器32可调用所述存储器31中存储的程序代码以执行相关的功能。例如,图2中所述的各个模块(设置模块201、接收模块202、判断模块203、配置模块204、确认模块205及生成模块206)是存储在所述存储器31中的程序代码,并由所述至少一个处理器32所执行,从而实现所述各个模块的功能以达到自动生成测试数据的目的。
所述设置模块201用于根据测试需求设置待生成的测试数据的格式;
所述接收模块202用于接收选择的生成测试数据的文件格式;
所述判断模块203用于判断所述文件格式是否为预设格式;
所述配置模块204用于当所述文件格式为预设格式时,根据所述预设格式配置相应的字段;
所述确认模块205用于确认配置的相应字段是否包括预设类型;
所述设置模块201还用于当所述配置的相应字段包括所述预设类型时,设置所述预设类型数据的数量;及
所述生成模块206用于根据设置的数量生成测试数据。
优选地,当所述配置的相应字段不包括所述预设类型时,所述生成装置20还可以根据配置的字段的数据格式生成测试数据。
优选地,当所述文件格式不是所述预设格式时,所述生成装置20还可以确定所述测试数据的文件格式的类型;根据确定的文件格式的类型配置相应的字段信息;根据所述字段信息生成测试数据,并将生成的测试数据通过所述确定的文件格式类型进行保存。
优选地,所述生成装置20还可以生成加密测试数据的步骤,所述生成加密测试数据包括:设置所述测试数据的加密算法;选择待生成的测试数据中需加密的字段;在根据选择的字段生成相应的字段数据后,根据所述加密算法对所述字段数据进行加密后生成测试数据。
优选地,所述根据设置的数量生成测试数据包括:根据设置的数量同时启动多个子线程;将设置的数量的测试数据生成任务分发给所述多个子线程执行。
优选地,所述生成装置20还可以侦测是否有子线程发生异常事件;当侦测到有子线程发送异常事件时,将发生异常事件的子线程生成的测试数据进行删除;终止其他子线程的生成任务。
优选地,所述生成装置20还可以判断所述测试数据是否正确,所述判断所述测试数据是否正确包括:判断所述测试数据的字段是否存在缺失;当所述测试数据的字段不存在缺失,则按照预设的匹配规则判断所述测试数据的字段与配置的字段是否匹配;当所述测试数据的字段与配置的字段匹配时,确定所述测试数据正确;当所述测试数据的字段存在缺失,或者所述测试数据的字段不存在缺失,但所述测试数据的字段与配置的字段不匹配时,确定所述测试数据存在错误。
所述数据库(Database)35是按照数据结构来组织、存储和管理数据的建立在所述电子设备3上的仓库。数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。在本实施方式中,所述数据库35用于存储测试数据等信息。
所述电子设备3集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。
在本发明所提供的几个实施例中,应所述理解到,所揭露的电子设备和方法,可以通过其它的方式实现。例如,以上所描述的电子设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本发明各个实施例中的各功能单元可以集成在相同处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在相同单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神范围。
Claims (10)
1.一种自动生成测试数据方法,其特征在于,所述方法包括:
根据测试需求设置待生成的测试数据的格式;
接收选择的生成测试数据的文件格式;
判断所述文件格式是否为预设格式;
当所述文件格式为预设格式时,根据所述预设格式配置相应的字段;
确认配置的相应字段是否包括预设类型;
当所述配置的相应字段包括所述预设类型时,设置所述预设类型数据的数量;及
根据设置的数量生成测试数据。
2.如权利要求1所述的自动生成测试数据方法,其特征在于,所述方法还包括:
当所述配置的相应字段不包括所述预设类型时,根据配置的字段的数据格式生成测试数据。
3.如权利要求1所述的自动生成测试数据方法,其特征在于,所述方法还包括:
当所述文件格式不是所述预设格式时,确定所述测试数据的文件格式的类型;
根据确定的文件格式的类型配置相应的字段信息;
根据所述字段信息生成测试数据,并将生成的测试数据通过所述确定的文件格式类型进行保存。
4.如权利要求2所述的自动生成测试数据方法,其特征在于,所述方法还包括生成加密测试数据的步骤,所述生成加密测试数据的步骤包括:
设置所述测试数据的加密算法;
选择待生成的测试数据中需加密的字段;
在根据选择的字段生成相应的字段数据后,根据所述加密算法对所述字段数据进行加密后生成测试数据。
5.如权利要求1所述的自动生成测试数据方法,其特征在于,所述根据设置的数量生成测试数据的步骤包括:
根据设置的数量同时启动多个子线程;
将设置的数量的测试数据生成任务分发给所述多个子线程执行。
6.如权利要求5所述的自动生成测试数据方法,所述方法还包括:
侦测是否有子线程发生异常事件;
当侦测到有子线程发送异常事件时,将发生异常事件的子线程生成的测试数据进行删除;
终止其他子线程的生成任务。
7.如权利要求1所述的自动生成测试数据方法,其特征在于,所述方法还包括:判断所述测试数据是否正确的步骤,所述判断所述测试数据是否正确包括:
判断所述测试数据的字段是否存在缺失;
当所述测试数据的字段不存在缺失,则按照预设的匹配规则判断所述测试数据的字段与配置的字段是否匹配;
当所述测试数据的字段与配置的字段匹配时,确定所述测试数据正确;
当所述测试数据的字段存在缺失,或者所述测试数据的字段不存在缺失,但所述测试数据的字段与配置的字段不匹配时,确定所述测试数据存在错误。
8.一种自动生成测试数据装置,其特征在于,所述装置包括:
设置模块,用于根据测试需求设置待生成的测试数据的格式;
接收模块,用于接收选择的生成测试数据的文件格式;
判断模块,用于判断所述文件格式是否为预设格式;
配置模块,用于当所述文件格式为预设格式时,根据所述预设格式配置相应的字段;
确认模块,用于确认配置的相应字段是否包括预设类型;
所述设置模块,还用于当所述配置的相应字段包括所述预设类型时,设置所述预设类型数据的数量;及
生成模块,用于根据设置的数量生成测试数据。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述的自动生成测试数据方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的自动生成测试数据方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910792766.0A CN110674029B (zh) | 2019-08-26 | 2019-08-26 | 自动生成测试数据方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910792766.0A CN110674029B (zh) | 2019-08-26 | 2019-08-26 | 自动生成测试数据方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110674029A true CN110674029A (zh) | 2020-01-10 |
CN110674029B CN110674029B (zh) | 2024-08-13 |
Family
ID=69075705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910792766.0A Active CN110674029B (zh) | 2019-08-26 | 2019-08-26 | 自动生成测试数据方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110674029B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111382069A (zh) * | 2020-03-02 | 2020-07-07 | 北京九州云动科技有限公司 | 一种数据流测试方法及系统 |
CN112015651A (zh) * | 2020-08-28 | 2020-12-01 | 北京互金新融科技有限公司 | 数据处理方法及装置 |
CN113485922A (zh) * | 2021-06-30 | 2021-10-08 | 山东有人物联网股份有限公司 | 测试用例生成方法、测试方法、工具、装置及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722537A (zh) * | 2012-05-22 | 2012-10-10 | 苏州阔地网络科技有限公司 | 一种数据库测试数据的生成方法及系统 |
US20140026125A1 (en) * | 2012-07-23 | 2014-01-23 | Infosys Llimited | Methods for generating software test input data and devices thereof |
WO2015176431A1 (zh) * | 2014-05-23 | 2015-11-26 | 中兴通讯股份有限公司 | 一种测试数据的生成方法及装置 |
CN106649108A (zh) * | 2016-12-13 | 2017-05-10 | 北京锐安科技有限公司 | 测试数据的生成方法及装置 |
CN107436917A (zh) * | 2017-06-16 | 2017-12-05 | 浙江百世技术有限公司 | 一种导入模板配置方法、数据批量导入方法及系统 |
CN108763080A (zh) * | 2018-05-29 | 2018-11-06 | 平安普惠企业管理有限公司 | 测试数据上传方法、装置、计算机设备及存储介质 |
CN108874611A (zh) * | 2017-05-12 | 2018-11-23 | 北京金山云网络技术有限公司 | 一种测试数据的构建方法及装置 |
-
2019
- 2019-08-26 CN CN201910792766.0A patent/CN110674029B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722537A (zh) * | 2012-05-22 | 2012-10-10 | 苏州阔地网络科技有限公司 | 一种数据库测试数据的生成方法及系统 |
US20140026125A1 (en) * | 2012-07-23 | 2014-01-23 | Infosys Llimited | Methods for generating software test input data and devices thereof |
WO2015176431A1 (zh) * | 2014-05-23 | 2015-11-26 | 中兴通讯股份有限公司 | 一种测试数据的生成方法及装置 |
CN106649108A (zh) * | 2016-12-13 | 2017-05-10 | 北京锐安科技有限公司 | 测试数据的生成方法及装置 |
CN108874611A (zh) * | 2017-05-12 | 2018-11-23 | 北京金山云网络技术有限公司 | 一种测试数据的构建方法及装置 |
CN107436917A (zh) * | 2017-06-16 | 2017-12-05 | 浙江百世技术有限公司 | 一种导入模板配置方法、数据批量导入方法及系统 |
CN108763080A (zh) * | 2018-05-29 | 2018-11-06 | 平安普惠企业管理有限公司 | 测试数据上传方法、装置、计算机设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111382069A (zh) * | 2020-03-02 | 2020-07-07 | 北京九州云动科技有限公司 | 一种数据流测试方法及系统 |
CN112015651A (zh) * | 2020-08-28 | 2020-12-01 | 北京互金新融科技有限公司 | 数据处理方法及装置 |
CN112015651B (zh) * | 2020-08-28 | 2023-10-27 | 北京互金新融科技有限公司 | 数据处理方法及装置 |
CN113485922A (zh) * | 2021-06-30 | 2021-10-08 | 山东有人物联网股份有限公司 | 测试用例生成方法、测试方法、工具、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110674029B (zh) | 2024-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110674029B (zh) | 自动生成测试数据方法、装置、电子设备及存储介质 | |
CN112699151B (zh) | 数据处理方法、装置、设备以及介质 | |
CN111309734B (zh) | 自动生成表数据的方法及系统 | |
CN111159040A (zh) | 一种测试数据生成方法、装置、设备及存储介质 | |
CN111784318A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114518881A (zh) | 一种页面生成方法、系统及存储介质 | |
US11347533B2 (en) | Enhanced virtual machine image management system | |
CN112181485A (zh) | 脚本执行方法、装置、电子设备及存储介质 | |
JP2008269515A (ja) | パラメータによる画面レイアウト動的生成方法 | |
CN112367205B (zh) | 一种对http调度请求的处理方法及调度系统 | |
CN114936152A (zh) | 应用测试方法及设备 | |
CN111309623A (zh) | 一种坐标类数据分类测试方法及装置 | |
CN111679899A (zh) | 任务调度方法、装置、平台设备及存储介质 | |
CN111142965A (zh) | 语言配置方法、装置、电子设备及存储介质 | |
CN110175116B (zh) | 一种测试日期切换方法、装置及系统 | |
CN110046192B (zh) | 请求信息的序号生成系统和方法 | |
CN117112654B (zh) | 城市数据展示方法、装置、计算机设备和存储介质 | |
CN111767233B (zh) | 基于智能快递柜的业务测试方法及装置 | |
CN111506644A (zh) | 一种应用数据处理方法、装置和电子设备 | |
US20230230324A1 (en) | Method, System, Equipment and Medium for Modifying the Layering Layer Information of Finite Element Model Unit | |
CN117407049B (zh) | 一种应用发布编排方法、装置、设备及存储介质 | |
CN112395197A (zh) | 一种数据处理方法、数据处理装置及电子设备 | |
CN113467985A (zh) | 一种函数校验方法、装置、电子设备及存储介质 | |
CN114048127A (zh) | 一种测试用例的处理方法以及装置 | |
CN117312273A (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 |