CN115357478A - 一种接口数据的测试方法、装置以及处理设备 - Google Patents
一种接口数据的测试方法、装置以及处理设备 Download PDFInfo
- Publication number
- CN115357478A CN115357478A CN202210880410.4A CN202210880410A CN115357478A CN 115357478 A CN115357478 A CN 115357478A CN 202210880410 A CN202210880410 A CN 202210880410A CN 115357478 A CN115357478 A CN 115357478A
- Authority
- CN
- China
- Prior art keywords
- data
- interface data
- interface
- target
- testing
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 56
- 238000012360 testing method Methods 0.000 title claims abstract description 56
- 238000000034 method Methods 0.000 claims abstract description 58
- 239000000284 extract Substances 0.000 claims abstract description 8
- 238000004590 computer program Methods 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 230000005856 abnormality Effects 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 3
- 230000002159 abnormal effect Effects 0.000 abstract description 6
- 238000013522 software testing Methods 0.000 abstract description 5
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 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/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
-
- 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/362—Software debugging
- G06F11/366—Software debugging using diagnostics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种接口数据的测试方法、装置以及处理设备,用于在本地更为便捷地测试出接口数据是否存在异常,从而使得测试人员可以在软件测试环节中关注于其他方面的内容,在整体上大大减少了漏测风险,缩短测试周期,提高测试的效率以及准确性。本申请提供的接口数据的测试方法,包括:处理设备通过统计接口,从目标数据库提取第一接口数据;处理设备通过列表接口,采用与第一接口数据相同的查询条件,从目标数据库提取第二接口数据;处理设备将第二接口数据包含的不同表结构的数据内容,转化为标准表结构的数据内容,得到目标接口数据;处理设备将目标接口数据的内容与第一接口数据的内容进行比对,以确定第一接口数据是否存在数据异常问题。
Description
技术领域
本申请涉及数据接口领域,具体涉及一种接口数据的测试方法、装置以及处理设备。
背景技术
在软件项目中,本地的软件可以通过配置的统计接口,从服务器的数据库内拉取响应的接口数据,来为本地的软件服务提供相应的数据支持。
显然,从该统计接口返回的接口数据,对于本地软件服务的正常运行,是具有直接关系的,若出现异常,显然难以提供稳定或者无误的软件服务。
而在现有的相关技术的研究过程中,发明人发现,在本地软件的测试过程中,对于软件中统计接口返回的接口数据,其是经过开发人员的逻辑判断、过滤还有计算后展示在前端页面中的,而测试人员则无法从前端页面判断接口数据的正确性,在该情况下,现有的软件测试需要大量的测试人员来编写与MYSQL数据库相适配的大量SQL程序,对数据的多维度进行统计,以验证数据的正确性(了解统计逻辑后,需要测试人员了解各相关数据的表结构,理解开发编写的SQL程序,更要有一定编写SQL程序的能力,才能更好的去测试统计接口的数据准确性),此类方法工作量大,效率低,人工存在漏测风险且还无法保证测试的准确性,显然,现有对统计接口的接口数据的测试处理存在实用性较低的问题。
发明内容
本申请提供了一种接口数据的测试方法、装置以及处理设备,用于在本地更为便捷地测试出接口数据是否存在异常,从而使得测试人员可以在软件测试环节中关注于其他方面的内容,在整体上大大减少了漏测风险,缩短测试周期,提高测试的效率以及准确性。
第一方面,本申请提供了一种接口数据的测试方法,方法包括:
处理设备通过统计接口,从目标数据库提取第一接口数据;
处理设备通过列表接口,采用与第一接口数据相同的查询条件,从目标数据库提取第二接口数据;
处理设备将第二接口数据包含的不同表结构的数据内容,转化为标准表结构的数据内容,得到目标接口数据;
处理设备将目标接口数据的内容与第一接口数据的内容进行比对,以确定第一接口数据是否存在数据异常问题。
结合本申请第一方面,在本申请第一方面第一种可能的实现方式中,目标数据库为MYSQL数据库。
结合本申请第一方面,在本申请第一方面第二种可能的实现方式中,第二接口数据为JSON数据,处理设备将第二接口数据包含的不同表结构的数据内容,转化为标准表结构的数据内容,得到目标接口数据,包括:
处理设备通过编写的PYTHON程序,将第二接口数据包含的不同表结构的数据内容,转化为标准表结构的数据内容,得到目标接口数据。
结合本申请第一方面第二种可能的实现方式,在本申请第一方面第三种可能的实现方式中,目标数据库具体为存储订单数据的数据库。
结合本申请第一方面第三种可能的实现方式,在本申请第一方面第四种可能的实现方式中,JSON数据具体为多维JSON数据。
结合本申请第一方面第四种可能的实现方式,在本申请第一方面第五种可能的实现方式中,PYTHON程序包括以下处理内容:
通过python json.loads()方法将文件处理为字典;
遍历多维json数据中itemList部分,令itemList的值为i,获取第i个itemList数组中payPrice的value为k;
计算k的和,cou_k=k+cou_k,得到用于比对的订单总金额,计算循环次数,得到用于比对的订单总数;
判断第i个itemList数组中Status的value为j,
若j=1时为已完成订单,就把此次循环中itemList数组中payPrice的value,k插入至空列表list_1中;
计算list_1列表中所有元素的和,得到用于比对的已完成状态订单总金额;
使用len()方法计list_1元素个数,得到用于比对的已完成状态订单总数。
结合本申请第一方面第四种可能的实现方式,在本申请第一方面第六种可能的实现方式中,订单总金额、订单总数、已完成状态订单总金额和已完成状态订单总数,还通过不同的订单状态和订单所处时间段进行划分。
第二方面,本申请提供了一种接口数据的测试装置,装置包括:
提取单元,用于通过统计接口,从目标数据库提取第一接口数据;
提取单元,还用于通过列表接口,采用与第一接口数据相同的查询条件,从目标数据库提取第二接口数据;
转化单元,用于将第二接口数据包含的不同表结构的数据内容,转化为标准表结构的数据内容,得到目标接口数据;
比对单元,用于将目标接口数据的内容与第一接口数据的内容进行比对,以确定第一接口数据是否存在数据异常问题。
结合本申请第二方面,在本申请第二方面第一种可能的实现方式中,目标数据库为MYSQL数据库。
结合本申请第二方面,在本申请第二方面第二种可能的实现方式中,第二接口数据为JSON数据,转化单元,具体用于:
通过编写的PYTHON程序,将第二接口数据包含的不同表结构的数据内容,转化为标准表结构的数据内容,得到目标接口数据。
结合本申请第二方面第二种可能的实现方式,在本申请第二方面第三种可能的实现方式中,目标数据库具体为存储订单数据的数据库。
结合本申请第二方面第三种可能的实现方式,在本申请第二方面第四种可能的实现方式中,JSON数据具体为多维JSON数据。
结合本申请第二方面第四种可能的实现方式,在本申请第二方面第五种可能的实现方式中,PYTHON程序包括以下处理内容:
通过python json.loads()方法将文件处理为字典;
遍历多维json数据中itemList部分,令itemList的值为i,获取第i个itemList数组中payPrice的value为k;
计算k的和,cou_k=k+cou_k,得到用于比对的订单总金额,计算循环次数,得到用于比对的订单总数;
判断第i个itemList数组中Status的value为j,
若j=1时为已完成订单,就把此次循环中itemList数组中payPrice的value,k插入至空列表list_1中;
计算list_1列表中所有元素的和,得到用于比对的已完成状态订单总金额;
使用len()方法计list_1元素个数,得到用于比对的已完成状态订单总数。
结合本申请第二方面第四种可能的实现方式,在本申请第二方面第六种可能的实现方式中,订单总金额、订单总数、已完成状态订单总金额和已完成状态订单总数,还通过不同的订单状态和订单所处时间段进行划分。
第三方面,本申请提供了一种处理设备,包括处理器和存储器,存储器中存储有计算机程序,处理器调用存储器中的计算机程序时执行本申请第一方面或者本申请第一方面任一种可能的实现方式提供的方法。
第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行本申请第一方面或者本申请第一方面任一种可能的实现方式提供的方法。
从以上内容可得出,本申请具有以下的有益效果:
针对于统计接口拉取的接口数据的正确性,本申请在通过统计接口获取到第一接口数据后,还通过列表接口,以同样的查询条件,获取到第二接口数据,此时相比于第一接口数据为目标数据库侧已经整理好的数据,该第二接口数据此时以目标数据库中不同表结构的形式呈现,本申请则继续对其处理,转化为统一为标准表结构的数据内容,得到目标接口数据,此时再将该目标接口数据的内容与第一接口数据的内容进行比对,以确定第一接口数据是否存在数据异常问题,在该正确性校验机制下,测试人员无需编写与目标数据库原来不同表结构相适配的大量编程程序来获取接口数据的内容,如此可以方便地对数据的多维度进行统计并进行正确性的校验,更为便捷地测试出接口数据是否存在异常,从而使得测试人员可以在软件测试环节中关注于其他方面的内容,在整体上大大减少了漏测风险,缩短测试周期,提高测试的效率以及准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请接口数据的测试方法的一种流程示意图;
图2为本申请接口数据的测试装置的一种结构示意图;
图3为本申请处理设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
本申请中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
在介绍本申请提供的接口数据的测试方法之前,首先介绍本申请所涉及的背景内容。
本申请提供的接口数据的测试方法、装置以及计算机可读存储介质,可应用于处理设备,用于在本地更为便捷地测试出接口数据是否存在异常,从而使得测试人员可以在软件测试环节中关注于其他方面的内容,在整体上大大减少了漏测风险,缩短测试周期,提高测试的效率以及准确性。
本申请提及的接口数据的测试方法,其执行主体可以为接口数据的测试装置,或者集成了该接口数据的测试装置的服务器、物理主机或者用户设备(User Equipment,UE)等不同类型的处理设备。其中,接口数据的测试装置可以采用硬件或者软件的方式实现,UE具体可以为智能手机、平板电脑、笔记本电脑、台式电脑或者个人数字助理(PersonalDigital Assistant,PDA)等终端设备,处理设备可以通过设备集群的方式设置。
其中,可以理解的是,对于处理设备而言,其具体是随实际应用中软件测试的具体采用设备而配置的,一般的,可以采用推向市场后用户侧搭载软件客户端的设备。
下面,开始介绍本申请提供的接口数据的测试方法。
首先,参阅图1,图1示出了本申请接口数据的测试方法的一种流程示意图,本申请提供的接口数据的测试方法,具体可包括如下步骤S101至步骤S104:
步骤S101,处理设备通过统计接口,从目标数据库提取第一接口数据;
可以理解的是,此处通过统计接口从目标数据库获取、拉取或者说提取接口数据的处理,与现有技术类似,在此不展开具体赘述。
其中,对于本申请所涉及的目标数据库,可以为与本地软件相关的数据库,其涉及的应用服务、数据库类型等内容,可以随实际情况调整,本申请在此不做具体限定。
此外,对于该统计接口,可以为预先配置的通用接口,通过该接口所得到的接口数据,容易理解,为目标数据库侧基于其内部存储的相关数据所整理得到的,如此也就存在着该接口数据可能由于目标数据库侧执行的数据的整理处理而导致的异常统计结果,即可能存在错误,而这则会到本地软件的测试带来干扰,若能提前排查出来,显然则可将本地的软件测试工作聚焦于其他方面的测试内容上,加快了bug定位的速度及准确性,进而提高整体的测试精度还有测试效率。
步骤S102,处理设备通过列表接口,采用与第一接口数据相同的查询条件,从目标数据库提取第二接口数据;
需要理解的是,列表接口,为预先配置的、可以从目标数据库直接拉取数据库中所存储的数据,其中,这些数据是与前面通过统计接口拉取第一接口数据时采用相同的查询条件所得到的数据,区别点在于第一接口数据已经是目标数据库侧已经整理好的数据,而此处通过列表接口所获取的第二接口数据,则是目标数据库中存储的原始数据,仍是以在数据库中的不同表结构(可以包括不同数据库结构)呈现的。
步骤S103,处理设备将第二接口数据包含的不同表结构的数据内容,转化为标准表结构的数据内容,得到目标接口数据;
可以理解的是,本申请在利用列表接口拉取的接口数据来校验统计接口拉取的接口数据的正确性时,还可涉及到表结构的标准化处理,如此便于所有数据的集中比对。
其中,对于此处的标准表结构(可以包括不同数据库结构)的统一化处理,在实际应用中,作为一种适于实用的实现方式,具体可以通过与原编程语言不同的编程语言来完成,如此可以在不同编程语言之间的转化过程中,可以顺便将原编程语言中的不同表结构,顺便也转化为同一表结构,即现编程语言中配置的标准表结构。
以目标数据库为MYSQL数据库为例(基于结构化查询语言(Structured QueryLanguage,SQL)的数据库),通过列表接口从MYSQL数据库提取的第二接口数据具体可以为JSON数据(JS对象简谱(JavaScript Object Notation,JSON)格式的数据,JSON可以理解为一种轻量级的数据交换格式),而处理设备将第二接口数据包含的不同表结构的数据内容,转化为标准表结构的数据内容,得到目标接口数据的过程中,具体可以包括以下内容:
处理设备通过编写的PYTHON程序,将第二接口数据包含的不同表结构的数据内容,转化为标准表结构的数据内容,得到目标接口数据。
可以理解,此处具体采用了PYTHON语言来实现具体的表结构的转化及统一的处理。
此外,为方便理解,本申请对于此处的实现,还提供了一套具体的落地应用方案。
具体的,以目标数据库具体为存储订单数据的数据库为例,又以JSON数据具体为多维JSON数据为例,此处PYTHON程序具体可以包括以下处理内容:
通过python json.loads()方法将文件处理为字典;
遍历多维json数据中itemList部分,令itemList的值为i,获取第i个itemList数组中payPrice的value为k;
计算k的和,cou_k=k+cou_k,得到用于比对的订单总金额,计算循环次数,得到用于比对的订单总数;
判断第i个itemList数组中Status的value为j,
若j=1时为已完成订单,就把此次循环中itemList数组中payPrice的value,k插入至空列表list_1中;
计算list_1列表中所有元素的和,得到用于比对的已完成状态订单总金额;
使用len()方法计list_1元素个数,得到用于比对的已完成状态订单总数。
容易看到,对于订单数据库的多维JSON数据,本申请具体是聚焦于订单总金额、订单总数、已完成状态订单总金额还有已完成状态订单总数这四个数据元素的正确性校验。
如此,基于PYTHON的表结构的转化及统一处理,对于接口数据的正确性的校验而言,可以提高测试人员测试效率,测试人员无需了解数据库表结构,更无需编写复杂的统计SQL数据或者理解开发人员编写的SQL数据,即可通过在同一查询条件下,对订单列表接口的数据进行处理,用处理后的结果比对订单统计接口返回结果,从而测试订单统计接口数据的正确性。
其中,对于多维JSON数据,作为一组实例,其内容具体可以如下:
订单列表接口={"data":{"itemList":[{"id":2001,"status":1,"statusName":"已完成","payPrice":17},{"id":2002,"Status":2,"statusName":"未生效","payPrice":27},{"id":2003,"Status":3,"statusName":"生效中","payPrice":37}]},"errorCode":0,"success":true}。
订单统计接口={"data":{"itemList":[{"订单总数":24,"订单总金额":240},{"已完成订单总数":8,"已完成订单总金额":80},{"未生效订单总数":9,"未生效订单总金额":90},{"生效中订单总数":7,"生效中订单总金额":70}]},"errorCode":0,"success":true}。
此外,对于接口数据而言,本申请还可引入不同的数据类别来进行更为细腻的数据正确性的校验,举例而言,对于上述涉及的四个数据元素,即订单总金额、订单总数、已完成状态订单总金额和已完成状态订单总数,具体还可以通过不同的订单状态(可以随具体业务涉及的订单状态调整)和订单所处时间段(统计时间段)进行划分。
如此,针对不同时间段和/或不同订单状态的数据,在保持订单列表接口及订单统计接口查询条件一致的情况下,抓包获取订单列表接口的返回参数,执行代码,即可获取各查询条件下统计订单总金额、订单总数、已完成状态订单总金额和已完成状态订单总数。
步骤S104,处理设备将目标接口数据的内容与第一接口数据的内容进行比对,以确定第一接口数据是否存在数据异常问题。
在获得了统一了表结构的目标接口数据后,则可将其与第一接口数据进行内容的比对,理论上两者的实质内容应当是一致的,而若目标数据库侧整理、统计的第一接口数据存在错误的异常情况,显然,则会出现内容不一致的比对结果。
此时,则可以进行目标数据库侧的检修、维护;或者,绕过此次的异常接口数据,拉取新的接口数据,待确认了接口数据的正确性后,基于新的接口数据进行相关的本地软件的测试处理。
从图1所示实施例可看出,针对于统计接口拉取的接口数据的正确性,本申请在通过统计接口获取到第一接口数据后,还通过列表接口,以同样的查询条件,获取到第二接口数据,此时相比于第一接口数据为目标数据库侧已经整理好的数据,该第二接口数据此时以目标数据库中不同表结构的形式呈现,本申请则继续对其处理,转化为统一为标准表结构的数据内容,得到目标接口数据,此时再将该目标接口数据的内容与第一接口数据的内容进行比对,以确定第一接口数据是否存在数据异常问题,在该正确性校验机制下,测试人员无需编写与目标数据库原来不同表结构相适配的大量编程程序来获取接口数据的内容,如此可以方便地对数据的多维度进行统计并进行正确性的校验,更为便捷地测试出接口数据是否存在异常,从而使得测试人员可以在软件测试环节中关注于其他方面的内容,在整体上大大减少了漏测风险,缩短测试周期,提高测试的效率以及准确性。
以上是本申请提供接口数据的测试方法的介绍,为便于更好的实施本申请提供的接口数据的测试方法,本申请还从功能模块角度提供了一种接口数据的测试装置。
参阅图2,图2为本申请接口数据的测试装置的一种结构示意图,在本申请中,接口数据的测试装置200具体可包括如下结构:
提取单元201,用于通过统计接口,从目标数据库提取第一接口数据;
提取单元201,还用于通过列表接口,采用与第一接口数据相同的查询条件,从目标数据库提取第二接口数据;
转化单元202,用于将第二接口数据包含的不同表结构的数据内容,转化为标准表结构的数据内容,得到目标接口数据;
比对单元203,用于将目标接口数据的内容与第一接口数据的内容进行比对,以确定第一接口数据是否存在数据异常问题。
在又一种示例性的实现方式中,目标数据库为MYSQL数据库。
在又一种示例性的实现方式中,第二接口数据为JSON数据,转化单元202,具体用于:
通过编写的PYTHON程序,将第二接口数据包含的不同表结构的数据内容,转化为标准表结构的数据内容,得到目标接口数据。
在又一种示例性的实现方式中,目标数据库具体为存储订单数据的数据库。
在又一种示例性的实现方式中,JSON数据具体为多维JSON数据。
在又一种示例性的实现方式中,PYTHON程序包括以下处理内容:
通过python json.loads()方法将文件处理为字典;
遍历多维json数据中itemList部分,令itemList的值为i,获取第i个itemList数组中payPrice的value为k;
计算k的和,cou_k=k+cou_k,得到用于比对的订单总金额,计算循环次数,得到用于比对的订单总数;
判断第i个itemList数组中Status的value为j,
若j=1时为已完成订单,就把此次循环中itemList数组中payPrice的value,k插入至空列表list_1中;
计算list_1列表中所有元素的和,得到用于比对的已完成状态订单总金额;
使用len()方法计list_1元素个数,得到用于比对的已完成状态订单总数。
在又一种示例性的实现方式中,订单总金额、订单总数、已完成状态订单总金额和已完成状态订单总数,还通过不同的订单状态和订单所处时间段进行划分。
本申请还从硬件结构角度提供了一种处理设备,参阅图3,图3示出了本申请处理设备的一种结构示意图,具体的,本申请处理设备可包括处理器301、存储器302以及输入输出设备303,处理器301用于执行存储器302中存储的计算机程序时实现如图1对应实施例中接口数据的测试方法的各步骤;或者,处理器301用于执行存储器302中存储的计算机程序时实现如图2对应实施例中各单元的功能,存储器302用于存储处理器301执行上述图1对应实施例中接口数据的测试方法所需的计算机程序。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器302中,并由处理器301执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。
处理设备可包括,但不仅限于处理器301、存储器302、输入输出设备303。本领域技术人员可以理解,示意仅仅是处理设备的示例,并不构成对处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如处理设备还可以包括网络接入设备、总线等,处理器301、存储器302、输入输出设备303等通过总线相连。
处理器301可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是处理设备的控制中心,利用各种接口和线路连接整个设备的各个部分。
存储器302可用于存储计算机程序和/或模块,处理器301通过运行或执行存储在存储器302内的计算机程序和/或模块,以及调用存储在存储器302内的数据,实现计算机装置的各种功能。存储器302可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据处理设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器301用于执行存储器302中存储的计算机程序时,具体可实现以下功能:
通过统计接口,从目标数据库提取第一接口数据;
通过列表接口,采用与第一接口数据相同的查询条件,从目标数据库提取第二接口数据;
将第二接口数据包含的不同表结构的数据内容,转化为标准表结构的数据内容,得到目标接口数据;
将目标接口数据的内容与第一接口数据的内容进行比对,以确定第一接口数据是否存在数据异常问题。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的接口数据的测试装置、处理设备及其相应单元的具体工作过程,可以参考如图1对应实施例中接口数据的测试方法的说明,具体在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请如图1对应实施例中接口数据的测试方法的步骤,具体操作可参考如图1对应实施例中接口数据的测试方法的说明,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(Read Only Memory,ROM)、随机存取记忆体(Random Access Memory,RAM)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请如图1对应实施例中接口数据的测试方法的步骤,因此,可以实现本申请如图1对应实施例中接口数据的测试方法所能实现的有益效果,详见前面的说明,在此不再赘述。
以上对本申请提供的接口数据的测试方法、装置、处理设备以及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种接口数据的测试方法,其特征在于,所述方法包括:
处理设备通过统计接口,从目标数据库提取第一接口数据;
所述处理设备通过列表接口,采用与所述第一接口数据相同的查询条件,从所述目标数据库提取第二接口数据;
所述处理设备将所述第二接口数据包含的不同表结构的数据内容,转化为标准表结构的数据内容,得到目标接口数据;
所述处理设备将所述目标接口数据的内容与所述第一接口数据的内容进行比对,以确定所述第一接口数据是否存在数据异常问题。
2.根据权利要求1所述的方法,其特征在于,所述目标数据库为MYSQL数据库。
3.根据权利要求1所述的方法,其特征在于,所述第二接口数据为JSON数据,所述处理设备将所述第二接口数据包含的不同表结构的数据内容,转化为标准表结构的数据内容,得到目标接口数据,包括:
所述处理设备通过编写的PYTHON程序,将所述第二接口数据包含的不同表结构的数据内容,转化为所述标准表结构的数据内容,得到所述目标接口数据。
4.根据权利要求3所述的方法,其特征在于,所述目标数据库具体为存储订单数据的数据库。
5.根据权利要求4所述的方法,其特征在于,所述JSON数据具体为多维JSON数据。
6.根据权利要求5所述的方法,其特征在于,所述PYTHON程序包括以下处理内容:
通过python json.loads()方法将文件处理为字典;
遍历多维json数据中itemList部分,令itemList的值为i,获取第i个itemList数组中payPrice的value为k;
计算k的和,cou_k=k+cou_k,得到用于比对的订单总金额,计算循环次数,得到用于比对的订单总数;
判断第i个itemList数组中Status的value为j,
若j=1时为已完成订单,就把此次循环中itemList数组中payPrice的value,k插入至空列表list_1中;
计算list_1列表中所有元素的和,得到用于比对的已完成状态订单总金额;
使用len()方法计list_1元素个数,得到用于比对的已完成状态订单总数。
7.根据权利要求5所述的方法,其特征在于,所述订单总金额、订单总数、已完成状态订单总金额和所述已完成状态订单总数,还通过不同的订单状态和订单所处时间段进行划分。
8.一种接口数据的测试装置,其特征在于,所述装置包括:
提取单元,用于通过统计接口,从目标数据库提取第一接口数据;
所述提取单元,还用于通过列表接口,采用与所述第一接口数据相同的查询条件,从所述目标数据库提取第二接口数据;
转化单元,用于将所述第二接口数据包含的不同表结构的数据内容,转化为标准表结构的数据内容,得到目标接口数据;
比对单元,用于将所述目标接口数据的内容与所述第一接口数据的内容进行比对,以确定所述第一接口数据是否存在数据异常问题。
9.一种处理设备,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210880410.4A CN115357478A (zh) | 2022-07-25 | 2022-07-25 | 一种接口数据的测试方法、装置以及处理设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210880410.4A CN115357478A (zh) | 2022-07-25 | 2022-07-25 | 一种接口数据的测试方法、装置以及处理设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115357478A true CN115357478A (zh) | 2022-11-18 |
Family
ID=84031578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210880410.4A Pending CN115357478A (zh) | 2022-07-25 | 2022-07-25 | 一种接口数据的测试方法、装置以及处理设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115357478A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105373469A (zh) * | 2014-08-25 | 2016-03-02 | 广东金赋信息科技有限公司 | 一种基于接口的软件自动化测试方法 |
CN110245166A (zh) * | 2019-05-21 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 数据核对方法及装置 |
CN110908892A (zh) * | 2019-09-18 | 2020-03-24 | 泰康保险集团股份有限公司 | 接口数据测试方法、装置及可读存储介质 |
CN110990250A (zh) * | 2019-10-12 | 2020-04-10 | 平安医疗健康管理股份有限公司 | 接口测试方法、装置、设备及存储介质 |
CN111104421A (zh) * | 2019-12-31 | 2020-05-05 | 新奥数能科技有限公司 | 一种基于数据接口标准配置的数据查询方法及装置 |
CN112486810A (zh) * | 2020-11-25 | 2021-03-12 | 上海中通吉网络技术有限公司 | 一种Jmeter平台的接口验证方法、系统、计算机和存储介质 |
CN113222408A (zh) * | 2021-05-12 | 2021-08-06 | 康键信息技术(深圳)有限公司 | 在线问诊业务监控方法、装置、设备及存储介质 |
CN114253848A (zh) * | 2021-12-17 | 2022-03-29 | 瀚云科技有限公司 | 一种参数化接口测试方法、装置、电子设备及存储介质 |
CN114416441A (zh) * | 2021-12-06 | 2022-04-29 | 浙江中控技术股份有限公司 | 实时数据库自动化测试方法、系统、电子设备及存储介质 |
CN114428716A (zh) * | 2021-12-02 | 2022-05-03 | 浙江中控技术股份有限公司 | 实时数据库能力的测试方法、系统、电子设备及存储介质 |
-
2022
- 2022-07-25 CN CN202210880410.4A patent/CN115357478A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105373469A (zh) * | 2014-08-25 | 2016-03-02 | 广东金赋信息科技有限公司 | 一种基于接口的软件自动化测试方法 |
CN110245166A (zh) * | 2019-05-21 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 数据核对方法及装置 |
CN110908892A (zh) * | 2019-09-18 | 2020-03-24 | 泰康保险集团股份有限公司 | 接口数据测试方法、装置及可读存储介质 |
CN110990250A (zh) * | 2019-10-12 | 2020-04-10 | 平安医疗健康管理股份有限公司 | 接口测试方法、装置、设备及存储介质 |
CN111104421A (zh) * | 2019-12-31 | 2020-05-05 | 新奥数能科技有限公司 | 一种基于数据接口标准配置的数据查询方法及装置 |
CN112486810A (zh) * | 2020-11-25 | 2021-03-12 | 上海中通吉网络技术有限公司 | 一种Jmeter平台的接口验证方法、系统、计算机和存储介质 |
CN113222408A (zh) * | 2021-05-12 | 2021-08-06 | 康键信息技术(深圳)有限公司 | 在线问诊业务监控方法、装置、设备及存储介质 |
CN114428716A (zh) * | 2021-12-02 | 2022-05-03 | 浙江中控技术股份有限公司 | 实时数据库能力的测试方法、系统、电子设备及存储介质 |
CN114416441A (zh) * | 2021-12-06 | 2022-04-29 | 浙江中控技术股份有限公司 | 实时数据库自动化测试方法、系统、电子设备及存储介质 |
CN114253848A (zh) * | 2021-12-17 | 2022-03-29 | 瀚云科技有限公司 | 一种参数化接口测试方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
WADE_WHL: "python 读取多个含嵌套的json文件 并统计其中关键字的数量", pages 1 - 4, Retrieved from the Internet <URL:《https://blog.csdn.net/Wadewhl/article/details/113258824》> * |
我是丸子丫: "实战问题总结 | Python比对接口返回数据和数据库所存数据是否一致", pages 1 - 7, Retrieved from the Internet <URL:《https://blog.csdn.net/HealerLX/article/details/123907419》> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8626702B2 (en) | Method and system for validation of data extraction | |
CN109062780B (zh) | 自动化测试用例的开发方法及终端设备 | |
CN111104421A (zh) | 一种基于数据接口标准配置的数据查询方法及装置 | |
CN110362617B (zh) | 基于多并发技术从数据库快速导出批量数据方法和系统 | |
CN110795697A (zh) | 逻辑表达式的获取方法、装置、存储介质以及电子装置 | |
CN109918221B (zh) | 一种硬盘报错解析方法、系统、终端及存储介质 | |
CN111352997A (zh) | 一种测试环境校验方法及系统 | |
CN111209736A (zh) | 文本文件解析方法、装置、计算机设备及存储介质 | |
CN111767213B (zh) | 数据库检查点的测试方法、装置、电子设备及存储介质 | |
CN116775575A (zh) | 一种文件合并方法、装置、电子设备及存储介质 | |
CN115357478A (zh) | 一种接口数据的测试方法、装置以及处理设备 | |
CN110019501A (zh) | 一种数据采集方法、装置及终端设备 | |
CN109542890B (zh) | 数据修改方法、装置、计算机设备及存储介质 | |
CN116594887A (zh) | 一种基于cfd软件的自动化测试方法及系统 | |
US11372633B2 (en) | Method, device and terminal apparatus for code execution and computer readable storage medium | |
CN116048981A (zh) | 一种后端接口测试用例设计方法、装置、介质及设备 | |
CN113448867B (zh) | 一种软件压力测试方法及装置 | |
CN109324963A (zh) | 自动测试收益结果的方法及终端设备 | |
CN111143156B (zh) | 大数据平台垃圾任务采集系统、方法及计算机系统 | |
US11188508B1 (en) | High-performance learning-ready platform for real-time analytics | |
CN109920466B (zh) | 一种硬盘测试数据解析方法、装置、终端及存储介质 | |
CN112910950B (zh) | 一种待上链数据的上链方法、装置以及区块链节点设备 | |
CN117743145A (zh) | 一种基于编码模板的测试脚本生成方法、装置及处理设备 | |
CN116795725B (zh) | 一种临床电子数据采集系统的自动验库方法和系统 | |
CN112347095B (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 |