CN116501652A - 基于saas系统的可持续集成的自动化测试方法及系统 - Google Patents
基于saas系统的可持续集成的自动化测试方法及系统 Download PDFInfo
- Publication number
- CN116501652A CN116501652A CN202310776767.2A CN202310776767A CN116501652A CN 116501652 A CN116501652 A CN 116501652A CN 202310776767 A CN202310776767 A CN 202310776767A CN 116501652 A CN116501652 A CN 116501652A
- Authority
- CN
- China
- Prior art keywords
- test
- image
- preset
- testing
- report
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 323
- 230000010354 integration Effects 0.000 title claims abstract description 22
- 238000013515 script Methods 0.000 claims abstract description 45
- 230000001960 triggered effect Effects 0.000 claims abstract description 9
- 101001072091 Homo sapiens ProSAAS Proteins 0.000 claims abstract 11
- 102100036366 ProSAAS Human genes 0.000 claims abstract 11
- 230000006870 function Effects 0.000 claims description 16
- 238000000034 method Methods 0.000 claims description 13
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 238000010998 test method Methods 0.000 abstract description 8
- 238000013473 artificial intelligence Methods 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013522 software testing Methods 0.000 description 2
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- QSHDDOUJBYECFT-UHFFFAOYSA-N mercury Chemical compound [Hg] QSHDDOUJBYECFT-UHFFFAOYSA-N 0.000 description 1
- 229910052753 mercury Inorganic materials 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 229910052711 selenium Inorganic materials 0.000 description 1
- 239000011669 selenium Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/3696—Methods or tools to render software testable
-
- 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/3684—Test management for test design, e.g. generating new test cases
-
- 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/3692—Test management for test results analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
本发明涉及人工智能技术,揭露了一种基于SAAS系统的可持续集成的自动化测试方法,包括:通过容器化引擎创建镜像文件,搭建测试开源工具对应的容器镜像,利用容器镜像配置测试环境;编写测试用例,利用预设的编程工具根据所述测试用例编写对应的自动化测试脚本;根据所述自动化测试脚本创建测试job,在所述测试job中绑定代码仓库,在所述代码仓库中设置触发条件;当所述触发条件触发时,在所述测试环境中运行所述测试化脚本,得到测试结果,将所述测试结果导入预设的报告框架中,得到测试报告,将所述测试报告通过邮件发送至客户端。本发明还提出一种基于SAAS系统的可持续集成的自动化测试系统。本发明可以提高自动化测试的准确度。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于SAAS系统的可持续集成的自动化测试方法及系统。
背景技术
随着云计算和软件行业的快速发展,越来越多的企业将其业务转向基于SAAS的模式。为了解决SAAS模式下软件的开发周期非常短,因此导致软件测试效率跟不上的问题,需要一种可持续集成的自动化测试方法,尽可能地减少手动测试的时间和精力,提高测试效率和准确性。
传统的软件测试方法通常是手动测试,需要测试人员逐一进行测试用例的执行和结果验证,不仅需要大量时间和人力资源,且软件系统现在越来越复杂,手动测试无法覆盖所有测试情况,也无法保障测试质量。实际应用中,传统的软件测试方法法往往只是静态地分析代码,在代码合并时无法及时发现问题,因此容易出现测试遗漏和误报,导致测试结果不够全面和准确。
发明内容
本发明提供一种基于SAAS系统的可持续集成的自动化测试方法及系统,其主要目的在于解决自动化测试时准确度较低的问题。
为实现上述目的,本发明提供的一种基于SAAS系统的可持续集成的自动化测试方法,包括:
通过预设的容器化引擎创建镜像文件,根据所述镜像文件搭建测试开源工具对应的容器镜像,利用所述容器镜像配置测试环境,其中,所述根据所述镜像文件搭建测试开源工具对应的容器镜像,包括:
在所述镜像文件对应的工作目录中搭建空白镜像;
利用所述测试开源工具在所述空白镜像中执行所述镜像文件中的指令,得到新层镜像,并计算所述新层镜像对应的索引ID;
将所述新层镜像以及索引ID进行拼接,得到容器镜像;
根据预设的测试文档编写测试用例,利用预设的编程工具根据所述测试用例编写对应的自动化测试脚本;
根据所述自动化测试脚本创建测试job,在所述测试job中绑定代码仓库,在所述代码仓库中设置触发条件;
当所述触发条件触发时,在所述测试环境中运行所述测试化脚本,得到测试结果,将所述测试结果导入预设的报告框架中,得到测试报告,将所述测试报告通过邮件发送至客户端。
可选地,所述通过预设的容器化引擎创建镜像文件,包括:
在预设的空白脚本中定义from命令,根据所述from命令确定基础镜像;
在所述空白脚本中设置工作目录,将所述基础镜像复制到工作目录中,得到复制文件;
在所述复制文件中安装依赖项,得到镜像文件。
可选地,所述利用所述测试开源工具在所述空白镜像中执行所述镜像文件中的指令,得到新层镜像,包括:
在所述开源工具中配置Pipeline插件;
利用所述Pipeline插件在所述空白镜像中执行所述镜像文件中的指令,得到新层镜像。
可选地,所述计算所述新层镜像对应的索引ID,包括:
利用如下索引算法计算所述新层镜像对应的索引ID:
;
其中,为新层镜像中第/>层对应的索引ID,/>为新层镜像中第层对应的索引ID,/>表示所述容器镜像中第/>层对应的索引ID,/>表示将任意长度的输入数据映射为256位的输出值的散列函数。
可选地,所述根据预设的测试文档编写测试用例,包括:
根据所述测试文档确定测试要求,并根据所述测试要求确定测试范围;
在预设的空白场景中融合测试要求以及测试范围,得到测试场景;
根据所述测试场景编写对应的测试输入和预期输出,将所述测试输入和测试场景以及预期输出确定为一个测试用例。
可选地,所述利用预设的编程工具根据所述测试用例编写对应的自动化测试脚本,包括:
将所述测试用例导入所述编程工具的内建库中;
在所述内建库中根据所述测试用例编写测试函数;
将所述测试函数进行统一封装,得到自动化测试脚本。
可选地,所述在所述测试job中绑定代码仓库,在所述代码仓库中设置触发条件,包括:
确定所述代码仓库的版本控制系统,根据所述版本控制系统确定所述代码仓库的URL;
通过所述测试job打开所述代码仓库的配置页面;
将所述URL添加至预设的触发条件中,利用添加后的触发条件对配置页面进行配置。
可选地,所述将所述测试结果导入预设的报告框架中,得到测试报告,包括:
将所述测试结果转化成可处理的文件格式,得到测试文件;
将所述测试文件按照所述报告框架进行格式转化,得到格式文件;
根据所述报告框架供的API将所述格式文件添加至所述报告框架中,得到测试报告。
可选地,所述将所述测试报告通过邮件发送至客户端,包括:
在电子邮件中创建空白邮件,将客户端的电子邮件地址输入到收件人字段中;
在主题字段中输入有关测试报告的简短描述,在正文字段中添加一些自定义信息或消息,例如对测试结果的简要概述;
将测试报告附件添加到电子邮件中,单击“发送”按钮以将测试报告发送至客户端。
为了解决上述问题,本发明还提供一种基于SAAS系统的可持续集成的自动化测试系统,所述系统包括:
容器镜像模块:通过预设的容器化引擎创建镜像文件,根据所述镜像文件搭建测试开源工具对应的容器镜像,利用所述容器镜像配置测试环境;
测试脚本模块:根据预设的测试文档编写测试用例,利用预设的编程工具根据所述测试用例编写对应的自动化测试脚本;
绑定代码模块:根据所述自动化测试脚本创建测试job,在所述测试job中绑定代码仓库,在所述代码仓库中设置触发条件;
发送报告模块:当所述触发条件触发时,在所述测试环境中运行所述测试化脚本,得到测试结果,将所述测试结果导入预设的报告框架中,得到测试报告,将所述测试报告通过邮件发送至客户端。
本发明实施例通过容器化引擎创建镜像文件,搭建测试开源工具对应的容器镜像,利用容器镜像配置测试环境,所述容器化引擎提供了一种快速、可靠且安全的方式来运行应用程序,以实现更高效、快捷的应用部署和管理,能够支持创建、启动、停止和管理容器,以实现更高效的应用程序部署和管理;编写测试用例,利用预设的编程工具根据所述测试用例编写对应的自动化测试脚本,根据预设的测试文档编写测试用例可以确保测试人员理解测试的目标和范围,从而提高测试效率和效果;根据所述自动化测试脚本创建测试job,在所述测试job中绑定代码仓库,在所述代码仓库中设置触发条件,所述在所述测试job中绑定代码仓库的主要目的是将代码和相关任务进行关联,这样可以更加方便地管理和执行任务,另外,绑定代码仓库还可以提高团队的协作效率;当所述触发条件触发时,在所述测试环境中运行所述测试化脚本,得到测试结果,将所述测试结果导入预设的报告框架中,得到测试报告,将所述测试报告通过邮件发送至客户端,可以保持测试人员与其他团队成员之间的实时联系,并确保测试结果的及时传达和处理,从而提高沟通效率和工作效率,更好地推进项目开发进程。因此本发明提出的基于SAAS系统的可持续集成的自动化测试方法、系统,可以解决自动化测试时准确度较低的问题。
附图说明
图1为本发明一实施例提供的基于SAAS系统的可持续集成的自动化测试方法的流程示意图;
图2为本发明一实施例提供的创建镜像文件的流程示意图;
图3为本发明一实施例提供的编写测试用例的流程示意图;
图4为本发明一实施例提供的基于SAAS系统的可持续集成的自动化测试系统的功能模块图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种基于SAAS系统的可持续集成的自动化测试方法。所述基于SAAS系统的可持续集成的自动化测试方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述基于SAAS系统的可持续集成的自动化测试方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
参照图1所示,为本发明一实施例提供的基于SAAS系统的可持续集成的自动化测试方法的流程示意图。在本实施例中,所述基于SAAS系统的可持续集成的自动化测试方法包括:
S1、通过预设的容器化引擎创建镜像文件,根据所述镜像文件搭建测试开源工具对应的容器镜像,利用所述容器镜像配置测试环境;
本发明实施例中,所述容器化引擎是一种软件工具,用于创建、启动、停止和管理容器。它将应用程序及其依赖项打包到一个轻量级和可移植的容器中,并提供了一种快速、可靠且安全的方式来运行应用程序,以实现更高效、快捷的应用部署和管理。
详细地,所述容器化引擎包括但不限于Docker、CoreOS rkt、OpenVZ等,所述容器化引擎都能够支持创建、启动、停止和管理容器,以实现更高效的应用程序部署和管理,并且各具特点,用户可以根据自己的需求选择合适的容器化引擎。
本发明实施例中,参照图2所示,所述通过预设的容器化引擎创建镜像文件,包括:
S21、在预设的空白脚本中定义from命令,根据所述from命令确定基础镜像;
S22、在所述空白脚本中设置工作目录,将所述基础镜像复制到工作目录中,得到复制文件;
S23、在所述复制文件中安装依赖项,得到镜像文件。
具体地,所述在所述空白脚本中设置工作目录可以使容器化引擎中的文件和目录结构更加清晰和易于管理。具体来说,设置工作目录后,所有运行于容器化引擎中的命令都将以该工作目录为基础路径进行操作,这样就可以避免在每个命令中都写入绝对路径的繁琐问题,并且可以更方便地组织和查找相关文件。
另外地,所述在所述复制文件中安装依赖项是非常重要的,因为这确保了镜像文件将包含应用程序所需的所有必要组件和库,如果不安装依赖项,则环境中的程序可能无法正常运行。
本发明实施例中,所述根据所述镜像文件搭建测试开源工具对应的容器镜像,包括:
在所述镜像文件对应的工作目录中搭建空白镜像;
利用所述测试开源工具在所述空白镜像中执行所述镜像文件中的指令,得到新层镜像,并计算所述新层镜像对应的索引ID;
将所述新层镜像以及索引ID进行拼接,得到容器镜像。
详细地,所述测试开源工具是一个自动化的开源持续集成和交付工具,它可以帮助开发人员快速、高效地构建、测试、发布软件。虽然所述测试开源工具广泛应用于测试中,但不一定是专门的测试工具,所述测试开源工具包括但不限于Jenkins 、Junit、TestNG、Selenium等。
另外地,所述利用所述测试开源工具在所述空白镜像中执行所述镜像文件中的指令,得到新层镜像,包括:
在所述开源工具中配置Pipeline插件;
利用所述Pipeline插件在所述空白镜像中执行所述镜像文件中的指令,得到新层镜像。
具体地,所述Pipeline插件的中文意思是“管道”或“管线”。在计算机科学中,Pipeline通常指一种数据处理流程,其中输入的数据经过多个阶段的处理,每个阶段都对数据进行不同的操作,并将其传递给下一个阶段,最终产生输出结果。本发明实施例中,它允许开发者将多个任务组合在一起以形成一个工作流程,为持续集成和持续交付提供了强大的支持。
详细地,所述计算所述新层镜像对应的索引ID,包括:
利用如下索引算法计算所述新层镜像对应的索引ID:
;
其中,为新层镜像中第/>层对应的索引ID,/>为新层镜像中第层对应的索引ID,/>表示所述容器镜像中第/>层对应的索引ID,/>表示将任意长度的输入数据映射为256位的输出值的散列函数。
具体地,利用所述索引算法计算所述新层镜像对应的索引ID可以确保该镜像在任何情况下都具有唯一性,还可以保证镜像的完整性和真实性,防止恶意篡改和攻击,并且可以方便地跟踪和识别镜像的版本变化。
S2、根据预设的测试文档编写测试用例,利用预设的编程工具根据所述测试用例编写对应的自动化测试脚本;
本发明实施例中,预设的测试文档通常包括了对软件的功能、性能、安全等方面的要求和说明,基于这些要求和说明编写的测试用例可以确保测试人员理解测试的目标和范围,从而提高测试效率和效果,通过根据预设的测试文档编写测试用例,测试人员可以确保覆盖所有的测试需求,从而提高测试覆盖率,降低遗漏缺陷的风险,还可以帮助测试人员跟踪测试进度,及时发现和解决测试过程中的问题,提高测试质量。
本发明实施例中,参照图3所示,所述根据预设的测试文档编写测试用例,包括:
S31、根据所述测试文档确定测试要求,并根据所述测试要求确定测试范围;
S32、在预设的空白场景中融合测试要求以及测试范围,得到测试场景;
S33、根据所述测试场景编写对应的测试输入和预期输出,将所述测试输入和测试场景以及预期输出确定为一个测试用例。
详细地,所述根据预设的测试文档编写测试用例,例如一个完整的测试用例应该包括,测试场景:用户输入无效的电子邮件地址;测试输入:无效的电子邮件地址(如:test@);预期输出:系统应该提示“请输入有效的电子邮件地址”。
本发明实施例中,所述利用预设的编程工具根据所述测试用例编写对应的自动化测试脚本,包括:
将所述测试用例导入所述编程工具的内建库中;
在所述内建库中根据所述测试用例编写测试函数;
将所述测试函数进行统一封装,得到自动化测试脚本。
详细地,所述内建库是为所述编程工具提供了许多常用的功能,例如Python 的内建库就包括数学函数的math、提供了生成随机数的功能random、提供了与操作系统交互的功能的os等。
具体地,所述在所述内建库中根据所述测试用例编写测试函数,可以帮助提高代码的质量,保证代码的正确性和稳定性,同时可以实现自动化测试,减少人工测试的时间和工作量,另外可以减少软件中存在问题的数量,减少修复成本,并缩短迭代周期。
S3、根据所述自动化测试脚本创建测试job,在所述测试job中绑定代码仓库,在所述代码仓库中设置触发条件;
本发明实施例中,所述代码仓库是一个存储源代码、文档和其他资源的地方,通常是在软件开发过程中使用的。可以存储整个项目的版本历史记录,以及多个开发者之间的协作工作,代码仓库通常会提供版本控制功能,使得团队成员能够追踪代码变更、管理代码分支和合并请求,并能够保留每个版本的历史记录。
详细地,所述在所述测试job中绑定代码仓库的主要目的是将代码和相关任务进行关联,这样可以更加方便地管理和执行任务,另外,绑定代码仓库还可以提高团队的协作效率。当多个人同时工作于同一个项目时,通过将测试job绑定到代码仓库,可以确保每个人都使用同一个代码库进行开发,避免了因为不同的代码版本而导致的冲突和错误。
具体地,所述触发条件可以帮助开发人员更快速地检测和修复问题,一些常见的触发条件例如:提交代码:当有新的代码提交到代码仓库时触发;发布代码:当发布新的版本或标签时触发;分支合并:当代码被合并到指定分支时触发等等。
本发明实施例中,所述根据所述自动化测试脚本创建测试job,包括:将所述自动化测试脚本添加至预设的空白job中,并对所述空白job进行配置,包括项目名称、构建方式、操作系统、依赖项等。
本发明实施例中,所述在所述测试job中绑定代码仓库,在所述代码仓库中设置触发条件,包括:
确定所述代码仓库的版本控制系统,根据所述版本控制系统确定所述代码仓库的URL;
通过所述测试job打开所述代码仓库的配置页面;
将所述URL添加至预设的触发条件中,利用添加后的触发条件对配置页面进行配置。
详细地,所述版本控制系统包括但不限于Git一个分布式版本控制系统、SVN一个集中式版本控制系统、CVS一种老的开源版本控制系统等。
另外地,所述根据所述版本控制系统确定所述代码仓库的URL,例如在Git仓库页面中,找到“Clone or download”按钮,在弹出的框中复制URL,在Mercurial仓库页面中,找到“Clone”按钮,复制URL。
具体地,在所述代码仓库中设置触发条件可以更加精确地控制测试job的执行时机,从而提高任务的效率和准确性。通过设置触发条件,可以确保测试job只有在特定的情况下才会被执行,避免了不必要的重复执行或者错误执行。
S4、当所述触发条件触发时,在所述测试环境中运行所述测试化脚本,得到测试结果,将所述测试结果导入预设的报告框架中,得到测试报告,将所述测试报告通过邮件发送至客户端。
本发明实施例中,所述当所述触发条件触发时,在所述测试环境中运行所述测试化脚本,可以设置触发器来响应选择的触发条件,触发器可以是在计算机上运行的定时任务或工具中的构建作业。
详细地,一旦触发器被触发,测试脚本会自动运行,并将测试结果输出到指定的位置,如日志文件或测试报告。
具体地,所述报告框架是一种用于生成测试报告的工具,通常作为测试工具的扩展模块来使用。它能够帮助测试人员以可视化的方式呈现测试结果,包括测试用例的运行状态、测试覆盖率、代码质量等信息,从而更好地理解和分析测试结果。本发明实施例中,所述报告框架包括但不限于Allure、ExtentReports、ReportNG以及TestNG Report等。
本发明实施例中,所述将所述测试结果导入预设的报告框架中,得到测试报告,包括:
将所述测试结果转化成可处理的文件格式,得到测试文件;
将所述测试文件按照所述报告框架进行格式转化,得到格式文件;
根据所述报告框架供的API将所述格式文件添加至所述报告框架中,得到测试报告。
详细地,所述将所述测试结果导入预设的报告框架中是为了方便管理和跟踪测试进展和测试结果。这样可以更好地掌握测试覆盖范围、发现的缺陷情况、解决缺陷的时间和成本等关键信息,从而帮助项目团队做出更好的决策和规划下一步的测试工作。
具体地,所述将所述测试结果转化成可处理的文件格式可以让测试人员更方便地管理、分析和共享测试结果,其中,所述文件格式包括:HTML文件、XML文件、CSV文件、JSON文件等。
本发明实施例中,所述将所述测试报告通过邮件发送至客户端,包括:
在电子邮件中创建空白邮件,将客户端的电子邮件地址输入到收件人字段中;
在主题字段中输入有关测试报告的简短描述,在正文字段中添加一些自定义信息或消息,例如对测试结果的简要概述;
将测试报告附件添加到电子邮件中,单击“发送”按钮以将测试报告发送至客户端。
另外地,将所述测试报告通过邮件发送至客户端,能够便于客户端进行查看,在项目中,多个团队成员可能需要查看测试结果,通过邮件发送Allure测试报告可以节省大量时间和精力,以便及时反馈问题并分析原因,可以保持测试人员与其他团队成员之间的实时联系,并确保测试结果的及时传达和处理,从而提高沟通效率和工作效率,更好地推进项目开发进程。
如图4所示,是本发明一实施例提供的基于SAAS系统的可持续集成的自动化测试系统的功能模块图。
本发明所述基于SAAS系统的可持续集成的自动化测试系统100可以安装于电子设备中。根据实现的功能,所述基于SAAS系统的可持续集成的自动化测试系统100可以包括容器镜像模块101、测试脚本模块102、绑定代码模块103及发送报告模块104。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述容器镜像模块101:通过预设的容器化引擎创建镜像文件,根据所述镜像文件搭建测试开源工具对应的容器镜像,利用所述容器镜像配置测试环境;
所述测试脚本模块102:根据预设的测试文档编写测试用例,利用预设的编程工具根据所述测试用例编写对应的自动化测试脚本;
所述绑定代码模块103:根据所述自动化测试脚本创建测试job,在所述测试job中绑定代码仓库,在所述代码仓库中设置触发条件;
所述发送报告模块104:当所述触发条件触发时,在所述测试环境中运行所述测试化脚本,得到测试结果,将所述测试结果导入预设的报告框架中,得到测试报告,将所述测试报告通过邮件发送至客户端。
详细地,本发明实施例中所述基于SAAS系统的可持续集成的自动化测试系统100中所述的各模块在使用时采用与上述图1至图3中所述的基于SAAS系统的可持续集成的自动化测试方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统实施例中陈述的多个单元或系统也可以由一个单元或系统通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种基于SAAS系统的可持续集成的自动化测试方法,其特征在于,所述方法包括:
S1:通过预设的容器化引擎创建镜像文件,根据所述镜像文件搭建测试开源工具对应的容器镜像,利用所述容器镜像配置测试环境,其中,所述根据所述镜像文件搭建测试开源工具对应的容器镜像,包括:
S11:在所述镜像文件对应的工作目录中搭建空白镜像;
S12:利用所述测试开源工具在所述空白镜像中执行所述镜像文件中的指令,得到新层镜像,并计算所述新层镜像对应的索引ID;
S13:将所述新层镜像以及索引ID进行拼接,得到容器镜像;
S2:根据预设的测试文档编写测试用例,利用预设的编程工具根据所述测试用例编写对应的自动化测试脚本;
S3:根据所述自动化测试脚本创建测试job,在所述测试job中绑定代码仓库,在所述代码仓库中设置触发条件;
S4:当所述触发条件触发时,在所述测试环境中运行所述测试化脚本,得到测试结果,将所述测试结果导入预设的报告框架中,得到测试报告,将所述测试报告通过邮件发送至客户端。
2.如权利要求1所述的基于SAAS系统的可持续集成的自动化测试方法,其特征在于,所述通过预设的容器化引擎创建镜像文件,包括:
在预设的空白脚本中定义from命令,根据所述from命令确定基础镜像;
在所述空白脚本中设置工作目录,将所述基础镜像复制到工作目录中,得到复制文件;
在所述复制文件中安装依赖项,得到镜像文件。
3.如权利要求1所述的基于SAAS系统的可持续集成的自动化测试方法,其特征在于,所述利用所述测试开源工具在所述空白镜像中执行所述镜像文件中的指令,得到新层镜像,包括:
在所述开源工具中配置Pipeline插件;
利用所述Pipeline插件在所述空白镜像中执行所述镜像文件中的指令,得到新层镜像。
4.如权利要求1所述的基于SAAS系统的可持续集成的自动化测试方法,其特征在于,所述计算所述新层镜像对应的索引ID,包括:
利用如下索引算法计算所述新层镜像对应的索引ID:
;
其中,为新层镜像中第/>层对应的索引ID,/>为新层镜像中第层对应的索引ID,/>表示所述容器镜像中第/>层对应的索引ID,/>表示将任意长度的输入数据映射为256位的输出值的散列函数。
5.如权利要求1所述的基于SAAS系统的可持续集成的自动化测试方法,其特征在于,所述根据预设的测试文档编写测试用例,包括:
根据所述测试文档确定测试要求,并根据所述测试要求确定测试范围;
在预设的空白场景中融合测试要求以及测试范围,得到测试场景;
根据所述测试场景编写对应的测试输入和预期输出,将所述测试输入和测试场景以及预期输出确定为一个测试用例。
6.如权利要求1所述的基于SAAS系统的可持续集成的自动化测试方法,其特征在于,所述利用预设的编程工具根据所述测试用例编写对应的自动化测试脚本,包括:
将所述测试用例导入所述编程工具的内建库中;
在所述内建库中根据所述测试用例编写测试函数;
将所述测试函数进行统一封装,得到自动化测试脚本。
7.如权利要求1所述的基于SAAS系统的可持续集成的自动化测试方法,其特征在于,所述在所述测试job中绑定代码仓库,在所述代码仓库中设置触发条件,包括:
确定所述代码仓库的版本控制系统,根据所述版本控制系统确定所述代码仓库的URL;
通过所述测试job打开所述代码仓库的配置页面;
将所述URL添加至预设的触发条件中,利用添加后的触发条件对配置页面进行配置。
8.如权利要求1至7中任一项所述的基于SAAS系统的可持续集成的自动化测试方法,其特征在于,所述将所述测试结果导入预设的报告框架中,得到测试报告,包括:
将所述测试结果转化成可处理的文件格式,得到测试文件;
将所述测试文件按照所述报告框架进行格式转化,得到格式文件;
根据所述报告框架供的API将所述格式文件添加至所述报告框架中,得到测试报告。
9.如权利要求1所述的基于SAAS系统的可持续集成的自动化测试方法,其特征在于,所述将所述测试报告通过邮件发送至客户端,包括:
在电子邮件中创建空白邮件,将客户端的电子邮件地址输入到收件人字段中;
在主题字段中输入有关测试报告的简短描述,在正文字段中添加一些自定义信息或消息,例如对测试结果的简要概述;
将测试报告附件添加到电子邮件中,单击“发送”按钮以将测试报告发送至客户端。
10.一种基于SAAS系统的可持续集成的自动化测试系统,其特征在于,所述系统包括:
容器镜像模块:通过预设的容器化引擎创建镜像文件,根据所述镜像文件搭建测试开源工具对应的容器镜像,利用所述容器镜像配置测试环境;
测试脚本模块:根据预设的测试文档编写测试用例,利用预设的编程工具根据所述测试用例编写对应的自动化测试脚本;
绑定代码模块:根据所述自动化测试脚本创建测试job,在所述测试job中绑定代码仓库,在所述代码仓库中设置触发条件;
发送报告模块:当所述触发条件触发时,在所述测试环境中运行所述测试化脚本,得到测试结果,将所述测试结果导入预设的报告框架中,得到测试报告,将所述测试报告通过邮件发送至客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310776767.2A CN116501652B (zh) | 2023-06-29 | 2023-06-29 | 基于saas系统的可持续集成的自动化测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310776767.2A CN116501652B (zh) | 2023-06-29 | 2023-06-29 | 基于saas系统的可持续集成的自动化测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116501652A true CN116501652A (zh) | 2023-07-28 |
CN116501652B CN116501652B (zh) | 2023-09-12 |
Family
ID=87320632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310776767.2A Active CN116501652B (zh) | 2023-06-29 | 2023-06-29 | 基于saas系统的可持续集成的自动化测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116501652B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117171056A (zh) * | 2023-11-02 | 2023-12-05 | 绿城科技产业服务集团有限公司 | 基于自动化接口的测试方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040117142A1 (en) * | 2002-12-13 | 2004-06-17 | Pillai Narayana Sateesh | Automatic test system for an analog micromirror device |
CN1536789A (zh) * | 2003-04-09 | 2004-10-13 | 华为技术有限公司 | 通过波动分析辅助测试用例升级的方法 |
CN106687966A (zh) * | 2014-08-05 | 2017-05-17 | 伊卢米纳剑桥有限公司 | 用于数据分析和压缩的方法和系统 |
CN110673923A (zh) * | 2019-09-06 | 2020-01-10 | 中国平安财产保险股份有限公司 | Xwiki系统配置方法、系统及计算机设备 |
CN111198814A (zh) * | 2019-12-23 | 2020-05-26 | 曙光信息产业(北京)有限公司 | 一种持续集成持续交付的验收系统 |
CN111506508A (zh) * | 2020-04-17 | 2020-08-07 | 北京百度网讯科技有限公司 | 边缘计算测试方法、装置、设备和可读存储介质 |
CN112306843A (zh) * | 2019-07-29 | 2021-02-02 | 北京中关村科金技术有限公司 | 一种测试方法、装置以及存储介质 |
CN112965786A (zh) * | 2021-03-10 | 2021-06-15 | 神州数码融信云技术服务有限公司 | 一种基于容器化的持续集成和持续交付方法及装置 |
CN114489934A (zh) * | 2021-12-29 | 2022-05-13 | 北京航天智造科技发展有限公司 | 一种基于容器的持续交付方法和装置 |
CN115994095A (zh) * | 2023-02-20 | 2023-04-21 | 上海恒为智能科技有限公司 | 基于pytest和allure的自动化测试框架 |
-
2023
- 2023-06-29 CN CN202310776767.2A patent/CN116501652B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040117142A1 (en) * | 2002-12-13 | 2004-06-17 | Pillai Narayana Sateesh | Automatic test system for an analog micromirror device |
CN1536789A (zh) * | 2003-04-09 | 2004-10-13 | 华为技术有限公司 | 通过波动分析辅助测试用例升级的方法 |
CN106687966A (zh) * | 2014-08-05 | 2017-05-17 | 伊卢米纳剑桥有限公司 | 用于数据分析和压缩的方法和系统 |
CN112306843A (zh) * | 2019-07-29 | 2021-02-02 | 北京中关村科金技术有限公司 | 一种测试方法、装置以及存储介质 |
CN110673923A (zh) * | 2019-09-06 | 2020-01-10 | 中国平安财产保险股份有限公司 | Xwiki系统配置方法、系统及计算机设备 |
CN111198814A (zh) * | 2019-12-23 | 2020-05-26 | 曙光信息产业(北京)有限公司 | 一种持续集成持续交付的验收系统 |
CN111506508A (zh) * | 2020-04-17 | 2020-08-07 | 北京百度网讯科技有限公司 | 边缘计算测试方法、装置、设备和可读存储介质 |
CN112965786A (zh) * | 2021-03-10 | 2021-06-15 | 神州数码融信云技术服务有限公司 | 一种基于容器化的持续集成和持续交付方法及装置 |
CN114489934A (zh) * | 2021-12-29 | 2022-05-13 | 北京航天智造科技发展有限公司 | 一种基于容器的持续交付方法和装置 |
CN115994095A (zh) * | 2023-02-20 | 2023-04-21 | 上海恒为智能科技有限公司 | 基于pytest和allure的自动化测试框架 |
Non-Patent Citations (3)
Title |
---|
K. S. KOBYSHEV 等: "The Method for End-to-end Automatic Test Generation from Natural Language Test Scenarios Based on Pretrained OpenIE Mode", 《2022 XXV INTERNATIONAL CONFERENCE ON SOFT COMPUTING AND MEASUREMENTS (SCM)》, pages 103 - 106 * |
吴莹 等: "Linux平台下CT机架软件系统自动化测试实现", 《信息技术》, no. 11, pages 33 - 36 * |
张嘉杰: "基于JMeter、Ant 和WeTest的佣金管理系统接口自动化测试程序开发", 《电子技术与软件工程》, pages 26 - 29 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117171056A (zh) * | 2023-11-02 | 2023-12-05 | 绿城科技产业服务集团有限公司 | 基于自动化接口的测试方法及装置 |
CN117171056B (zh) * | 2023-11-02 | 2024-01-09 | 绿城科技产业服务集团有限公司 | 基于自动化接口的测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116501652B (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11106458B2 (en) | System and method for distributed ledger-based software supply chain management | |
US11327749B2 (en) | System and method for generating documentation for microservice based applications | |
US8504803B2 (en) | System and method for creating and executing portable software | |
US20170372247A1 (en) | Methods, systems, and articles of manufacture for implementing software application development and releases | |
Seth et al. | ACI (automated Continuous Integration) using Jenkins: Key for successful embedded Software development | |
US10474436B1 (en) | System and method for generative programming in an integrated development environment (IDE) | |
CN110727575B (zh) | 一种信息处理方法、系统、装置、以及存储介质 | |
CN111414302A (zh) | 用于持续集成过程中的静态代码质量分析方法及计算设备 | |
CN112527382B (zh) | 部署流水线引擎系统的方法、持续集成的方法及装置 | |
US10489124B2 (en) | Method and system for providing software containers supporting executable code created from computational algorithms described in printed publications | |
CN116501652B (zh) | 基于saas系统的可持续集成的自动化测试方法及系统 | |
EP3502871B1 (en) | System and methods for determining trust levels for computing components using blockchain | |
Lenka et al. | Behavior driven development: Tools and challenges | |
KR20210091327A (ko) | 애플릿의 배치 처리방법, 장치, 전자 기기 및 판독가능 저장매체 | |
US10606730B2 (en) | Networked digital data processor log file viewer | |
CN114461269A (zh) | 软件开发发布管理方法、装置、设备及存储介质 | |
CN111367531A (zh) | 代码处理方法及装置 | |
CN110865806A (zh) | 代码处理方法、装置、服务器及存储介质 | |
US11204759B1 (en) | Software patch comparison | |
US11722324B2 (en) | Secure and accountable execution of robotic process automation | |
Braunisch et al. | Maturity Evaluation of SDKs for I4. 0 Digital Twins | |
CN114416163A (zh) | 一种制品管理方法、系统、存储介质和电子设备 | |
Paigude et al. | Software Integration Test Report Analysis Automation Using Python | |
Deepak et al. | Continuous Integration-Continuous Security-Continuous Deployment Pipeline Automation for Application Software (CI-CS-CD) | |
GIANG et al. | Automated Continuous Integration Using CircleCI and Firebase for Android Application Development |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Automated testing method and system for sustainable integration based on SAAS system Granted publication date: 20230912 Pledgee: Guotou Taikang Trust Co.,Ltd. Pledgor: Green City Technology Industry Service Group Co.,Ltd. Registration number: Y2024980011350 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |