前后端集成开发测试的方法及装置与流程

文档序号:11154304阅读:1203来源:国知局
前后端集成开发测试的方法及装置与制造工艺

本发明涉及互联网技术领域,特别是涉及一种前后端集成开发测试的方法及装置。



背景技术:

随着不同终端(Pad/Mobile/PC)的兴起,对开发人员的要求越来越高,纯浏览器端的响应式已经不能满足用户体验的高要求,往往需要针对不同的终端开发定制的版本。为了提升开发效率,前后端分离的需求越来越被重视,后端负责业务/数据接口,前端负责展现/交互逻辑。我们通过API来解耦前端和后端开发过程,前后端通过一种软件构建风格(RESTFul)的接口来通信,前端的静态内容和后端的动态计算分别开发,分别部署。但是后续前后端的集成仍然是一个绕不开的问题,往往需要花费大量的精力来调试,直到上线前仍然不能完全保证所有的接口都是正常工作的。



技术实现要素:

有鉴于此,本发明提出了一种前后端集成开发测试的方法及装置,主要目的在于解决开发过程中遇到的前端与后端的集成问题。

依据本发明的第一个方面,本发明提出了一种前后端集成开发测试的方法,包括:

设置前端与后端之间的接口协议,根据接口协议创建处理相应业务的类及其测试类;

模拟业务的测试数据;

开启测试模式,将来自前端针对类的访问拦截到测试类;

前端根据测试类中的方法调取测试数据进行相应业务的开发;

后端根据测试数据进行业务逻辑的开发并实现类中的方法。

依据本发明的第二个方面,本发明提出了一种前后端集成开发测试的装置,包括:

设置单元,用于设置前端与后端之间的接口协议,根据接口协议创建 处理相应业务的类及其测试类;

模拟单元,用于模拟业务的测试数据;

拦截单元,用于在开启测试模式时将来自前端针对类的访问拦截到测试类;

调取单元,用于前端根据测试类中的方法调取测试数据进行相应业务的开发;

处理单元,用于后端根据测试数据进行业务逻辑的开发并实现类中的方法。

借由上述技术方案,本发明实施例提供的前后端集成开发测试的方法及装置,能够设置前端与后端之间的接口协议,并根据接口协议创建处理相应业务的类及其测试类;模拟业务的测试数据,并通过测试类中的方法予以实现;开启测试模式,将来自前端针对类的访问拦截到测试类;前端根据测试类中的方法调取测试数据进行相应业务的开发;后端根据测试数据进行业务逻辑的开发并实现类中的方法。与前后端开发过程中需要前端人员与后端人员不断进行沟通调试的缺陷相比,本发明在开发过程中将前端与后端进行隔离使前后端开发人员同时进行开发,减少了开发人员的沟通成本。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的一种前后端集成开发测试的方法的流程图;

图2示出了本发明实施例提供的一种前后端集成开发测试的装置的组成框图。

图3示出了本发明实施例提供的另一种前后端集成开发测试的装置的组成框图。

具体实施方式

下面将参照附图更加详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

在前后端开发过程中,前后端通常会通过RESTFul的接口来通信,前端的静态内容和后端的动态计算分别开发,分别部署,集成仍然是一个绕不开的问题。开发人员需要花费大量的精力来调试,直到上线前仍然无法确保所有的接口都正常工作。

为了解决开发过程中遇到的前端与后端的集成问题,本发明实施例提供了一种前后端集成开发测试的方法,如图1所示,该方法包括:

101、设置前端与后端之间的接口协议,根据接口协议创建处理相应业务的类及其测试类。

在进行业务开发时,需要在前端与后端之间设置共同的接口协议,用于在前端进行访问时能够从后端得到针对业务请求的响应。当设置好接口协议后,就可以根据接口协议创建处理相应业务的类,赋予类中一个处理业务的方法,在开发前期这个方法暂时可以不用实现。另外,为了后续集成测试的需要,本发明实施例还需要在创建处理相应业务的类时,同时创建该类的一个测试类,同样赋予测试类中一个与所述类中方法相同的一个方法。

102、模拟业务的测试数据。

由于在后续的集成测试过程中,若要获取到业务的真实数据进行前端测试则会需要使用真实的服务器,而真实数据不容易构造及不容易获取。因此在本发明实施例中,当步骤101中创建了处理相应业务的类及其测试类后,需要为后续集成测试模拟该业务的测试数据,并通过测试类中的方法予以实现。

