CN104834595B - 一种可视化自动测试方法及系统 - Google Patents

一种可视化自动测试方法及系统 Download PDF

Info

Publication number
CN104834595B
CN104834595B CN201510082996.XA CN201510082996A CN104834595B CN 104834595 B CN104834595 B CN 104834595B CN 201510082996 A CN201510082996 A CN 201510082996A CN 104834595 B CN104834595 B CN 104834595B
Authority
CN
China
Prior art keywords
test
client
web
script
machine
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.)
Active
Application number
CN201510082996.XA
Other languages
English (en)
Other versions
CN104834595A (zh
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201510082996.XA priority Critical patent/CN104834595B/zh
Publication of CN104834595A publication Critical patent/CN104834595A/zh
Application granted granted Critical
Publication of CN104834595B publication Critical patent/CN104834595B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种可视化自动测试方法,包括:在前端客户端上建立图形化测试界面,并在图形化测试界面以树状图的形式对测试用例文件进行展示;前端客户端通过选中树状图的测试节点运行对应的测试用例脚本,向web测试平台发送测试请求;web测试平台对与测试请求相对应的后台测试用例进行解析,产生测试任务发送给测试机并控制测试机执行测试任务;web测试平台获取测试机返回的测试结果,并对测试结果进行解析生成测试报告反馈给前端客户端。本发明还提供了一种可视化自动测试系统,为自动化测试提供一个统一的简单、直观的可视化测试平台,具有直观可视化、简单化的优点,提高了测试效率和改善了用户体验。

Description

一种可视化自动测试方法及系统
技术领域
本发明涉及自动化测试技术领域,尤其涉及一种可视化自动测试方法及系统。
背景技术
设备功能测试是根据预设的功能,对设备运行过程中的功能交互进行验证的测试过程,是用来鉴定设备功能的正确性、完整性、安全性和质量的过程。在软件测试过程中,主要是指根据设计文档对软件运行过程中的交互逻辑进行验证的测试,是软件测试中最基本的测试内容之一。
在信息设备出厂前皆会对其进行测试,目前大部分厂商对其生产设备皆采用自动化测试以节省人力开销。传统的功能测试流程是开发人员根据设备的功能设定编写软件交互逻辑,提交后通知测试人员进行测试。为了提高测试的效率和方便软件迭代后的回归测试,自动化测试被引入。
在软件测试时,开发人员根据软件设计文档编写测试用例,根据测试用例对软件进行白盒或黑盒测试。其中,白盒测试是针对程序代码进行正确性检验的测试工作;黑盒测试独立于程序代码,从用户的角度,通过一定的测试步骤与测试案例,验证软件功能、性能等指标能否满足实际应用需求的测试工作。黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。尤其在游戏测试中,通常将软件程序看作为一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。因而黑盒测试比较简单,不需要了解程序内部的代码及实现;但传统的黑盒测试不可能覆盖所有的代码,覆盖率较低,并且自动化测试的复用性较低。
在游戏测试过程中,通常采用的黑盒测试。通过调用游戏代码接口,从而将人为驱动的测试转化为机器执行。自动化测试脚本由相关的测试人员进行编写和维护,定期执行并将运行结果和期望结果进行对比,从而形成测试报告。游戏功能测试直接关系到游戏内容的正确性和玩家行为的可控性。
现有游戏功能自动化测试方案主要步骤包括:
1.在测试机上对测试环境进行部署;
2.开启游戏客户端,利用远程或者本地的测试脚本控制游戏角色的操作(如对游戏中的装备培养模块进行测试,则控制游戏角色进入指定场景的指定位置,设定角色的相关参数和交互所需物品,然后通过调用装备培养接口来模拟玩家的操作),并在测试进程中的关键节点设置测试点,对关键的数据进行实时收集和对比;
3.重复步骤2,完成所有测试用例的测试,此步骤根据测试脚本的初始参数和调用客户端接口脚本的模块来区分不同的测试用例;
4.收集测试数据,并根据测试结果完成测试报告。
现有游戏功能自动化测试的测试方案虽然能够在测试脚本的帮助下,大幅降低人工操作的比例,节省人力资源,但是不可避免存在以下几个问题:
首先,缺少统一可视化的接口将测试用例和自动化脚本关联起来,两者相互脱落离;第二,运行和编辑自动化脚本相对复杂,不够简单和直观;再者,缺少多测试任务和相应的任务调度机制,测试机的使用率较低;此外,其测试结果以及报告的管理完全是本地的管理模式,不利于团队协作与结果的分析与展示,尤其是长时间整体测试结果的走向。可见,传统的游戏测试方法在技术方面,自动化脚本缺少云平台所带来的优势;在交互体验方面,传统的自动化测试没有足够的“可视化”和“傻瓜化”,一般只限于自动测试人员的使用;在测试流程方面,测试用例管理和自动化测试脚本两者相关性较差,不能快速定位测试用例的自动化覆盖情况和需要人工确认的范围。
发明内容
本发明所要解决的技术问题是,提供一种可视化自动测试技术方案,利用云平台的优势,对测试用例与自动化脚本的关联,实现软件测试的可视化和简单化,提高测试的效率和适用范围。
为解决以上技术问题,一方面,本发明实施例提供一种可视化自动测试方法,包括:
在前端客户端上建立图形化测试界面,并在所述图形化测试界面以树状图的形式对测试用例文件进行展示;
所述前端客户端通过选中所述树状图的测试节点运行对应的测试用例脚本,向web测试平台发送测试请求;
所述web测试平台对与所述测试请求相对应的后台测试用例进行解析,产生测试任务发送给测试机,并控制所述测试机执行所述测试任务;
所述web测试平台获取所述测试机返回的测试结果,并对所述测试结果进行解析,生成测试报告反馈给所述前端客户端。
在一种可实现的方式中,所述在前端客户端上建立图形化测试界面,并在所述图形化测试界面以树状图的形式对测试用例文件进行展示,包括:
在检测到用户的操作命令时,提取测试用例中的可扩展标记语言文件;
通过提取所述可扩展标记语言文件中的关键结构信息形成json格式文件;
利用可视化库在所述前端客户端读取所述json文件形成可缩放矢量图形标记的树状图。
在另一种可实现的方式中,所述在前端客户端上建立图形化测试界面,并在所述图形化测试界面以树状图的形式对测试用例文件进行展示,包括:
所述树状图的各个测试节点通过自身的路径信息与所述web测试平台的后台测试用例脚本进行关联;
通过所述前端客户端在线打开选中的树状图的测试节点对应的测试用例脚本进行在线编辑,检测和显示各个测试节点是否被自动化测试覆盖以及整个树状图的测试用例结构的自动化测试覆盖率。
进一步地,所述web测试平台对与所述测试请求相对应的后台测试用例进行解析,产生测试任务发送给测试机,并控制所述测试机执行所述测试任务,包括:
所述web测试平台对所述测试请求进行分析,获取所述测试请求所对应的测试节点的路径信息,并根据所述路径信息查找到所述测试节点所对应的测试用例;
所述web测试平台根据所述测试用例获取测试用例脚本,向非阻塞式web服务器发送测试初始数据;所述非阻塞式web服务器根据所述测试初始数据生成测试任务并形成测试任务队列;
所述非阻塞式web服务器通过RPC协议将每个测试任务调度至相应的测试机;
所述测试机启动执行接收到的测试任务,实现脚本注入和数据收集。
进一步地,所述web测试平台对与所述测试请求相对应的后台测试用例进行解析,产生测试任务发送给测试机,并控制所述测试机执行所述测试任务,还包括:
所述测试机经由所述非阻塞式web服务器并通过任务列表与所述前端客户端建立长轮询链接;
当有测试任务完成且生成测试结果时,所述非阻塞式web服务器执行回调函数实时向所述前端客户端推送所述测试结果。
另一方面,本发明实施例还提供了一种可视化自动测试系统,包括:前端客户端,web测试平台和测试机;所述前端客户端上建立有图形化测试界面,所述图形化测试界面以树状图的形式对测试用例文件进行展示;
所述前端客户端,用于通过选中所述树状图的测试节点运行对应的测试用例脚本,向所述web测试平台发送测试请求;
所述web测试平台,用于对与所述测试请求相对应的后台测试用例进行解析,产生测试任务发送给所述测试机,并控制所述测试机执行所述测试任务;
所述测试机,用于执行所述web测试平台分配的测试任务,并反馈测试结果至所述web测试平台;
所述web测试平台,还用于获取所述测试机返回的测试结果,并对所述测试结果进行解析,生成测试报告反馈给所述前端客户端。
在一种可实现的方式中,所述在前端客户端在建立图形化测试界面时,包括:
文件提取单元,用于在检测到用户的操作命令时,提取测试用例中的可扩展标记语言文件;
数据交换单元,用于通过提取所述可扩展标记语言文件中的关键结构信息形成json格式文件;以及,
图形构造单元,用于利用可视化库在所述前端客户端读取所述json文件形成可缩放矢量图形标记的树状图。
在另一种可实现的方式中,所述在前端客户端在建立图形化测试界面时,包括:
所述树状图的各个测试节点通过自身的路径信息与所述web测试平台的后台测试用例脚本进行关联;
所述前端客户端,还用于在线打开选中的树状图的测试节点对应的测试用例脚本进行在线编辑,检测和显示各个测试节点是否被自动化测试覆盖以及整个树状图的测试用例结构的自动化测试覆盖率。
进一步地,所述web测试平台包括:路径分析单元,任务调度单元和非阻塞式web服务器;
所述路径分析单元,用于对所述测试请求进行分析,获取所述测试请求所对应的测试节点的路径信息,并根据所述路径信息查找到所述测试节点所对应的测试用例;
所述任务调度单元,用于根据所述测试用例获取测试用例脚本,向所述非阻塞式web服务器发送测试初始数据;
所述非阻塞式web服务器,用于根据所述测试初始数据生成测试任务并形成测试任务队列;并且,用于通过RPC协议将每个测试任务调度至相应的测试机,并控制所述测试机启动执行接收到的测试任务,实现脚本注入和数据收集。
进一步地,所述web测试平台还包括:长轮询链接单元;
所述长轮询链接单元,用于使得所述测试机经由所述非阻塞式web服务器并通过任务列表与所述前端客户端建立长轮询链接;
当有测试任务完成且生成测试结果时,所述非阻塞式web服务器还用于执行回调函数,实时向所述前端客户端推送所述测试结果。
进一步地,每台所述测试机上分别部署有代理服务器和测试客户端;每个测试任务通过RPC协议对各台测试机上部署的代理服务器进行控制,各台所述测试机上的代理服务器通过超文本传输协议与相应的测试客户端通信连接。
优选地,所述代理服务器,用于通过超文本传输协议将所述测试用例脚本传递给测试客户端,并对测试环境进行部署;所述测试用例脚本包括测试指令、初始参数、预期结果和待测试功能模块;
所述web测试平台,还用于通过所述代理服务器启动或更新所述测试客户端;
所述测试客户端,用于对测试所需参数进行初始化,并通过执行所述测试用例脚本启动相应的客户端接口脚本;所述客户端接口脚本预先配置在所述测试客户端中;
所述测试客户端,还用于根据所述客户端接口脚本执行自动化测试的逻辑,通过所述逻辑模拟用户在所述测试客户端上的操作。
所述可视化自动测试系统还部署有测试服务器;
所述客户端接口脚本,用于驱动远端的测试服务器与所述测试客户端的逻辑交互,并且设置与验证测试进程中的测试点;
所述测试客户端,还用于在与测试服务器的逻辑交互中进行事件同步检验,确保所述测试客户端与所述测试服务器在测试进程中的同步。
进一步地,所述测试客户端在验证测试进程中的测试点时,用于通过实时数据和预期结果的对比结果判断当前测试点是否通过验证。
进一步地,所述测试客户端在与所述测试服务器进行事件同步检验时,用于通过替换所述测试服务器的回调函数并加入事件信号量,在原有函数逻辑的基础上置位信号来验证所述测试服务器的回调是否及时和准确。
优选地,所述web测试平台为游戏测试平台,所述测试机为游戏测试机。
本发明实施例提供的可视化自动测试方法及系统,为自动化测试提供一个统一的简单、直观的可视化测试平台,在前端客户端上建立图形化测试界面,并在所述图形化测试界面以树状图的形式对测试用例文件进行展示,用户仅需要通过所述前端客户端选中树状图的测试节点,向web测试平台发送测试请求,web测试平台在后台对与所述测试请求相对应的测试用例进行解析,产生测试任务发送给测试机,并控制所述测试机执行所述测试任务,由web测试平台对云端测试机进行统一的控制和任务管理调度,自动完成测试环境的部署、测试的执行、测试结果的分析与报告以及测试数据的管理与展示。因此对于用户而言,只需一键点击前端客户端所展示的树状图测试节点,运行测试用例即可得到测试结果,无需关心测试机的部署及测试流程。因此,本发明提供的技术方案具有直观可视化、简单化的优点,提高了测试效率和改善了用户体验;此外,本发明利用云平台的优势,可以实现远程在线测试,并且降低了软件测试对用户的要求,进一步提高了自动化测试的适用范围。
附图说明
图1是本发明提供的可视化自动测试方法的一个实施例的步骤流程图。
图2是本发明实施例提供的图形化测试界面的一种实现方式的结构示意图。
图3是本发明实施例提供的生成图形化测试界面的一种实现方式的架构图。
图4是本发明实施例提供的一种测试用例文件的树状结构图。
图5是本发明实施例提供的一个测试节点展开的测试用例脚本的示意图。
图6是本发明实施例提供的产生并执行测试任务的一种实现方式的步骤流程图。
图7是本发明实施例提供的生成测试任务队列的一种示意图。
图8是本发明实施例提供的一种执行测试任务的方法步骤流程图。
图9是本发明实施例提供的数据驱动模式的自动化测试过程示意图。
图10是本发明提供的可视化自动测试系统的一个实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
参见图1,是本发明提供的可视化自动测试方法的一个实施例的步骤流程图。
本实施例提供的可视化自动测试方法,主要包括以下步骤S101~S104:
步骤S101:在前端客户端上建立图形化测试界面,并在所述图形化测试界面以树状图的形式对测试用例文件进行展示。
参看图2,是本发明实施例提供的图形化测试界面的一种实现方式的结构示意图。
具体实施时,用户可以在各个文件夹列表中进行单文件和多文件的上传、文件的下载、重命名、刷新和直接拖拽文件进行复制和剪切操作。用户可以通过双击文件会以树状图的形式在线显示文件保存的测试用例结构。
如图2所示,自动化测试云平台提供了本地测试用例文件在线统一管理功能。采用后缀为“*.xmind”格式的文件对测试用例的结构进行保存。其中,xmind文件采用Java语言开发,具备跨平台运行的性质,且基于Eclipse RCP体系结构,可支持插件,其中插件通过编写XML(Extensible Markup Language,可扩展标记语言)清单文件可以扩展系统定义好的扩展点。xmind文件的插件可包括核心主程序插件、运行插件、帮助文档插件和一组多语种资源文件插件等。作为一个实施例,图2展示的前端客户端的图形化测试界面显示有两个文件夹,其中,文件夹2中包含有三个xmind文件,分别为A.xmind文件、B.xmind文件和C.xmind文件,分别保存有不同的测试用例结构。其中,用户通过前端客户端双击C.xmind文件可以在图形化测试界面的一侧在线显示C.xmind文件所设计的测试用例结构。树状图的测试用例结构中存在有多个测试节点,每个测试节点可以为各个待测试模块。图2展示的树状结构将各项数据可借分支(Branch)连接起来,组成一种有层次的结构。该树(Tree)是一种特殊的数据结构,它可以用来描述有分支的结构,是由一个或一个以上的节点所组成的有限集合,且包括一个特殊的节点,称为树根(Root),其余的节点分为各个互斥的集合,且每个集合称为子树。
点选树状结构中的一个测试节点,可以根据该测试节点的属性执行展开该水平树状结构、压缩该水平树状结构,或显示该测试节点信息。如,若该测试节点属性为隐藏,则展开该水平树状结构,并且将测试节点属性改为显示;当展开该水平树状结构时,取得对应该测试节点的测试用例;以及在该图形化测试界面上显示该测试节点展开后的树状结构。具体地,用户可利用鼠标左键点击测试节点进行展开和收缩操作,利用鼠标右键可显示以该测试节点为根节点的子树。在展开或压缩树状结构时不会发生网页重整。
在本实施例中,为了实现以上图形化测试界面的各项功能,将测试用例以树状图的形式展示在图形化测试界面上,可以采用多种技术手段进行实现。
参看图3,是本发明实施例提供的生成图形化测试界面的一种实现方式的架构图。
在一种可实现的方式中,当用户选定测试模块以后,后台会对该模块对应的在线测试用例文件进行解析,所述在前端客户端上建立图形化测试界面,并在所述图形化测试界面以树状图的形式对测试用例文件(xmind文件)进行展示,具体包括:
首先,在检测到用户的操作命令时,提取测试用例中的可扩展标记语言(xml)文件;然后,通过提取所述可扩展标记语言(xml)文件中的关键结构信息形成json(JavaScript Object Notation,JavaScript对象表示)格式文件;最后,利用可视化库(如JavaScript的类库D3.js)在所述前端客户端读取所述json文件形成可缩放矢量图形标记(Scalable Vector Graphics,SVG)的树状图。
其中,JSON是一种轻量级的数据交换格式,它是基于JavaScript的一个子集。JSON采用完全独立于语言的文本格式,易于人阅读和编写,同时也易于机器解析和生成,网络传输速度快。D3.js是一个用于网页作图、生成互动图形的JavaScript函数库,其通过提供一个d3对象,所有方法都通过这个对象调用。而JavaScript是一种直译式脚本语言标准,提供一种动态类型、弱类型、基于原型的语言,内置支持类型,它的解释器被称为JavaScript引擎,其可作为浏览器的一部分而用于客户端的脚本语言。SVG树状图基于可扩展标记语言XML描述二维矢量图形,与其他图像格式相比,SVG可被非常多的工具读取和修改和具有可伸缩性,其中与JPEG和GIF图像相比,SVG尺寸更小,且可压缩性更强,可以与Java技术一起运行。
通过XML数据与动态语法解析服务,树状图各个节点可以弹性且动态的方式将用户需求传送至web测试平台的服务器,而该服务器将会自动产生对应用户需求的数据结构并显示对应的SVG树状图界面。用户可以管理与配置SVG树状结构中的节点属性,例如改变颜色、字型等。具体实施时,本发明实施例还可以通过对各个测试节点的颜色和/或形状配置实现对各个测试节点的状态区分。此外,使用水平数据结构的图形化测试界面可避免在点选节点链接时会发生网页重整的问题,故其相当易于使用。
此外,图形化测试界面上还设有搜索栏或搜索框,用户可以在图形化测试界面上直接搜索测试用例的文件名而打开相应的测试用例。在本实施例中,用户在线对树状图进行测试节点的增加、删除、重命名等相关操作将直接同步到对应的测试用例文件中。
在本实施例中,所述树状图的各个测试节点通过自身的路径信息与所述web测试平台的后台测试用例脚本进行关联;通过所述前端客户端在线打开选中的树状图的测试节点对应的测试用例脚本进行在线编辑,检测和显示各个测试节点是否被自动化测试覆盖以及整个树状图的测试用例结构的自动化测试覆盖率。
用户在图形化测试界面可以点击树状图节点打开相应的测试模块,后台会对该模块对应的在线测试用例文件进行解析,最终形成SVG的标记语言在前端客户端显示。同时后台会搜索现有的测试脚本,判断测试用例是否被自动化覆盖,并通过前端叶子节点轮廓着色进行区分。例如,蓝圈叶子节点表示该测试用例有测试用例脚本,红圈叶子节点则表示没有测试用例脚本,并会在前端给出自动化脚本的整体用例覆盖率。
如图4所示,是本发明实施例提供的一种测试用例文件的树状结构图。图中的装备培养测试用例文件包含有多个模块,如装备赐名模块、装备开光模块、装备重铸模块、装备重炼模块和测试模块,每一个模块下还可以连接多个节点,为各种功能的测试用例文件。用户可以对用例树状图的节点进行编辑和运行操作(可以查看和执行每一个模块,同样,也可以查看和执行各个节点的测试用例),如可选择装备赐名模块或者正常赐名用例,右键选择编辑或者运行操作;编辑操作可以显示节点对应的测试用例脚本,可以对脚本进行在线编辑并保存到后台数据库中。由于附图中无法表示颜色,图4中采用了对测试节点的填充样式、线条粗细来区分各个节点的颜色差别以表明该节点是否被自动化覆盖,在具体实施时,用户可以通过节点填充颜色和/或节点线条颜色来显示其是否具有测试用例脚本。
如图5所示,是本发明实施例提供的一个测试节点展开的测试用例脚本的示意图。
运行操作可执行测试节点可展开其所对应的测试用例脚本,从而一键启动自动化测试。
步骤S102:所述前端客户端通过选中所述树状图的测试节点运行对应的测试用例脚本,向web测试平台发送测试请求。
在测试用例管理和一键自动化测试中都用到了SVG树状图,本发明实施例以一键自动化测试的解析过程来说明其具体的实现细节。
步骤S103:所述web测试平台对与所述测试请求相对应的后台测试用例进行解析,产生测试任务发送给测试机,并控制所述测试机执行所述测试任务。
web测试平台提供树状图形式的一键自动化测试。在测试请求发送与响应过程中,用户通过前端客户端发出测试请求,平台服务端响应请求并将测试任务发送到测试机上执行。具体实施时,测试请求的响应包括测试任务的生成、任务队列管理和长轮询链接的建立。
步骤S104:所述web测试平台获取所述测试机返回的测试结果,并对所述测试结果进行解析,生成测试报告反馈给所述前端客户端。
如图6所示,是本发明实施例提供的产生并执行测试任务的一种实现方式的步骤流程图。
在一种可实现的方式中,所述步骤S103,包括步骤S601~步骤S604:
步骤S601:所述web测试平台对所述测试请求进行分析,获取所述测试请求所对应的测试节点的路径信息,并根据所述路径信息查找到所述测试节点所对应的测试用例。
步骤S602:所述web测试平台根据所述测试用例获取测试用例脚本,向非阻塞式web服务器发送测试初始数据;所述非阻塞式web服务器根据所述测试初始数据生成测试任务并形成测试任务队列;用户将所要执行测试节点的路径信息传给web服务端,服务端读取通过该信息找到对应的测试脚本生成测试任务。
步骤S603:所述非阻塞式web服务器通过RPC协议将每个测试任务调度至相应的测试机。
步骤S604:所述测试机启动执行接收到的测试任务,实现脚本注入和数据收集。
优选地,所述非阻塞式web服务器为Tornado Web服务器。Tornado Web服务器采用Python Tornado Web框架,用于测试任务的收集和调度、测试任务状态的查询和人工调整以及长轮询链接的建立和测试结果的实时推送。非阻塞式web服务器的数据处理速度相当快,因而能获得较佳的实时处理效果。
参看图7,是本发明实施例提供的生成测试任务队列的一种示意图。
针对多个测试机(N台,N≥1),web测试平台的任务调度服务端为每台接入的测试机维护一个测试任务队列(假设每个测试任务队列中含有M个测试任务,M≥1),每台测试机根据测试队列依次执行每个测试任务。进一步地,所述web测试平台对与所述测试请求相对应的后台测试用例进行解析,产生测试任务发送给测试机,并控制所述测试机执行所述测试任务,还包括:所述测试机经由所述非阻塞式web服务器并通过任务列表与所述前端客户端建立长轮询链接;当有测试任务完成且生成测试结果时,所述非阻塞式web服务器执行回调函数实时向所述前端客户端推送所述测试结果。即,web测试平台在前端客户端与测试机之间还为每个任务建立一个长轮询链接并绑定回调函数,当测试任务执行完毕后会执行回调函数对前端客户端进行数据更新。
在测试任务调度框架中,web测试平台的服务端根据用户的测试请求,向TornadoWeb服务器发送测试初始数据,通过平台中的任务调度服务端生成测试任务并放入任务队列。优选地,每台所述测试机上分别部署有代理服务器(Agent)和测试客户端(如,游戏客户端);每个测试任务通过RPC(Remote Procedure Call,远程过程调用)协议对各台测试机上部署的代理服务器进行控制,各台所述测试机上的代理服务器通过超文本传输协议(http协议)与相应的测试客户端通信连接。
则进一步地,如图8所示,本发明实施例提供了一种执行测试任务的方法步骤流程图。
在所述步骤S604中,所述测试机启动执行接收到的测试任务,实现脚本注入和数据收集,包括步骤S801~S804:
步骤S801:所述代理服务器通过超文本传输协议将所述测试用例脚本传递给测试客户端,并对测试环境进行部署;所述测试用例脚本包括测试指令、初始参数、预期结果和待测试功能模块。
步骤S802:所述web测试平台通过所述代理服务器启动或更新所述测试客户端。
步骤S803:所述测试客户端对测试所需参数进行初始化,并通过执行所述测试用例脚本启动相应的客户端接口脚本;所述客户端接口脚本预先配置在所述测试客户端中。
步骤S804:所述测试客户端根据所述客户端接口脚本执行自动化测试的逻辑,通过所述逻辑模拟用户在所述测试客户端上的操作。
本实施例采用数据驱动模式,通过所述测试用例脚本调用所述测试客户端的客户端接口脚本,传入测试参数从而启动自动化测试。在自动化测试框架中,测试任务被提交以后,就会交给web测试平台的底层的自动化测试框架来执行。作为web测试平台的核心部分,平台底层的自动化测试框架采用数据驱动模式。该模式下所调用的脚本文件主要包括测试用例脚本和客户端接口脚本。具体实施时,所述测试用例脚本包括但不限于软件操作指令、初始数据和预期结果。用于在所述测试客户端中针对不同的数据定义统一的通用操作流程。其中,测试用例脚本作为数据驱动的源头设置于web服务器端(Tornado Web服务器)。客户端接口脚本定义了游戏中某一模块或者功能的通用操作,针对不同的数据采用统一的操作流程,它位于测试机中测试客户端的可加载目录,通过程序等待远程调用。
具体实施时,可视化自动测试系统中在远端还部署有测试服务器;则在本实施例中的可视化自动测试方法中,所述步骤S604中还包括步骤S805~S806:
步骤S805:通过所述客户端接口脚本驱动远端的测试服务器与所述测试客户端的逻辑交互,并且设置与验证测试进程中的测试点;
步骤S806:所述测试客户端在与测试服务器的逻辑交互中进行事件同步检验,确保所述测试客户端与所述测试服务器在测试进程中的同步。
具体地,在游戏自动化测试领域中,所述web测试平台优选为游戏测试平台,所述测试机为游戏测试机。相应地,所述测试机中的测试客户端优选为游戏客户端;所述测试服务器优选为游戏服务器。
客户端接口脚本通过调用游戏客户端中的游戏服务器接口函数,从而模拟游戏玩家的操作,并在关键进程点上设置测试点,通过读取游戏实时数据和预期值进行对比,或者通过代理服务器回调游戏客户端的函数获得同步事件来判定测试点是否通过测试。
参看图9,是本发明实施例提供的数据驱动模式的自动化测试过程示意图。测试机中配置有代理服务器901、测试客户端902,并且,可视化自动测试系统中还包括远端的测试服务器。其中,代理服务器901从web测试平台中接收测试用例脚本,并将测试用例脚本传递至测试客户端902;测试客户端902根据测试用例脚本驱动其内部预置的客户端接口脚本,进行初始化设定,设置一个或多个测试主流程以及一个或多个测试点,在测试过程中与测试服务器进行逻辑交互,模拟用户的操作。具体实施时,测试用例脚本通过XML-RPC服务器作为代理服务器向测试客户端(优选为游戏客户端)传递测试用例脚本,从而在测试客户端中通过启动客户端接口脚本和进行参数初始化从而启动自动化测试。XML-RPC是使用http协议作为传输协议的RPC机制,使用xml文本的方式传输命令和数据。一个RPC系统必然包括两个部分:客户端和服务端。其中,客户端用来向RPC服务器调用方法并接收方法的返回数据;服务端用于响应客户端的请求,执行方法并回送方法执行结果。
具体实施时,每个测试任务通过RPC协议控制测试机上部署的代理服务器Agent,Agent负责控制测试客户端(游戏客户端)基本操作,如更新、开启、关闭,及游戏客户端的消息转发,实现脚本注入及数据收集等;同时前端客户端通过任务列表与测试机建立长轮询链接,当有任务完成且有数据更新时Tornado Web服务器向前端推送数据,前端客户端对测试结果数据进行解析生成报告并在前端进行实时展示。
在本实施例中,可以采用任务调度模块用于测试任务的调度和人工管理。TornadoWeb服务器记录每个接入的测试机的工作状态(空闲或者执行任务中),当接到来自前端客户端(web前端)发来的测试任务请时,将测试任务放入任务数最小的测试任务队列;是任务队列是一个数据结构的表示,可通过web端显示,并由人工任意调整队列中各个任务的顺序。所有测试任务队列都会周期性轮询对应的测试机的状态,若测试机空闲,则立刻将测试任务发送到测试机执行。
在进行游戏测试时,代理服务器Agent用于实现对游戏客户端的各项控制功能,通过测试机的操作系统的API接口,优选为视窗操作系统应用程序接口(Windows API)实现游戏客户端的更新、启动与关闭等操作,通过测试版游戏客户端预留通信端口向游戏客户端发送待执行的控制脚本,实现对游戏客户端游戏环境及操作的控制。在测试机的游戏客户端中模拟玩家操作,自动完成相关游戏逻辑并在重要的测试点进行校验。测试任务中的用例脚本通过调用游戏客户端本地脚本对应的模块,初始化测试数据和预期结果,然后通过调用服务端接口脚本驱动游戏客户端和游戏服务器的逻辑交互,在重要的点进行数据对比和事件同步检验,同时收集对比结果和运行中的服务端和客户端异常,逐步完成游戏操作逻辑实现自动化测试。在获得游戏测试结果后,可以通过长轮询机制将测试结果数据实时推送到web前端进行展示。具体地,可以利用Tornado框架的长轮询特性,对所有提交的测试任务与web前端建立长链接并绑定回调函数。当任务队列中点测试任务被执行完毕,调用长轮询绑定的回调函数将测试结果推送给web前端,web前端对测试结果进行解析并实时展示结果。
进一步地,所述测试客户端在验证测试进程中的测试点时,通过实时数据和预期结果的对比结果判断当前测试点是否通过验证,并且,所述测试客户端在与所述测试服务器进行事件同步检验时,通过替换所述测试服务器的回调函数并加入事件信号量,在原有函数逻辑的基础上置位信号来验证所述测试服务器的回调是否及时和准确,以确保所述测试客户端与所述代理服务器在测试进程中的同步和验证测试的准确性。
例如,在游戏测试过程中,网络游戏交互一般可以抽象为:游戏客户端请求-游戏服务器响应-游戏客户端更新的轮转。自动化测试通过模拟人工操作,虽然可以跳过鼠标键盘操作直接调用游戏客户端的游戏服务器接口函数发送请求,但是游戏服务器是否响应,游戏服务器何时响应,响应后的回调函数是否符合预期等相关问题都关系到能否发起下一轮请求和测试进程是否能够继续的技术问题。因此游戏客户端和游戏服务器的同步是自动化测试的关键。为了解决上述问题,本发明实施例在客户端接口脚本中采用函数替换和事件同步机制,通过替换游戏服务器回调函数并加入事件信号量,在保证在原有函数逻辑被执行的基础上置位信号来验证游戏服务器的回调是否及时和准确。同时收集对比结果和运行中的服务端和客户端异常,逐步完成游戏操作逻辑实现自动化测试。
在web测试平台上获得测试结果后,前端客户端通过长轮询机制可实时显示测试任务的执行结果。树状图上节点的状态可以通过测试节点的颜色表征,例如,节点黄显表示该节点用例正在运行,节点黑显表示当前测试用例脚本出错,绿显和红显则表示测试通过和测试失败,同时,红圈节点由于缺少脚本,节点状态不会改变。前端客户端可以显示详细的测试报告。测试报告中列出了测试用例中关键测试点的预期值和实际结果值,以及每个用例测试过程中客户端和服务器所产生的反馈信息,可方便开发人员快速定位错误。
优选地,本发明实施例提供的web测试平台可以针对历史记录的多个测试结果进行数据对比,例如,将用户最近10次运行的测试结果,只需要点击结果名称就能查看完整的测试报告,方便用户进行数据对比。web测试平台还可以自动定期执行所有的测试用例脚本,并在前端客户端(web前端)显示最近的多次(如,最近20次)例行回归测试结果的通过用例数、失败用例数、整体通过率和趋势,点击打开每一次测试的详细报告。因此,用户可以通过前端客户端的图形化测试界面了解测试整体的回归状况。具体实施时,可以在图形化测试界面上采用线条图、条形图等方式对历史测试数据进行显示和归纳,直观地获得测试历史情况。
本发明实施例提供的可视化自动测试方法,可以为自动化测试提供一个统一的简单、直观的可视化测试平台,在前端客户端上建立图形化测试界面,并在所述图形化测试界面以树状图的形式对测试用例文件进行展示,用户仅需要通过所述前端客户端选中树状图的测试节点,向web测试平台发送测试请求,web测试平台在后台对与所述测试请求相对应的测试用例进行解析,产生测试任务发送给测试机,并控制所述测试机执行所述测试任务,由web测试平台对云端测试机进行统一的控制和任务管理调度,自动完成测试环境的部署、测试的执行、测试结果的分析与报告以及测试数据的管理与展示。因此对于用户而言,只需一键点击前端客户端所展示的树状图测试节点,运行测试用例即可得到测试结果,无需关心测试机的部署及测试流程。因此,本发明提供的技术方案具有直观可视化、简单化的优点,提高了测试效率和改善了用户体验;此外,本发明利用云平台的优势和降低了软件测试对用户的要求,进一步提高了自动化测试的适用范围。
参看图10,是本发明提供的可视化自动测试系统的一个实施例的结构示意图。
具体地,本实施例提供的可视化自动测试系统包括:前端客户端,web测试平台和测试机;所述前端客户端上建立有图形化测试界面(如图2所示),所述图形化测试界面以树状图的形式对测试用例文件进行展示。具体实施时,前端客户端的数量、测试机的数量可以根据实际场合进行调整。如图9所示的可视化自动测试系统可包括三个用户,分别对应三个前端客户端,同时,还有两个测试机分别与web测试平台连接。
其中,所述前端客户端,用于通过选中所述树状图的测试节点运行对应的测试用例脚本,向所述web测试平台发送测试请求;
所述web测试平台,用于对与所述测试请求相对应的后台测试用例进行解析,产生测试任务发送给所述测试机,并控制所述测试机执行所述测试任务;
所述测试机,用于执行所述web测试平台分配的测试任务,并反馈测试结果至所述web测试平台;
所述web测试平台,还用于获取所述测试机返回的测试结果,并对所述测试结果进行解析,生成测试报告反馈给所述前端客户端。
在一种可实现的方式中,所述在前端客户端在建立图形化测试界面时,包括:文件提取单元,用于在检测到用户的操作命令时,提取测试用例中的可扩展标记语言文件;数据交换单元,用于通过提取所述可扩展标记语言文件中的关键结构信息形成json格式文件;以及,图形构造单元,用于利用可视化库在所述前端客户端读取所述json文件形成可缩放矢量图形标记的树状图。
进一步地,所述在前端客户端在建立图形化测试界面时,所述树状图的各个测试节点通过自身的路径信息与所述web测试平台的后台测试用例脚本进行关联;所述前端客户端,还用于在线打开选中的树状图的测试节点对应的测试用例脚本进行在线编辑,检测和显示各个测试节点是否被自动化测试覆盖以及整个树状图的测试用例结构的自动化测试覆盖率。
优选地,所述web测试平台包括:路径分析单元,任务调度单元和非阻塞式web服务器。其中,所述路径分析单元,用于对所述测试请求进行分析,获取所述测试请求所对应的测试节点的路径信息,并根据所述路径信息查找到所述测试节点所对应的测试用例;所述任务调度单元,用于根据所述测试用例获取测试用例脚本,向所述非阻塞式web服务器发送测试初始数据;所述非阻塞式web服务器,用于根据所述测试初始数据生成测试任务并形成测试任务队列;并且所述非阻塞式web服务器,还用于通过RPC协议将每个测试任务调度至相应的测试机,并控制所述测试机启动执行接收到的测试任务,实现脚本注入和数据收集。
进一步地,所述web测试平台还包括:长轮询链接单元。所述长轮询链接单元,用于使得所述测试机经由所述非阻塞式web服务器并通过任务列表与所述前端客户端建立长轮询链接;当有测试任务完成且生成测试结果时,所述非阻塞式web服务器还用于执行回调函数,实时向所述前端客户端推送所述测试结果。
具体实施时,每台所述测试机上分别部署有代理服务器和测试客户端;每个测试任务通过RPC协议对各台测试机上部署的代理服务器进行控制,各台所述测试机上的代理服务器通过超文本传输协议http与相应的测试客户端通信连接。
其中,如图9所示,所述代理服务器901,用于通过超文本传输协议将所述测试用例脚本传递给测试客户端902,并对测试环境进行部署;所述测试用例脚本包括测试指令、初始参数、预期结果和待测试功能模块;所述web测试平台,还用于通过所述代理服务器901启动或更新所述测试客户端902;所述测试客户端902,用于对测试所需参数进行初始化,并通过执行所述测试用例脚本启动相应的客户端接口脚本;所述客户端接口脚本预先配置在所述测试客户端902中;所述测试客户端902,还用于根据所述客户端接口脚本执行自动化测试的逻辑,通过所述逻辑模拟用户在所述测试客户端902上的操作。进一步地,本实施例提供的可视化自动测试系统还部署有测试服务器。所述客户端接口脚本,用于驱动所述测试服务器与所述测试客户端902的逻辑交互,并且设置与验证测试进程中的测试点;所述测试客户端902,还用于在与测试服务器的逻辑交互中进行事件同步检验,确保所述测试客户端902与所述测试服务器在测试进程中的同步。
具体实施时,所述测试客户端902在与所述测试服务器进行事件同步检验时,用于通过实时数据和预期结果的对比结果判断当前测试点是否通过验证。此外,所述测试客户端902还用于通过替换所述测试服务器的回调函数并加入事件信号量,在原有函数逻辑的基础上置位信号来验证所述测试服务器的回调是否及时和准确。
优选地,所述web测试平台为游戏测试平台,所述测试机为游戏测试机。相应地,所述测试机中的测试客户端优选为游戏客户端;所述测试服务器优选为游戏服务器。
在本实施例中,所述的可视化自动测试系统的工作原理以及技术效果与上述实施例提供的可视化自动测试方法的各种实现方式对应相同,在此不再赘述。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (22)

1.一种可视化自动测试方法,其特征在于,包括:
在前端客户端上建立图形化测试界面,并在所述图形化测试界面以树状图的形式对测试用例文件进行展示;
所述前端客户端通过选中所述树状图的测试节点运行对应的测试用例脚本,向web测试平台发送测试请求;
所述web测试平台对与所述测试请求相对应的后台测试用例进行解析,产生测试任务发送给测试机,并控制所述测试机执行所述测试任务;其中,所述测试机上部署有代理服务器和测试客户端,所述控制所述测试机执行所述测试任务具体为:
通过所述代理服务器向所述测试客户端传递所述测试用例脚本,使得所述测试客户端启动客户端接口脚本并对测试所需的参数进行初始化,从而启动自动化测试;其中,所述客户端接口脚本预先配置在所述测试客户端中;
所述web测试平台获取所述测试机返回的测试结果,并对所述测试结果进行解析,生成测试报告反馈给所述前端客户端。
2.如权利要求1所述的可视化自动测试方法,其特征在于,所述在前端客户端上建立图形化测试界面,并在所述图形化测试界面以树状图的形式对测试用例文件进行展示,包括:
在检测到用户的操作命令时,提取测试用例中的可扩展标记语言文件;
通过提取所述可扩展标记语言文件中的关键结构信息形成json格式文件;
利用可视化库在所述前端客户端读取所述json文件形成可缩放矢量图形标记的树状图。
3.如权利要求1所述的可视化自动测试方法,其特征在于,所述在前端客户端上建立图形化测试界面,并在所述图形化测试界面以树状图的形式对测试用例文件进行展示,包括:
所述树状图的各个测试节点通过自身的路径信息与所述web测试平台的后台测试用例脚本进行关联;
通过所述前端客户端在线打开选中的树状图的测试节点对应的测试用例脚本进行在线编辑,检测和显示各个测试节点是否被自动化测试覆盖以及整个树状图的测试用例结构的自动化测试覆盖率。
4.如权利要求1所述的可视化自动测试方法,其特征在于,所述web测试平台对与所述测试请求相对应的后台测试用例进行解析,产生测试任务发送给测试机,并控制所述测试机执行所述测试任务,包括:
所述web测试平台对所述测试请求进行分析,获取所述测试请求所对应的测试节点的路径信息,并根据所述路径信息查找到所述测试节点所对应的测试用例;
所述web测试平台根据所述测试用例获取测试用例脚本,向非阻塞式web 服务器发送测试初始数据;所述非阻塞式web服务器根据所述测试初始数据生成测试任务并形成测试任务队列;
所述非阻塞式web服务器通过RPC协议将每个测试任务调度至相应的测试机;
所述测试机启动执行接收到的测试任务,实现脚本注入和数据收集。
5.如权利要求4所述的可视化自动测试方法,其特征在于,所述web测试平台对与所述测试请求相对应的后台测试用例进行解析,产生测试任务发送给测试机,并控制所述测试机执行所述测试任务,还包括:
所述测试机经由所述非阻塞式web服务器并通过任务列表与所述前端客户端建立长轮询链接;
当有测试任务完成且生成测试结果时,所述非阻塞式web服务器执行回调函数实时向所述前端客户端推送所述测试结果。
6.如权利要求4所述的可视化自动测试方法,其特征在于,每个测试任务通过RPC协议对各台测试机上部署的代理服务器进行控制,各台所述测试机上的代理服务器通过超文本传输协议与相应的测试客户端通信连接。
7.如权利要求6所述的可视化自动测试方法,其特征在于,所述测试机启动执行接收到的测试任务,实现脚本注入和数据收集,包括:
所述代理服务器通过超文本传输协议将所述测试用例脚本传递给测试客户 端,并对测试环境进行部署;所述测试用例脚本包括测试指令、初始参数、预期结果和待测试功能模块;
所述web测试平台通过所述代理服务器启动或更新所述测试客户端;
所述测试客户端根据所述客户端接口脚本执行自动化测试的逻辑,通过所述逻辑模拟用户在所述测试客户端上的操作。
8.如权利要求7所述的可视化自动测试方法,其特征在于,所述方法还包括:
通过所述客户端接口脚本驱动远端的测试服务器与所述测试客户端的逻辑交互,并且设置与验证测试进程中的测试点;
所述测试客户端在与测试服务器的逻辑交互中进行事件同步检验,确保所述测试客户端与所述测试服务器在测试进程中的同步。
9.如权利要求8所述的可视化自动测试方法,其特征在于,所述测试客户端在验证测试进程中的测试点时,通过实时数据和预期结果的对比结果判断当前测试点是否通过验证。
10.如权利要求8所述的可视化自动测试方法,其特征在于,所述测试客户端在与所述测试服务器进行事件同步检验时,通过替换所述测试服务器的回调函数并加入事件信号量,在原有函数逻辑的基础上置位信号来验证所述测试 服务器的回调是否及时和准确。
11.如权利要求1~10任一项所述的可视化自动测试方法,其特征在于,所述web测试平台为游戏测试平台,所述测试机为游戏测试机。
12.一种可视化自动测试系统,其特征在于,包括:前端客户端,web测试平台和测试机;所述前端客户端上建立有图形化测试界面,所述图形化测试界面以树状图的形式对测试用例文件进行展示;
所述前端客户端,用于通过选中所述树状图的测试节点运行对应的测试用例脚本,向所述web测试平台发送测试请求;
所述web测试平台,用于对与所述测试请求相对应的后台测试用例进行解析,产生测试任务发送给所述测试机,并控制所述测试机执行所述测试任务;
所述测试机,用于执行所述web测试平台分配的测试任务,并反馈测试结果至所述web测试平台;其中,所述测试机上部署有代理服务器和测试客户端,所述代理服务器接收所述web测试平台发送的所述测试用例脚本,并将所述测试用例脚本传递至所述测试客户端传递;所述测试客户端根据所述测试用例脚本启动客户端接口脚本并对测试所需的参数进行初始化,从而启动自动化测试;其中,所述客户端接口脚本预先配置在所述测试客户端中;
所述web测试平台,还用于获取所述测试机返回的测试结果,并对所述测试结果进行解析,生成测试报告反馈给所述前端客户端。
13.如权利要求12所述的可视化自动测试系统,其特征在于,所述在前端客户端在建立图形化测试界面时,包括:
文件提取单元,用于在检测到用户的操作命令时,提取测试用例中的可扩展标记语言文件;
数据交换单元,用于通过提取所述可扩展标记语言文件中的关键结构信息形成json格式文件;以及,
图形构造单元,用于利用可视化库在所述前端客户端读取所述json文件形成可缩放矢量图形标记的树状图。
14.如权利要求12所述的可视化自动测试系统,其特征在于,所述在前端客户端在建立图形化测试界面时,包括:
所述树状图的各个测试节点通过自身的路径信息与所述web测试平台的后台测试用例脚本进行关联;
所述前端客户端,还用于在线打开选中的树状图的测试节点对应的测试用例脚本进行在线编辑,检测和显示各个测试节点是否被自动化测试覆盖以及整个树状图的测试用例结构的自动化测试覆盖率。
15.如权利要求12所述的可视化自动测试系统,其特征在于,所述web测试平台包括:路径分析单元,任务调度单元和非阻塞式web服务器;
所述路径分析单元,用于对所述测试请求进行分析,获取所述测试请求所 对应的测试节点的路径信息,并根据所述路径信息查找到所述测试节点所对应的测试用例;
所述任务调度单元,用于根据所述测试用例获取测试用例脚本,向所述非阻塞式web服务器发送测试初始数据;
所述非阻塞式web服务器,用于根据所述测试初始数据生成测试任务并形成测试任务队列;并且,用于通过RPC协议将每个测试任务调度至相应的测试机,控制所述测试机启动执行接收到的测试任务,实现脚本注入和数据收集。
16.如权利要求15所述的可视化自动测试系统,其特征在于,所述web测试平台还包括:长轮询链接单元;
所述长轮询链接单元,用于使得所述测试机经由所述非阻塞式web服务器并通过任务列表与所述前端客户端建立长轮询链接;
当有测试任务完成且生成测试结果时,所述非阻塞式web服务器还用于执行回调函数,实时向所述前端客户端推送所述测试结果。
17.如权利要求15所述的可视化自动测试系统,其特征在于,每个测试任务通过RPC协议对各台测试机上部署的代理服务器进行控制,各台所述测试机上的代理服务器通过超文本传输协议相应的测试客户端通信连接。
18.如权利要求17所述的可视化自动测试系统,其特征在于,
所述代理服务器,用于通过超文本传输协议将所述测试用例脚本传递给测 试客户端,并对测试环境进行部署;所述测试用例脚本包括测试指令、初始参数、预期结果和待测试功能模块;
所述web测试平台,还用于通过所述代理服务器启动或更新所述测试客户端;
所述测试客户端,还用于根据所述客户端接口脚本执行自动化测试的逻辑,通过所述逻辑模拟用户在所述测试客户端上的操作。
19.如权利要求18所述的可视化自动测试系统,其特征在于,所述系统还包括测试服务器;
所述客户端接口脚本,用于驱动所述测试服务器与所述测试客户端的逻辑交互,并且设置与验证测试进程中的测试点;
所述测试客户端,还用于在与测试服务器的逻辑交互中进行事件同步检验,确保所述测试客户端与所述测试服务器在测试进程中的同步。
20.如权利要求19所述的可视化自动测试系统,其特征在于,所述测试客户端在验证测试进程中的测试点时,用于通过实时数据和预期结果的对比结果判断当前测试点是否通过验证。
21.如权利要求19所述的可视化自动测试系统,其特征在于,所述测试客户端在与所述测试服务器进行事件同步检验时,用于通过替换所述测试服务器 的回调函数并加入事件信号量,在原有函数逻辑的基础上置位信号来验证所述测试服务器的回调是否及时和准确。
22.如权利要求12~21任一项所述的可视化自动测试系统,其特征在于,所述web测试平台为游戏测试平台,所述测试机为游戏测试机。
CN201510082996.XA 2015-02-15 2015-02-15 一种可视化自动测试方法及系统 Active CN104834595B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510082996.XA CN104834595B (zh) 2015-02-15 2015-02-15 一种可视化自动测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510082996.XA CN104834595B (zh) 2015-02-15 2015-02-15 一种可视化自动测试方法及系统

Publications (2)

Publication Number Publication Date
CN104834595A CN104834595A (zh) 2015-08-12
CN104834595B true CN104834595B (zh) 2017-09-12

Family

ID=53812500

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510082996.XA Active CN104834595B (zh) 2015-02-15 2015-02-15 一种可视化自动测试方法及系统

Country Status (1)

Country Link
CN (1) CN104834595B (zh)

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260299A (zh) * 2015-09-17 2016-01-20 安一恒通(北京)科技有限公司 软件测试方法、装置及系统
CN105205006B (zh) * 2015-10-30 2018-05-04 北京新能源汽车股份有限公司 多平台通用测试方法、装置和系统
CN105468490A (zh) * 2015-12-11 2016-04-06 珠海金山网络游戏科技有限公司 一种服务器性能自动化测试方法及系统及装置
CN105653650B (zh) * 2015-12-28 2019-02-26 湖北工业大学 一种基于d3的研讨系统思维导图及其开发方法
CN105608008A (zh) * 2015-12-29 2016-05-25 浪潮(北京)电子信息产业有限公司 一种应用于云存储客户端的自动化测试方法及系统
CN105721239A (zh) * 2016-01-18 2016-06-29 网易(杭州)网络有限公司 游戏测试方法、装置及游戏系统
CN105868104B (zh) * 2016-03-24 2018-07-10 积成电子股份有限公司 一种跨平台的图形用户界面自动测试方法
CN105868111B (zh) * 2016-03-29 2018-07-03 网易(杭州)网络有限公司 移动终端游戏自动测试方法和装置
CN107436843A (zh) * 2016-05-27 2017-12-05 北京京东尚科信息技术有限公司 网页性能测试方法和装置
CN106095673B (zh) * 2016-06-07 2018-12-14 深圳市泰久信息系统股份有限公司 基于web接口的自动化测试方法及系统
CN106201800A (zh) * 2016-07-15 2016-12-07 北京捷科智诚科技有限公司 一种测试设计平台
CN106250314B (zh) * 2016-08-04 2019-05-28 合一网络技术(北京)有限公司 一种测试数据获取方法与系统
CN106383785B (zh) * 2016-09-21 2018-11-27 网易(杭州)网络有限公司 移动应用的调试方法及装置
CN107870852B (zh) * 2016-09-26 2020-11-27 北京金山云网络技术有限公司 一种测试方法及装置
CN107872481A (zh) * 2016-09-26 2018-04-03 平安科技(深圳)有限公司 代理自动配置脚本的处理方法及代理自动配置脚本服务器
CN106502235B (zh) * 2016-10-31 2020-08-28 北京新能源汽车股份有限公司 一种汽车控制器的测试方法及系统
CN106683705A (zh) * 2016-11-11 2017-05-17 北京京存技术有限公司 一种eMMC测试方法和测试系统
CN106649100B (zh) * 2016-11-16 2020-08-25 福建天晴数码有限公司 一种自动化测试方法及系统
CN106598865B (zh) * 2016-12-22 2021-05-07 动视云(北京)科技有限公司 一种软件测试方法及装置
CN106874187B (zh) * 2016-12-29 2020-09-11 腾讯科技(深圳)有限公司 代码覆盖率收集方法和装置
CN106815150B (zh) * 2017-01-19 2020-02-07 网易(杭州)网络有限公司 服务端接口测试系统及方法
CN108388504A (zh) * 2017-02-03 2018-08-10 北京嘀嘀无限科技发展有限公司 一种测试方法及装置
CN106874197B (zh) * 2017-02-08 2020-05-05 网易(杭州)网络有限公司 测试方法及装置
CN106899441B (zh) * 2017-03-16 2019-09-03 网易(杭州)网络有限公司 故障节点定位方法及系统
CN107256148A (zh) * 2017-05-24 2017-10-17 龙芯中科技术有限公司 界面的生成方法及系统、电子设备及存储介质
CN107015912A (zh) * 2017-05-26 2017-08-04 网易(杭州)网络有限公司 实现远程调试的系统、方法、装置、及电子设备
CN107360219A (zh) * 2017-06-22 2017-11-17 普奥云信息科技(北京)有限公司 服务目录生成装置、云端服务器以及物联网系统
CN107402882B (zh) * 2017-07-21 2020-11-06 杭州迪普科技股份有限公司 Web页面测试方法和装置
CN107480055A (zh) * 2017-07-26 2017-12-15 网易(杭州)网络有限公司 测试方法、装置、计算可读存储介质和计算设备
CN107368425A (zh) * 2017-08-25 2017-11-21 郑州云海信息技术有限公司 一种openstack测试方法
CN107766233B (zh) * 2017-08-30 2020-12-25 惠州Tcl云创科技有限公司 测试认证的管理方法、智能终端和具有存储功能的装置
CN107562521B (zh) * 2017-09-27 2021-03-09 苏州浪潮智能科技有限公司 一种资源管理方法及装置
CN109697141B (zh) * 2017-10-20 2022-07-05 北京京东尚科信息技术有限公司 用于可视化测试的方法及装置
CN108153677A (zh) * 2017-12-26 2018-06-12 上海展扬通信技术有限公司 智能终端的测试方法及智能终端
CN108052451A (zh) * 2017-12-26 2018-05-18 网易(杭州)网络有限公司 测试方法、系统、测试服务器、测试终端及存储介质
CN108197021A (zh) * 2017-12-28 2018-06-22 深圳市彬讯科技有限公司 一种web系统自动化测试方法、装置、设备及存储介质
CN108509308A (zh) * 2018-02-08 2018-09-07 广州视源电子科技股份有限公司 板卡数据监控方法、系统、可读存储介质及计算机设备
CN108388514B (zh) * 2018-02-24 2021-02-23 平安科技(深圳)有限公司 接口自动化测试方法、装置、设备及计算机可读存储介质
CN108536607B (zh) * 2018-04-20 2021-06-08 深圳前海微众银行股份有限公司 Ui测试方法、设备及可读存储介质
CN108845929A (zh) * 2018-05-07 2018-11-20 北京三快在线科技有限公司 页面性能测试方法和装置
CN108595339A (zh) * 2018-05-09 2018-09-28 成都致云科技有限公司 自动化测试方法、装置及系统
CN108804317A (zh) * 2018-05-24 2018-11-13 北京握奇智能科技有限公司 一种统一执行脚本的方法和系统
CN109032920A (zh) * 2018-06-05 2018-12-18 北京奇安信科技有限公司 一种用于对协议接口进行测试的方法及装置
CN108874671A (zh) * 2018-06-20 2018-11-23 上海哔哩哔哩科技有限公司 测试用例管理方法、装置、系统及存储介质
CN108959079B (zh) * 2018-06-27 2021-08-20 郑州云海信息技术有限公司 一种以自动化测试为主导的软件敏捷开发方法及系统
CN108829556A (zh) * 2018-06-27 2018-11-16 中国建设银行股份有限公司 一种自动化测试方法及装置
CN109213904B (zh) * 2018-08-02 2021-09-28 陶雷 一种基于结构化方案对呈现数据进行处理的系统及方法
CN109063131B (zh) * 2018-08-02 2021-09-28 陶雷 一种基于结构化数据处理进行内容输出的系统及方法
CN110908889A (zh) * 2018-09-17 2020-03-24 千寻位置网络有限公司 自动化测试方法及装置、控制设备
CN109522214A (zh) * 2018-10-09 2019-03-26 广州神马移动信息科技有限公司 测试方法、平台、客户端及系统、计算设备及可读介质
CN109240271A (zh) * 2018-10-18 2019-01-18 东南(福建)汽车工业有限公司 一种整车控制设备的云平台测试系统及方法
CN109471710B (zh) * 2018-10-25 2021-05-25 网易(杭州)网络有限公司 任务请求的处理方法、装置、处理器、终端及服务器
CN109413073A (zh) * 2018-11-02 2019-03-01 济南浪潮高新科技投资发展有限公司 一种调试以太网phy的工具和方法
CN109582575B (zh) * 2018-11-27 2022-03-22 网易(杭州)网络有限公司 游戏测试方法及装置
CN109634861B (zh) * 2018-12-11 2022-06-21 网易(杭州)网络有限公司 网络游戏协议的测试方法、装置、处理器及终端
CN110232018A (zh) * 2019-05-17 2019-09-13 浙江数链科技有限公司 接口测试方法、装置、计算机设备
CN110209578B (zh) * 2019-05-21 2022-07-08 苏州浪潮智能科技有限公司 一种信息在线测试平台
CN110334014A (zh) * 2019-06-12 2019-10-15 北京大米科技有限公司 用于用户界面自动化测试方法、系统、服务器及存储介质
CN110471851B (zh) * 2019-08-09 2022-06-21 北京首都在线科技股份有限公司 一种自动化测试方法及装置
CN110765001B (zh) * 2019-09-06 2023-04-07 赛诺贝斯(北京)营销技术股份有限公司 针对应用系统的模块化自动测试方法和装置
CN111026634A (zh) * 2019-09-27 2020-04-17 珠海随变科技有限公司 一种接口自动化测试系统、方法、装置及存储介质
CN110928549B (zh) * 2019-11-19 2023-03-21 北京明略软件系统有限公司 一种重编辑前端脚本程序的方法及装置
CN111026645B (zh) * 2019-11-20 2023-11-28 航天信息股份有限公司 用户界面自动化测试方法、装置、存储介质及电子设备
CN110826646A (zh) * 2019-11-27 2020-02-21 深圳市优必选科技股份有限公司 机器人视觉测试方法、装置、存储介质及终端设备
CN111143223A (zh) * 2019-12-30 2020-05-12 珠海金山网络游戏科技有限公司 一种服务器压力测试方法及装置
CN111274085A (zh) * 2020-01-14 2020-06-12 中科驭数(北京)科技有限公司 数据库监控系统及方法
CN111290951B (zh) * 2020-01-22 2023-09-26 京东科技控股股份有限公司 测试方法、终端、服务器、系统及存储介质
CN113360365B (zh) * 2020-03-03 2024-04-05 北京同邦卓益科技有限公司 一种流程测试方法和流程测试系统
CN111857711A (zh) * 2020-06-30 2020-10-30 南京华盾电力信息安全测评有限公司 一种基于svg结合rpc通信的scada系统实时展示方法
CN111859830A (zh) * 2020-06-30 2020-10-30 山东云海国创云计算装备产业创新中心有限公司 一种验证计划及报告的生成方法、装置、设备及存储介质
CN113760704A (zh) * 2020-09-16 2021-12-07 北京沃东天骏信息技术有限公司 Web UI的测试方法、装置、设备以及存储介质
CN112181813A (zh) * 2020-09-17 2021-01-05 的卢技术有限公司 一种接口自动化测试方法、系统和计算机可读存储介质
CN112202635B (zh) * 2020-09-27 2022-05-06 浙江三维利普维网络有限公司 链路的监控方法、装置、存储介质以及电子装置
CN112738230B (zh) * 2020-12-29 2023-02-28 成都三零瑞通移动通信有限公司 一种自动化网闸测试系统及其工作方法
CN112882939B (zh) * 2021-02-26 2022-09-02 北京百度网讯科技有限公司 自动化测试方法、装置、电子设备及存储介质
JP2023519774A (ja) * 2021-02-26 2023-05-15 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 自動化テスト方法、装置、電子デバイス、記憶媒体、及びプログラム
CN113051155A (zh) * 2021-03-11 2021-06-29 中国信息通信研究院 一种自动化测试平台的控制系统和控制方法
CN112883242A (zh) * 2021-04-28 2021-06-01 成都新希望金融信息有限公司 树形机器学习模型可视化方法、装置、电子设备及存储介质
US11886330B1 (en) 2021-06-16 2024-01-30 Amdocs Development Limited System, method, and computer program for generating a context visualization during test automation
CN113419965A (zh) * 2021-07-15 2021-09-21 中国银行股份有限公司 一种多浏览器兼容性测试系统及方法
CN114936052B (zh) * 2021-09-16 2023-05-23 华为技术有限公司 一种模型可视化方法、系统及相关设备
CN113626344B (zh) * 2021-10-12 2022-02-08 广州嘉为科技有限公司 一种软件自动化测试的调度方法及系统
CN114090464B (zh) * 2022-01-24 2022-04-26 中国民航信息网络股份有限公司 Json格式的测试用例更新方法及相关装置
CN114936069B (zh) * 2022-05-30 2024-03-22 易协云(杭州)科技有限公司 一种利用脑图进行项目展示的方法及系统
CN115374066B (zh) * 2022-10-26 2023-02-07 北京芯可鉴科技有限公司 远程可视化系统与远程可视化方法
CN116225968A (zh) * 2023-05-06 2023-06-06 易方信息科技股份有限公司 在线化测试用例脚本文件管理方法、装置、终端以及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075381A (zh) * 2010-12-14 2011-05-25 云海创想信息技术(北京)有限公司 一种应用于云存储的自动化测试平台服务器及系统
CN103365770A (zh) * 2012-04-09 2013-10-23 陆兵 移动终端软件测试系统及软件测试方法
CN103379127A (zh) * 2012-04-12 2013-10-30 阿里巴巴集团控股有限公司 服务器与客户端间的数据交互方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7917895B2 (en) * 2001-07-27 2011-03-29 Smartesoft, Inc. Automated software testing and validation system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075381A (zh) * 2010-12-14 2011-05-25 云海创想信息技术(北京)有限公司 一种应用于云存储的自动化测试平台服务器及系统
CN103365770A (zh) * 2012-04-09 2013-10-23 陆兵 移动终端软件测试系统及软件测试方法
CN103379127A (zh) * 2012-04-12 2013-10-30 阿里巴巴集团控股有限公司 服务器与客户端间的数据交互方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
使用 TestLink 管理软件测试过程: 使用 TestLink管理软件自动化测试过程;祝尚元;《IBM》;20130704;第1-7页 *

Also Published As

Publication number Publication date
CN104834595A (zh) 2015-08-12

Similar Documents

Publication Publication Date Title
CN104834595B (zh) 一种可视化自动测试方法及系统
CN106547689B (zh) 一种基于web的自动化测试用例开发系统及方法
Lwakatare et al. An exploratory study of devops extending the dimensions of devops with practices
CN105138448B (zh) 一种在前端测试页面的方法和装置
CN104065528B (zh) 用于分析和检验多个网络设备的功能性的方法和装置
CN109726132A (zh) 一种软件测试方法及软件测试自动化管理系统
Cerny et al. Microservice architecture reconstruction and visualization techniques: A review
CN109508298A (zh) 图形化的脚本测试方法及系统
US20150178182A1 (en) Software testing platform and method
CN102842249B (zh) 基于组件式的电力互动培训系统
CN110347395A (zh) 基于云计算平台的软件发布方法及装置
EP0869433A2 (en) A test development system and method for software with a graphical user interface
CN108710949A (zh) 用于创建机器学习建模模板的方法及系统
CN108345532A (zh) 一种自动化测试用例生成方法和装置
CN107239271A (zh) 开发文档生成方法及装置
CN109491910A (zh) 一种保护逻辑和控制逻辑的可视化仿真调试方法及系统
CN109614321A (zh) 用于ats软件的持续集成和交付的系统
CN110048904A (zh) 一种针对5g核心网中用户平面功能网元的测试系统和方法
CN109522214A (zh) 测试方法、平台、客户端及系统、计算设备及可读介质
Gortney et al. Visualizing microservice architecture in the dynamic perspective: A systematic mapping study
CN101030160B (zh) 统一串行接口测试命令的测试装置及其测试方法
Zhu et al. A test automation solution on gui functional test
CN113220561A (zh) 一种测试用例管理方法、装置、设备及介质
Poornalinga et al. Continuous integration, deployment and delivery automation in AWS cloud infrastructure
KR20230115340A (ko) 사용자 인터페이스 애플리케이션들을 개발하기 위한시스템 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant