技术摘要:
本发明提出一种持续集成的自动化测试平台以及自动化测试方法。所述自动化测试平台中的测试对象分割子系统对测试对象上传子系统上传的测试对象进行分割后解析出多个测试参数和测试目标,并广播给测试用例认证中心链中的多个测试用例认证节点;将至少一个测试用例广播给 全部
背景技术:
软件测试的目的是在软件系统投入使用前尽早发现存在的缺陷,它需要自动化以 降低成本并确保高回归,保证高质量的测试结果。为还原真实的软件运行环境,传统软件测 试需要针对不同的测试项目搭建不同的网络环境,部署相应的存储、计算和网络等硬件资 源,花费过多的人力物力,测试操作过程复杂,且测试资源利用率较低。 为了提高测试效率,软件功能测试从手工测试转向自动化测试己经成为一种趋 势,自动化测试可在每次版本更新后立即参与到测试中去,并且自动化测试是严格按照测 试用例的要求来进行测试的,因此会减少人为的错误,从而节约测试时间,同时提高测试准 确度。 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个 成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的 构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。 Jenkins是业界非常流行的开源持续集成工具,jenkins为以job的形式提供作业 支持,在job中可以设置任务执行的流程,从代码发布后触发WebHook开始,自动化编译、构 建、打包、测试、部署、发布等流程。jenkins支持插件化功能添加,常用的持续集成过程中的 工具插件都提供,调用自动化测试平台的接口就可以获取运行日志。 申请号为CN201911362840.1的中国发明专利申请提出一种应用程序接口的自动 化测试方法和装置,该方法包括:将应用程序接口的接口请求数据和预期响应数据写入第 一表格;读取第一表格的接口请求数据;发送接口请求数据;获取接口响应数据;比较获取 的接口响应数据与预期响应数据,得到接口用例运行结果;将接口用例运行结果写入第二 表格,得到测试报告。本发明的接口测试用例表一目了然,格式清晰,方便新增测试用例,对 于没有专业知识的人很容易读懂并进行操作;并且可以实现应用程序接口(API)的接口自 动化测试,根据输出报告能够清晰地判断各个接口测试是否通过,还包括将创建好的Excel 表和代码文件放入持续集成工具(Jenkins)中,创建定时构建任务,每天固定时间会自动进 行构建。 公开号为CN103577907A的中国专利提供了一种持续集成测试方法和系统,主要解 决持续集成项目同时监测在各个真实环境中运行的待测目标;当检测到某个真实环境中运 行的待测目标达到预设条件时,获取待测目标运行的真实环境对应的环境标识;通过发送 测试命令,调用测试用例,其中测试命令中包括环境标识;测试用例根据环境标识,配置相 应的测试环境;在测试环境中执行测试用例中的测试脚本,并获取最终的测试结果。该系统 提供了测试整个流程的支持,但是没有对其中多种用例的支撑提供有效的解决方案,其中 测试结果的归纳分析也没有实际的解决方案。 4 CN 111611165 A 说 明 书 2/6 页 申请号为CN201911082062.0的中国发明专利申请提出种基于节点式的自动化测 试系统,该系统将不同的测试阶段发布到不同的机器上进行测试,同时可以支持不同机器 上的测试用例可以协调执行,判断测试输入对应的输出与预期的结果进行对比匹配完成测 试,输出测试报告到中心服务器进行汇总分析形成一次完整的测试,产生测试报告发送给 相关人员。本发明针对现阶段业务特点,解决软件测试的难点,实现全方位软件自动化测试 的一套装置系统,能够不间断自动化的完成整个业务流程的测试,并及时生成报告,通知相 关人员测试结果,全方位的监测项目软件质量,缩短测试时间,减少人员在测试过程中的误 操作或遗漏,加大测试深度,提高项目质量。 然而,上述现有技术通常只能适用于特定行业的软件测试,其均是针对已知软件 测试用例的情形进行,不具备通用性,同时需要预先预置测试用例,但是不管如何预置,测 试用例都是有限的,无法满足情况多变的多类型软件测试,即使是外部提供测试用例,也无 法保证其可用性,更无法持续的实现可靠的软件自动化测试。
技术实现要素:
为解决上述技术问题,本发明提出一种持续集成的自动化测试平台以及自动化测 试方法。通过所述自动化测试平台中的测试对象分割子系统对测试对象上传子系统上传的 测试对象进行分割后解析出多个测试参数和测试目标,并广播给测试用例认证中心链中的 多个测试用例认证节点;将至少一个测试用例广播给所述测试用例认证中心链的多个测试 用例认证节点;如果所述多个测试用例认证节点中第一预定数量的测试用例认证节点对该 测试用例执行了共识同步操作,则通过该测试用例,并将其发送给所述所述测试用例集成 子系统。本发明通过持续集成认证的方式,实现了分布式多端点的软件自动化测试,并且能 够保证测试用例的可靠性。 具体来说,本申请的技术方案整体上概括如下: 在本发明的第一个方面,提供一种持续集成的自动化测试方法,所述测试方法包 括如下步骤: 当前用户通过包括浏览器、H5平台、小程序、APP客户端在内的多个信息通道之一 向测试用例认证中心链提交测试请求; 如果当前测试用例认证中心链不存在其他测试用例认证节点,则将当前用户加入 所述测试用例认证中心链进行等待; 如果当前测试用例认证中心链存在其他测试用例认证节点,则所述测试用例认证 中心链接收所述测试请求后,将所述测试请求发送给所述测试用例认证中心链中的其他测 试用例认证节点; 判断所述其他测试用例认证节点是否对所述测试用例执行了共识同步操作,如果 是,则将当前用户加入所述测试用例认证中心链,作为所述测试用例认证中心链的测试用 例认证节点之一; 如果否,则拒绝所述测试请求。 所述将当前用户加入所述测试用例认证中心链,作为所述测试用例认证中心链的 测试用例认证节点之一之后,进一步包括: 将所述测试请求中包含的测试对象进行分割解析后得到多个测试参数和测试目 5 CN 111611165 A 说 明 书 3/6 页 标,并将所述测试参数和测试目标广播给所述测试用例认证中心链中的其他多个测试用例 认证节点。 将所述测试参数和测试目标广播给所述测试用例认证中心链中的其他多个测试 用例认证节点,进一步包括: 所述其他多个测试用例认证节点反馈向所述测试用例认证中心链广播自身提供 的至少一个测试用例; 判断所述测试用例是否被所述测试用例认证中心链认证通过,如果是,则其他多 个测试用例认证节点利用该测试用例执行所述测试请求。 在本发明的第二个方面,提供用于执行上述持续集成的自动化测试方法的持续集 成的自动化测试平台,所述自动化测试平台包括测试对象上传子系统、测试对象分割子系 统、测试用例自动匹配子系统、测试用例集成子系统、测试用例持续测试子系统以及广播模 块,所述广播模块连接所述测试用例认证中心链以及所述测试用例集成子系统,用于执行 广播操作,并接收共识同步数据。 作为本发明的第一个创新点, 所述自动化测试平台还包括测试用例认证中心链,所述测试用例认证中心链包括 多个测试用例认证节点; 所述自动化测试平台还包括连接用户终端与所述测试用例认证中心链的多个信 息交互通道; 作为优选,当前用户通过包括浏览器、H5平台、小程序、APP客户端在内的多个信息 交互通道之一向所述测试用例认证中心链提交测试请求。 用户终端通过所述信息交互通道提交自动化测试请求后,经所述测试用例认证中 心链认证通过后,成为所述所述测试用例认证中心链的测试用例认证节点之一。 所述测试用例匹配子系统连接至所述测试用例认证中心链,从所述多个测试用例 认证节点中获取至少一个测试用例; 所述测试用例集成子系统集成所述测试用例认证中心链认证通过的测试用例,发 送给所述测试用例持续测试子系统; 所述测试用例持续测试子系统利用所述测试用例认证中心链认证通过的测试用 例,开展自动化测试; 作为本发明的再一个创新点,所述测试用例持续测试子系统利用所述测试用例认 证中心链认证通过的测试用例,开展自动化测试,具体包括: 将测试对象发送给所述多个测试用例认证节点中除所述第一预定数量的测试用 例认证节点之外的其他测试用例认证节点,并接收测试接收确认结果。 所述未收到任何测试接收确认结果,则将测试对象发送给所述第一预定数量的测 试用例认证节点。 所述其他测试用例认证节点向所述测试用例认证中心链反馈自身的测试结果; 所述测试用例认证中心链向所有测试用例认证节点广播所述测试结果。 作为更进一步的优选,所述系统还包括测试结果激励层,所述测试结果激励层基 于所述所有测试用例认证节点对于该测试结果的共识程度评分,对提供该测试结果的测试 用例认证节点在所述测试用例认证中心链中的权重进行调整。 6 CN 111611165 A 说 明 书 4/6 页 本发明的进一步优点将结合说明书附图在具体实施例部分进一步详细体现。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获 得其他的附图。 图1是本发明一个实施例的持续集成的自动化测试平台的模块架构图; 图2是图1所述平台中用户端与测试用例认证中心链的信息交互通道示意图; 图3是利用图1所述平台进行测试的一个实施例流程图; 图4是利用图1所述平台进行测试的再一个实施例流程图。