全文摘要
本发明公开了一种基于MOCK平台的模拟第三方数据源测试方法,在自动化测试平台与第三方平台之间搭建MOCK平台;MOCK平台获取第三方平台数据报文,并将第三方平台数据报文存到REDIS服务器,MOCK平台将用户配置的服务信息及规则匹配信息存储至REDIS服务器;自动化测试平台测试时,根据规则匹配,匹配上用户配置的规则,直接调用MOCK平台存储的数据,返回调用结果给自动化测试平台;自动化测试平台根据MOCK平台返回的第三方平台数据报文,给出通过或拒绝的结果;自动化测试平台根据测试系统返回的结果比对测试结果的正确性。本发明统一维护和管理第三方数据源,可以保证数据源的稳定性,避免超时等异常情况,保证测试的快速高效。
主设计要求
1.一种基于MOCK平台的模拟第三方数据源测试方法,其特征在于包含以下步骤:步骤一:在自动化测试平台与第三方平台之间搭建MOCK平台;步骤二:MOCK平台获取第三方平台数据报文,并将第三方平台数据报文存到REDIS服务器,MOCK平台将用户配置的服务信息及规则匹配信息存储至REDIS服务器;步骤三:自动化测试平台测试时,根据规则匹配,匹配上用户配置的规则,直接调用MOCK平台存储的数据,返回调用结果给自动化测试平台;步骤四:自动化测试平台根据MOCK平台返回的第三方平台数据报文,给出通过或拒绝的结果;步骤五:自动化测试平台根据测试系统返回的结果比对测试结果的正确性。
设计方案
1.一种基于MOCK平台的模拟第三方数据源测试方法,其特征在于包含以下步骤:
步骤一:在自动化测试平台与第三方平台之间搭建MOCK平台;
步骤二:MOCK平台获取第三方平台数据报文,并将第三方平台数据报文存到REDIS服务器,MOCK平台将用户配置的服务信息及规则匹配信息存储至REDIS服务器;
步骤三:自动化测试平台测试时,根据规则匹配,匹配上用户配置的规则,直接调用MOCK平台存储的数据,返回调用结果给自动化测试平台;
步骤四:自动化测试平台根据MOCK平台返回的第三方平台数据报文,给出通过或拒绝的结果;
步骤五:自动化测试平台根据测试系统返回的结果比对测试结果的正确性。
2.按照权利要求1所述的一种基于MOCK平台的模拟第三方数据源测试方法,其特征在于:所述MOCK平台包括用户配置模块、自定义服务配置模块、管理数据源规则模块、删除数据源规则模块、批量导入规则模块和批量导出规则模块;
所述用户配置模块用于配置系统用户的帐号和密码,已便于管理登录MOCK平台系统的用户;
所述自定义服务配置模块用于管理和配置第三方服务ID和所属系统名;
所述管理数据源规则模块用于新增规则、修改规则、以及第三方服务的响应结果;
所述删除数据源规则模块用于删除指定的第三方服务下的所有规则;
所述批量导入规则模块用于导入指定的规则到指定的第三方服务;
所述批量导出规则模块用于导出指定的第三方服务下的规则。
3.按照权利要求1所述的一种基于MOCK平台的模拟第三方数据源测试方法,其特征在于:所述步骤二具体为
2.1根据第三方数据源的接口文档,解析接口文档中表格,生成字段名加每个字段的枚举值范围;根据字段枚举值范围,生成第三方数据源所有报文;通过HTTP服务自动批量或单笔提交第三方数据源报文、配置数据源服务名、测试环境、匹配规则、阀值到MOCK平台,并存储第三方平台数据等内容到REDIS服务器,以便测试过程中使用;
2.2联调测试中通过关键字分析自动抓取第三方数据源的日志文件,将日志中map格式报文转成jsno格式;通过HTTP服务自动批量或单笔提交第三方数据源报文、配置数据源服务名、测试环境、匹配规则、阀值到MOCK平台,并存储第三方平台数据等内容到REDIS服务器,以便测试过程中使用;
2.3手工编辑第三方数据源异常报文,用于测试异常报文的情况;通过HTTP服务自动批量或单笔提交第三方数据源报文、配置数据源服务名、测试环境、匹配规则、阀值到MOCK平台,并存储第三方平台数据等内容到REDIS服务器,以便测试过程中使用。
4.按照权利要求1所述的一种基于MOCK平台的模拟第三方数据源测试方法,其特征在于:所述步骤三中返回调用结果的报文消息体为json格式,其中的值支持$符变量引用。
5.按照权利要求1所述的一种基于MOCK平台的模拟第三方数据源测试方法,其特征在于:所述步骤四具体为一笔请求调用多个第三方服务方,串行精确匹配上MOCK平台的第一个服务方规则,直接返回MOCK平台存储的第一个数据源报文给测试系统;测试系统根据返回报文,决定通过或拒绝的结果;如果通过,再进行第二个服务方规则的匹配,如果匹配上,返回报文,测试系统根据返回报文,决定通过或拒绝的结果;如果拒绝,直接不调用第三方服务方;循环执行上述过程直至多个第三方服务方均得出结果。
设计说明书
技术领域
本发明涉及一种模拟第三方数据源测试方法,特别是一种基于MOCK平台的模拟第三方数据源测试方法。
背景技术
随着国内消费金融公司业务量不断增加,需要调用几十种第三方服务来核查用户的资质,包括学历、收入、手机消费、法院失信和个人信用报告等服务,并且在一定程度上依赖这些服务来拓展自身业务。但就国内第三方数据源所能提供的内容以及使用上还存在许多不足:
1)第三方服务方提供的测试数据比较简单且环境不稳定,经常出现超时等异常情况,同时提供的测试数据也不能完全满足测试需求。
2)部分第三方服务方无测试环境,只能提供生产环境,该环境只要调用成功,就会收取相应的费用。
3)无法满足前端测试人员需要配置特殊情况的测试数据,一笔申请请求覆盖多个第三方服务。
4)无法实现自动化测试的需求。
发明内容
本发明所要解决的技术问题是提供一种基于MOCK平台的模拟第三方数据源测试方法,至少解决现有技术的一项不足。
为解决上述技术问题,本发明所采用的技术方案是:
一种基于MOCK平台的模拟第三方数据源测试方法,其特征在于包含以下步骤:
步骤一:在自动化测试平台与第三方平台之间搭建MOCK平台;
步骤二:MOCK平台获取第三方平台数据报文,并将第三方平台数据报文存到REDIS服务器,MOCK平台将用户配置的服务信息及规则匹配信息存储至REDIS服务器;
步骤三:自动化测试平台测试时,根据规则匹配,匹配上用户配置的规则,直接调用MOCK平台存储的数据,返回调用结果给自动化测试平台;
步骤四:自动化测试平台根据MOCK平台返回的第三方平台数据报文,给出通过或拒绝的结果;
步骤五:自动化测试平台根据测试系统返回的结果比对测试结果的正确性。
进一步地,所述MOCK平台包括用户配置模块、自定义服务配置模块、管理数据源规则模块、删除数据源规则模块、批量导入规则模块和批量导出规则模块;
所述用户配置模块用于配置系统用户的帐号和密码,已便于管理登录MOCK平台系统的用户;
所述自定义服务配置模块用于管理和配置第三方服务ID和所属系统名;
所述管理数据源规则模块用于新增规则、修改规则、以及第三方服务的响应结果;
所述删除数据源规则模块用于删除指定的第三方服务下的所有规则;
所述批量导入规则模块用于导入指定的规则到指定的第三方服务;
所述批量导出规则模块用于导出指定的第三方服务下的规则。
进一步地,所述步骤二具体为
2.1根据第三方数据源的接口文档,解析接口文档中表格,生成字段名加每个字段的枚举值范围;根据字段枚举值范围,生成第三方数据源所有报文;通过HTTP服务自动批量或单笔提交第三方数据源报文、配置数据源服务名、测试环境、匹配规则、阀值到MOCK平台,并存储第三方平台数据等内容到REDIS服务器,以便测试过程中使用;
2.2联调测试中通过关键字分析自动抓取第三方数据源的日志文件,将日志中map格式报文转成jsno格式;通过HTTP服务自动批量或单笔提交第三方数据源报文、配置数据源服务名、测试环境、匹配规则、阀值到MOCK平台,并存储第三方平台数据等内容到REDIS服务器,以便测试过程中使用;
2.3手工编辑第三方数据源异常报文,用于测试异常报文的情况;通过HTTP服务自动批量或单笔提交第三方数据源报文、配置数据源服务名、测试环境、匹配规则、阀值到MOCK平台,并存储第三方平台数据等内容到REDIS服务器,以便测试过程中使用。
进一步地,所述步骤三中返回调用结果的报文消息体为json格式,其中的值支持$符变量引用。
进一步地,所述步骤四具体为一笔请求调用多个第三方服务方,串行精确匹配上MOCK平台的第一个服务方规则,直接返回MOCK平台存储的第一个数据源报文给测试系统;测试系统根据返回报文,决定通过或拒绝的结果;如果通过,再进行第二个服务方规则的匹配,如果匹配上,返回报文,测试系统根据返回报文,决定通过或拒绝的结果;如果拒绝,直接不调用第三方服务方;循环执行上述过程直至多个第三方服务方均得出结果。
本发明与现有技术相比,具有以下优点和效果:
1、统一维护和管理第三方数据源,可以保证数据源的稳定性,避免超时等异常情况,保证测试的快速高效;同时将第三方数据源的数据保存在MOCK平台,只进行一次数据获取,测试的时候直接在MOCK平台读取数据,不需要重复付出第三方测试费用;
2、本发明支持多线程、高并发,第三方数据源与自动化测试有机结合,解决了一笔申请请求覆盖多个第三方服务的自动测试问题。
3、前端测试人员可以根据需要配置特殊情况的测试,拓展方便、可移植性高。
附图说明
图1是本发明的一种基于MOCK平台的模拟第三方数据源测试方法的流程图。
具体实施方式
下面通过实施例对本发明作进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
如图1所示,本发明的一种基于MOCK平台的模拟第三方数据源测试方法,其特征在于包含以下步骤:
步骤一:在自动化测试平台与第三方平台之间搭建MOCK平台;
MOCK平台包括用户配置模块、自定义服务配置模块、管理数据源规则模块、删除数据源规则模块、批量导入规则模块和批量导出规则模块;
用户配置模块用于配置系统用户的帐号和密码,已便于管理登录MOCK平台系统的用户;
自定义服务配置模块用于管理和配置第三方服务ID和所属系统名;
管理数据源规则模块用于新增规则、修改规则、以及第三方服务的响应结果;
删除数据源规则模块用于删除指定的第三方服务下的所有规则;
批量导入规则模块用于导入指定的规则到指定的第三方服务;
批量导出规则模块用于导出指定的第三方服务下的规则。
步骤二:MOCK平台获取第三方平台数据报文,并将第三方平台数据报文存到REDIS服务器,MOCK平台将用户配置的服务信息及规则匹配信息存储至REDIS服务器;
2.1根据第三方数据源的接口文档,解析接口文档中表格,生成字段名加每个字段的枚举值范围;根据字段枚举值范围,生成第三方数据源所有报文;通过HTTP服务自动批量或单笔提交第三方数据源报文、配置数据源服务名、测试环境、匹配规则、阀值到MOCK平台,并存储第三方平台数据等内容到REDIS服务器,以便测试过程中使用;
2.2联调测试中通过关键字分析自动抓取第三方数据源的日志文件,将日志中map格式报文转成jsno格式;通过HTTP服务自动批量或单笔提交第三方数据源报文、配置数据源服务名、测试环境、匹配规则、阀值到MOCK平台,并存储第三方平台数据等内容到REDIS服务器,以便测试过程中使用;
2.3手工编辑第三方数据源异常报文,用于测试异常报文的情况;通过HTTP服务自动批量或单笔提交第三方数据源报文、配置数据源服务名、测试环境、匹配规则、阀值到MOCK平台,并存储第三方平台数据等内容到REDIS服务器,以便测试过程中使用。
步骤三:自动化测试平台测试时,根据规则匹配,匹配上用户配置的规则,直接调用MOCK平台存储的数据,返回调用结果给自动化测试平台;规则支持模式匹配、精确匹配两种;返回报文的消息体为json格式,其中的值支持$符变量引用, 可引用输入变量中的内容,也可以产生当前时间 $timestamp 或产生序列号 $serialNo等。
用户发起执行自动化脚本指令,调用自动化平台根据第三方数据源的接口文档自动生成MOCK平台数据和期望结果。自动化平台调用MOCK平台,根据用户指定的配置内容去自动配置第三方的模拟报文到MOCK平台,并生效。配置数据源服务名,服务包括反欺诈规则(同盾、白骑士、腾讯、百融)、运营商规则(安迅、集奥、天翼)以及综合服务。配置测试环境、入参规则、出参规则、阀值等。
步骤四:自动化测试平台根据MOCK平台返回的第三方平台数据报文,给出通过或拒绝的结果;
一笔请求调用多个第三方服务方,串行精确匹配上MOCK平台的第一个服务方规则,直接返回MOCK平台存储的第一个数据源报文给测试系统;测试系统根据返回报文,决定通过或拒绝的结果;如果通过,再进行第二个服务方规则的匹配,如果匹配上,返回报文,测试系统根据返回报文,决定通过或拒绝的结果;如果拒绝,直接不调用第三方服务方;循环执行上述过程直至多个第三方服务方均得出结果。
步骤五:自动化测试平台根据测试系统返回的结果比对测试结果的正确性。自动化平台可以录制并保存测试结果,也可以直接自动比对返回的报文内容和数据库相应的字段。所有测试用例执行完毕后,发送测试报告到指定的邮箱。删除MOCK平台的测试规则。
本发明统一维护和管理第三方数据源,可以保证数据源的稳定性,避免超时等异常情况,保证测试的快速高效;同时将第三方数据源的数据保存在MOCK平台,只进行一次数据获取,测试的时候直接在MOCK平台读取数据,不需要重复付出第三方测试费用;本发明支持多线程、高并发,第三方数据源与自动化测试有机结合,解决了一笔申请请求覆盖多个第三方服务的自动测试问题。前端测试人员可以根据需要配置特殊情况的测试,拓展方便、可移植性高。
本说明书中所描述的以上内容仅仅是对本发明所作的举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种修改或补充或采用类似的方式替代,只要不偏离本发明说明书的内容或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。
设计图
相关信息详情
申请码:申请号:CN201910567754.8
申请日:2019-06-27
公开号:CN110262979A
公开日:2019-09-20
国家:CN
国家/省市:84(南京)
授权编号:授权时间:主分类号:G06F 11/36
专利分类号:G06F11/36
范畴分类:40B;
申请人:苏宁消费金融有限公司
第一申请人:苏宁消费金融有限公司
申请人地址:210001 江苏省南京市秦淮区淮海路88号
发明人:周云梅;王卫卫
第一发明人:周云梅
当前权利人:苏宁消费金融有限公司
代理人:陈亮亮
代理机构:32252
代理机构编号:南京钟山专利代理有限公司
优先权:关键词:当前状态:审核中
类型名称:外观设计