103、开启测试模式,将来自前端针对类的访问拦截到测试类。

为了避免前后端后续集成测试出现问题,本发明实施例中需要前端执行界面操作和调用接口,而后端只提供基于请求的接口调用。因此,在本发明实施例中当设置好前后端之间的接口协议,并根据接口协议创建好针对业务的测试类以及模拟好测试数据后,就可以执行步骤103开启测试模式,将来自前端针对类的访问拦截到测试类,由测试类中的方法执行所述前端发送的请求并返回给前端。由于在后端通过测试类中的方法响应前端,因此不会对后端的业务逻辑开发产生影响。

104、前端根据测试类中的方法调取测试数据进行相应业务的开发。

由于在步骤103中前端发送的请求被拦截到后端的测试类中,并且步骤102中模拟的测试数据可以由测试类实现。因此前端会得到后端测试类中的方法执行请求任务后返回的测试数据,前端根据收到的测试数据进行相应业务的开发和测试。

105、后端根据测试数据进行业务逻辑的开发并实现类中的方法。

由于在集成测试过程中前端的请求被拦截到测试类,并不会调用后端针对业务的类,因此在测试的同时后端可以根据模拟的测试数据进行业务逻辑的开发并实现类中的方法。

本发明实施例提供的一种前后端集成开发测试的方法,能够设置前端与后端之间的接口协议,并根据接口协议创建处理相应业务的类及其测试类;模拟业务的测试数据,并通过测试类中的方法予以实现;开启测试模式,将来自前端针对类的访问拦截到测试类;前端根据测试类中的方法调取测试数据进行相应业务的开发;后端根据测试数据进行业务逻辑的开发并实现类中的方法。与前后端开发过程中需要前端人员与后端人员不断进行沟通调试的缺陷相比,本发明在开发过程中将前端与后端进行隔离使前后端开发人员同时进行开发,减少了开发人员的沟通成本。

为了更好的对上述图1所示的方法进行理解,本发明实施例将以开发一个返回所有关键词列表的页面的任务为例,针对图1中的各步骤进行详细说明。

在开发一个返回所有关键词列表的页面时,需要前后端共同开发,它 们之间进行通信时,即后端根据前端的请求进行响应时,需要遵循相同的协议。通俗的讲,就是前端发送一条信息,通过指定的接口后需要后端正确的解读该请求的目的。以本发明实施例为例,当前端发送一个请求后,后端通过该接口协议可以知道需要给前端返回关键词列表。因此,在设置前端与后端之间的接口协议时,需要由前端和后端共同制定网络应用程序接口即WebAPI接口。在开发前期即前端与后端的开发过程中,该WebAPI接口不需要实现,只给出定义的方法但不给出实现部分。

当后端能够根据设置的WebAPI接口解读前端发送的请求的目的后,就需要在后端创建实现返回所有关键词列表的类keywordManage,同时创建该业务的测试类keywordManageTest。在后端开发过程中,创建的实现返回所有关键词列表的keywordManage类中有具体的实现业务的方法1-GetAllKeyword,该方法用于在开发完成后针对前端的请求进行处理,在开发过程中暂时不需要实现。而创建的测试类keywordManageTest,则是为了在后续集成测试过程中对前端发送的请求进行响应,因此该测试类keywordManageTest中也有一个实现返回所有关键词列表的方法2-GetAllKeyword,该方法能够对前端的请求进行响应。

当设置好前端与后端之间的WebAPI接口并且创建了实现返回所有关键词列表的类keywordManage及其测试类keywordManageTest后,就需要为后续集成测试阶段需要的数据做准备。由于在测试阶段若使用前端从后端调取真实的数据则会干扰后端业务逻辑的开发,因此本发明实施例需要由前端和后端一起按照预设的格式共同模拟所述返回所有关键词列表的测试数据,供前端生成页面。前端和后端可以一起决定返回数据的格式,通常为XML、Json或Form URL-Encoded格式,甚至可以扩展添加自定义格式。在本发明实施例中,模拟的测试数据可以是Json格式的,并且这些测试数据可以通过测试类keywordManageTest中的2-GetAllKeyword方法实现,通过2-GetAllKeyword方法可以返回下列格式的数据:

