CN112181824A - 系统开发辅助平台及方法 - Google Patents
系统开发辅助平台及方法 Download PDFInfo
- Publication number
- CN112181824A CN112181824A CN202011027634.8A CN202011027634A CN112181824A CN 112181824 A CN112181824 A CN 112181824A CN 202011027634 A CN202011027634 A CN 202011027634A CN 112181824 A CN112181824 A CN 112181824A
- Authority
- CN
- China
- Prior art keywords
- model
- interface
- data
- response
- behavior
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000033772 system development Effects 0.000 title claims abstract description 40
- 230000004044 response Effects 0.000 claims abstract description 93
- 238000012360 testing method Methods 0.000 claims abstract description 72
- 238000004088 simulation Methods 0.000 claims abstract description 54
- 238000013499 data model Methods 0.000 claims abstract description 49
- 230000002159 abnormal effect Effects 0.000 claims abstract description 27
- 238000013523 data management Methods 0.000 claims abstract description 27
- 238000004458 analytical method Methods 0.000 claims abstract description 16
- 238000007726 management method Methods 0.000 claims abstract description 16
- 238000012795 verification Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000011161 development Methods 0.000 abstract description 31
- 230000018109 developmental process Effects 0.000 abstract description 31
- 230000006399 behavior Effects 0.000 description 64
- 230000008569 process Effects 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 7
- 238000010276 construction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000002688 persistence Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012812 general test Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000005316 response function Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010998 test method 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
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
Abstract
本申请实施例公开了一种系统开发辅助平台及方法。该平台包括:Mock数据管理模块,用于定义数据模型,数据模型包括基础模型、公共模型和专有模型中的至少一项;接口管理模块,用于根据数据模型,定义数据接口;接口行为模拟模块,用于定义至少一项业务行为;接口场景模拟模块,用于定义至少一项正常响应或异常响应;接口调用分析模块,用于根据数据接口的信息、至少一项业务行为以及至少一项正常响应或异常响应,确定至少一项测试案例,并基于测试案例生成测试结果,以辅助进行系统开发。上述方案能够辅助系统前端和后端开发独立可控地完成,避免产生因开发速度不同导致相互影响开发进度的问题,且满足复杂的业务场景模拟需求。
Description
技术领域
本申请实施例涉及系统开发领域,尤其涉及一种系统开发辅助平台及方法。
背景技术
随着各行各业日益激烈的市场竞争以及“互联网+”战略的普及,无论是传统行业的企业还是新兴的互联网IT企业都面临信息系统大规模建设或迭代优化的需求。面对越来越频繁的信息系统交付需求,传统前后端一体化开发越发不能满足企业需求,前后端分离开发逐渐进入大家视野并得到广泛实践。
在前后端分离的开发模式下,软件程序做了工程化分离,前端、后端开发人员分工合作,能够更专注于各自的专业领域,也带来更灵活的部署和水平扩展能力。同时,前后端分离开发模式解耦了开发过程中的依赖链问题,两端开发人员从功能实现依赖弱化成接口定义依赖,极大提升了开发效率。
但是,前端和后端分别由团队的至少两组开发人员负责,因技术栈、业务复杂度、开发人员技术水平等因素的影响,两组人员难以在开发进度保持一致,往往出现前端静态页面开发完毕,等待后台数据实现交互逻辑时,后端接口仍未就绪的问题。为了能够提升交付效率,前端人员将采用本地Mock技术或远程独立Mock服务等形式并行开发。但本地Mock技术存在需要额外引入技术依赖和代码类库、更新维护成本高昂、前端开发人员间难以复用等问题。而远程独立Mock服务存在难以定制响应数据、难以应对异常场景需求、无法满足复杂业务场景等缺点。无论是新功能开发还是现有功能迭代,都需要对业务场景和边界场景做好充分测试。而传统的代码覆盖度检查无法从业务场景视角评估代码在各类正常、异常场景的正确性和健壮性。
发明内容
本申请实施例提供一种系统开发辅助平台及方法,以无需对业务功能代码进行较大改动的情况下,实现Mock接口功能的快速建设和复用,并在支持复杂业务场景定义的基础上实现基于场景的测试完整性评估,提升软件工程质量。。
在一个实施例中,本申请实施例提供了一种系统开发辅助平台,该平台包括:
Mock数据管理模块,用于定义数据模型,所述数据模型包括基础模型、公共模型和专有模型中的至少一项;
接口管理模块,用于根据所述数据模型,定义数据接口;
接口行为模拟模块,用于定义至少一项业务行为;
接口场景模拟模块,用于定义至少一项正常响应或异常响应;
接口调用分析模块,用于根据所述数据接口的信息、所述至少一项业务行为以及所述至少一项正常响应或异常响应,确定至少一项测试案例,并基于所述测试案例生成测试结果,以辅助进行系统开发。
在另一个实施例中,本申请实施例还提供了一种系统开发辅助方法,该方法包括:
Mock数据管理模块定义数据模型,所述数据模型包括基础模型、公共模型和专有模型中的至少一项;
接口管理模块根据所述数据模型,定义数据接口;
接口行为模拟模块定义至少一项业务行为;
接口场景模拟模块定义至少一项正常响应或异常响应;
接口调用分析模块根据所述数据接口的信息、所述至少一项业务行为以及所述至少一项正常响应或异常响应,确定至少一项测试案例,并基于所述测试案例生成测试结果,以辅助进行系统开发。
本申请实施例中,能够辅助系统前端和后端开发独立可控地完成,避免产生因开发速度不同导致相互影响开发进度的问题,且满足复杂的业务场景模拟需求,减少团队在Mock接口上耗费的开发人力和协同成本。基于本平台可以实现项目级乃至企业级的Mock接口能力快速建设和复用,且满足复杂的业务场景模拟需求。此外,也消除了因开发测试需要而额外引入的生产无关技术和源码,有效减少开发测试和生产的工程代码差异,有益于提升工程质量。
附图说明
图1为本申请一种实施例提供的系统开发辅助平台的结构图。
图2为本申请一种实施例提供的系统开发辅助平台的功能组成图;
图3为本申请一种实施例提供的基础模型定义流程图;
图4为本申请一种实施例提供的公共模型定义流程图;
图5为本申请一种实施例提供的专有模型定义流程图;
图6为本申请一种实施例提供的接口行为模拟流程图;
图7为本申请一种实施例提供的系统开发辅助方法的流程图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
图1为本申请一种实施例提供的系统开发辅助平台的结构图。本申请实施例提供的系统开发辅助平台可适用于辅助系统开发的情况。典型的,本申请实施例适用于在前端和后端分离的系统开发过程中,进行辅助开发的情况,参见图1,本申请实施例的平台具体包括:
Mock数据管理模块,用于定义数据模型,所述数据模型包括基础模型、公共模型和专有模型中的至少一项;
接口管理模块,用于根据所述数据模型,定义数据接口;
接口行为模拟模块,用于定义至少一项业务行为;
接口场景模拟模块,用于定义至少一项正常响应或异常响应;
接口调用分析模块,用于根据所述数据接口的信息、所述至少一项业务行为以及所述至少一项正常响应或异常响应,确定至少一项测试案例,并基于所述测试案例生成测试结果,以辅助进行系统开发。
示例性的,如图2所示,Mock数据管理模块负责对Mock数据进行管理。其中,Mock数据为在进行Mock测试时产生的数据,mock测试是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。在前端和后端分离的开发过程中,前端的一个阶段开发完成后,可能需要调用后端的数据进行调试或测试,而此时后端可能尚未开发完成,无法向前端提供数据,影响前端的正常调用。通过Mock测试,可以虚拟对象向前端提供调用的数据,以供前端进行测试的调试。Mock数据管理旨在提供企业级或项目级的基础模型定义、公共模型定义和专用模型定义。其中,基础数据定义针对单个业务数据项的定义,比如:“性别”定位为一位长度的字符,“M”代表男,“F”代表女。公共模型用于定义可以共其他业务复用的数据类型,比如:“用户信息”模型,包括了“用户编号”,“姓名”,“性别”,“国籍”,“出生日期”,“籍贯”等一系列数据项。专用模型用于定义特定业务中专有数据的模型,比如:“订单详情”模型,包含了“订单编号”,“用户编号”,“订单金额”等,仅适用于进行订单管理。需要注意的是,上述模型自身是支持嵌套定义的,比如公共模型的某个数据项本身也是一个公共模型。通过基础模型、公共模型、专有模型进行多层抽象以快速实现企业级或项目级的数据模型统一定义,数据模型支持丰富的数据类型定义。模拟接口平台的数据模型贴近真实后端业务模型,模拟接口平台的数据对象及行为贴近真实后端业务逻辑。
Mock数据管理模块还包括了接口模拟数据存储和重置的功能。在一轮测试中,多个案例的执行结果将被持久化存储以满足复杂测试场景的需求,而在一轮测试结束后这些数据将被统一重置到初始状态。
接口管理模块可以提供可视化界面,测试人员或开发人员可以通过可视化界面实现与系统开发辅助平台的交互,包括在线维护、批量导入和/或导出、参数校验、关联数据对象和定制成功、异常响应等交互。在定义接口的过程中,接口管理模块可以用于设置请求路径、请求方法、正常响应数据,也可以用于定义参数传参方式、数据类型、可选值等细粒度参数。接口管理模块通过定义企业级或项目数据模型,可达到快速生成入参定义和响应定义。接口管理模块还可以用于进行数据导出,以便可以在多个部署实例间快速迁移Mock数据模型和接口定义。接口管理模块还可以用于定义异常响应,在请求参数满足指定条件时,自动返回相应异常响应。
接口行为模拟用于定义业务行为。其中,业务行为包括通用业务行为和特殊业务行为。通用业务行为包括针对单个业务对象的新增、修改、删除、搜索等行为。测试或开发人员可以通过可视化界面为数据接口配置对应业务行为模式,例如新增、修改、删除操作等,并为该数据接口关联业务对象,可以自动实现相关操作的模拟及持久化。特殊业务行为指通过在页面为数据接口配置有限的通用业务行为,并使用布尔逻辑组合通用业务行为实现测试或开发人员对后端业务逻辑的简单模拟。通过接口行为模拟,为开发者在复杂场景下模拟接口服务提供可能。
场景模拟模块为开发人员提供多种异常响应,以便验证开发人员的业务逻辑是否能正确应对各种异常,保证交付系统的质量。例如,超时模拟用于模拟网络异常,后端服务慢响应,服务熔断等场景。故障模式可以向前端返回指定错误码、错误信息的响应。
接口调用分析模块用于提供明确、可度量的软件测试评估结果。接口调用分析模块首先根据数据接口的定义信息,例如请求参数,入参规则等、至少一项业务行为、至少一项正常响应或异常响应等,自动生成通用测试案例。测试案例可以覆盖业务逻辑中常见的正常、异常场景。在测试运行前,用户可以在系统开发辅助平台中重置用户测试数据并进入统计模式。系统开发辅助平台将根据调用客户端的编号识别对应用户,如果用户处于统计模式,则为该用户记录每次调用的请求接口、请求参数、响应状态、响应报文等。但用户完成测试后,可以在系统开发辅助平台中结束统计模式并查看系统开发辅助平台为该轮测试输出的调用统计数据和测试分析报告。测试报告将以测试整体案例测试视角和数据接口调用分组视角,确定测试案例的已测试情况。根据测试报告结论,开发人员能够快速掌握全部测试案例是否已测试完毕,以及未测试的测试案例,从而有针对性选择未测试案例进一步测试,以提高自动化测试质量。
本申请实施例中,能够辅助系统前端和后端开发独立可控地完成,避免产生因开发速度不同导致相互影响开发进度的问题,且满足复杂的业务场景模拟需求,减少团队在Mock接口上耗费的开发人力和协同成本。基于本平台可以实现项目级乃至企业级的Mock接口能力快速建设和复用,且满足复杂的业务场景模拟需求。此外,也消除了因开发测试需要而额外引入的生产无关技术和源码,有效减少开发测试和生产的工程代码差异,有益于提升工程质量。
在本申请实施例的一种可实现方案中,本申请实施例的方案可以与上述一个或者多个实施例中的各个可选方案结合。在本申请实施例的系统开发辅助平台中,述Mock数据管理模块,包括:基础模型定义单元,用于获取用户输入的基础模型的名称,并选择基础模型所采用的数据类型;若所述数据类型为标准类型,则选择所述数据类型的取值范围;若所述数据类型为非标准类型,则自定义所述数据类型的取值范围。公共模型定义单元,用于获取用户输入的公共模型的名称以及属性名称;若根据所述属性名称判断所述公共模型为基础模型,则确定所述基础模型是否已定义;若是,则选择对应的基础模型;若否,则定义对应的基础模型;所述公共模型定义单元,还用于,若根据所述属性名称判断所述公共模型不是基础模型,则确定公共模型是否已定义;若是,则选择对应的公共模型;若否,则定义对应的公共模型。专有模型定义单元,用于获取用户输入的专有模型的名称以及属性名称;若根据所述属性名称判断所述专有模型为基础模型,则确定所述基础模型是否已定义;若是,则选择对应的基础模型;若否,则定义对应的基础模型;所述专有模型定义单元,还用于,若根据所述属性名称判断所述专有模型不是基础模型,则确定专有模型是否已定义;若是,则选择对应的专有模型;若否,则定义对应的专有模型。所述接口定义模块,包括:基础信息配置单元,用于接收用户输入的接口名称、访问路径以及访问协议;入参配置单元,用户接收用户输入的接口参数、对应的数据模型以及校验规则;响应状态定义单元,用于定义响应状态规则;响应定制单元,用于定制响应成功和响应异常的结果。
示例性的,如图3、图4和图5所示。在定义基础模型时,选择基础模型类型,并判断该类型是否为标准类型,对应取值是否为标准取值,例如,对于性别,类型可以用数值、布尔数据或其他形式表示,其中,数值、布尔数据等能够直接被识别的取值为标准取值,而其他形式无法被直接识别的取值为非标准取值。例如,对于性别,用0或1表示男或女,则0或1的取值为标准取值。若用“F”和“M”表示女和男,则“F”和“M”为非标准取值。如果取值为标准取值,则直接根据标准规定确定取值范围,如果取值为非标准取值,则自定义取值范围。
对于公共模型和专用模型同理。另外,数据模型可以嵌套定义,比如公共模型的某个数据项本身也是一个公共模型。
上述方案有益效果在于,基于数据模型进行接口定义,比如入参数据、响应数据,避免每个接口重复定义带来的复杂性,也有利于接口迭代更快响应业务需求和设计变化。统一的接口配置管理,避免每个开发人员重复定义、难以共享协作的问题,也避免为开发测试引入额外依赖。接口关联具有持久化能力的Mock数据对象,支持对复杂业务场景的接口模拟。
在本申请实施例的一种可实现方案中,本申请实施例的方案可以与上述一个或者多个实施例中的各个可选方案结合。在本申请实施例的系统开发辅助平台中,所述平台还包括:数据读取模块,用于在平台启动时,读取数据接口的信息、接口参数以及数据模型;根据所述数据接口的信息、接口参数以及数据模型,确定入参校验拦截器;根据响应状态规则和响应成功、异常的结果,为数据接口生成Mock数据模板。请求监听模块,用于根据请求信息确定对应的数据接口;通过入参校验拦截器,对不符合入参规则的请求进行拦截;执行响应状态规则,确定响应是否成功,并返回对应的结果;记录请求信息和响应结果。
示例性的,平台启动过程中主要完成以下几项工作:读取数据接口的定义信息,加载入参、响应依赖的数据模型。根据入参配置,为接口生成入参校验拦截器。根据响应状态规则和成功、异常响应定义,为接口生成Mock数据模板。启动平台Mock服务,监听请求。
平台在收到请求时主要完成以下几项工作:根据域名、端口、请求路径、方法和协议等将请求路由到对应Mock数据接口。执行入参校验拦截器,对于不满足入参规则的请求返回预定义的异常响应。执行响应状态规则判断,确定当前请求的响应类型(成功还是异常),并根据数据生成模板返回对应响应数据。记录请求调用和响应情况。
在本申请实施例的一种可实现方案中,本申请实施例的方案可以与上述一个或者多个实施例中的各个可选方案结合。在本申请实施例的系统开发辅助平台中,所述接口行为模拟模块,包括:判断单元,用于进行接口行为模拟的目标接口是否已定义;若是,则判断根据已定义接口确定是否存在与待模拟接口行为关联的目标接口行为,若存在,则确定待模拟接口行为与所述目标接口行为的关联关系;模拟操作单元,用于根据所述关联关系,确定待模拟接口行为的操作对象;确定针对所述操作对象的操作项目;模拟针对所述操作项目的接口行为。
示例性的,接口行为模拟模块和接口场景模拟模块均为对无状态的Mock数据及接口响应功能的能力扩展,依赖与Mock数据管理中的数据持久化特性。除了定义接口信息外,还需要为其关联操作对象及定义操作行为,并对操作结果进行持久化存储。其中操作对象为独立于接口的具有持久化能力的,有业务含义的一类数据及其操作集合,类似于真实后端中的数据表。
在实现接口行为模拟中,通用业务行可以认为是特殊业务行为的简化操作行为,如对单一对象的增、删、改等行为,如图6所示,图6以特殊业务行为进行实现流程说明。对于存在业务依赖的接口行为模拟,判断当前待模拟接口行为是否存在前序操作,如果存在,则确定与前序操作的逻辑关系,再选择执行待模拟接口行为的操作对象,如果不存在,则直接选择执行待模拟接口行为的操作对象,确定操作项目,迷你针对操作项目的接口行为,如果还需要更多后续操作,则继续循环执行,若没有更多后续操作,则完成接口行为的模拟。对于接口场景模拟,与接口行为模拟同理,具体见接口行为模拟的描述与图6。
在本申请实施例中,所述接口调用分析模块,包括:案例统计单元,用于根据测试结果确定已测试案例,并根据至少一项测试案例,确定待测试案例。
示例性的,在本申请中,不以代码是否执行为标准确定测试的全面性,而以案例为对象分析是否所有的案例均被执行测试,从而更加直观地使业务人员快速确定测试的全面性。
上述方案的有益效果在于,在接口参数校验、接口行为模拟、接口场景模拟配置过程中支持设置案例的生成需求并自动注册测试案例、插入调用上报逻辑,平台据此收集待测试案例清单,统计案例被调用情况,从而提供从业务场景视角评估代码在各类正常、异常场景的正确性和健壮性。
图2为本发明一种实施例提供的系统开发辅助方法的流程图。本实施例提供的系统开发辅助方法可适用于辅助系统开发的情况。典型的,本申请实施例适用于在前端和后端分离的系统开发过程中,进行辅助开发的情况。该方法具体可以由系统开发辅助平台执行。参见图2,本申请实施例的方法具体包括:
S210、Mock数据管理模块定义数据模型,所述数据模型包括基础模型、公共模型和专有模型中的至少一项;
S220、接口管理模块根据所述数据模型,定义数据接口;
S230、接口行为模拟模块定义至少一项业务行为;
S240、接口场景模拟模块定义至少一项正常响应或异常响应;
S250、接口调用分析模块根据所述数据接口的信息、所述至少一项业务行为以及所述至少一项正常响应或异常响应,确定至少一项测试案例,并基于所述测试案例生成测试结果,以辅助进行系统开发。
在本申请实施例中,所述Mock数据管理模块包括基础模型定义单元;
相应的,Mock数据管理模块定义数据模型,包括:
基础模型定义单元获取用户输入的基础模型的名称,并选择基础模型所采用的数据类型;若所述数据类型为标准类型,则选择所述数据类型的取值范围;若所述数据类型为非标准类型,则自定义所述数据类型的取值范围。
在本申请实施例中,所述Mock数据管理模块包括公共模型定义单元;
相应地,Mock数据管理模块定义数据模型,包括:
公共模型定义单元获取用户输入的公共模型的名称以及属性名称;若根据所述属性名称判断所述公共模型为基础模型,则确定所述基础模型是否已定义;若是,则选择对应的基础模型;若否,则定义对应的基础模型;
所述公共模型定义单元根据所述属性名称判断所述公共模型不是基础模型,则确定公共模型是否已定义;若是,则选择对应的公共模型;若否,则定义对应的公共模型。
在本申请实施例中,所述Mock数据管理模块,包括专有模型定义单元;
相应地,Mock数据管理模块定义数据模型,包括:
专有模型定义单元获取用户输入的专有模型的名称以及属性名称;若根据所述属性名称判断所述专有模型为基础模型,则确定所述基础模型是否已定义;若是,则选择对应的基础模型;若否,则定义对应的基础模型;
若根据所述属性名称判断所述专有模型不是基础模型,所述专有模型定义单元则确定专有模型是否已定义;若是,则选择对应的专有模型;若否,则定义对应的专有模型。
在本申请实施例中,所述接口定义模块包括基础信息配置单元和入参配置单元;
相应地,接口管理模块根据所述数据模型,定义数据接口,包括:
基础信息配置单元接收用户输入的接口名称、访问路径以及访问协议;
入参配置单元接收用户输入的接口参数、对应的数据模型以及校验规则;
响应状态定义单元定义响应状态规则;
响应定制单元定制响应成功和响应异常的结果。
在本申请实施例中,所述方法还包括:
在方法启动时,数据读取模块读取数据接口的信息、接口参数以及数据模型;根据所述数据接口的信息、接口参数以及数据模型,确定入参校验拦截器;根据响应状态规则和响应成功、异常的结果,为数据接口生成Mock数据模板。
在本申请实施例中,所述方法还包括:
请求监听模块根据请求信息确定对应的数据接口;通过入参校验拦截器,对不符合入参规则的请求进行拦截;执行响应状态规则,确定响应是否成功,并返回对应的结果;记录请求信息和响应结果。
在本申请实施例中,所述接口行为模拟模块包括判断单元和模拟操作单元;
相应地,接口行为模拟模块定义至少一项业务行为,包括:
判断单元进行接口行为模拟的目标接口是否已定义;若是,则判断根据已定义接口确定是否存在与待模拟接口行为关联的目标接口行为,若存在,则确定待模拟接口行为与所述目标接口行为的关联关系;
模拟操作单元根据所述关联关系,确定待模拟接口行为的操作对象;确定针对所述操作对象的操作项目;模拟针对所述操作项目的接口行为。
在本申请实施例中,所述接口调用分析模块包括接口行为模拟模块定义至少一项业务行为;
相应地,接口调用分析模块根据所述数据接口的信息、所述至少一项业务行为以及所述至少一项正常响应或异常响应,确定至少一项测试案例,并基于所述测试案例生成测试结果包括:
案例统计单元根据测试结果确定已测试案例,并根据至少一项测试案例,确定待测试案例。
本发明实施例中所提供的系统开发辅助方法可应用于上述本发明任意实施例中所提供的系统开发辅助平台,具备该开发辅助平台相应的功能和有益效果,未在上述实施例中详尽描述的技术细节,具体可参见本申请任意实施例中所提供的系统开发辅助平台。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (18)
1.一种系统开发辅助平台,其特征在于,所述平台包括:
Mock数据管理模块,用于定义数据模型,所述数据模型包括基础模型、公共模型和专有模型中的至少一项;
接口管理模块,用于根据所述数据模型,定义数据接口;
接口行为模拟模块,用于定义至少一项业务行为;
接口场景模拟模块,用于定义至少一项正常响应或异常响应;
接口调用分析模块,用于根据所述数据接口的信息、所述至少一项业务行为以及所述至少一项正常响应或异常响应,确定至少一项测试案例,并基于所述测试案例生成测试结果,以辅助进行系统开发。
2.根据权利要求1所述的平台,其特征在于,所述Mock数据管理模块,包括:
基础模型定义单元,用于获取用户输入的基础模型的名称,并选择基础模型所采用的数据类型;若所述数据类型为标准类型,则选择所述数据类型的取值范围;若所述数据类型为非标准类型,则自定义所述数据类型的取值范围。
3.根据权利要求1所述的平台,其特征在于,所述Mock数据管理模块,包括:
公共模型定义单元,用于获取用户输入的公共模型的名称以及属性名称;若根据所述属性名称判断所述公共模型为基础模型,则确定所述基础模型是否已定义;若是,则选择对应的基础模型;若否,则定义对应的基础模型;
所述公共模型定义单元,还用于,若根据所述属性名称判断所述公共模型不是基础模型,则确定公共模型是否已定义;若是,则选择对应的公共模型;若否,则定义对应的公共模型。
4.根据权利要求1所述的平台,其特征在于,所述Mock数据管理模块,包括:
专有模型定义单元,用于获取用户输入的专有模型的名称以及属性名称;若根据所述属性名称判断所述专有模型为基础模型,则确定所述基础模型是否已定义;若是,则选择对应的基础模型;若否,则定义对应的基础模型;
所述专有模型定义单元,还用于,若根据所述属性名称判断所述专有模型不是基础模型,则确定专有模型是否已定义;若是,则选择对应的专有模型;若否,则定义对应的专有模型。
5.根据权利要求1所述的平台,其特征在于,所述接口定义模块,包括:
基础信息配置单元,用于接收用户输入的接口名称、访问路径以及访问协议;
入参配置单元,用户接收用户输入的接口参数、对应的数据模型以及校验规则;
响应状态定义单元,用于定义响应状态规则;
响应定制单元,用于定制响应成功和响应异常的结果。
6.根据权利要求1-5中任一项所述的平台,其特征在于,所述平台还包括:
数据读取模块,用于在平台启动时,读取数据接口的信息、接口参数以及数据模型;根据所述数据接口的信息、接口参数以及数据模型,确定入参校验拦截器;根据响应状态规则和响应成功、异常的结果,为数据接口生成Mock数据模板。
7.根据权利要求6所述的平台,其特征在于,所述平台还包括:
请求监听模块,用于根据请求信息确定对应的数据接口;通过入参校验拦截器,对不符合入参规则的请求进行拦截;执行响应状态规则,确定响应是否成功,并返回对应的结果;记录请求信息和响应结果。
8.根据权利要求1所述的平台,其特征在于,所述接口行为模拟模块,包括:
判断单元,用于进行接口行为模拟的目标接口是否已定义;若是,则判断根据已定义接口确定是否存在与待模拟接口行为关联的目标接口行为,若存在,则确定待模拟接口行为与所述目标接口行为的关联关系;
模拟操作单元,用于根据所述关联关系,确定待模拟接口行为的操作对象;确定针对所述操作对象的操作项目;模拟针对所述操作项目的接口行为。
9.根据权利要求1所述的平台,其特征在于,所述接口调用分析模块,包括:
案例统计单元,用于根据测试结果确定已测试案例,并根据至少一项测试案例,确定待测试案例。
10.一种系统开发辅助方法,其特征在于,所述方法包括:
Mock数据管理模块定义数据模型,所述数据模型包括基础模型、公共模型和专有模型中的至少一项;
接口管理模块根据所述数据模型,定义数据接口;
接口行为模拟模块定义至少一项业务行为;
接口场景模拟模块定义至少一项正常响应或异常响应;
接口调用分析模块根据所述数据接口的信息、所述至少一项业务行为以及所述至少一项正常响应或异常响应,确定至少一项测试案例,并基于所述测试案例生成测试结果,以辅助进行系统开发。
11.根据权利要求10所述的方法,其特征在于,所述Mock数据管理模块包括基础模型定义单元;
相应的,Mock数据管理模块定义数据模型,包括:
基础模型定义单元获取用户输入的基础模型的名称,并选择基础模型所采用的数据类型;若所述数据类型为标准类型,则选择所述数据类型的取值范围;若所述数据类型为非标准类型,则自定义所述数据类型的取值范围。
12.根据权利要求10所述的方法,其特征在于,所述Mock数据管理模块包括公共模型定义单元;
相应地,Mock数据管理模块定义数据模型,包括:
公共模型定义单元获取用户输入的公共模型的名称以及属性名称;若根据所述属性名称判断所述公共模型为基础模型,则确定所述基础模型是否已定义;若是,则选择对应的基础模型;若否,则定义对应的基础模型;
所述公共模型定义单元根据所述属性名称判断所述公共模型不是基础模型,则确定公共模型是否已定义;若是,则选择对应的公共模型;若否,则定义对应的公共模型。
13.根据权利要求10所述的方法,其特征在于,所述Mock数据管理模块,包括专有模型定义单元;
相应地,Mock数据管理模块定义数据模型,包括:
专有模型定义单元获取用户输入的专有模型的名称以及属性名称;若根据所述属性名称判断所述专有模型为基础模型,则确定所述基础模型是否已定义;若是,则选择对应的基础模型;若否,则定义对应的基础模型;
若根据所述属性名称判断所述专有模型不是基础模型,所述专有模型定义单元则确定专有模型是否已定义;若是,则选择对应的专有模型;若否,则定义对应的专有模型。
14.根据权利要求10所述的方法,其特征在于,所述接口定义模块包括基础信息配置单元和入参配置单元;
相应地,接口管理模块根据所述数据模型,定义数据接口,包括:
基础信息配置单元接收用户输入的接口名称、访问路径以及访问协议;
入参配置单元接收用户输入的接口参数、对应的数据模型以及校验规则;
响应状态定义单元定义响应状态规则;
响应定制单元定制响应成功和响应异常的结果。
15.根据权利要求10-14中任一项所述的方法,其特征在于,所述方法还包括:
在方法启动时,数据读取模块读取数据接口的信息、接口参数以及数据模型;根据所述数据接口的信息、接口参数以及数据模型,确定入参校验拦截器;根据响应状态规则和响应成功、异常的结果,为数据接口生成Mock数据模板。
16.根据权利要求15所述的方法,其特征在于,所述方法还包括:
请求监听模块根据请求信息确定对应的数据接口;通过入参校验拦截器,对不符合入参规则的请求进行拦截;执行响应状态规则,确定响应是否成功,并返回对应的结果;记录请求信息和响应结果。
17.根据权利要求10所述的方法,其特征在于,所述接口行为模拟模块包括判断单元和模拟操作单元;
相应地,接口行为模拟模块定义至少一项业务行为,包括:
判断单元进行接口行为模拟的目标接口是否已定义;若是,则判断根据已定义接口确定是否存在与待模拟接口行为关联的目标接口行为,若存在,则确定待模拟接口行为与所述目标接口行为的关联关系;
模拟操作单元根据所述关联关系,确定待模拟接口行为的操作对象;确定针对所述操作对象的操作项目;模拟针对所述操作项目的接口行为。
18.根据权利要求10所述的方法,其特征在于,所述接口调用分析模块包括接口行为模拟模块定义至少一项业务行为;
相应地,接口调用分析模块根据所述数据接口的信息、所述至少一项业务行为以及所述至少一项正常响应或异常响应,确定至少一项测试案例,并基于所述测试案例生成测试结果包括:
案例统计单元根据测试结果确定已测试案例,并根据至少一项测试案例,确定待测试案例。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011027634.8A CN112181824A (zh) | 2020-09-25 | 2020-09-25 | 系统开发辅助平台及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011027634.8A CN112181824A (zh) | 2020-09-25 | 2020-09-25 | 系统开发辅助平台及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112181824A true CN112181824A (zh) | 2021-01-05 |
Family
ID=73945258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011027634.8A Pending CN112181824A (zh) | 2020-09-25 | 2020-09-25 | 系统开发辅助平台及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181824A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010224843A (ja) * | 2009-03-24 | 2010-10-07 | Fujitsu Ltd | ブラックボックステスト用テストルールの動作確認装置、システム、方法およびプログラム |
CN106528393A (zh) * | 2015-09-09 | 2017-03-22 | 北京京东尚科信息技术有限公司 | 一种WebService的Mock测试的方法及装置 |
CN107122292A (zh) * | 2016-10-21 | 2017-09-01 | 北京小度信息科技有限公司 | 一种模拟服务的方法及系统 |
CN108199921A (zh) * | 2017-12-29 | 2018-06-22 | 上海瑞家信息技术有限公司 | 一种模拟测试的方法、装置及存储介质 |
CN108306974A (zh) * | 2018-02-08 | 2018-07-20 | 中国科学院重庆绿色智能技术研究院 | 一种用户自定义数据接口的数据共享系统与方法 |
CN108427631A (zh) * | 2017-02-14 | 2018-08-21 | 北京京东尚科信息技术有限公司 | 一种应用测试系统、方法、电子设备和可读存储介质 |
CN109359149A (zh) * | 2018-10-08 | 2019-02-19 | 网宿科技股份有限公司 | 一种模拟测试方法及相关装置 |
CN109522218A (zh) * | 2018-10-19 | 2019-03-26 | 平安科技(深圳)有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN110162464A (zh) * | 2019-04-19 | 2019-08-23 | 平安普惠企业管理有限公司 | Mcok测试方法及系统、电子设备及可读存储介质 |
-
2020
- 2020-09-25 CN CN202011027634.8A patent/CN112181824A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010224843A (ja) * | 2009-03-24 | 2010-10-07 | Fujitsu Ltd | ブラックボックステスト用テストルールの動作確認装置、システム、方法およびプログラム |
CN106528393A (zh) * | 2015-09-09 | 2017-03-22 | 北京京东尚科信息技术有限公司 | 一种WebService的Mock测试的方法及装置 |
CN107122292A (zh) * | 2016-10-21 | 2017-09-01 | 北京小度信息科技有限公司 | 一种模拟服务的方法及系统 |
CN108427631A (zh) * | 2017-02-14 | 2018-08-21 | 北京京东尚科信息技术有限公司 | 一种应用测试系统、方法、电子设备和可读存储介质 |
CN108199921A (zh) * | 2017-12-29 | 2018-06-22 | 上海瑞家信息技术有限公司 | 一种模拟测试的方法、装置及存储介质 |
CN108306974A (zh) * | 2018-02-08 | 2018-07-20 | 中国科学院重庆绿色智能技术研究院 | 一种用户自定义数据接口的数据共享系统与方法 |
CN109359149A (zh) * | 2018-10-08 | 2019-02-19 | 网宿科技股份有限公司 | 一种模拟测试方法及相关装置 |
CN109522218A (zh) * | 2018-10-19 | 2019-03-26 | 平安科技(深圳)有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN110162464A (zh) * | 2019-04-19 | 2019-08-23 | 平安普惠企业管理有限公司 | Mcok测试方法及系统、电子设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
软件测试君: "接口测试神器Apifox", pages 1 - 3, Retrieved from the Internet <URL:https://cloud.tencent.com/developer/article/1693401> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11281570B2 (en) | Software testing method, system, apparatus, device medium, and computer program product | |
CN105389256B (zh) | 一种单元测试方法及系统 | |
US8074204B2 (en) | Test automation for business applications | |
CN112631846A (zh) | 一种故障演练方法、装置、计算机设备及存储介质 | |
CN110569159A (zh) | 挡板生成方法、装置、设备及计算机存储介质 | |
CN109977012B (zh) | 系统的联调测试方法、装置、设备及计算机可读存储介质 | |
CN111737140A (zh) | 接口自动化测试方法、装置、设备及计算机可读存储介质 | |
CN114546738A (zh) | 服务器通用测试方法、系统、终端及存储介质 | |
US11341030B2 (en) | Scriptless software test automation | |
Zhang et al. | Model based testing for agent systems | |
CN114579467A (zh) | 一种基于发布订阅机制的冒烟测试系统及方法 | |
CN111708712A (zh) | 用户行为测试用例的生成方法、流量回放方法及电子设备 | |
CN110928777B (zh) | 测试用例的处理方法、装置、设备及存储介质 | |
CN112561690A (zh) | 信用卡分期业务接口的测试方法、系统、设备及存储介质 | |
CN112181824A (zh) | 系统开发辅助平台及方法 | |
CN110888800A (zh) | 服务交互功能的测试方法、装置、存储介质及测试系统 | |
CN114676066A (zh) | 目标应用的安全测试方法及其装置、电子设备及存储介质 | |
CN113868116A (zh) | 测试依赖数据的生成方法、装置、服务器及存储介质 | |
CN112306873A (zh) | 上线流程管理方法、装置和电子设备 | |
Chance et al. | A taxonomy for scenario use in requirements elicitation and analysis of software systems | |
CN111897725A (zh) | 中台服务自动化测试方法、介质、设备及系统 | |
CN117234946B (zh) | 项目库系统的自动化测试方法及相关设备 | |
CN111221719B (zh) | 一种自动化测试系统及测试方法 | |
CN113742244A (zh) | 一种大数据测试平台及数据处理方法 | |
CN112486829A (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 |