CN113672493A - 业务功能的测试方法、装置、测试平台及可读存储介质 - Google Patents

业务功能的测试方法、装置、测试平台及可读存储介质 Download PDF

Info

Publication number
CN113672493A
CN113672493A CN202010411032.6A CN202010411032A CN113672493A CN 113672493 A CN113672493 A CN 113672493A CN 202010411032 A CN202010411032 A CN 202010411032A CN 113672493 A CN113672493 A CN 113672493A
Authority
CN
China
Prior art keywords
test
testing
service
service function
configuration information
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
Application number
CN202010411032.6A
Other languages
English (en)
Inventor
过一峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN202010411032.6A priority Critical patent/CN113672493A/zh
Publication of CN113672493A publication Critical patent/CN113672493A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software

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

本发明公开了一种业务功能的测试方法、装置、测试平台及可读存储介质,所述业务功能的测试方法应用于测试平台,所述测试平台包括测试端,以及异步通信的前端和后端,所述方法包括:当前端接收到对任一业务功能进行测试的测试请求时,所述前端将与所述测试请求对应的测试文件和配置信息传输到后端;基于所述后端解析所述测试文件和所述配置信息,生成测试任务,并将所述测试任务发送到测试端;基于所述测试端对所述测试任务进行处理,生成与所述业务功能对应的测试结果,完成对所述业务功能的测试。本发明采用前端和后端分离的异步通信机制,降低了前端和后端之间的耦合性;并且减少了通信等待时间,提高了测试效率。

Description

