CN116955201A - 数据开发测试方法、装置、设备及介质 - Google Patents
数据开发测试方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116955201A CN116955201A CN202310996478.3A CN202310996478A CN116955201A CN 116955201 A CN116955201 A CN 116955201A CN 202310996478 A CN202310996478 A CN 202310996478A CN 116955201 A CN116955201 A CN 116955201A
- Authority
- CN
- China
- Prior art keywords
- script
- data development
- data
- local
- storage
- 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
- 238000011981 development test Methods 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims description 30
- 238000013515 script Methods 0.000 claims abstract description 427
- 238000011161 development Methods 0.000 claims abstract description 261
- 238000012360 testing method Methods 0.000 claims abstract description 153
- 238000011144 upstream manufacturing Methods 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- 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
- Debugging And Monitoring (AREA)
Abstract
本申请实施例属于云测试领域,涉及一种数据开发测试方法,包括获取待测试的数据开发脚本;判断数据开发脚本是否符合存储条件;当满足存储条件时,则在本地环境中对数据开发脚本进行本地测试,得到本地测试结果;当未满足存储条件时,对数据开发脚本进行存储位置调整,直到数据开发脚本满足存储条件,则在本地环境中对数据开发脚本进行本地测试,得到本地测试结果;根据本地测试结果配置数据开发脚本的脚本任务;根据脚本任务对数据开发脚本进行上线测试,得到上线结果。本申请还提供一种数据开发测试装置、设备及介质。此外,本申请还涉及区块链技术,数据开发脚本可存储于区块链中。本申请提高数据开发测试的效率及准确率。
Description
技术领域
本申请涉及云测试领域,尤其涉及一种数据开发测试方法、装置、设备及介质。
背景技术
随着互联网技术的发展,应用大数据平台进行数据开发成为主流。例如,金融领域中,各电商平台会收集用户的是商品交易等数据,并对商品的交易数据进行数据开发,以更好的向用户推荐商品。
传统的数据开发测试是基于产品需求分析-产品需求宣讲-开发-测试的固定流程在数据平台上实现的。
但是,这种传统方法在测试过程中需要开发人员介入,以对每个固定流程进行监督、验证,使得数据开发测试的效率较低;并且,开发人员在开发流程时,在开发数据上线测试时,可能会出现人员在测试过程中由于工作失误使得数据开发上线时出现数据报错情况,导致数据开发测试的准确率较低。
发明内容
本申请实施例的目的在于提出一种数据开发测试方法、装置、设备及介质,其主要目的是提高数据开发测试的效率及准确率。
为了解决上述技术问题,本申请实施例提供一种数据开发测试方法,采用了如下所述的技术方案:
获取待测试的数据开发脚本;
判断所述数据开发脚本是否符合预设的存储条件;
当所述数据开发脚本满足预设的存储条件时,则在预设的本地环境中对所述数据开发脚本进行本地测试,得到本地测试结果;
当所述数据开发脚本未满足预设的存储条件时,对所述数据开发脚本进行存储位置调整,直到所述数据开发脚本满足所述存储条件,则在所述本地环境中对所述数据开发脚本进行本地测试,得到本地测试结果;
根据所述本地测试结果配置所述数据开发脚本的脚本任务;
根据所述脚本任务对所述数据开发脚本进行上线测试,得到所述数据开发脚本的上线结果。
进一步的,所述在预设的本地环境中对所述数据开发脚本进行本地测试,得到本地测试结果,包括:
获取所述数据开发脚本的运行时间及运行任务;
据所述运行时间触发所述运行任务,得到所述数据开发脚本的本地运行结果;
将所述本地运行结果中的数据表与脚本逻辑分别与标准数据表与标准脚本逻辑进行对比;
当所述数据表与所述脚本逻辑都对比一致,则确定所述数据表及所述脚本逻辑为所述本地测试结果;
当所述数据表或所述脚本逻辑对比不一致,则修改不一致的数据表或脚本逻辑得到更新本地测试结果,将所述更新本地测试结果作为所述测试结果。
进一步的,所述根据所述本地测试结果配置所述数据开发脚本的脚本任务,包括:
接收所述任务配置指令,响应所述指令,从所述本地测试结果中获取数据开发脚本的版本信息;
根据所述版本信息配置所述数据开发脚本的数据表、任务名称以及上游依赖,得到所述脚本任务。
进一步的,所述根据所述脚本任务对所述数据开发脚本进行上线测试,得到所述数据开发脚本的上线结果,包括:
根据所述脚本任务对获取所述数据开发脚本的上线环境及上线时间;
根据所述上线时间触发所述脚本任务,在所述上线环境中运行所述脚本任务,得到任务运行结果;
获取所述任务运行结果的运行时长,判断所述运行时长是否大于预设阈值;
当所述运行时长大于所述预设阈值,则触发预警机制,返回所述数据开发脚本的上线结果为上线失败,查找所述数据开发脚本的运行错误原因,根据所述运行错误原因修改所述数据开发脚本,得到修改数据脚本,直至所述修改数据脚本成功运行。
进一步的,所述判断所述数据开发脚本是否符合预设的存储条件,包括:
判断预设的脚本库中是否存在所述数据开发脚本的同名脚本;
当所述脚本库中存在所述同名脚本时,检测所述数据开发脚本的存储目录与所述同名脚本的存储目录是否一致;
若所述存储目录一致,则确定所述数据开发脚本符合所述存储条件;
若所述存储目录不一致,则修改所述数据开发脚本的存储目录,并返回所述判断预设的脚本库中是否存在所述数据开发脚本的同名脚本的步骤,直至所述数据开发脚本符合所述存储条件,确定所述数据开发脚本符合所述存储条件;
当所述脚本库中不存在所述同名脚本时,确定所述数据开发脚本不符合所述存储条件。
进一步的,所述对所述数据开发脚本进行存储位置调整,包括:
在所述脚本库中创建新增数据脚本;
利用预设的存储规则检测所述新增数据脚本的存储目录是否正确;
当检测所述新增数据脚本的存储目录正确,则将所述新增数据脚本作为所述同名脚本,并确定所述数据开发脚本符合所述存储条件;
当检测所述新增数据脚本的存储目录不正确,则返回所述判断预设的脚本库中是否存在所述数据开发脚本的同名脚本的步骤,直至所述新增数据脚本符合所述存储条件。
为了解决上述技术问题,本申请实施例还提供一种数据开发测试装置,采用了如下所述的技术方案:
获取模块,用于获取待测试的数据开发脚本;
判断模块,用于判断所述数据开发脚本是否符合预设的存储条件;
本地测试模块,用于当所述数据开发脚本满足预设的存储条件时,则在预设的本地环境中对所述数据开发脚本进行本地测试,得到本地测试结果;当所述数据开发脚本未满足预设的存储条件时,对所述数据开发脚本进行存储位置调整,直到所述数据开发脚本满足所述存储条件,则在所述本地环境中对所述数据开发脚本进行本地测试,得到本地测试结果;
配置模块,用于根据所述本地测试结果配置所述数据开发脚本的脚本任务;
测试模块,用于根据所述脚本任务对所述数据开发脚本进行上线测试,得到所述数据开发脚本的上线结果。
为了解决上述技术问题,本申请实施例还提供一种设备,采用了如下所述的技术方案:
存储器,存储至少一个计算机程序;及
处理器,执行所述存储器中存储的计算机程序以实现上述所述的数据开发测试方法。
为了解决上述技术问题,本申请实施例还提供一种计算机可读介质,采用了如下所述的技术方案:
所述计算机可读介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的数据开发测试方法。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请实施例中,首先通过获取待测试的数据开发脚本,并判断数据开发脚本是否符合预设的存储条件,能够在数据开发测试前,保证数据开发脚本的合法性,便于提高后续数据开发的效率;其次,在脚本满足存储条件后,在本地环境中对数据开发脚本进行本地测试,得到本地测试结果,能够在数据开发测试之前,初步发现数据开发脚本存在的问题,便于提高后续数据开发测试的准确率;最后,通过配置数据开发脚本的运行任务,并据脚本任务对数据开发脚本进行上线测试,能够进一步提高数据开发测试的准确率,并实现测试自动化,减少了开发人员的介入,提高了数据开发测试的效率。因此本申请提出的数据开发测试方法、装置、设备及介质可以提高数据开发测试的效率及准确率。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2根据本申请的数据开发测试方法的一个实施例的流程图;
图3是图2中步骤S203的一种具体实施方式的流程图;
图4是根据本申请的数据开发测试装置的一个实施例的结构示意图;
图5是根据本申请的设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture E数据开发测试perts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPicture E数据开发测试perts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的数据开发测试方法一般由服务器/终端设备执行,相应地,数据开发测试装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的数据开发测试方法的一个实施例的流程图。所述数据开发测试方法,包括以下步骤:
S201、获取待测试的数据开发脚本。
本申请实施例中,所述待测试的数据开发脚本是指数据开发时包括的可执行语法代码指令及数据表信息。
例如,在金融领域中,数据开发脚本包括的数据表可以为保险商品目录表,可执行语法代码为针对保险商品目标表上线测试时的代码指令。
S202、判断所述数据开发脚本是否符合预设的存储条件。
本申请实施例中,所述预设的存储条件包括判断预设的脚本库中是否存在数据开发脚本的同名脚本及检测数据开发脚本的存储目录与同名脚本存储目录是否相同的两个条件,且在脚本库存在数据开发脚本的同名脚本才需进一步检测数据开发脚本的存储目录与同名脚本存储目录是否相同,若脚本库不存在同名脚本,则可以确定数据开发脚本不符合存储条件。
作为本申请的一个实施例,所述判断所述数据开发脚本是否符合预设的存储条件,包括:
判断预设的脚本库中是否存在所述数据开发脚本的同名脚本;
当所述脚本库中存在所述同名脚本时,检测所述数据开发脚本的存储目录与所述同名脚本的存储目录是否一致;
若所述存储目录一致,则确定所述数据开发脚本符合所述存储条件;
若所述存储目录不一致,则修改所述数据开发脚本的存储目录,并返回所述判断预设的脚本库中是否存在所述数据开发脚本的同名脚本的步骤,直至所述数据开发脚本符合所述存储条件,确定所述数据开发脚本符合所述存储条件;
当所述脚本库中不存在所述同名脚本时,确定所述数据开发脚本不符合所述存储条件。
其中,所述预设的脚本库可以为存储脚本代码及脚本数据的代码库(如Gitlab库),可以通过substr()和equal()判断预设的脚本库中是否存在所述数据开发脚本的同名脚本。
本申请一实施例中,当所述脚本库中存在所述同名脚本时,通过检测数据开发脚本的上传路径与同名脚本的存储路径是否一致,上传路径与存储路径一致时,确定存储目录一致,从而确定数据开发脚本符合存储条件。
本申请实施例中,通过判断预设的脚本库中是否存在所述数据开发脚本的同名脚本,可以保证数据开发脚本在脚本库中拥有后续测试权限,进一步检测所述数据开发脚本的存储目录与所述同名脚本的存储目录是否一致,能够保证数据开发脚本上传至脚本库中的路径是正确的,避免在后续数据开发测试时,因为数据开发脚本不合法被退回,提高了后续数据开发测试的效率。
S203、当所述数据开发脚本满足预设的存储条件时,则在预设的本地环境中对所述数据开发脚本进行本地测试,得到本地测试结果。
本申请实施例中,本地环境为本地演练库环境也称线下环境,一般指本地系统,主要作用实在数据开发测试前进行测试,以确定数据开发脚本的debug。
作为本申请的一个实施例,参考图3所示,所述在预设的本地环境中对所述数据开发脚本进行本地测试,得到本地测试结果,包括以下步骤S2031-S2035:
S2031、获取所述数据开发脚本的运行时间及运行任务;
S2032、据所述运行时间触发所述运行任务,得到所述数据开发脚本的本地运行结果;
S2033、将所述本地运行结果中的数据表与脚本逻辑分别与标准数据表与标准脚本逻辑进行对比;
S2034、当所述数据表与所述脚本逻辑都对比一致,则确定所述数据表及所述脚本逻辑为所述本地测试结果;
S2035、当所述数据表或所述脚本逻辑对比不一致,则修改不一致的数据表或脚本逻辑得到更新本地测试结果,将所述更新本地测试结果作为所述测试结果。
其中,所述运行时间可以通过new Date().getTime()函数获取数据开发脚本数据表在本地演练库环境(如pct_app_safe库)中的运行时间。所述运行任务是在根据数据开发脚本名称在演练库模块(如PCT_HADOOP)中生成。
本申请一实施例中,所述本地运行结果是指数据开发脚本在本地演练库环境中,执行运行任务后,得到的关于数据表及数脚逻辑的运行结果。
进一步,本申请实施例中,标准数据表及标准脚本逻辑是指数据开发时生产库中存储的数据表与脚本逻辑,通过将本地运行结果中的数据表与脚本逻辑与标准数据表与标准脚本逻辑进行对比,当数据表与脚本逻辑都对比一致,确定数据开发脚本测试通过,将数据表及脚本逻辑作为本地测试结果,当数据表与脚本逻辑对比不一致,则确定脚本逻辑存在debug,或数据表错误,针对debug的脚本语法以及数据表错误处进行修改,将修改后的数据表与脚本逻辑作为本地测试结果。
本申请实施例中,通过将所述本地运行结果中的数据表与脚本逻辑分别与标准数据表与标准脚本逻辑进行对比,可以验证数据表及脚本逻辑的正确性,并针对错误的数据表或脚本语法进行修改,能够避免数据开发脚本在后续测试时仅测试脚本逻辑但在数据开发脚本正式上线出现数据表的问题,提高后续数据开发测试的准确率。
S204、当所述数据开发脚本未满足预设的存储条件时,对所述数据开发脚本进行存储位置调整,直到所述数据开发脚本满足所述存储条件,则在所述本地环境中对所述数据开发脚本进行本地测试,得到本地测试结果。
本申请实施例中,当所述数据开发脚本未满足预设的存储条件时,确定数据开发脚本未满足测试前置条件,需要对数据开发脚本进行存储位置调整,以保证数据开发脚本符合测试条件。
作为本申请的一个实施例,所述对所述数据开发脚本进行存储位置调整,包括:
在所述脚本库中创建新增数据脚本;
利用预设的存储规则检测所述新增数据脚本的存储目录是否正确;
当检测所述新增数据脚本的存储目录正确,则将所述新增数据脚本作为所述同名脚本,并确定所述数据开发脚本符合所述存储条件;
当检测所述新增数据脚本的存储目录不正确,则返回所述判断预设的脚本库中是否存在所述数据开发脚本的同名脚本的步骤,直至所述新增数据脚本符合所述存储条件。
其中,可以通过Sql语句在脚本库中创建新增数据脚本。
本申请一实施例中,所述存储规则是基于实际应用场景确定的规则。例如,在金融领域中,有一数据脚本为A保险项目上新数据脚本,存储规则可以为保险商品信息应该存储至A库存储目录,保险商品购买信息应该存储至B存储目录。通过该存储规则能够检测出新增数据脚本是否存储至相应的存储目录中。
进一步的,本申请实施例中,当检测所述新增数据脚本的存储目录不正确,触发存储目录差异提示,确定新增数据脚本的上传路径异常,并返回所述判断预设的脚本库中是否存在所述数据开发脚本的同名脚本的步骤,直至新增数据脚本符合存储条件。
本发明一实施例中,所述在所述本地环境中对所述数据开发脚本进行本地测试,得到本地测试结果的方法与S203中的所述在预设的本地环境中对所述数据开发脚本进行本地测试,得到本地测试结果的步骤的方法一致,此处不再赘述。
本申请实施例,通过利用预设的存储规则检测所述新增数据脚本的存储目录是否正确,可以检测新增数据脚本的上传路径是否正确,避免在后续数据开发测试时,因为新增数据脚本不合法被退回,提高了后续数据开发测试的效率。
S205、根据所述本地测试结果配置所述数据开发脚本的脚本任务。
例如,金融领域中,有一数据开发脚本为D保险新品上新脚本,则脚本任务是基于D保险新品上新脚本名称生成的D保险新品上新脚本任务。
作为本申请的一个实施例,所述根据所述本地测试结果配置所述数据开发脚本的脚本任务,包括:
接收所述任务配置指令,响应所述指令,从所述本地测试结果中获取数据开发脚本的版本信息;
根据所述版本信息配置所述数据开发脚本的数据表、任务名称以及上游依赖,得到所述脚本任务。
其中,所述任务配置指令是通过预设的数据开发平台(如开发者平台)进行接收并响应,从开发者平台上能够获取数据开发脚本的版本信息。所述版本信息是指数据开发脚本进行本地测试后的脚本版本信息,例如,D保险新品上新脚本2.0。
本申请一实施例中,根据该版本信息能够在开发者平台的任务配置模块中,配置数据开发脚本的数据表、任务名称及上游依赖,以得到脚本任务。其中,数据表即数据开发脚本中的数据表;任务名称为数据开发脚本名称;上游依赖是指数据表的名称,通过配置上游依赖能够提示开发人员脚本任务配置完成。
例如,D保险新品上新脚本对应的数据表为D保险新品上新表;任务名称为D保险新品上新脚本任务;上游依赖为YP-D保险新品上新表;脚本任务为YP-D保险新品上新表。
本申请实施例中,通过根据所述版本信息配置所述数据开发脚本的数据表、任务名称以及上游依赖,得到所述脚本任务,能够在脚本上线测试时,直接找到需要测试的脚本,提高数据开发测试的效率。
S206、根据所述脚本任务对所述数据开发脚本进行上线测试,得到所述数据开发脚本的上线结果。
本申请实施例中,所述上线结果包括上线成功结果及上线失败结果。例如,D保险新品上新脚本上线成功,或D保险新品上新脚本上新失败。
本申请实施例中,通过根据所述脚本任务对所述数据开发脚本进行上线测试,能够在本地测试解决一部分脚本逻辑的情况下进一步发现脚本语法问题,且实现上线测试自动化,避免人员在测试过程中由于工作失误使得数据开发上线时出现数据报错的情况,提高了数据开发测试的准确率。
作为本申请的一个实施例,所述根据所述脚本任务对所述数据开发脚本进行上线测试,得到所述数据开发脚本的上线结果,包括:
根据所述脚本任务对获取所述数据开发脚本的上线环境及上线时间;
根据所述上线时间触发所述脚本任务,在所述上线环境中运行所述脚本任务,得到任务运行结果;
获取所述任务运行结果的运行时长,判断所述运行时长是否大于预设阈值;
当所述运行时长大于所述预设阈值,则触发预警机制,返回所述数据开发脚本的上线结果为上线失败,查找所述数据开发脚本的运行错误原因,根据所述运行错误原因修改所述数据开发脚本,得到修改数据脚本,直至所述修改数据脚本成功运行。
当所述运行时长不大于所述预设阈值,则确定所述数据开发脚本的上线结果为上线成功。
其中,上线环境可以为Linkdo上线环境,上线时间可以为2022.7.1_16.00,且上线时间可以通过new Date().getTime()函数获取,根据上线时间可以在开发者平台上触发脚本任务,以在Linkdo上线环境中运行脚本任务。
本申请一实施例中,所述运行时长可以通过
System.currentTimeMillis()函数获取。所述预设阈值可以为240min,当运行时长超过240min,触发预警机制,提示开发人员测试中断,数据开发脚本存在脚本语法问题,进一步查找数据开发脚本的debug,并且修改debug,得到修改数据脚本,重新生成修改数据脚本的脚本任务并运行,直至修改数据脚本成功运行。
本申请实施例中,通过判断所述运行时长是否大于预设阈值,能够确认上线测试能够完成,在运行时长大于预设阈值时,确认上线测试中断,并进行预警,能够实现在规定时间前完成上线测试,且在测试期间无需人力介入,若是上线测试异常,在超过规定时间之后,会将异常利用邮件发送至开发人员,无需人员介入,提高了数据开发测试的效率。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请实施例中,首先通过获取待测试的数据开发脚本,并判断数据开发脚本是否符合预设的存储条件,能够在数据开发测试前,保证数据开发脚本的合法性,便于提高后续数据开发的效率;其次,在脚本满足存储条件后,在本地环境中对数据开发脚本进行本地测试,得到本地测试结果,能够在数据开发测试之前,初步发现数据开发脚本存在的问题,便于提高后续数据开发测试的准确率;最后,通过配置数据开发脚本的运行任务,并据脚本任务对数据开发脚本进行上线测试,能够进一步提高数据开发测试的准确率,并实现测试自动化,减少了开发人员的介入,提高了数据开发测试的效率。因此本申请提出的数据开发测试方法可以提高数据开发测试的效率及准确率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图4,作为对上述图2所示方法的实现,本申请提供了一种数据开发测试装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例所述的数据开发测试装置400包括:获取模块401、判断模块402、本地测试模块403、配置模块404、测试模块405。其中:
获取模块401用于获取待测试的数据开发脚本;
判断模块402用于判断所述数据开发脚本是否符合预设的存储条件;
本地测试模块403用于当所述数据开发脚本满足预设的存储条件时,则在预设的本地环境中对所述数据开发脚本进行本地测试,得到本地测试结果;当所述数据开发脚本未满足预设的存储条件时,对所述数据开发脚本进行存储位置调整,直到所述数据开发脚本满足所述存储条件,则在所述本地环境中对所述数据开发脚本进行本地测试,得到本地测试结果;
配置模块404用于根据所述本地测试结果配置所述数据开发脚本的脚本任务;
测试模块405用于根据所述脚本任务对所述数据开发脚本进行上线测试,得到所述数据开发脚本的上线结果。
在本实施例中,关于各模块/单元的功能如下:
接收子模块,用于接收所述任务配置指令,响应所述指令,从所述本地测试结果中获取数据开发脚本的版本信息;
配置子模块,用于根据所述版本信息配置所述数据开发脚本的数据表、任务名称以及上游依赖,得到所述脚本任务。
本申请实施例中,首先通过获取待测试的数据开发脚本,并判断数据开发脚本是否符合预设的存储条件,能够在数据开发测试前,保证数据开发脚本的合法性,便于提高后续数据开发的效率;其次,在脚本满足存储条件后,在本地环境中对数据开发脚本进行本地测试,得到本地测试结果,能够在数据开发测试之前,初步发现数据开发脚本存在的问题,便于提高后续数据开发测试的准确率;最后,通过配置数据开发脚本的运行任务,并据脚本任务对数据开发脚本进行上线测试,能够进一步提高数据开发测试的准确率,并实现测试自动化,减少了开发人员的介入,提高了数据开发测试的效率。因此本申请提出的数据开发测试装置可以提高数据开发测试的效率及准确率。
所述设备5包括通过系统总线相互通信连接存储器51、处理器52、网络接口53。需要指出的是,图中仅示出了具有组件51-53的设备5,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器51至少包括一种类型的可读介质,所述可读介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或D数据开发测试存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器51可以是所述设备5的内部存储单元,例如该设备5的硬盘或内存。在另一些实施例中,所述存储器51也可以是所述设备5的外部存储设备,例如该设备5上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器51还可以既包括所述设备5的内部存储单元也包括其外部存储设备。本实施例中,所述存储器51通常用于存储安装于所述设备5的操作系统和各类应用软件,例如数据开发测试方法的计算机可读指令等。此外,所述存储器51还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器52在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器52通常用于控制所述设备5的总体操作。本实施例中,所述处理器52用于运行所述存储器51中存储的计算机可读指令或者处理数据,例如运行所述数据开发测试方法的计算机可读指令。
所述网络接口53可包括无线网络接口或有线网络接口,该网络接口53通常用于在所述设备5与其他电子设备之间建立通信连接。
本申请实施例中,首先通过获取待测试的数据开发脚本,并判断数据开发脚本是否符合预设的存储条件,能够在数据开发测试前,保证数据开发脚本的合法性,便于提高后续数据开发的效率;其次,在脚本满足存储条件后,在本地环境中对数据开发脚本进行本地测试,得到本地测试结果,能够在数据开发测试之前,初步发现数据开发脚本存在的问题,便于提高后续数据开发测试的准确率;最后,通过配置数据开发脚本的运行任务,并据脚本任务对数据开发脚本进行上线测试,能够进一步提高数据开发测试的准确率,并实现测试自动化,减少了开发人员的介入,提高了数据开发测试的效率。因此本申请提出的数据开发测试设备可以提高数据开发测试的效率及准确率。
本申请还提供了另一种实施方式,即提供一种计算机可读介质,所述计算机可读介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的数据开发测试方法的步骤。
本申请实施例中,首先通过获取待测试的数据开发脚本,并判断数据开发脚本是否符合预设的存储条件,能够在数据开发测试前,保证数据开发脚本的合法性,便于提高后续数据开发的效率;其次,在脚本满足存储条件后,在本地环境中对数据开发脚本进行本地测试,得到本地测试结果,能够在数据开发测试之前,初步发现数据开发脚本存在的问题,便于提高后续数据开发测试的准确率;最后,通过配置数据开发脚本的运行任务,并据脚本任务对数据开发脚本进行上线测试,能够进一步提高数据开发测试的准确率,并实现测试自动化,减少了开发人员的介入,提高了数据开发测试的效率。因此本申请提出的数据开发测试介质可以提高数据开发测试的效率及准确率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种数据开发测试方法,其特征在于,包括下述步骤:
获取待测试的数据开发脚本;
判断所述数据开发脚本是否符合预设的存储条件;
当所述数据开发脚本满足预设的存储条件时,则在预设的本地环境中对所述数据开发脚本进行本地测试,得到本地测试结果;
当所述数据开发脚本未满足预设的存储条件时,对所述数据开发脚本进行存储位置调整,直到所述数据开发脚本满足所述存储条件,则在所述本地环境中对所述数据开发脚本进行本地测试,得到本地测试结果;
根据所述本地测试结果配置所述数据开发脚本的脚本任务;
根据所述脚本任务对所述数据开发脚本进行上线测试,得到所述数据开发脚本的上线结果。
2.根据权利要求1所述的数据开发测试方法,其特征在于,所述在预设的本地环境中对所述数据开发脚本进行本地测试,得到本地测试结果,包括:
获取所述数据开发脚本的运行时间及运行任务;
据所述运行时间触发所述运行任务,得到所述数据开发脚本的本地运行结果;
将所述本地运行结果中的数据表与脚本逻辑分别与标准数据表与标准脚本逻辑进行对比;
当所述数据表与所述脚本逻辑都对比一致,则确定所述数据表及所述脚本逻辑为所述本地测试结果;
当所述数据表或所述脚本逻辑对比不一致,则修改不一致的数据表或脚本逻辑得到更新本地测试结果,将所述更新本地测试结果作为所述测试结果。
3.根据权利要求1所述的数据开发测试方法,其特征在于,所述根据所述本地测试结果配置所述数据开发脚本的脚本任务,包括:
接收所述任务配置指令,响应所述指令,从所述本地测试结果中获取数据开发脚本的版本信息;
根据所述版本信息配置所述数据开发脚本的数据表、任务名称以及上游依赖,得到所述脚本任务。
4.根据权利要求1所述的数据开发测试方法,其特征在于,所述根据所述脚本任务对所述数据开发脚本进行上线测试,得到所述数据开发脚本的上线结果,包括:
根据所述脚本任务对获取所述数据开发脚本的上线环境及上线时间;
根据所述上线时间触发所述脚本任务,在所述上线环境中运行所述脚本任务,得到任务运行结果;
获取所述任务运行结果的运行时长,判断所述运行时长是否大于预设阈值;
当所述运行时长大于所述预设阈值,则触发预警机制,返回所述数据开发脚本的上线结果为上线失败,查找所述数据开发脚本的运行错误原因,根据所述运行错误原因修改所述数据开发脚本,得到修改数据脚本,直至所述修改数据脚本成功运行。
5.根据权利要求1所述的数据开发测试方法,其特征在于,所述判断所述数据开发脚本是否符合预设的存储条件,包括:
判断预设的脚本库中是否存在所述数据开发脚本的同名脚本;
当所述脚本库中存在所述同名脚本时,检测所述数据开发脚本的存储目录与所述同名脚本的存储目录是否一致;
若所述存储目录一致,则确定所述数据开发脚本符合所述存储条件;
若所述存储目录不一致,则修改所述数据开发脚本的存储目录,并返回所述判断预设的脚本库中是否存在所述数据开发脚本的同名脚本的步骤,直至所述数据开发脚本符合所述存储条件,确定所述数据开发脚本符合所述存储条件;
当所述脚本库中不存在所述同名脚本时,确定所述数据开发脚本不符合所述存储条件。
6.根据权利要求5所述的数据开发测试方法,其特征在于,所述对所述数据开发脚本进行存储位置调整,包括:
在所述脚本库中创建新增数据脚本;
利用预设的存储规则检测所述新增数据脚本的存储目录是否正确;
当检测所述新增数据脚本的存储目录正确,则将所述新增数据脚本作为所述同名脚本,并确定所述数据开发脚本符合所述存储条件;
当检测所述新增数据脚本的存储目录不正确,则返回所述判断预设的脚本库中是否存在所述数据开发脚本的同名脚本的步骤,直至所述新增数据脚本符合所述存储条件。
7.一种数据开发测试装置,其特征在于,包括:
获取模块,用于获取待测试的数据开发脚本;
判断模块,用于判断所述数据开发脚本是否符合预设的存储条件;
本地测试模块,用于当所述数据开发脚本满足预设的存储条件时,则在预设的本地环境中对所述数据开发脚本进行本地测试,得到本地测试结果;当所述数据开发脚本未满足预设的存储条件时,对所述数据开发脚本进行存储位置调整,直到所述数据开发脚本满足所述存储条件,则在所述本地环境中对所述数据开发脚本进行本地测试,得到本地测试结果;
配置模块,用于根据所述本地测试结果配置所述数据开发脚本的脚本任务;
测试模块,用于根据所述脚本任务对所述数据开发脚本进行上线测试,得到所述数据开发脚本的上线结果。
8.根据权利要求7所述的数据开发测试装置,其特征在于,配置模块包括:
接收子模块,用于接收所述任务配置指令,响应所述指令,从所述本地测试结果中获取数据开发脚本的版本信息;
配置子模块,用于根据所述版本信息配置所述数据开发脚本的数据表、任务名称以及上游依赖,得到所述脚本任务。
9.一种设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至6中任一项所述的数据开发测试方法的步骤。
10.一种计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至6中任一项所述的数据开发测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310996478.3A CN116955201A (zh) | 2023-08-08 | 2023-08-08 | 数据开发测试方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310996478.3A CN116955201A (zh) | 2023-08-08 | 2023-08-08 | 数据开发测试方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116955201A true CN116955201A (zh) | 2023-10-27 |
Family
ID=88452962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310996478.3A Pending CN116955201A (zh) | 2023-08-08 | 2023-08-08 | 数据开发测试方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116955201A (zh) |
-
2023
- 2023-08-08 CN CN202310996478.3A patent/CN116955201A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427803B (zh) | 自动化随机测试方法、装置、计算机设备及介质 | |
CN109033772B (zh) | 一种验证信息的输入方法及装置 | |
CN110866258A (zh) | 快速定位漏洞方法、电子装置及存储介质 | |
US7783927B2 (en) | Intelligent processing tools | |
CN111367531B (zh) | 代码处理方法及装置 | |
CN107357721B (zh) | 测试系统的方法及装置 | |
CN112817935A (zh) | 基于字段类型的数据处理方法、装置、设备及存储介质 | |
CN115328759A (zh) | 表单的校验方法及装置 | |
CN112363814A (zh) | 任务调度方法、装置、计算机设备及存储介质 | |
CN117033249A (zh) | 一种测试用例生成方法、装置、计算机设备及存储介质 | |
CN114637672A (zh) | 自动化数据测试方法、装置、计算机设备及存储介质 | |
CN116955201A (zh) | 数据开发测试方法、装置、设备及介质 | |
CN113297028A (zh) | 一种脚本执行方法、装置、计算机设备及存储介质 | |
CN109697141B (zh) | 用于可视化测试的方法及装置 | |
CN113760696A (zh) | 一种程序问题定位方法、装置、电子设备和存储介质 | |
CN111475400A (zh) | 一种业务平台的验证方法及相关设备 | |
CN112650679B (zh) | 一种测试校验方法、装置及计算机系统 | |
CN116302847B (zh) | 异常信息的动态采集方法、装置、计算机设备及介质 | |
CN112699023B (zh) | 项目接口测试方法、装置、计算机设备及存储介质 | |
CN117827661A (zh) | 代码语法检查方法、系统、计算机设备及存储介质 | |
CN113961448A (zh) | 测试用例的校验方法、装置、设备和存储介质 | |
CN115878460A (zh) | 回归测试方法、装置、计算机设备及存储介质 | |
CN117112439A (zh) | 基于资源应用的脚本测试方法、装置、设备及介质 | |
CN117271321A (zh) | 业务自动化测试方法、系统、计算机设备及存储介质 | |
CN113448822A (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 |