CN113297078A - Mock系统与基于mock系统的数据测试方法 - Google Patents
Mock系统与基于mock系统的数据测试方法 Download PDFInfo
- Publication number
- CN113297078A CN113297078A CN202110567307.XA CN202110567307A CN113297078A CN 113297078 A CN113297078 A CN 113297078A CN 202110567307 A CN202110567307 A CN 202110567307A CN 113297078 A CN113297078 A CN 113297078A
- Authority
- CN
- China
- Prior art keywords
- server
- mock
- interface
- target
- data
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 159
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 16
- 230000004044 response Effects 0.000 description 8
- 238000012795 verification Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000004091 panning Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012800 visualization 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
本发明公开了一种MOCK系统,包括:第一服务器,用于接收前端发送的测试数据的查询请求,并将所述查询请求发送给调用服务器;所述调用服务器,用于接收所述查询请求,根据所述查询请求调用查询接口,并将所述测试数据发送给查询接口,以使所述查询接口根据所述测试数据查询所述测试数据对应的历史目标日志;日志服务器,用于获取所述历史目标日志,并根据预设的规则对所述历史目标日志进行处理,得到所述测试数据对应的目标接口数据;MOCK服务器,用于获取所述目标接口数据,并对所述目标接口数据进行MOCK处理,得到目标MOCK接口;第二服务器,用于根据所述目标MOCK接口和所述测试数据进行MOCK测试,得到测试结果。本发明实施例提高了接口测试的效率。
Description
技术领域
本发明实施例涉及数据测试技术领域,尤其涉及一种MOCK系统与基于MOCK系统的数据测试方法。
背景技术
前后端分离的研发模式下,前后端开发人员共同约定每个接口的请求及响应信息,然后各自独立开发,最后基于前端工程环境的本地请求代理进行功能联调。前端工程环境针对资源请求与接口请求进行分流管理,资源请求访问本地,接口请求发往联调目标服务器,形成了前后端跨环境、跨设备的联调体验,相比后端驱动的联调模式要高效。目前行业内对于前端页面实现联调时:若使用纯静态文件服务器进行联调,前端使用的接口的JSON静态文件,只需要通过修改静态JSON文件来模拟后端数据返回,这种联调方式非常不灵活,没有任何可视化,无法团队协助维护。
基于上述问题,可以通过开源的mock.js搭建MOCK服务器进行克服,在此方法中使用了mongodb数据库来存放数据,有一定的可视化界面展示,并且提供动态逻辑脚本语法,支持根据不同入参返回不同数据。但是,此方式的缺点也比较明显:无法关联上下流接口,单纯靠mock数据里写JS逻辑代码来控制返回;单个接口数据情况较多时,数据会非常冗余,维护成本很高;时间较长后,如果后端接口变动,之前的数据需要全部重新梳理,精力耗费巨大。
发明内容
有鉴于此,本发明实施例的目的是提供一种MOCK系统与基于MOCK系统的数据测试方法,减少了接口数据的冗余,提高了接口测试的效率。
为实现上述目的,本发明实施例提供了一种MOCK系统,包括:
第一服务器,用于接收前端发送的测试数据的查询请求,并将所述查询请求发送给调用服务器;
所述调用服务器,用于接收所述第一服务器发送的查询请求,根据所述查询请求调用日志服务器的查询接口,并将所述测试数据发送给查询接口,以使所述查询接口根据所述测试数据查询所述测试数据对应的历史目标日志;
所述日志服务器,用于接收所述查询接口传输的所述测试数据,基于所述测试数据获取所述历史目标日志,并根据预设的规则对所述历史目标日志进行处理,得到所述测试数据对应的目标接口数据;
MOCK服务器,用于获取所述目标接口数据,并对所述目标接口数据进行MOCK处理,得到目标MOCK接口;
第二服务器,用于根据所述目标MOCK接口和所述测试数据进行MOCK测试,得到测试结果。
进一步地,所述日志服务器还用于:
获取所述测试数据中的目标场景参数;
通过所述查询接口查询包括有所述目标场景参数的候选历史日志。
进一步地,所述日志服务器还用于:
计算每个包括有所述目标场景参数的候选历史日志与所述目标场景数据的相似度值;
获取相似度值大于预设阈值的候选历史日志作为历史目标日志。
进一步地,所述日志服务器还用于:
当所述历史目标日志为多个时,将多个所述历史目标日志分别根据预设的规则进行处理,得到多个接口数据;
将多个所述接口数据发送给所述第一服务器,以使所述第一服务器将多个所述接口数据传输给前端进行页面展示。
进一步地,所述第一服务器还用于:
接收所述前端选中的接口数据作为所述目标接口数据;
将所述目标接口数据发送给所述MOCK服务器,以通过所述MOCK服务器进行MOCK处理,得到目标MOCK接口。
进一步地,所述日志服务器还用于:
建立日志数据库,将所述历史目标日志存储于所述日志数据库中。
进一步地,所述MOCK服务器还用于:
建立MOCK数据库,所述MOCK数据库用于存放所述目标MOCK接口对应的目标接口数据;
将所述MOCK数据库与所述日志数据库相关联,其中,所述目标接口数据与所述历史目标日志相对应。
进一步地,所述MOCK服务器还用于:
获取多个历史日志,并对多个历史日志进行处理得到历史接口数据,将所述历史接口数据存储于所述MOCK数据库中。
进一步地,所述MOCK服务器还用于:
接收所述第一服务器发送的对所述历史数据库的更新指令;
根据所述更新指令对所述MOCK数据库中的接口数据进行更新。
为实现上述目的,本发明实施例提供了一种基于MOCK系统的数据测试方法,所述MOCK系统包括第一服务器、调用服务器、日志服务器、MOCK服务器和第二服务器,所述方法包括:
所述第一服务器接收前端发送的测试数据的查询请求,并将所述查询请求发送给所述调用服务器;
所述调用服务器接收所述第一服务器发送的查询请求,根据所述查询请求调用所述日志服务器查询接口,并将所述测试数据发送给查询接口,以使所述查询接口根据所述测试数据查询所述测试数据对应的历史目标日志;
所述日志服务器接收所述查询接口传输的所述测试数据,基于所述测试数据获取所述历史目标日志,并根据预设的规则对所述历史目标日志进行处理,得到所述测试数据对应的目标接口数据;
所述MOCK服务器获取所述目标接口数据,并对所述目标接口数据进行MOCK处理,得到目标MOCK接口;
所述第二服务器根据所述目标MOCK接口和所述测试数据进行MOCK测试,得到测试结果。
本发明实施例提供的MOCK系统与基于MOCK系统的数据测试方法,通过查询请求获取测试数据对应的历史日志,根据历史日志实时采集测试数据对应的历史日志,用以将该历史日志进行预设规则的处理,得到接口数据,再将接口数据通过MOCK服务器进行MOCK处理,可以得到第二服务器对应的MOCK接口,最后通过第二服务器对MOCK接口与测试数据进行测试,完成测试操作,提高了数据测试的效率。
附图说明
图1为本发明MOCK系统实施例一的流程图。
图2为本发明基于MOCK系统的数据测试方法实施例三的程序模块示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
请继续参阅图1,示出了本发明MOCK系统实施例一的程序模块示意图。在本实施例中,所述MOCK系统10可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述所述MOCK系统10在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
第一服务器100,用于接收前端发送的测试数据的查询请求,并将所述查询请求发送给调用服务器。
在示例性的实施例中,通过第一服务器的前端页面接收需要进行模拟测试的测试数据,测试数据可以为网址,例如淘宝订单请求网址,目标场景参数为淘宝订单。前端根据测试数据生成查询请求,以使第一服务器100通过查询请求查询出该测试数据对应的历史日志。
所述调用服务器120,用于接收所述第一服务器发送的查询请求,根据所述查询请求调用查询接口,并将所述测试数据发送给查询接口,以使所述查询接口根据所述测试数据查询所述测试数据对应的历史目标日志。
在示例性的实施例中,调用服务器为nginx代理服务器,nginx代理服务器与日志服务器连接,日志服务器中存储有与多个接口测试相关联的日志数据,nginx代理服务器可以调用ELK框架的elasticsearch搜索引擎的查询接口,ELK框架与日志服务器关联,以通过elasticsearch搜索引擎的查询接口从日志服务器查询测试数据对应的历史日志。elasticsearch搜索引擎提供了一个分布式多用户能力的全文搜索引擎,可以分析与搜索大量的数据。elasticsearch搜索引擎从日志文件中获取历史日志,通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。可以通过elasticsearch搜索引擎将分值最高的历史日志进行反馈。ELK是Elasticsearch、LogStash以及Kibana的简称,提供收集、分析、过滤日志,并且能够实时全文搜索和分析的引擎,最终通过Kibana实现WEB图像化界面高的地方展示。日志采集通过ryslog日志采集工具,日志数据库中的历史日志数据通过ryslog日志采集工具进行采集,采集系统日志,不产生日志,日志采集规则:日志类型,日志级别,放置文件的具体路径,可以为固定目录日志。
示例性地,所述调用服务器120还用于:
获取所述查询请求中的用户信息,所述用户信息包括用户名与用户密码;对所述用户信息进行安全校验,当所述用户信息通过安全校验时,调用所述查询接口。
在示例性的实施例中,在调用查询接口之前,通过nginx代理服务器将测试数据通过HTTP协议进行封装,并发送给nodejs服务器,以通过nodejs服务器对测试数据进行判断与校验,判断测试数据对应的用户账号的登陆状态以及校验用户账号的安全性。当校验通过时,调用elasticsearch的查询接口根据测试数据进行日志查询。nodejs服务器可以处理高并发状态下的查询请求,并对查询请求做出响应,便于后续快速查询日志数据。
日志服务器140,用于获取所述历史目标日志,并根据预设的规则对所述历史目标日志进行处理,得到所述测试数据对应的目标接口数据。
在示例性的实施例中,通过日志采集服务器分析测试数据中的接口参数,测试数据中包括需要进行测试的接口参数,根据接口参数采集与接口参数相关的历史日志,历史日志中记录了已经进行相关测试的数据或者已经真实完成数据处理过程的历史数据,比如说历史交易数据,基于交易请求调用一系列支付接口的过程的数据。预设规则为格式化处理规则,对历史日志进行格式化处理,得到多个目标接口数据,目标接口数据可以用于构建目标MOCK接口。历史日志中存储有测试请求调用各个接口进行数据存储或者数据流转等过程,该数据可以为订单数据等;格式化处理为去掉历史日志中的其他数据,例如,订单时间等,只留下被调用接口的接口参数,被调用接口为目标接口,接口参数为目标接口数据,包括请求头(header)、请求体(body)等接口参数。
MOCK服务器160,用于获取所述目标接口数据,并对所述目标接口数据进行MOCK处理,得到目标MOCK接口。
在示例性的实施例中,通过MOCK服务器对目标接口数据进行MOCK处理,MOCK处理为模拟处理,为根据目标接口数据模拟出用于进行测试的测试接口,即MOCK接口。目标MOCK接口可以根据测试数据反馈对应的响应数据。MOCK服务器160是高效、易用、功能强大的api管理平台,旨在为开发、产品、测试人员提供更便捷的接口管理服务。
示例性地,所述日志服务器140还用于:
建立日志数据库,将所述历史目标日志存储于所述日志数据库中。可以直接从历史数据库中查询对应的日志,节省查询时间。
示例性地,所述MOCK服务器160还用于:
建立MOCK数据库,所述MOCK数据库用于存放所述目标MOCK接口对应的目标接口数据;将所述MOCK数据库与所述日志数据库相关联,其中,所述目标接口数据与所述历史目标日志相对应。将MOCK数据库与日志数据库相关联,进一步将接口数据与该接口数据对应的历史日志关联,便于对日志的快速查询。
示例性地,所述MOCK服务器160还用于:
获取多个历史日志,并对多个历史日志进行处理得到历史接口数据,将所述历史接口数据存储于所述MOCK数据库中。
在示例性的实施例中,历史接口数据为将历史日志进行格式化处理后得到的,将多个历史接口数据存储在MOCK数据库中,当再次进行接口测试时,可以预先在日志数据库的历史日志中找到与接口测试最相近的测试场景,即历史日志;MOCK服务器可以直接获取到与该历史日志相关联的接口数据,进行接口MOCK和MOCK测试,便于进行相同测试时直接获取,节省测试时间。
示例性地,还将每个历史请求与对应的接口数据进行关联,将关联后的接口数据存储至预先建立的MOCK数据库中。当对测试数据进行测试时,根据测试数据在数据库中查询与测试数据相关联的历史请求,若数据库中没有,则直接去日志文件中进行查询。也可先去日志文件中进行查询,再去数据库中进行查询。
示例性地,所述MOCK服务器160还用于:
接收所述第一服务器发送的对所述历史数据库的更新指令;根据所述更新指令对所述MOCK数据库中的接口数据进行更新。
在示例性的实施例中,当需要将MOCK数据库中没出现的接口数据进行存储时,生成更新指令,将更新的接口数据存储到MOCK数据库中。当MOCK数据库中的某个接口数据的接口参数发生变化时,生成更新指令,对该接口数据进行更新。
第二服务器180,用于根据所述目标MOCK接口和所述测试数据进行MOCK测试,得到测试结果。
在示例性的实施例中,MOCK测试就是在测试过程中,对于第二服务器的接口,用一个虚拟的对象来创建以便测试的测试方法。通过MOCK好的第二服务器的MOCK接口与第一服务器的前端接口进行连接,完成前后端的联调,得到测试结果,前后端联调效率大大提升,前端不再依赖后端真实接口联调开发。目标MOCK接口可以根据测试数据反馈对应的响应数据,测试结果为响应数据,根据测试结果与预期结果进行对比,可以对接口数据进行修改。
实施例二
在本实施例中,所述MOCK系统10还可以具有以下功能:
示例性地,所述日志服务器140还用于:
获取所述测试数据中的目标场景参数;通过所述查询接口查询包括有所述目标场景参数的候选历史日志。计算每个包括有所述目标场景参数的候选历史日志与所述目标场景数据的相似度值;获取相似度值大于预设阈值的候选历史日志作为历史目标日志。当所述历史目标日志为多个时,将多个所述历史目标日志分别根据预设的规则进行处理,得到多个接口数据;将多个所述接口数据发送给所述第一服务器,以使所述第一服务器将多个所述接口数据传输给前端进行页面展示。
在示例性的实施例中,当日志服务器10通过查询接口对应的搜索引擎查询到的历史日志有多个符合查询请求且大于预设阈值时,则将查询到的接口数据返回给nginx调用服务器,nginx调用服务器通过http协议再透传给第一服务器的前端,让用户进行选择,以使前端将最合适的接口数据发送给MOCK框架进行MOCK,得到MOCK接口。并将该最合适的接口数据以及接口数据对应的历史日志进行存储,便于下次进行相同测试时直接获取,节省测试时间。
示例性地,所述第一服务器100还用于:
接收所述日志服务器传输的多个所述接口数据;将多个所述接口数据传输给前端进行页面展示。
在示例性的实施例中,当查询到的接口数据有多个时,将多个接口数据发送给页面进行选择。接口数据为接口的参数,根据接口数据可以模拟出接口。前端界面提供实时查询筛选导入数据功能,可以实时从数据库中查询指定条件的一条或多条的接口数据,并将符合指定条件的接口数据筛选导入到页面上,便于用户进行接口数据的选择。
示例性地,所述第一服务器100还用于:
接收所述前端选中的接口数据作为所述目标接口数据;将所述目标接口数据发送给所述MOCK服务器。
在示例性的实施例中,当数据库中存在有符合查询请求的目标接口数据时,可以直接将目标接口数据发送给MOCK服务器进行接口mock(模拟),以使测试服务器根据mock好的接口与测试数据进行接口测试。
实施例三
参阅图2,示出了本发明实施例三之基于MOCK系统的数据测试方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。所述MOCK系统包括第一服务器、调用服务器、日志服务器、MOCK服务器和第二服务器,下面进行示例性描述。具体如下。
步骤S200,所述第一服务器接收前端发送的测试数据的查询请求,并将所述查询请求发送给所述调用服务器。
在示例性的实施例中,通过第一服务器的前端页面接收需要进行模拟测试的测试数据,测试数据可以为网址,例如淘宝订单请求网址,目标场景参数为淘宝订单。前端根据测试数据生成查询请求,以使第一服务器通过查询请求查询出该测试数据对应的历史日志。
步骤S220,所述调用服务器接收所述第一服务器发送的查询请求,根据所述查询请求调用查询接口,并将所述测试数据发送给查询接口,以使所述查询接口根据所述测试数据查询所述测试数据对应的历史目标日志。
在示例性的实施例中,调用服务器为nginx代理服务器,nginx代理服务器与日志服务器连接,日志服务器中存储有与多个接口测试相关联的日志数据,nginx代理服务器可以调用ELK框架的elasticsearch搜索引擎的查询接口,ELK框架与日志服务器关联,以通过elasticsearch搜索引擎的查询接口从日志服务器查询测试数据对应的历史日志。elasticsearch搜索引擎提供了一个分布式多用户能力的全文搜索引擎,可以分析与搜索大量的数据。elasticsearch搜索引擎从日志文件中获取历史日志,通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。可以通过elasticsearch搜索引擎将分值最高的历史日志进行反馈。ELK是Elasticsearch、LogStash以及Kibana的简称,提供收集、分析、过滤日志,并且能够实时全文搜索和分析的引擎,最终通过Kibana实现WEB图像化界面高的地方展示。日志采集通过ryslog日志采集工具,日志数据库中的历史日志数据通过ryslog日志采集工具进行采集,采集系统日志,不产生日志,日志采集规则:日志类型,日志级别,放置文件的具体路径,可以为固定目录日志。
示例性地,所述步骤S220还包括:
所述调用服务器获取所述查询请求中的用户信息,所述用户信息包括用户名与用户密码;所述调用服务器对所述用户信息进行安全校验,当所述用户信息通过安全校验时,调用所述查询接口。
在示例性的实施例中,在调用查询接口之前,通过nginx代理服务器将测试数据通过HTTP协议进行封装,并发送给nodejs服务器,以通过nodejs服务器对测试数据进行判断与校验,判断测试数据对应的用户账号的登陆状态以及校验用户账号的安全性。当校验通过时,调用elasticsearch的查询接口根据测试数据进行日志查询。nodejs服务器可以处理高并发状态下的查询请求,并对查询请求做出响应,便于后续快速查询日志数据。
步骤S240,所述日志服务器获取所述历史目标日志,并根据预设的规则对所述历史目标日志进行处理,得到所述测试数据对应的目标接口数据。
在示例性的实施例中,通过日志采集服务器分析测试数据中的接口参数,测试数据中包括需要进行测试的接口参数,根据接口参数采集与接口参数相关的历史日志,历史日志中记录了已经进行相关测试的数据或者已经真实完成数据处理过程的历史数据,比如说历史交易数据,基于交易请求调用一系列支付接口的过程的数据。预设规则为格式化处理规则,对历史日志进行格式化处理,得到多个目标接口数据,目标接口数据可以用于构建目标MOCK接口。历史日志中存储有测试请求调用各个接口进行数据存储或者数据流转等过程,该数据可以为订单数据等;格式化处理为去掉历史日志中的其他数据,例如,订单数据等,只留下被调用接口的接口参数,被调用接口为目标接口,接口参数为目标接口数据,包括请求头(header)、请求体(body)等接口参数。
示例性地,所述步骤S240还包括:
所述日志服务器当接收到的所述历史目标日志为多个时,将多个所述历史目标日志分别根据预设的规则进行处理,得到多个接口数据;所述日志服务器将多个所述接口数据发送给所述第一服务器。
在示例性的实施例中,当查询到的接口数据有多个符合查询请求,则将查询到的接口数据发送给第一服务器,以使第一服务器进行前端页面的展示,让用户进行选择,选择最合适的发送给MOCK服务器进行接口mock。并将该最合适的接口数据以及接口数据对应的历史日志进行存储,便于下次进行相同测试时直接获取,节省测试时间。
步骤S260,所述MOCK服务器获取所述目标接口数据,并对所述目标接口数据进行MOCK处理,得到目标MOCK接口。
在示例性的实施例中,通过MOCK服务器对目标接口数据进行MOCK处理,MOCK处理为模拟处理,为根据目标接口数据模拟出用于进行测试的测试接口,即MOCK接口。目标MOCK接口可以根据测试数据反馈对应的响应数据。MOCK服务器是高效、易用、功能强大的api管理平台,旨在为开发、产品、测试人员提供更便捷的接口管理服务。
示例性地,所述步骤S260还包括:
所述MOCK服务器建立MOCK数据库,所述MOCK数据库用于存放所述目标MOCK接口对应的目标接口数据;将所述MOCK数据库与所述日志数据库相关联,其中,所述目标接口数据与所述历史目标日志相对应。将MOCK数据库与日志数据库相关联,进一步将接口数据与该接口数据对应的历史日志关联,便于对日志的快速查询。
示例性地,所述步骤S260还包括:
所述MOCK服务器获取多个历史日志,并对多个历史日志进行处理得到历史接口数据,将所述历史接口数据存储于所述MOCK数据库中。
在示例性的实施例中,历史接口数据为将历史日志进行格式化处理后得到的,将多个历史接口数据存储在MOCK数据库中,当再次进行接口测试时,可以预先在日志数据库的历史日志中找到与接口测试最相近的测试场景,即历史日志;MOCK服务器可以直接获取到与该历史日志相关联的接口数据,进行接口MOCK和MOCK测试,便于进行相同测试时直接获取,节省测试时间。
示例性地,还将每个历史请求与对应的接口数据进行关联,将关联后的接口数据存储至预先建立的MOCK数据库中。当对测试数据进行测试时,根据测试数据在数据库中查询与测试数据相关联的历史请求,若数据库中没有,则直接去日志文件中进行查询。也可先去日志文件中进行查询,再去数据库中进行查询。
示例性地,所述步骤S260还包括:
所述MOCK服务器接收所述第一服务器发送的对所述历史数据库的更新指令;所述MOCK服务器根据所述更新指令对所述MOCK数据库中的接口数据进行更新。
在示例性的实施例中,当需要将MOCK数据库中没出现的接口数据进行存储时,生成更新指令,将更新的接口数据存储到MOCK数据库中。当MOCK数据库中的某个接口数据的接口参数发生变化时,生成更新指令,对该接口数据进行更新。
步骤S280,所述第二服务器根据所述目标MOCK接口和所述测试数据进行MOCK测试,得到测试结果。
在示例性的实施例中,MOCK测试就是在测试过程中,对于第二服务器的接口,用一个虚拟的对象来创建以便测试的测试方法。通过MOCK好的第二服务器的MOCK接口与第一服务器的前端接口进行连接,完成前后端的联调,得到测试结果,前后端联调效率大大提升,前端不再依赖后端真实接口联调开发。目标MOCK接口可以根据测试数据反馈对应的响应数据,测试结果为响应数据,根据测试结果与预期结果进行对比,可以对接口数据进行修改。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种MOCK系统,其特征在于,包括:
第一服务器,用于接收前端发送的测试数据的查询请求,并将所述查询请求发送给调用服务器;
所述调用服务器,用于接收所述第一服务器发送的查询请求,根据所述查询请求调用日志服务器的查询接口,并将所述测试数据发送给查询接口,以使所述查询接口根据所述测试数据查询所述测试数据对应的历史目标日志;
所述日志服务器,用于接收所述查询接口传输的所述测试数据,基于所述测试数据获取所述历史目标日志,并根据预设的规则对所述历史目标日志进行处理,得到所述测试数据对应的目标接口数据;
MOCK服务器,用于获取所述目标接口数据,并对所述目标接口数据进行MOCK处理,得到目标MOCK接口;
第二服务器,用于根据所述目标MOCK接口和所述测试数据进行MOCK测试,得到测试结果。
2.根据权利要求1所述的MOCK系统,其特征在于,所述日志服务器还用于:
获取所述测试数据中的目标场景参数;
通过所述查询接口查询包括有所述目标场景参数的候选历史日志。
3.根据权利要求2所述的MOCK系统,其特征在于,所述日志服务器还用于:
计算每个包括有所述目标场景参数的候选历史日志与所述目标场景数据的相似度值;
获取相似度值大于预设阈值且符合所述查询请求的候选历史日志作为历史目标日志。
4.根据权利要求3所述的MOCK系统,其特征在于,所述日志服务器还用于:
当所述历史目标日志为多个时,将多个所述历史目标日志分别根据预设的规则进行处理,得到多个接口数据;
将多个所述接口数据发送给所述第一服务器,以使所述第一服务器将多个所述接口数据传输给前端进行页面展示。
5.根据权利要求4所述的MOCK系统,其特征在于,所述第一服务器还用于:
接收所述前端选中的接口数据作为所述目标接口数据;
将所述目标接口数据发送给所述MOCK服务器,以通过所述MOCK服务器进行MOCK处理,得到目标MOCK接口。
6.根据权利要求1所述的MOCK系统,其特征在于,所述日志服务器还用于:
建立日志数据库,将所述历史目标日志存储于所述日志数据库中。
7.根据权利要求6所述的MOCK系统,其特征在于,所述MOCK服务器还用于:
建立MOCK数据库,所述MOCK数据库用于存放所述目标MOCK接口对应的目标接口数据;
将所述MOCK数据库与所述日志数据库相关联,其中,所述目标接口数据与所述历史目标日志相对应。
8.根据权利要求7所述的MOCK系统,其特征在于,所述MOCK服务器还用于:
获取多个历史日志,并对多个历史日志进行处理得到历史接口数据,将所述历史接口数据存储于所述MOCK数据库中。
9.根据权利要求8所述的MOCK系统,其特征在于,所述MOCK服务器还用于:
接收所述第一服务器发送的对所述历史数据库的更新指令;
根据所述更新指令对所述MOCK数据库中的接口数据进行更新。
10.一种基于MOCK系统的数据测试方法,其特征在于,所述MOCK系统包括第一服务器、调用服务器、日志服务器、MOCK服务器和第二服务器,所述方法包括:
所述第一服务器接收前端发送的测试数据的查询请求,并将所述查询请求发送给所述调用服务器;
所述调用服务器接收所述第一服务器发送的查询请求,根据所述查询请求调用所述日志服务器的查询接口,并将所述测试数据发送给查询接口,以使所述查询接口根据所述测试数据查询所述测试数据对应的历史目标日志;
所述日志服务器接收所述查询接口传输的所述测试数据,基于所述测试数据获取所述历史目标日志,并根据预设的规则对所述历史目标日志进行处理,得到所述测试数据对应的目标接口数据;
所述MOCK服务器获取所述目标接口数据,并对所述目标接口数据进行MOCK处理,得到目标MOCK接口;
所述第二服务器根据所述目标MOCK接口和所述测试数据进行MOCK测试,得到测试结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110567307.XA CN113297078A (zh) | 2021-05-24 | 2021-05-24 | Mock系统与基于mock系统的数据测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110567307.XA CN113297078A (zh) | 2021-05-24 | 2021-05-24 | Mock系统与基于mock系统的数据测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113297078A true CN113297078A (zh) | 2021-08-24 |
Family
ID=77324472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110567307.XA Pending CN113297078A (zh) | 2021-05-24 | 2021-05-24 | Mock系统与基于mock系统的数据测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113297078A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114666258A (zh) * | 2022-03-22 | 2022-06-24 | 阿波罗智联(北京)科技有限公司 | 接口测试方法、装置、电子设备和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101163265A (zh) * | 2007-11-20 | 2008-04-16 | 中兴通讯股份有限公司 | 基于分布式数据库的彩信日志查询方法与系统 |
CN108519948A (zh) * | 2018-04-04 | 2018-09-11 | 上海携程商务有限公司 | 日志驱动的接口自动化测试方法及系统 |
CN110069464A (zh) * | 2019-03-16 | 2019-07-30 | 平安普惠企业管理有限公司 | 日志分析处理方法、装置、设备及可读存储介质 |
CN110489334A (zh) * | 2019-07-24 | 2019-11-22 | 贝壳技术有限公司 | 一种系统联调测试处理方法及装置 |
CN111782535A (zh) * | 2020-06-30 | 2020-10-16 | 京东数字科技控股股份有限公司 | 测试方法及装置 |
WO2021012489A1 (zh) * | 2019-07-22 | 2021-01-28 | 平安科技(深圳)有限公司 | 电话平台日志查询方法、终端设备、存储介质及装置 |
-
2021
- 2021-05-24 CN CN202110567307.XA patent/CN113297078A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101163265A (zh) * | 2007-11-20 | 2008-04-16 | 中兴通讯股份有限公司 | 基于分布式数据库的彩信日志查询方法与系统 |
CN108519948A (zh) * | 2018-04-04 | 2018-09-11 | 上海携程商务有限公司 | 日志驱动的接口自动化测试方法及系统 |
CN110069464A (zh) * | 2019-03-16 | 2019-07-30 | 平安普惠企业管理有限公司 | 日志分析处理方法、装置、设备及可读存储介质 |
WO2021012489A1 (zh) * | 2019-07-22 | 2021-01-28 | 平安科技(深圳)有限公司 | 电话平台日志查询方法、终端设备、存储介质及装置 |
CN110489334A (zh) * | 2019-07-24 | 2019-11-22 | 贝壳技术有限公司 | 一种系统联调测试处理方法及装置 |
CN111782535A (zh) * | 2020-06-30 | 2020-10-16 | 京东数字科技控股股份有限公司 | 测试方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114666258A (zh) * | 2022-03-22 | 2022-06-24 | 阿波罗智联(北京)科技有限公司 | 接口测试方法、装置、电子设备和介质 |
CN114666258B (zh) * | 2022-03-22 | 2023-11-07 | 阿波罗智联(北京)科技有限公司 | 接口测试方法、装置、电子设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103544101B (zh) | 一种无线平台开发自动测试系统及方法 | |
JP7373611B2 (ja) | ログ監査方法、装置、電子機器、媒体およびコンピュータプログラム | |
WO2020259003A1 (zh) | 一种链路追踪方法及装置 | |
CN108111364B (zh) | 一种业务系统的测试方法及装置 | |
CN112100079B (zh) | 基于模拟数据调用的测试方法、系统和电子设备 | |
CN109740129B (zh) | 基于区块链的报表生成方法、装置、设备及可读存储介质 | |
CN108460068A (zh) | 报表导入导出的方法、装置、存储介质及终端 | |
CN110855477A (zh) | 链路日志监控方法、装置、计算机设备和存储介质 | |
CN113434396A (zh) | 接口测试方法、装置、设备、存储介质及程序产品 | |
CN111752846A (zh) | 一种接口测试方法及装置 | |
CN113297078A (zh) | Mock系统与基于mock系统的数据测试方法 | |
CN110380890A (zh) | 一种cdn系统服务质量检测方法及系统 | |
CN111932076A (zh) | 一种规则配置和发布方法、装置及计算设备 | |
CN114327693A (zh) | Ab实验方法和系统、终端设备及存储介质 | |
CN113495723B (zh) | 一种调用功能组件的方法、装置及存储介质 | |
CN115426299A (zh) | 无特征数据标识方法、装置、计算机设备及存储介质 | |
CN115269415A (zh) | 一种基于仿真场景用例的接口测试系统和方法 | |
CN112053137A (zh) | 流程预测方法、电子设备和服务器集群 | |
CN115687054A (zh) | 基于业务分割还原的自适应测试方法以及装置 | |
CN111770080A (zh) | 一种设备指纹的恢复方法及装置 | |
CN117724986B (zh) | 一种在用例执行中自动操作kafka的方法及装置 | |
CN115422029A (zh) | 接口日志文档生成方法、装置及计算机设备 | |
CN108614871B (zh) | 数据查询与结果生成方法、装置、设备及存储介质 | |
CN116974801A (zh) | 交易链路异常的分析方法及装置、存储介质、计算机设备 | |
CN116361268A (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 |