业务功能的测试方法、装置、测试平台及可读存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种业务功能的测试方法、装置、测试平台及可读存储介质。
背景技术
随着科学技术的发展,用户终端所能实现的业务功能越来越多,各项业务功能在推向市场之前均需要进行测试,以确保业务功能的正常实现。并且当前业务功能的测试通常采用前端和后端同步的同步架构实现,如图4所示,图4中Django模型对前端请求的处理,即通过Django同步架构实现。其中,PRM为对象关系映射,html(Hyper Text MarkupLanguage)为超文本标记语言,celery模块为任务调度模块,mysql为关系型数据库管理系统。
但是,同步架构的测试方式存在架构之间代码耦合性高的问题,难以维护,并且大部分功能依赖于后端实现,后端数据处理压力大,处理效率低,而降低了测试的效率。因此,当前业务功能测试所存在的架构之间代码耦合性高,且测试效率低的问题是亟待解决的技术问题。
发明内容
本发明的主要目的在于提供一种业务功能的测试方法、装置、测试平台及可读存储介质,旨在解决现有技术中实现测试的架构之间代码耦合性高,测试效率低的技术问题。
为实现上述目的,本发明提供一种业务功能的测试方法,所述业务功能的测试方法应用于测试平台,所述测试平台包括测试端,以及异步通信的前端和后端,所述业务功能的测试方法包括以下步骤:
当前端接收到对任一业务功能进行测试的测试请求时,所述前端将与所述测试请求对应的测试文件和配置信息传输到后端;
基于所述后端解析所述测试文件和所述配置信息,生成测试任务,并将所述测试任务发送到测试端;
基于所述测试端对所述测试任务进行处理,生成与所述业务功能对应的测试结果,完成对所述业务功能的测试。
可选地,所述基于所述测试端对所述测试任务进行处理,生成与所述业务功能对应的测试结果的步骤之后包括:
基于所述测试端将所述测试结果发送到测试平台对接的数据库中存储;
当所述前端接收到刷新指令时,将所述刷新指令传输到所述后端,所述后端请求从所述数据库读取所述测试结果;
在所述后端将所述测试结果返回到所述前端后,所述前端将所述测试结果显示在与所述刷新指令对应的业务界面。
可选地,所述测试任务包含多个测试子任务,所述基于所述测试端对所述测试任务进行处理,生成与所述业务功能对应的测试结果的步骤包括:
基于所述测试端配置与多个所述测试子任务分别对应的处理进程,以及与多个所述处理进程分别对应的控制单元,并对每一所述控制单元执行以下步骤:
控制所述控制单元启动虚拟测试环境,并将与所述控制单元对应的测试子任务,添加到所述虚拟测试环境中运行,生成与所述测试子任务对应的测试子结果;
在生成与多个所述测试子任务分别对应的测试子结果后,将多个所述测试子结果生成为与所述业务功能对应的测试结果。
可选地,所述基于所述后端解析所述测试文件和所述配置信息,生成测试任务的步骤包括:
基于所述后端对所述配置信息进行解析,提取出多个测试环境标识,以及与多个所述测试环境标识分别对应的测试用例;
基于所述后端对所述测试文件进行解析,提取出多个测试平台标识,以及与多个所述测试平台标识分别对应的待测内容,并对每一所述测试平台标识执行以下步骤:
从多个所述测试环境标识中查找与所述测试平台标识对应的目标测试环境标识,并从多个所述测试用例中查找与所述目标测试环境标识对应的目标测试用例;
将所述测试平台标识对应的待测内容与所述目标测试用例关联,形成测试子任务,并在多个所述测试平台标识均形成所述测试子任务后,将各个所述测试子任务形成为测试任务。
可选地,所述将所述测试任务发送到测试端的步骤包括:
所述后端将所述测试任务中的各测试子任务添加到消息队列中,以基于所述消息队列发送到所述测试端。
可选地,所述当前端接收到对任一业务功能进行测试的测试请求时,所述前端将与所述测试请求对应的测试文件和配置信息传输到后端的步骤包括:
所述前端接收基于业务界面中任一业务功能上传的业务测试文件,并在接收到基于所述业务界面发送的测试配置指令,读取与所述测试配置指令对应的测试配置信息;
当所述前端接收到所述测试请求时,所述前端将所述业务测试文件和所述测试配置信息,分别确定为与所述测试请求对应的测试文件和配置信息传输到后端。
可选地,所述前端将所述业务测试文件和所述测试配置信息,分别确定为与所述测试请求对应的测试文件和配置信息传输到后端的步骤之前包括:
所述前端对所述测试配置信息的完整性进行校验,若所述完整性校验成功,则执行所述前端将所述业务测试文件和所述测试配置信息,分别确定为与所述测试请求对应的测试文件和配置信息传输到后端的步骤;
若所述完整性校验失败,则输出错误提示信息。
可选地,所述前端接收基于业务界面中任一业务功能上传的业务测试文件的步骤之前包括:
当所述前端接收到对所述业务界面的选择指令时,所述前端向所述后端发送渲染请求,所述后端基于所述渲染请求从所述测试平台对接的数据库中获取渲染数据返回至前端;
所述前端根据所述渲染数据对所述业务界面进行渲染显示。
可选地,所述当前端接收到对任一业务功能进行测试的测试请求时,所述前端将与所述测试请求对应的测试文件和配置信息传输到后端的步骤之前包括:
当所述前端接收到对所述测试平台的登录请求时,所述前端判断与所述登录请求对应的用户账户是否为验证账户;
若为验证账户,则所述前端获取与所述用户账户对应用户权限的权限信息,并基于所述权限信息跳转到首页面显示;
若非验证账户,则所述前端向与所述测试平台连接的域服务器发送信息查询请求,以基于所述域服务器查询用户信息返回至所述前端;
所述前端根据所述用户信息对所述用户账户进行登录,并基于与所述用户账户对应用户权限的权限信息跳转到首页面显示。
可选地,所述基于所述测试端对所述测试任务进行处理,生成与所述业务功能对应的测试结果的步骤之后包括:
当所述前端接收到退出指令时,所述前端对与所述验证账户对应的验证信息清除,并显示所述域服务器的登录界面。
可选地,所述当所述前端接收到对所述测试平台的登录请求时,所述前端判断与所述登录请求对应的用户账户是否为验证账户的步骤之前包括:
当所述后端侦测到基于所述前端发送的启动所述测试平台的启动请求时,所述后端对与所述测试平台对接的数据库进行初始化,以建立链接并生成链接实例,对所述数据库进行访问;
所述后端对所述前端的APP组件进行初始化,生成与所述后端对应的功能接口,并加载所述后端的配置信息,生成APP实例,以基于所述APP实例实现各所述功能接口的功能,对所述业务功能进行测试。
可选地,所述基于与所述用户账户对应用户权限的权限信息跳转到首页面显示的步骤之后包括:
所述前端向所述后端发送数据查询请求,所述后端基于所述数据查询请求从所述测试平台对接的数据库中查询更新数据返回至所述前端;
所述前端基于所述更新数据对所述首页面更新显示。
可选地,所述前端根据所述用户信息对所述用户账户进行登录,并基于与所述用户账户对应用户权限的权限信息跳转到首页面显示的步骤包括:
所述前端检测所述用户信息是否为空值,若为空值判定所述用户账户登录失败;
若非空值则判定所述用户账户登录成功,将所述用户信息发送至所述后端,所述后端基于所述用户信息从所述测试平台对接的数据库中查询与所述用户账户对应的用户权限,并返回至所述前端;
在基于所述前端的APP组件对首页面渲染完成后,所述前端基于所述用户权限向所述后端发送信息获取请求,所述后端根据所述信息获取请求从所述数据库中获取与所述用户权限对应的权限信息返回至所述前端;
所述前端基于所述权限信息对渲染的首页面进行显示。
可选地,所述前端基于所述权限信息对渲染的首页面进行显示的步骤包括:
所述前端生成与所述用户权限对应的动态路由,基于所述动态路加载所述权限信息,并将所述权限信息添加到渲染的首页面中进行显示。
可选地,所述前端基于所述用户权限向所述后端发送信息获取请求的步骤之前包括:
所述前端检测所述用户权限的类型是否为具有权限,若为具有权限,则执行所述前端基于所述用户权限向所述后端发送信息获取请求的步骤;
若为不具有权限,则基于所述前端的静态路由对渲染的所述首页面进行显示。
可选地,所述若为不具有权限,则基于所述前端的静态路由对渲染的所述首页面进行显示的步骤之后包括:
在所述前端接收到权限配置指令后,所述前端跳转到权限配置页面,并将基于所述权限配置页面发送的权限配置请求发送到所述后端;
所述后端根据所述权限配置请求对所述用户权限的类型进行更改,并从所述数据库中获取与更改的所述用户权限对应的权限更新信息返回至所述前端;
所述前端根据所述权限更新信息,对所述首页面更新显示。
可选地,所述测试端、前端和后端之间基于异步协程进行数据传输。
进一步地,为实现上述目的,本发明还提供一种业务功能的测试装置,所述业务功能的测试装置包括:
传输模块,用于当前端接收到对任一业务功能进行测试的测试请求时,所述前端将与所述测试请求对应的测试文件和配置信息传输到后端;
发送模块,用于基于所述后端解析所述测试文件和所述配置信息,生成测试任务,并将所述测试任务发送到测试端;
生成模块,用于基于所述测试端对所述测试任务进行处理,生成与所述业务功能对应的测试结果,完成对所述业务功能的测试。
进一步地,为实现上述目的,本发明还提供一种业务功能的测试平台,所述业务功能的测试平台包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的业务功能的测试程序,所述业务功能的测试程序被所述处理器执行时实现如上述所述的业务功能的测试方法的步骤。
进一步地,为实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质上存储有业务功能的测试程序,所述业务功能的测试程序被处理器执行时实现如上所述的业务功能的测试方法的步骤。
本发明的业务功能的测试方法、装置、测试平台和可读存储介质,该业务功能的测试方法应用于测试平台,测试平台包括测试端,以及异步通信的前端和后端。前端一旦接收到对任一业务功能进行测试的测试请求,则将与该测试请求对应的测试文件和配置信息传输到后端;通过后端对测试文件和配置信息进行解析,生成测试任务发送到测试端;进而由测试端对测试任务进行处理,得到与业务功能对应的测试结果,完成对业务功能的测试。因采用前端和后端分离的异步通信机制,避免了以耦合性高的同步架构进行测试,有利于代码的维护;同时前端与后端之间的异步通信,减少了同步通信的等待时间,并且前端和后端之间的分工更为明确精细,有利于数据处理效率的提高;此外,测试平台中还接入有测试端,通过测试端来分担后端的压力,也提高了数据处理的效率。因此,在实现测试平台中代码的维护性好的同时,还实现了从多个方面来提升测试效率。
附图说明
图1为本发明业务功能的测试平台实施例方案涉及的测试平台硬件运行环境的结构示意图;
图2为本发明业务功能的测试方法第一实施例的流程示意图;
图3为本发明业务功能的测试方法中由测试端、前端、后端和数据库所形成的测试平台框架的示意图;
图4为现有技术中通过Django同步架构实现业务功能测试的示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种业务功能的测试平台,参照图1,图1为本发明业务功能的测试平台实施例方案涉及的测试平台硬件运行环境的结构示意图。
如图1所示,该业务功能的测试平台可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储测试平台。
本领域技术人员可以理解,图1中示出的业务功能的测试平台的硬件结构并不构成对业务功能的测试平台的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及业务功能的测试程序。其中,操作系统是管理和控制业务功能的测试平台与软件资源的程序,支持网络通信模块、用户接口模块、业务功能的测试程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1004;用户接口模块用于管理和控制用户接口1003。
在图1所示的业务功能的测试平台硬件结构中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;处理器1001可以调用存储器1005中存储的业务功能的测试程序,并执行以下操作:
当前端接收到对任一业务功能进行测试的测试请求时,所述前端将与所述测试请求对应的测试文件和配置信息传输到后端;
基于所述后端解析所述测试文件和所述配置信息,生成测试任务,并将所述测试任务发送到测试端;
基于所述测试端对所述测试任务进行处理,生成与所述业务功能对应的测试结果,完成对所述业务功能的测试。
进一步地,所述基于所述测试端对所述测试任务进行处理,生成与所述业务功能对应的测试结果的步骤之后,处理器1001可以调用存储器1005中存储的业务功能的测试程序,并执行以下操作:
基于所述测试端将所述测试结果发送到测试平台对接的数据库中存储;
当所述前端接收到刷新指令时,将所述刷新指令传输到所述后端,所述后端请求从所述数据库读取所述测试结果;
在所述后端将所述测试结果返回到所述前端后,所述前端将所述测试结果显示在与所述刷新指令对应的业务界面。
进一步地,所述测试任务包含多个测试子任务,所述基于所述测试端对所述测试任务进行处理,生成与所述业务功能对应的测试结果的步骤包括:
基于所述测试端配置与多个所述测试子任务分别对应的处理进程,以及与多个所述处理进程分别对应的控制单元,并对每一所述控制单元执行以下步骤:
控制所述控制单元启动虚拟测试环境,并将与所述控制单元对应的测试子任务,添加到所述虚拟测试环境中运行,生成与所述测试子任务对应的测试子结果;
在生成与多个所述测试子任务分别对应的测试子结果后,将多个所述测试子结果生成为与所述业务功能对应的测试结果。
进一步地,所述基于所述后端解析所述测试文件和所述配置信息,生成测试任务的步骤包括:
基于所述后端对所述配置信息进行解析,提取出多个测试环境标识,以及与多个所述测试环境标识分别对应的测试用例;
基于所述后端对所述测试文件进行解析,提取出多个测试平台标识,以及与多个所述测试平台标识分别对应的待测内容,并对每一所述测试平台标识执行以下步骤:
从多个所述测试环境标识中查找与所述测试平台标识对应的目标测试环境标识,并从多个所述测试用例中查找与所述目标测试环境标识对应的目标测试用例;
将所述测试平台标识对应的待测内容与所述目标测试用例关联,形成测试子任务,并在多个所述测试平台标识均形成所述测试子任务后,将各个所述测试子任务形成为测试任务。
进一步地,所述将所述测试任务发送到测试端的步骤包括:
所述后端将所述测试任务中的各测试子任务添加到消息队列中,以基于所述消息队列发送到所述测试端。
进一步地,所述当前端接收到对任一业务功能进行测试的测试请求时,所述前端将与所述测试请求对应的测试文件和配置信息传输到后端的步骤包括:
所述前端接收基于业务界面中任一业务功能上传的业务测试文件,并在接收到基于所述业务界面发送的测试配置指令,读取与所述测试配置指令对应的测试配置信息;
当所述前端接收到所述测试请求时,所述前端将所述业务测试文件和所述测试配置信息,分别确定为与所述测试请求对应的测试文件和配置信息传输到后端。
进一步地,所述前端将所述业务测试文件和所述测试配置信息,分别确定为与所述测试请求对应的测试文件和配置信息传输到后端的步骤之前,处理器1001可以调用存储器1005中存储的业务功能的测试程序,并执行以下操作:
所述前端对所述测试配置信息的完整性进行校验,若所述完整性校验成功,则执行所述前端将所述业务测试文件和所述测试配置信息,分别确定为与所述测试请求对应的测试文件和配置信息传输到后端的步骤;
若所述完整性校验失败,则输出错误提示信息。
进一步地,所述前端接收基于业务界面中任一业务功能上传的业务测试文件的步骤之前,处理器1001可以调用存储器1005中存储的业务功能的测试程序,并执行以下操作:
当所述前端接收到对所述业务界面的选择指令时,所述前端向所述后端发送渲染请求,所述后端基于所述渲染请求从所述测试平台对接的数据库中获取渲染数据返回至前端;
所述前端根据所述渲染数据对所述业务界面进行渲染显示。
进一步地,所述当前端接收到对任一业务功能进行测试的测试请求时,所述前端将与所述测试请求对应的测试文件和配置信息传输到后端的步骤之前,处理器1001可以调用存储器1005中存储的业务功能的测试程序,并执行以下操作:
当所述前端接收到对所述测试平台的登录请求时,所述前端判断与所述登录请求对应的用户账户是否为验证账户;
若为验证账户,则所述前端获取与所述用户账户对应用户权限的权限信息,并基于所述权限信息跳转到首页面显示;
若非验证账户,则所述前端向与所述测试平台连接的域服务器发送信息查询请求,以基于所述域服务器查询用户信息返回至所述前端;
所述前端根据所述用户信息对所述用户账户进行登录,并基于与所述用户账户对应用户权限的权限信息跳转到首页面显示。
进一步地,所述基于所述测试端对所述测试任务进行处理,生成与所述业务功能对应的测试结果的步骤之后,处理器1001可以调用存储器1005中存储的业务功能的测试程序,并执行以下操作:
当所述前端接收到退出指令时,所述前端对与所述验证账户对应的验证信息清除,并显示所述域服务器的登录界面。
进一步地,所述当所述前端接收到对所述测试平台的登录请求时,所述前端判断与所述登录请求对应的用户账户是否为验证账户的步骤之前,处理器1001可以调用存储器1005中存储的业务功能的测试程序,并执行以下操作:
当所述后端侦测到基于所述前端发送的启动所述测试平台的启动请求时,所述后端对与所述测试平台对接的数据库进行初始化,以建立链接并生成链接实例,对所述数据库进行访问;
所述后端对所述前端的APP组件进行初始化,生成与所述后端对应的功能接口,并加载所述后端的配置信息,生成APP实例,以基于所述APP实例实现各所述功能接口的功能,对所述业务功能进行测试。
进一步地,所述基于与所述用户账户对应用户权限的权限信息跳转到首页面显示的步骤之后,处理器1001可以调用存储器1005中存储的业务功能的测试程序,并执行以下操作:
所述前端向所述后端发送数据查询请求,所述后端基于所述数据查询请求从所述测试平台对接的数据库中查询更新数据返回至所述前端;
所述前端基于所述更新数据对所述首页面更新显示。
进一步地,所述前端根据所述用户信息对所述用户账户进行登录,并基于与所述用户账户对应用户权限的权限信息跳转到首页面显示的步骤包括:
所述前端检测所述用户信息是否为空值,若为空值判定所述用户账户登录失败;
若非空值则判定所述用户账户登录成功,将所述用户信息发送至所述后端,所述后端基于所述用户信息从所述测试平台对接的数据库中查询与所述用户账户对应的用户权限,并返回至所述前端;
在基于所述前端的APP组件对首页面渲染完成后,所述前端基于所述用户权限向所述后端发送信息获取请求,所述后端根据所述信息获取请求从所述数据库中获取与所述用户权限对应的权限信息返回至所述前端;
所述前端基于所述权限信息对渲染的首页面进行显示。
进一步地,所述前端基于所述权限信息对渲染的首页面进行显示的步骤包括:
所述前端生成与所述用户权限对应的动态路由,基于所述动态路加载所述权限信息,并将所述权限信息添加到渲染的首页面中进行显示。
进一步地,所述前端基于所述用户权限向所述后端发送信息获取请求的步骤之前,处理器1001可以调用存储器1005中存储的业务功能的测试程序,并执行以下操作:
所述前端检测所述用户权限的类型是否为具有权限,若为具有权限,则执行所述前端基于所述用户权限向所述后端发送信息获取请求的步骤;
若为不具有权限,则基于所述前端的静态路由对渲染的所述首页面进行显示。
进一步地,所述若为不具有权限,则基于所述前端的静态路由对渲染的所述首页面进行显示的步骤之后,处理器1001可以调用存储器1005中存储的业务功能的测试程序,并执行以下操作:
在所述前端接收到权限配置指令后,所述前端跳转到权限配置页面,并将基于所述权限配置页面发送的权限配置请求发送到所述后端;
所述后端根据所述权限配置请求对所述用户权限的类型进行更改,并从所述数据库中获取与更改的所述用户权限对应的权限更新信息返回至所述前端;
所述前端根据所述权限更新信息,对所述首页面更新显示。
进一步地,所述测试端、前端和后端之间基于异步协程进行数据传输。
本发明业务功能的测试平台的具体实施方式与下述业务功能的测试方法各实施例基本相同,在此不再赘述。
本发明还提供一种业务功能的测试方法。
参照图2,图2为本发明业务功能的测试方法第一实施例的流程示意图。
本发明实施例提供了业务功能的测试方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。具体地,本实施例中的业务功能的测试方法应用于测试平台,所述测试平台包括测试端,以及异步通信的前端和后端,该业务功能的测试方法包括:
步骤S10,当前端接收到对任一业务功能进行测试的测试请求时,所述前端将与所述测试请求对应的测试文件和配置信息传输到后端;
本实施例中的业务功能的测试方法应用于测试平台,测试平台包括用于测试任务执行的测试端,用于对测试显示的前端,用于对测试协调的后端。前端与后端之间通信,后端与数据库之间通信;并且前端与后端之间为分离的异步通信架构,以避免两者之间代码的耦合性高,提升测试平台的代码可读性和可维护性。此外,测试平台还对接用于数据存储的数据库;数据库与后端通信连接,以通过后端从数据库中读取数据到前端显示,或者将前端的数据传输到数据库中存在;同时测试端与数据库之间单向通信连接,测试端将测试结果传输到数据库存储。由测试端、前端、后端和数据库所形成的测试平台框架如图3所示。
需要说明的是,前端和后端之间,测试端与后端之间,以及后端与数据库之间基于异步协程进行数据传输。以此,在通过异步通信架构来降低耦合的同时,还通过异步协程来增加测试平台的并发能力,提升平台性能。
进一步地,前端中设置有业务界面,其中显示有多个业务功能,用以从其中选择需要测试的业务功能进行测试。当前端接收到用户基于该业务界面中任意一项业务功能所发送的测试请求,表征对该业务功能具有测试需求时,前端获取与该测试请求对应的测试文件和配置信息传输到后端。测试文件表征所需要测试的具体功能内容,配置信息表征测试内容针对的测试平台、所使用的测试实例等信息,以便于后端依据两者形成测试任务传输到测试端进行测试。
可理解地,业务功能通常由具有测试权限的用户进行测试,为了确保测试请求由具有测试权限的用户发起,本实施例设置有在登录后验证权限的机制。具体地,当前端接收到对任一业务功能进行测试的测试请求时,前端将与测试请求对应的测试文件和配置信息传输到后端的步骤之前包括:
步骤a1,当所述前端接收到对所述测试平台的登录请求时,所述前端判断与所述登录请求对应的用户账户是否为验证账户;
步骤a2,若为验证账户,则所述前端获取与所述用户账户对应用户权限的权限信息,并基于所述权限信息跳转到首页面显示;
步骤a3,若非验证账户,则所述前端向与所述测试平台连接的域服务器发送信息查询请求,以基于所述域服务器查询用户信息返回至所述前端;
步骤a4,所述前端根据所述用户信息对所述用户账户进行登录,并基于与所述用户账户对应用户权限的权限信息跳转到首页面显示。
进一步地,前端在接收到用户发送的对测试平台的登录请求时,先判断发起登录请求的用户账户是否为验证账户,其中验证账户为此前一端时间内经验证为具有测试权限的账户,表征该用户账户对应的用户具有测试权限。并且验证账户可由后端确定用户账户是否携带有预设时间内的cookie来判断,预设时间依据需求设定,如12小时、24小时等。若用户账户携带有cookie,且所携带的cookie在预设时间内生成,则判定用户账户的cookie有效,为验证账户。若用户账户为携带有cookie,或者所携带的cookie未在预设时间内生成,则判定用户账户为未经验证的非验证账户。
更进一步地,对于验证账户,前端根据用户账户的权限标识,确定与用户账户对应的用户权限,并向后端请求与该用户权限对应的权限信息,权限信息表征了用户当前具有的权限在前端所能查看的显示内容。后端依据请求向数据库请权限信息返回到前端,前端依据返回的权限信息生成路由表和导航栏。路由表是电子表格(文件)或类数据库,存储着指向特定网络地址的路径,表征用户所能访问的权限;导航栏中包含有可供查看的各项功能,表征用户在前端所能测试的业务功能。前端在依据获取到权限信息生成路由表和导航栏之后,则基于路由表和导航栏对测试平台中初始的默认首页面更新,并跳转到更新的首页面显示,以便于用户在更新的首页面上操作其具有操作权限的各项功能。
进一步地,测试平台对接有用于认证的域服务器,域服务器为测试平台对应企业的私有服务器,包含有企业内部的各种信息,只有企业的内部员工才具有访问权限。对于非验证用户,前端向域服务器发送信息查询请求,通过域服务器来查找用户信息返回至前端。前端依据返回的用户信息,对用户账户进行登录操作,并且依据用户账户的权限标识,确定与用户账户对应的用户权限。进而向后端请求与该用户权限对应的权限信息,基于权限信息所生成的路由表和导航栏,对默认首页面更新后跳转显示,以便于用户对其具有操作权限的各项功能进行操作。
可理解地,在跳转到首页面显示之后,对于其中某些显示功能可能经上一次的测试而发生变化,如统计的总测试次数发送变化,最近一次测试的时间发生变化等。对于该部分内容也需要更新在首页面上显示。具体地,基于与用户账户对应用户权限的权限信息跳转到首页面显示的步骤之后包括:
步骤a5,所述前端向所述后端发送数据查询请求,所述后端基于所述数据查询请求从所述测试平台对接的数据库中查询更新数据返回至所述前端;
步骤a6,所述前端基于所述更新数据对所述首页面更新显示。
进一步地,前端在跳转到首页面显示时,会自动触发数据查询请求发送到后端,以查询需要更新的数据。后端在接收到该数据查询请求后,向数据库请求查询是否存在更新数据,该更新数据即为经上次测试后发生变化而需要更新的数据。若存在更新数据则获取该更新数据返回到前端,前端将该类更新数据更新到首页面显示,以向用户展示首页面的更新情况。若不存在更新数据,则继续以首页面显示的内容显示。
此外,对于业务界面中的各项业务功能或者其他界面中的其他功能也可能存在更新,如对某项业务功能进行测试生成新的测试结果日志发生;对于该类数据,通过用户在首页面触发对应功能的选择指令进行更新。即前端在接收到用户对首页面中某一项功能的选择指令后,则触发数据查询请求发送到后端,以通过后端查询该项功能是否存在更新数据,若存在则获取该更新数据返回至前端,由前端显示在所选择功能对应的页面中,以向用户展示功能的更新情况,便于用户后续对其他功能进行测试,或持续测试该项功能。
步骤S20,基于所述后端解析所述测试文件和所述配置信息,生成测试任务,并将所述测试任务发送到测试端;
更进一步地,用户在经登录鉴权,并通过业务界面选择业务功能发送测试请求后,前端获取与测试请求对应的测试文件和配置信息一并传输到后端。后端对该测试文件和配置信息进行解析,将测试文件中测试的具体功能内容,和配置信息中的测试平台、测试实例匹配,形成测试任务发送到测试端进行测试。
步骤S30,基于所述测试端对所述测试任务进行处理,生成与所述业务功能对应的测试结果,完成对所述业务功能的测试。
更进一步地,测试端执行测试任务,以对各项具体功能进行测试,生成与各项具体功能的测试结果,作为与业务功能对应的测试结果,实现对用户所选择业务功能的测试。
进一步地,对于测试端所生成的测试结果设置有通过数据库的存储来实现前端页面更新的机制。具体地,基于测试端对测试任务进行处理,生成与业务功能对应的测试结果的步骤之后包括:
步骤b1,基于所述测试端将所述测试结果发送到测试平台对接的数据库中存储;
步骤b2,当所述前端接收到刷新指令时,将所述刷新指令传输到所述后端,所述后端请求从所述数据库读取所述测试结果;
步骤b3,在所述后端将所述测试结果返回到所述前端后,所述前端将所述测试结果显示在与所述刷新指令对应的业务界面。
更进一步地,测试端将执行测试任务所生成的测试结果发送到数据库中存储,并且在前端接收到刷新指令时,将刷新指令传输到后端。通过后端向数据库请求读取测试结果返回至前端,其中刷新指令可以是针对业务功能的选择指令。前端将返回的测试结果显示在与刷新指令对应的业务界面,即用户选择的业务功能所在的界面,以展示对业务功能进行测试所生成的测试结果。需要说明的是,测试结果可以直接显示在业务界面中,也可以以文档链接的方式显示在业务界面中,对此不做限制。
可理解地,用户在对业务功能测试完成后,具有退出登录的需求。从而在基于测试端对测试任务进行处理,生成与业务功能对应的测试结果的步骤之后,还包括:
步骤c1,当所述前端接收到退出指令时,所述前端对与所述验证账户对应的验证信息清除,并显示所述域服务器的登录界面。
在前端接收到用户触发的退出指令后,前端对验证账户对应的验证信息进行清除。其中验证账户对应的验证信息为验证测试权限的信息,如上述的cookie;并且除了经判定用户账户为验证账户所具有的cookie外,还包括非验证账户经授权后所取得验证信息。通过清除来避免验证信息保存在本地而容易被盗用,确保了用户账户的安全性。同时将用户账户定向到域服务器,在前端显示域服务器的登录界面,以便于用户的重新登录操作。
本发明的业务功能的测试方法,应用于测试平台,测试平台包括测试端,以及异步通信的前端和后端。前端一旦接收到对任一业务功能进行测试的测试请求,则将与该测试请求对应的测试文件和配置信息传输到后端;通过后端对测试文件和配置信息进行解析,生成测试任务发送到测试端;进而由测试端对测试任务进行处理,得到与业务功能对应的测试结果,完成对业务功能的测试。因采用前端和后端分离的异步通信机制,避免了以耦合性高的同步架构进行测试,有利于代码的维护;同时前端与后端之间的异步通信,减少了同步通信的等待时间,并且前端和后端之间的分工更为明确精细,有利于数据处理效率的提高;此外,测试平台中还接入有测试端,通过测试端来分担后端的压力,也提高了数据处理的效率。因此,在实现测试平台中代码的维护性好的同时,还实现了从多个方面来提升测试效率。
进一步地,基于本发明业务功能的测试方法的第一实施例,提出本发明业务功能的测试方法第二实施例。
所述业务功能的测试方法第二实施例与所述业务功能的测试方法第一实施例的区别在于,所述测试任务包含多个测试子任务,所述基于所述测试端对所述测试任务进行处理,生成与所述业务功能对应的测试结果的步骤包括:
步骤S31,基于所述测试端配置与多个所述测试子任务分别对应的处理进程,以及与多个所述处理进程分别对应的控制单元,并对每一所述控制单元执行以下步骤:
步骤S32,控制所述控制单元启动虚拟测试环境,并将与所述控制单元对应的测试子任务,添加到所述虚拟测试环境中运行,生成与所述测试子任务对应的测试子结果;
步骤S33,在生成与多个所述测试子任务分别对应的测试子结果后,将多个所述测试子结果生成为与所述业务功能对应的测试结果。
本实施例由后端所生成的测试任务包含多个测试子任务。测试端执行测试任务进行测试,其实质为执行各个测试子任务。并且为了提高测试进度,设置多进程并行测试的机制。通过测试端为每个测试子任务配置处理进程,以及控制单元,一个测试子任务对应一个处理进程以及一个控制单元。并且控制每个控制单元启动虚拟机以准备虚拟测试环境,将控制单元对应的测试子任务添加到虚拟测试环境中运行,生成该测试子任务的测试子结果。
进一步地,在所有控制单元均对各自的测试子任务进行测试,生成各自的测试子结果后,所有的测试子结果即形成为与业务功能对应的测试结果,实现对用户所选择业务功能的测试。本实施通过针对各个测试子任务均配置对应的处理线程和控制单元,实现了对各个测试子任务的并行测试,提高了测试的效率,并使得测试更加稳定。
进一步地,基于本发明业务功能的测试方法的第一或第二实施例,提出本发明业务功能的测试方法第三实施例。
所述业务功能的测试方法第三实施例与所述业务功能的测试方法第一或第二实施例的区别在于,所述基于所述后端解析所述测试文件和所述配置信息,生成测试任务的步骤包括:
步骤S21,基于所述后端对所述配置信息进行解析,提取出多个测试环境标识,以及与多个所述测试环境标识分别对应的测试用例;
步骤S22,基于所述后端对所述测试文件进行解析,提取出多个测试平台标识,以及与多个所述测试平台标识分别对应的待测内容,并对每一所述测试平台标识执行以下步骤:
步骤S23,从多个所述测试环境标识中查找与所述测试平台标识对应的目标测试环境标识,并从多个所述测试用例中查找与所述目标测试环境标识对应的目标测试用例;
步骤S24,将所述测试平台标识对应的待测内容与所述目标测试用例关联,形成测试子任务,并在多个所述测试平台标识均形成所述测试子任务后,将各个所述测试子任务形成为测试任务。
本实施例后端通过消息队列的机制来生成测试任务,以便于测试任务中各项测试子任务的维护。具体地,后端在接收到前端传输的测试文件和配置信息后,对配置信息进行解析,从其中提取出多个测试环境标识,以及与各个测试环境标识对应的测试用例。其中测试环境标识表征测试任务的运行平台,可以是win7_x86、win7_x64、win10_x86、win10_x64中的一项或多项;测试用例为用户实现业务功能中某一项功能的程序代码。同时,后端对测试文件进行解析,从其中提取出多个测平台标识,以及与各个测试平台标识对应的待测内容。其中测试平台标识表示需要进行业务功能测试的平台,以确保业务功能在该类平台上的正常运行;待测内容表征业务功能中需要测试的具体功能内容。
进一步地,后端在对测试文件和配置信息解析完成,分别得到多个测试平台标识及其多项待测内容,以及测试环境标识及其测试用例之后。则可依据测试平台标识与测试环境标识之间所表征测试环境的一致性,来将待测内容与测试用例关联,形成测试子任务,以对所需要测试的各项具体功能内容进行测试。具体地,针对每个测试平台标识,对测试环境标识进行查找,从其中查找出与测试平台标识对应的目标测试环境标识,该目标测试环境标识与测试平台标识所表征的测试环境一致,如均是win10_x86或win10_x64等。
更进一步地,依据测试用例与测试环境标识之间的对应关系,查找与目标测试环境标识对应的目标测试用例,以通过目标测试用来来对需要测试的具体功能内容进行测试。此后在目标测试用例与待测内容之间关联,形成一项测试子任务。并且在各个测试平台标识均查找到各自对应的目标测试环境标识,以及与各个目标测试环境对应的目标测试用例后,将各个测试平台标识对应的待测内容和各自的目标测试用例关联,即形成与各个测试平台标识对应的多个测试子任务,由各个测试子任务形成为测试任务,用以对业务功能进行测试。
进一步地,后端在形成测试任务后,即可将该测试任务传输到测试端进行测试。具体地,将测试任务发送到测试端的步骤包括:
步骤S25,所述后端将所述测试任务中的各测试子任务添加到消息队列中,以基于所述消息队列发送到所述测试端。
为了便于维护各项测试子任务,后端将各项子任务添加到消息队列中,其中消息队列可以是redis来构建,通过消息队列将测试子任务以消息的方式发送到测试端进行处理。
本实施例通过将待测内容和测试用例关联,形成测试子任务,通过测试子任务中的测试用例实现待测内容所需要测试的具体功能内容,避免各项需要测试的具体功能内容之间的混淆。并且将各项测试子任务添加到消息队列中,以消息队列的方式将各项测试子任务传输到测试端进行测试,便于各项测试子任务的有序维护,避免遗漏。
进一步地,基于本发明业务功能的测试方法的第一、第二或第三实施例,提出本发明业务功能的测试方法第四实施例。
所述业务功能的测试方法第四实施例与所述业务功能的测试方法第一、第二或第三实施例的区别在于,所述当前端接收到对任一业务功能进行测试的测试请求时,所述前端将与所述测试请求对应的测试文件和配置信息传输到后端的步骤包括:
步骤S11,所述前端接收基于业务界面中任一业务功能上传的业务测试文件,并在接收到基于所述业务界面发送的测试配置指令,读取与所述测试配置指令对应的测试配置信息;
本实施例用户在发送测试请求之前,在前端的业务界面中上传业务测试文件,以及对所需要测试地功能进行配置。具体地,在业务界面中选择任意一项业务功能后,跳转到该业务功能的功能测试界面。该功能测试界面中包含有用于上传一业务测试文件的上传窗口,以及用于配置不同功能的多个配置窗口;该多个配置窗口至少包括测试平台选择窗口、测试版本选择窗口、执行模式选择窗口、自定义测试用例窗口、测试结果显示窗口等。用户在该上传窗口上传文件,并在各个配置窗口勾选各个选项形成测试配置指令。前端将上传的文件作为业务测试文件进行接收,并在接收到测试配置指令时,读取其中所勾选的选项作为测试配置信息,以依据业务测试文件和测试配置信息来分别形成测试文件和配置信息。
可理解地,用户在从业务界面中选择所需要测试的业务功能前,先对业务界面进行选择,以将业务界面显示在前端,便于用户从其中选择业务功能进行测试。本实施通过渲染业务界面来实现显示,具体地,前端接收基于业务界面中任一业务功能上传的业务测试文件的步骤之前包括:
步骤d1,当所述前端接收到对所述业务界面的选择指令时,所述前端向所述后端发送渲染请求,所述后端基于所述渲染请求从所述测试平台对接的数据库中获取渲染数据返回至前端;
步骤d2,所述前端根据所述渲染数据对所述业务界面进行渲染显示。
进一步地,前端在接收到用户对业务界面的选择指令时,向后端发送渲染请求,渲染请求包含有业务界面所需要渲染显示的元素。后端依据该渲染请求向数据库请求获取对该类元素进行渲染的渲染数据,并且将获取的渲染数据传输到前端。前端依据接收的渲染数据对业务界面中的元素进行渲染,形成业务界面进行显示。
步骤S12,当所述前端接收到所述测试请求时,所述前端将所述业务测试文件和所述测试配置信息,分别确定为与所述测试请求对应的测试文件和配置信息传输到后端。
更进一步地,功能测试界面中还包含有用于触发测试选项,用户对该选项进行选择,触发测试请求。前端在接收到该测试请求时,将上述形成的业务测试文件确定为与测试请求对应的测试文件,并将上述形成的测试配置信息确定为与测试请求对应的配置信息;进而将测试文件和配置信息传输到后端,以便于后端形成测试任务传输到测试端进行测试。
进一步地,本实施例在将测试配置信息确定为配置信息之前,设置有测试配置信息的完整性验证机制,以避免遗漏对某些信息的配置,而导致测试失败。具体地,前端将业务测试文件和测试配置信息,分别确定为与测试请求对应的测试文件和配置信息传输到后端的步骤之前包括:
步骤S121,所述前端对所述测试配置信息的完整性进行校验,若所述完整性校验成功,则执行所述前端将所述业务测试文件和所述测试配置信息,分别确定为与所述测试请求对应的测试文件和配置信息传输到后端的步骤;
步骤S122,若所述完整性校验失败,则输出错误提示信息。
更进一步地,前端中预先设定所需要配置信息的预设列表,前端在获取到测试配置信息后,调用预设列表和测试配置信息对比,判断测试配置信息是否包含有预设列表中的各数据项。若包含有预设列表中的各数据项,则说明所配置的信息完整,完整性校验成功,将测试配置信息确定为配置信息输出到后端。若测试配置信息缺少预设列表中的任意一个数据项,则说明所配置的信息不完整,输出错误提示信息,以便于用户依据错误提示信息重新配置,生成测试配置信息。
本实施例将前端接收到的业务测试文件和测试配置信息分别生成为测试文件和配置信息,并对测试配置信息进行完整性验证,确保了所生成配置信息的有效性,有利于业务功能的成功测试。
进一步地,基于本发明业务功能的测试方法的第一、第二、第三或第四实施例,提出本发明业务功能的测试方法第五实施例。
所述业务功能的测试方法第五实施例与所述业务功能的测试方法第一、第二、第三或第四实施例的区别在于,所述当所述前端接收到对所述测试平台的登录请求时,所述前端判断与所述登录请求对应的用户账户是否为验证账户的步骤之前包括:
步骤e1,当所述后端侦测到基于所述前端发送的启动所述测试平台的启动请求时,所述后端对与所述测试平台对接的数据库进行初始化,以建立链接并生成链接实例,对所述数据库进行访问;
步骤e2,所述后端对所述前端的APP组件进行初始化,生成与所述后端对应的功能接口,并加载所述后端的配置信息,生成APP实例,以基于所述APP实例实现各所述功能接口的功能,对所述业务功能进行测试。
本实施例在用户发送登录请求对测试平台进行登录前,用户启动测试平台时,对测试平台进行初始化,以通过初始化来支持测试平台各项功能的实现。其中初始化至少包括数据库的初始化,前端中APP(Application,应用)组件的初始化。需要说明的是,APP组件为代码块,用于调度各个界面显示。其通过前端中表示显示界面类型的路由视图来控制加载业务组件,同时注册全局重载功能供使用。路由视图通过路由来控制加载哪个单页面组件,并且在单页面组件中,一旦页面渲染完成,则向后端发送数据请求,请求当前页面所需要的数据,以供展示给用户。同时,一旦用户在页面上操作触发相应后端操作,则通过AXIOS异步请求将该后端操作发送给后端。此外,APP组件中的部分组件还包含加载子组件,以通过封装公共组件供其他组件加载。
进一步地,用户在前端发送启动测试平台的启动请求,前端将该启动请求发送至后端,后端服务应用uvloop循环来启动,uvloop底层应用的是Linux系统中的epoll机制,又名IO(Input Output,输入输出)多路复用,是通过将socket客户端挂在在epoll,epoll来维护I/O客户端通信。同时后端对数据库进行初始化,以实现数据库的访问。与数据库建立链接并生成链接实例,将数据操作封装成DAO(Data Access Object,数据库访问对象)的实例进行统一管理,通过motor和aioredis分别与对接的诸如mongo或/和redis此类数据库进行异步通讯。需要说明的是,本实施例可将链接和DAO以属性挂载的方式,挂载到服务主体APP组件上;使得每个数据库只有一个数据库实例,只有一个数据库链接;避免每次操作数据库都重新建立链接,导致系统资源消耗的情况。
更进一步地,后端还对前端的APP组件进行初始化,生成后端所支持各项功能的功能接口,并且通过加载后端的配置信息来生成APP实例,APP实例为后端所实现服务的主体,实现各个功能接口的功能,以对业务功能进行测试。其中,功能接口包括但不限于邮件接口、用户权限控制接口、数据信息获取接口、登录/登出接口、业务处理接口和文件上传接口等。
本实施例在启动测试平台时,通过对数据库和前端APP组件进行初始化,以对数据库进行访问,并支持各功能接口功能的实现,为业务功能的测试提供支持,有利于业务功能的成功测试。
进一步地,基于本发明业务功能的测试方法的第一、第二、第三、第四或第五实施例,提出本发明业务功能的测试方法第六实施例。
所述业务功能的测试方法第六实施例与所述业务功能的测试方法第一、第二、第三、第四或第六实施例的区别在于,所述前端根据所述用户信息对所述用户账户进行登录,并基于与所述用户账户对应用户权限的权限信息跳转到首页面显示的步骤包括:
步骤a41,所述前端检测所述用户信息是否为空值,若为空值判定所述用户账户登录失败;
步骤a42,若非空值则判定所述用户账户登录成功,将所述用户信息发送至所述后端,所述后端基于所述用户信息从所述测试平台对接的数据库中查询与所述用户账户对应的用户权限,并返回至所述前端;
步骤a43,在基于所述前端的APP组件对首页面渲染完成后,所述前端基于所述用户权限向所述后端发送信息获取请求,所述后端根据所述信息获取请求从所述数据库中获取与所述用户权限对应的权限信息返回至所述前端;
步骤a44,所述前端基于所述权限信息对渲染的首页面进行显示。
本实施例针对不同的用户权限设定不同的界面功能查看机制。具体地,前端在接收到域服务器返回的用户信息后,判断用户信息是否为空值,若为空值则说明用户在域服务器中不存在用户信息,用户不是企业内部员工,不能对测试平台进行登录,故而判定用户账户登录失败。若经判定用户信息非空值,则判定用户账户登录成功,并将用户信息发送至后端,通过后端传输至数据库,从数据库中查询具有该用户信息的用户权限,并将查询得到的用户权限作为与用户账户对应的用户权限返回至前端。
进一步地,前端在判定用户账户登录成功后,由APP组件基于DOM(DocumentObject Model,文档对象模型)渲染首页面。在渲染完成后,依据用户权限向后端发送信息获取请求,以请求获取与用户权限对应的权限信息。后端从数据库中获取与用户权限对应的权限信息返回至前端,通过前端将返回的权限信息更新至渲染的首页面显示,体现测试平台中支持当前用户操作的业务功能。
更进一步地,本实施例前端向后端所发送的信息获取请求,依据用户权限的类型不同而具有区别。具体地,前端基于用户权限向后端发送信息获取请求的步骤之前包括:
步骤a431,所述前端检测所述用户权限的类型是否为具有权限,若为具有权限,则执行所述前端基于所述用户权限向所述后端发送信息获取请求的步骤;
步骤a432,若为不具有权限,则基于所述前端的静态路由对渲染的所述首页面进行显示。
本实施例中用户权限的类型包括具有权限和不具有权限两类,两者以不同的标识区分。前端对表征用户权限的标识进行识别,得到用户权限的类型,并判断其类型是否为具有权限。若为具有权限,则由前端依据用户权限向后端发送信息获取请求,以获取与用户权限对应的权限信息。若用户权限的类型为不具有权限,则基于前端中的静态路由对经渲染的首页面进行显示,并且该首页面为初始的默认首页面,不需要用户权限即可查看显示。
需要说明的是,前端中设置有通过路由来确定显示何种界面的机制;并且路由包括静态路由、动态路由和路由钩子。静态路由用于显示不具有变化特性的界面,如初始的默认首页面;动态路由用于显示具有变化特性的界面,如具有用户权限的用户所能查看到的包含权限信息的界面,动态路由会根据用户权限情况来动态生成路由和加载对应页面。
对于路由钩子,其又称路由的生命周期。上述在路由跳转显示具体界面之前,所实现的域服务器登录和鉴权两个部分均通过路由钩子实现。对于域服务器登录部分,在用户账户登录前会检查该用户账户是否携带所登录平台发布的cookie(具有预设有效期,如一天);如果有cookie则进入首页面;如果没有则将定向到域服务器登录页面进行登录。在登录域服务器时,域服务器会发送一个SID(Security Identify,安全标识符)号,用这个SID号向域服务器请求数据,来获取用户信息(包括用户邮箱,用户姓名等)。获取成功,即用户信息非空值后,判定登录成功;此后,对用户权限进行校验,向后端发送权限查询请求,后端将用户权限从数据库中取出并返回给前端,前端将返回的权限信息传给动态路由,生成与用户账户对应的路由表,表征用户所能访问的权限。
此外,前端中还设置有用于处理公共逻辑的Vuex,其采用模块结构,将前端界面中的头部导航,侧边栏,动态路由分开管理。在动态路由生成同时,Vuex中根据权限信息生成对应的导航栏,使不同权限的用户看到的导航栏是不一样的,以使得不同权限的用户所支持的操作功能不同。
需要说明的是,对于前端依据后端返回的权限信息,对渲染的首页面进行显示的情况,先由前端生成与用户权限对应的动态路由,通过动态路由来加载权限信息,进而将加载的权限信息添加到渲染的首页面中,实现权限信息的显示,表征测试平台支持当前用户操作的业务功能。
进一步地,对于用户账户不具有权限的情况,本实施例设置有对权限配置的机制。具体地,若为不具有权限,则基于前端的静态路由对渲染的首页面进行显示的步骤之后包括:
步骤a433,在所述前端接收到权限配置指令后,所述前端跳转到权限配置页面,并将基于所述权限配置页面发送的权限配置请求发送到所述后端;
步骤a434,所述后端根据所述权限配置请求对所述用户权限的类型进行更改,并从所述数据库中获取与更改的所述用户权限对应的权限更新信息返回至所述前端;
步骤a435,所述前端根据所述权限更新信息,对所述首页面更新显示。
更进一步地,测试平台的管理员可对用户账户的权限进行配置。具体地,通过管理员的管理员账户在前端触发权限配置指令,前端依据该权限配置指令跳转到权限配置界面。管理员在该权限配置界面输入权限配置信息,并触发权限配置请求。前端将该权限配置请求发送到后端,后端根据权限配置请求携带的权限配置信息对用户权限的类型进行更改,并请求从数据库中获取与更改后用户权限对应的权限更新信息返回至前端。前端通过返回的权限更新信息对首页面更新显示,表征经权限配置后,用户所具有的操作权限变化情况。
本实施例通过设置域服务器查询用户信息的方式来判定用户登录成功,在登录的同时对用户的身份进行了验证,只有属于企业内部的员工才能登录,确保了测试的安全性,并且依据不同用户权限所对应的权限信息来显示首页面,实现了首页面的针对性显示,同样有利于确保测试的安全性。
本发明还提供一种业务功能的测试装置。所述业务功能的测试装置包括:
传输模块,用于当前端接收到对任一业务功能进行测试的测试请求时,所述前端将与所述测试请求对应的测试文件和配置信息传输到后端;
发送模块,用于基于所述后端解析所述测试文件和所述配置信息,生成测试任务,并将所述测试任务发送到测试端;
生成模块,用于基于所述测试端对所述测试任务进行处理,生成与所述业务功能对应的测试结果,完成对所述业务功能的测试。
本发明业务功能的测试装置具体实施方式与上述业务功能的测试方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种可读存储介质。
可读存储介质上存储有业务功能的测试程序,业务功能的测试程序被处理器执行时实现如上所述的业务功能的测试方法的步骤。
本发明可读存储介质可以为计算机可读存储介质,其具体实施方式与上述业务功能的测试方法各实施例基本相同,在此不再赘述。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本发明的保护之内。

Claims (10)

1.一种业务功能的测试方法,其特征在于,所述业务功能的测试方法应用于测试平台,所述测试平台包括测试端,以及异步通信的前端和后端,所述业务功能的测试方法包括以下步骤:
当前端接收到对任一业务功能进行测试的测试请求时,所述前端将与所述测试请求对应的测试文件和配置信息传输到后端;
基于所述后端解析所述测试文件和所述配置信息,生成测试任务,并将所述测试任务发送到测试端;
基于所述测试端对所述测试任务进行处理,生成与所述业务功能对应的测试结果,完成对所述业务功能的测试。
2.如权利要求1所述的业务功能的测试方法,其特征在于,所述基于所述测试端对所述测试任务进行处理,生成与所述业务功能对应的测试结果的步骤之后包括:
基于所述测试端将所述测试结果发送到测试平台对接的数据库中存储;
当所述前端接收到刷新指令时,将所述刷新指令传输到所述后端,所述后端请求从所述数据库读取所述测试结果;
在所述后端将所述测试结果返回到所述前端后,所述前端将所述测试结果显示在与所述刷新指令对应的业务界面。
3.如权利要求1所述的业务功能的测试方法,其特征在于,所述测试任务包含多个测试子任务,所述基于所述测试端对所述测试任务进行处理,生成与所述业务功能对应的测试结果的步骤包括:
基于所述测试端配置与多个所述测试子任务分别对应的处理进程,以及与多个所述处理进程分别对应的控制单元,并对每一所述控制单元执行以下步骤:
控制所述控制单元启动虚拟测试环境,并将与所述控制单元对应的测试子任务,添加到所述虚拟测试环境中运行,生成与所述测试子任务对应的测试子结果;
在生成与多个所述测试子任务分别对应的测试子结果后,将多个所述测试子结果生成为与所述业务功能对应的测试结果。
4.如权利要求1所述的业务功能的测试方法,其特征在于,所述基于所述后端解析所述测试文件和所述配置信息,生成测试任务的步骤包括:
基于所述后端对所述配置信息进行解析,提取出多个测试环境标识,以及与多个所述测试环境标识分别对应的测试用例;
基于所述后端对所述测试文件进行解析,提取出多个测试平台标识,以及与多个所述测试平台标识分别对应的待测内容,并对每一所述测试平台标识执行以下步骤:
从多个所述测试环境标识中查找与所述测试平台标识对应的目标测试环境标识,并从多个所述测试用例中查找与所述目标测试环境标识对应的目标测试用例;
将所述测试平台标识对应的待测内容与所述目标测试用例关联,形成测试子任务,并在多个所述测试平台标识均形成所述测试子任务后,将各个所述测试子任务形成为测试任务。
5.如权利要求4所述的业务功能的测试方法,其特征在于,所述将所述测试任务发送到测试端的步骤包括:
所述后端将所述测试任务中的各测试子任务添加到消息队列中,以基于所述消息队列发送到所述测试端。
6.如权利要求1所述的业务功能的测试方法,其特征在于,所述当前端接收到对任一业务功能进行测试的测试请求时,所述前端将与所述测试请求对应的测试文件和配置信息传输到后端的步骤包括:
所述前端接收基于业务界面中任一业务功能上传的业务测试文件,并在接收到基于所述业务界面发送的测试配置指令,读取与所述测试配置指令对应的测试配置信息;
当所述前端接收到所述测试请求时,所述前端将所述业务测试文件和所述测试配置信息,分别确定为与所述测试请求对应的测试文件和配置信息传输到后端。
7.如权利要求6所述的业务功能的测试方法,其特征在于,所述前端将所述业务测试文件和所述测试配置信息,分别确定为与所述测试请求对应的测试文件和配置信息传输到后端的步骤之前包括:
所述前端对所述测试配置信息的完整性进行校验,若所述完整性校验成功,则执行所述前端将所述业务测试文件和所述测试配置信息,分别确定为与所述测试请求对应的测试文件和配置信息传输到后端的步骤;
若所述完整性校验失败,则输出错误提示信息。
8.一种业务功能的测试装置,其特征在于,所述业务功能的测试装置包括:
传输模块,用于当前端接收到对任一业务功能进行测试的测试请求时,所述前端将与所述测试请求对应的测试文件和配置信息传输到后端;
发送模块,用于基于所述后端解析所述测试文件和所述配置信息,生成测试任务,并将所述测试任务发送到测试端;
生成模块,用于基于所述测试端对所述测试任务进行处理,生成与所述业务功能对应的测试结果,完成对所述业务功能的测试。
9.一种业务功能的测试平台,其特征在于,所述业务功能的测试平台包括测试端、以及异步通信的前端和后端,还包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的业务功能的测试程序,所述业务功能的测试程序被所述处理器执行时实现如权利要求1-7中任一项所述的业务功能的测试方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有业务功能的测试程序,所述业务功能的测试程序被处理器执行时实现如权利要求1-7中任一项所述的业务功能的测试方法的步骤。
CN202010411032.6A 2020-05-14 2020-05-14 业务功能的测试方法、装置、测试平台及可读存储介质 Pending CN113672493A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010411032.6A CN113672493A (zh) 2020-05-14 2020-05-14 业务功能的测试方法、装置、测试平台及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010411032.6A CN113672493A (zh) 2020-05-14 2020-05-14 业务功能的测试方法、装置、测试平台及可读存储介质

