使用SOAtest进行功能回归测试

持续集成是将所有开发人员的工作副本合并到共享的主线上。这个过程使软件开发对开发人员来说更容易访问、更快、风险更小。

阅读这篇文章,让我们了解如何配置Parasoft SOAtest作为持续集成过程的一部分,来执行功能测试和回归测试。我们将介绍如何使用主流的自动化平台Jenkins配置Parasoft SOAtest,并使用Docker进行部署。

它是如何运作的?                 

下图显示了本文中描述的工作流程。按照从左到右的步骤操作。

图片

1.开发人员或测试人员将他们的测试用例检入源代码控制存储库中。在这个例子中,我们使用的GitHub。

2.Jenkins将从GitHub查看存储库,其中包含名为“Parabank”的SOAtest项目,该项目包含我们的功能测试用例。Jenkins还将从Docker Hub中提取一个名为parasoft/parabank的Docker镜像。此镜像不仅包含Parabank,还包含运行应用程序所需的应用服务器和依赖项。

3.Jenkins将启动Parabank镜像(称为“容器”),并根据测试环境的具体情况配置受测应用程序(AUT)。

4.Jenkins将触发Parasoft SOAtest运行从GitHub提取的功能测试,这样就可以验证我们的Parabank应用程序并实现需要的错误修复。

因为我们是从预构建的Docker镜像开始的。但这为我们省去了使用Maven构建Parabank以及安装和配置Tomcat/Java的麻烦。

配置SOAtest和Jenkins      

先决条件

1. 一台能够运行Docker且可以连接到互联网的机器。(本教程使用Windows,所以本文中的一些命令可能具有不同的语法。)

2. 在机器上创建一个localsettings.properties文件。将这个示例文件的内容复制进去。(如果您有锁定许可证,请将其添加到第5行。如果您使用服务器许可证,请将第6行设置为true,并在第3行添加您的许可服务器主机名。我们稍后需要这个文件的路径。)

3. 在同一台机器上安装Jenkins 2.387.1或更新版本。

4. 安装了Parasoft SOAtest 2022.1或更新版本,并在PATH上从任何目录调用soatestcli。

5. 在同一台机器的PATH上安装了Docker。

6. 安装Git。

步骤

1. 在浏览器中登录Jenkins。Jenkins通常部署在http://:8080/jenkins这样的URL上。

图片

2.我们将从安装一些Jenkins插件开始。选择左侧的Manage Jenkins,然后在出现的新菜单中选择Manage Plugins。

图片

3. 在Available选项卡下,选择并安装Parasoft Findings插件。

4. 选择“Install without Restart”,然后在“Installation”页面上选中复选框,在安装完成后重新启动Jenkins。

5. 从步骤1返回Jenkins主菜单。在左侧,选择新项目。

6. 提供名称Parabank Deploy and Test,选择Freestyle项目,然后点击OK。

图片

7. 在配置菜单中,向下滚动到源代码管理,并选择Git。将此URL添加到Repo URL字段:https://github.com/sdebrosse/soatest-automation-example.git。所有其他字段都可以保留其默认值。

图片

8. 滚动到页面底部,在“构建”下添加执行Windows批处理命令构建步骤。如果您使用的是Linux,请选择Execute shell。

图片

9. 将这里的脚本内容复制并粘贴到新的构建步骤字段中。您需要更改脚本顶部的两个变量的值,来反映您的localsettings.properties文件的路径以及您希望创建临时工作区的位置。SOAtest将在测试过程中创建这个工作区。脚本中的注释解释了每行发生的事情。

图片

10. 现在,我们已经准备好执行我们的Jenkins工作了!确保首先关闭所有打开的SOAtest实例。然后在配置菜单底部选择保存,然后点击左侧的立即构建。

11. 您可以点击左侧的运行作业,然后查看实时控制台输出。

图片

图片