[{〝Name〞:〝手机〞,〝Price〞:〝5.8〞,〝Url〞:〝www.jXXd.com〞},{〝Name〞:〝电脑〞,〝Price〞:〝8.9〞,〝Url〞:〝www.yiXXXdian.com〞},

{〝Name〞:〝鲜花〞,〝Price〞:〝3.0〞,〝Url〞:〝www.suXXXX.com〞}]当模拟好测试数据后,就可以开启集成测试模式对前后端进行集成测试。在本发明实施例中,为了解决开发前期前后端之间的集成问题,开发了用于集成测试的MixedTest框架,其本质是一个类库,包括接口、抽象类和具体类,可以解决多种专用开发任务中的诸如字符串管理、数据收集、数据库连接以及文件访问等任务。在配置好MixedTest框架的集成测试模式后,可以在前端基于HTTP访问后端keywordManage类的1-GetAllKeyword方法时自动将访问请求拦截到keywordManageTest中的2-GetAllKeyword方法中,并且可以从HTTP请求中提取数据并转化成在测试类的方法中使用的对象,从而使得前端和后端分离,前端只做界面操作和调用WebAPI,后端只提供HTTP WebAPI调用。后端不依赖于前端的实现,基于HTTP协议,随便用一个浏览器在地址栏输入都能进行WebAPI的调用,而前端则依赖WebAPI的定义。

当前端发送HTTP请求时,不会访问后端keywordManage类的1-GetAllKeyword方法,而是会调用keywordManageTest测试类的2-GetAllKeyword方法得到模拟的测试数据,前端根据测试数据进行页面开发,即使后端开发过程中出现错误也不会影响到前端的开发测试。同时前端在开发过程中,不会调用后端keywordManage类中的1-GetAllKeyword方法,使得后端在前端开发测试过程中可以进行业务逻辑的开发并实现keywordManage类中的1-GetAllKeyword方法。

当前后端都完成各自的开发后,可以通过设置MixedTest框架取消集成测试模式,将模拟的测试数据替换成正式的数据。这样前端发送的HTTP请求会正常的调用keywordManage类的1-GetAllKeyword方法得到正式数据。通过上述整个流程可以完成前后端合作共同开发任务。

进一步的,作为对上述图1所示方法的应用,本发明实施例还提供了一种前后端集成开发测试的装置,如图2所示,该装置包括:设置单元21、模拟单元22、拦截单元23、调取单元24及处理单元25,其中,

设置单元21,用于设置前端与后端之间的接口协议,根据接口协议创建处理相应业务的类及其测试类;

模拟单元22,用于模拟业务的测试数据;

拦截单元23,用于在开启测试模式时将来自前端针对所述类的访问拦截到所述测试类;

调取单元24,用于使前端根据所述测试类中的方法调取所述测试数据进行所述相应业务的开发;

处理单元25,用于使所述后端根据所述测试数据进行业务逻辑的开发并实现所述类中的方法。

进一步的,设置单元21用于为前端与后端共同制定网络应用程序接口。

进一步的,模拟单元22用于为前端与后端按照预设的格式共同模拟所述业务的测试数据,供前端实现所述业务。

进一步的,拦截单元23用于将前端基于超文本传送协议访问所述类时的请求拦截到所述测试类。

进一步的,如图3所示,该装置还包括:

替换单元26,用于在前后端开发完成后取消测试模式时,将所述测试数据替换为所述业务的正式数据;

调取单元24还用于在前端发送访问请求时调取所述类中的方法获取所述业务的正式数据。

本发明实施例提供的一种前后端集成开发测试的装置,能够设置前端与后端之间的接口协议,并根据接口协议创建处理相应业务的类及其测试类;模拟业务的测试数据,并通过测试类中的方法予以实现;开启测试模式,将来自前端针对类的访问拦截到测试类;前端根据测试类中的方法调取测试数据进行相应业务的开发;后端根据测试数据进行业务逻辑的开发并实现类中的方法。与前后端开发过程中需要前端人员与后端人员不断进行沟通调试的缺陷相比,本发明在开发过程中将前端与后端进行隔离使前后端开发人员同时进行开发,减少了开发人员的沟通成本。

所述前后端集成开发测试的装置包括处理器和存储器,上述设置单元21、模拟单元22、拦截单元23、调取单元24及处理单元25均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现解决开发过程中遇到的前端与后端的集成问题的目的。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:设置前端与后端之间的接口协议,根据接口协议创建处理相应业务的类及其测试类;模拟业务的测试数据;开启测试模式,将来自前端针对类的访问拦截到测试类;前端根据测试类中的方法调取测试数据进行相应业务的开发;后端根据测试数据进行业务逻辑的开发并实现类中的方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个 流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1