Publications (1)

Publication Number Publication Date
CN113672493A true CN113672493A (zh) 2021-11-19

Family

ID=78537492

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010411032.6A Pending CN113672493A (zh) 2020-05-14 2020-05-14 业务功能的测试方法、装置、测试平台及可读存储介质

Country Status (1)

Country Link
CN (1) CN113672493A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115145813A (zh) * 2022-06-30 2022-10-04 北京达佳互联信息技术有限公司 模型评测方法及设备
CN115525554A (zh) * 2022-09-27 2022-12-27 北京瑞莱智慧科技有限公司 模型的自动化测试方法、系统及存储介质
CN116417059A (zh) * 2023-03-17 2023-07-11 宁畅信息产业(北京)有限公司 一种存储器批量测试方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104834595A (zh) * 2015-02-15 2015-08-12 网易(杭州)网络有限公司 一种可视化自动测试方法及系统
US20160259717A1 (en) * 2015-03-03 2016-09-08 Software Robotics Corporation Limited Software robots for programmatically controlling computer programs to perform tasks
CN108804320A (zh) * 2018-05-30 2018-11-13 平安普惠企业管理有限公司 自动化测试方法、装置、计算机设备及存储介质
CN109918309A (zh) * 2019-03-15 2019-06-21 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 电子产品测试方法、装置、系统和存储介质
CN110278120A (zh) * 2018-03-13 2019-09-24 中国移动通信集团广东有限公司 一种测试环境的配适方法及代理服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104834595A (zh) * 2015-02-15 2015-08-12 网易(杭州)网络有限公司 一种可视化自动测试方法及系统
US20160259717A1 (en) * 2015-03-03 2016-09-08 Software Robotics Corporation Limited Software robots for programmatically controlling computer programs to perform tasks
CN110278120A (zh) * 2018-03-13 2019-09-24 中国移动通信集团广东有限公司 一种测试环境的配适方法及代理服务器
CN108804320A (zh) * 2018-05-30 2018-11-13 平安普惠企业管理有限公司 自动化测试方法、装置、计算机设备及存储介质
CN109918309A (zh) * 2019-03-15 2019-06-21 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 电子产品测试方法、装置、系统和存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115145813A (zh) * 2022-06-30 2022-10-04 北京达佳互联信息技术有限公司 模型评测方法及设备
CN115525554A (zh) * 2022-09-27 2022-12-27 北京瑞莱智慧科技有限公司 模型的自动化测试方法、系统及存储介质
CN115525554B (zh) * 2022-09-27 2024-01-30 北京瑞莱智慧科技有限公司 模型的自动化测试方法、系统及存储介质
CN116417059A (zh) * 2023-03-17 2023-07-11 宁畅信息产业(北京)有限公司 一种存储器批量测试方法及系统