12. 如果一切正常,日志将在工作结束时输出成功状态。这意味着您已成功从GitHub中提取SOAtest测试项目,使用Parabank部署了Docker容器,并针对此Parabank应用程序执行了测试。在流程结束时,我们自动终止了Parabank容器,并删除了我们的temp_workspace以清理构建环境。您可能从查看日志中注意到,我们有一些测试失败。

图片

如果我们希望Jenkins构建因SOAtest测试失败而失败,我们会在调用soatestcli时添加-fail标志。例如以下,您会发现这次测试失败主要是测试数据和测试环境配置问题。

图片

总结

将持续集成实施到您的软件开发过程中显著提高了应用交付的速度。像SOAtest这样的自动化解决方案提供了一个可扩展和高效的回归测试策略,能够执行测试用例,验证软件功能,整理和分析结果,并报告任何回归问题。这种组合有助于团队达到更高的发布速度,提高测试生产力,并确保高测试覆盖率。

您可以访问我们的知识库平台,在此找到关于产品的详细使用说明、常见问题解答(FAQ)以及技术文档。

邮件支持:如果您在知识库平台中未能找到答案,或有其他技术问题需要咨询,请随时通过邮件联系我们。我们的技术支持团队会尽快回复您的邮件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/62347.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ais_server 学习笔记

ais_server 学习笔记 一前序二、ais init1、时序图如下2. 初始化一共分为以下几个重要步骤:2.1.1、在ais_server中启动main函数,然后创建AisEngine,接着初始化AisEngine2.1.2、解析/var/camera_config.xml 文件,获取相关配置参数。…

L1G3000 任务-浦语提示词工程

基础任务 (完成此任务即完成闯关) 背景问题:近期相关研究指出,在处理特定文本分析任务时,语言模型的表现有时会遇到挑战,例如在分析单词内部的具体字母数量时可能会出现错误。任务要求:利用对提示词的精确设计&#xf…

Unity之一键创建自定义Package包

内容将会持续更新,有错误的地方欢迎指正,谢谢! Unity之一键创建自定义Package包 TechX 坚持将创新的科技带给世界! 拥有更好的学习体验 —— 不断努力,不断进步,不断探索 TechX —— 心探索、心进取! …

python的Flask框架使用

python的Flask框架使用 python环境搭建conda安装python自带的虚拟环境:venv python环境搭建 官网地址 点击downloads 选择你需要的版本,我这里使用的3.12.6 选择Windows installer (64-bit) 选择自定义安装,勾选以管理员权限安装&#xff0…

网络原理(一)—— http

什么是 http http 是一个应用层协议,全称为“超文本传输协议”。 http 自 1991 年诞生,目前已经发展为最主流使用的一种应用层协议。 HTTP 往往基于传输层的 TCP 协议实现的,例如 http1.0,http1.0,http2.0 http3 是…

103.【C语言】数据结构之建堆的时间复杂度分析

1.向下调整的时间复杂度 推导 设树高为h 发现如下规律 按最坏的情况考虑(即调整次数最多) 第1层,有个节点,最多向上调整h-1次 第2层,有个节点,最多向上调整h-2次 第3层,有个节点,最多向上调整h-3次 第4层,有个节点,最多向上调整h-4次 ... 第h-1层,有个节点,最多向上调整1次 第…

用Python爬虫“偷窥”1688商品详情:一场数据的奇妙冒险

引言:数据的宝藏 在这个信息爆炸的时代,数据就像是一座座等待挖掘的宝藏。而对于我们这些电商界的探险家来说,1688上的商品详情就是那些闪闪发光的金子。今天,我们将化身为数据的海盗,用Python这把锋利的剑&#xff0…

Python基础学习-12匿名函数lambda和map、filter

目录 1、匿名函数: lambda 2、Lambda的参数类型 3、map、 filter 4、本节总结 1、匿名函数: lambda 1)语法: lambda arg1, arg2, …, argN : expression using arg 2) lambda是一个表达式,而不是一个语…

【JavaEE初阶 — 网络编程】TCP流套接字编程