Similar Documents

Publication Publication Date Title
US11726828B2 (en) Managing a virtualized application workspace on a managed computing device
US9256353B2 (en) Providing application and device management using entitlements
US8924592B2 (en) Synchronization of server-side cookies with client-side cookies
CN113672493A (zh) 业务功能的测试方法、装置、测试平台及可读存储介质
CN107135218B (zh) 登录态获取、发送方法、凭证配置方法、客户端及服务器
CN111314141A (zh) 路由更新方法及装置
CN109558320B (zh) 系统测试方法、装置、系统、设备及计算机可读存储介质
US20060173951A1 (en) System and method for transfer, control, and synchronization of data
US20080281782A1 (en) Query processing client-server database system
CN111435382B (zh) 一种页面的登录校验方法及终端
CN112699034B (zh) 虚拟登录用户构建方法、装置、设备及存储介质
CN113157411B (zh) 一种基于Celery的可靠可配置任务系统及装置
WO2021093672A1 (zh) 外部系统的嵌入方法、工作流系统、设备及计算机可读存储介质
US20220214928A1 (en) Workload Configuration Extractor
CN112714166B (zh) 分布式存储系统的多集群管理方法及装置
CN116700778B (zh) 接口差异分析方法、设备、存储介质及装置
CN115982257A (zh) 接口创建方法以及相关设备
CN107347024B (zh) 一种存储操作日志的方法、设备和系统
JP2006268125A (ja) アプリケーションサーバ、そのプログラム
US20240256765A1 (en) Custom formulas in office cloud platform add-in
CN118079364A (zh) 基于windows操作系统的分布式云分发方法
CN114168828A (zh) 集群节点管理方法、装置、系统、存储介质及计算机设备
CN114840491A (zh) 数据库表操作方法、装置、电子设备及存储介质
KR100831393B1 (ko) 웹 응용을 위한 프리젠테이션 방법 및 이를 이용한 웹 응용개발 시스템
CN115687066A (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