TCP流套接字编程 1. TCP & UDP 的区别 TCP 的核心特点是面向字节流,读写数据的基本单位是字节 byte 2 API介绍 2.1 ServerSocket 定义 ServerSocket 是创建 TCP 服务端 Socket 的API。 构造方法 方法签名 方法说明 ServerS…

idea新建springboot web项目

idea新建springboot web项目 写在前面开始项目结构定义依赖初始化创建完成修复配置文件内容乱码修改配置文件名称更新配置文件内容为yml格式 配置项目启动项启动项目 写在前面 以下操作以IntelliJ IDEA 2022.3.3版本为例,其他版本应该大体相似。 开始 项目结构定义…

Docker 容器网络创建网桥链接

一、网络:默认情况下,所有的容器都以bridge方式链接到docker的一个虚拟网桥上; 注意:“172.17.0.0/16”中的“/16”表示子网掩码的长度为16位,它表示子网掩码中有16个连续的1,后面跟着16个连续的0。用于区分IP地址中的网络部分和主机部分; 二、为何自定义网络? 加入自…

智能产品综合开发 - 温湿度检测

1 实训选题目的 本次实训选择的题目是“温湿度检测系统”,旨在提升我们对日常生活中实际应用场景的观察力、问题描述能力、分析力和产品设计能力。通过本项目,我们将能够将所学的人工智能专业知识进行综合应用,包括但不限于Linux操作系统、Py…

人工智能如何改变你的生活?

在我们所处的这个快节奏的世界里,科技融入日常生活已然成为司空见惯的事,并且切实成为了我们生活的一部分。在这场科技变革中,最具变革性的角色之一便是人工智能(AI)。从我们清晨醒来直至夜晚入睡,人工智能…

vue3 ajax获取json数组排序举例

使用axios获取接口数据 可以在代码中安装axios包,并写入到package.json文件: npm install axios -S接口调用代码举例如下: const fetchScore async () > {try {const res await axios.get(http://127.0.0.1:8000/score/${userInput.v…

Vue前端开发-动态插槽

不仅父组件可以通过插槽方式访问并控制子组件传入的数据,而且可以控制传入父组件时插槽的名称,从而使不同的插槽根据名称的不同,使用场景也不同,例如在一个小区详细页中,可以根据小区类型,调用不同名称的详…

SqlServer强制转换函数TRY_CONVERT和TRY_CAST

SqlServer强制转换函数TRY_CONVERT和TRY_CAST的介绍和案例分享 1、本节内容 CAST 和 CONVERT TRY_CAST TRY_CONVERT 适用于: SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse Analytics 分析平台系统 (PDW)Microsoft Fabric 中的 SQL 分析端点Micro…

PaddleOCR:一款高性能的OCR工具介绍

一、引言 随着人工智能技术的不断发展,光学字符识别(OCR)技术在各行各业得到了广泛应用。OCR技术能够将图片、扫描件等非结构化数据中的文字信息提取出来,转换为可编辑的文本格式。在我国,百度开源了一款优秀的OCR工具…

如果在docker 容器中安装ros遇到的问题

1.在容器内部无法修改时间,需要在宿主机外边修改时钟。修改时钟: hwclock --systohc或者执行 date -s "2024-11-24 19:25:10"2.容器内部内置有opencv4.5版本,需要卸载,重新安装4.2.0版本。记录折腾好久的卸载过程。 …

LLM*:路径规划的大型语言模型增强增量启发式搜索

路径规划是机器人技术和自主导航中的一个基本科学问题,需要从起点到目的地推导出有效的路线,同时避开障碍物。A* 及其变体等传统算法能够确保路径有效性,但随着状态空间的增长,计算和内存效率会严重降低。相反,大型语言…

ACL的原理与配置

ACL技术概述 ACL;访问控制列表 技术背景: 园区重要服务器资源被随意访问,容易泄露机密,造成安全隐患 病毒侵入内网,安全性降低 网络宽带被各类业务随意挤占,服务质量要求高的宽带得不到保障&#xff0…