当前位置: 首页 > news >正文

如何快速从手动测试转向自动化测试

寻求具有无缝持续集成和持续交付 (CI/CD) 的高效 DevOps 管道比以往任何时候都更加重要。想象一下这样一个场景:您的软件组织显著减少了人工工作量、降低了成本,并更加自信地发布了软件更新。换句话说,通过将 Web UI 和 API 测试结合在一起,简化您的 CI/CD 管道。

Parasoft免费下载icon-default.png?t=N7T8https://www.evget.com/consult/parasoft/#Aps_contact

在这篇博文中,我们将探索一种使用Parasoft Selenic和SOAtest自动化 Selenium 测试和 API 场景工作流程的方法,使您的团队能够:

  • 增加测试套件。
  • 引入自愈测试。
  • 加快测试创建。
  • 全面了解应用程序质量和安全性。
您所有的手动测试怎么样?

当大部分应用程序测试都是手动完成时,组织如何才能实现自动化和 CI/CD 的目标?手动测试仍然在许多组织中占据主导地位,他们的测试人员逐步遵循手动测试计划来有条不紊地测试功能。

像 Selenium 这样的工具可以自动化这些手动测试。虽然 Selenium 是一种流行的技术,可帮助组织迈向自动化之旅,但使用它的学习曲线很陡峭,并且测试维护(通常在 UI 更改后修复测试)非常耗时。

即使是那些拥有成熟 Selenium 实践的组织也发现测试很脆弱,容易被破坏。Selenium 的投资回报是有的,但需要齐心协力并专注于该工具才能获得收益。

重复使用已有的东西的可能性

如果您可以简单地记录当前的手动测试实践并自动创建强大的 Selenium 测试,那不是很好吗?然后在集成到 CI/CD 管道中的全自动测试套件中使用这些测试?

同时,您还可以密切关注测试执行,自我修复可能因意外 UI 更改而出现问题的测试,并保持自动化顺利运行。答案应该是响亮的“是!”但让我们先暂时搁置这个问题,稍后再回来讨论这个问题。

API 的复杂性

应用程序不仅仅由 Web UI 组成。后端利用许多移动部件来实现与 UI 交互所需的功能。这些组件或 API 层可能很复杂,不仅它们本身很复杂,而且它们相互交互以提供所需功能的方式也很复杂。

API测试是必要的,但也很困难。他们的深度测试的所有权通常留给不理解或不了解其内部运作的质量保证小组。不幸的是,当出现问题时,质量检查小组就会绞尽脑汁想知道问题出在哪里。它通常位于某一服务层内部的某个位置。

API 测试的价值

API测试的价值在于它可以有效地验证个别服务层和复杂的服务间交互。你可以将手动测试记录用于构建自动化的API测试,从而捕获所有复杂的后端交互。此外,你也可以将这些API情景测试轻松地自动化为CI/CD流程的一部分。总的来说,API测试是个强大而必要的工具,可助你确保应用的后端交互运行得更加顺畅,更加符合预期。

从可能性到现实:使用记录的手动测试自动创建 CI/CD 就绪的 Web UI 和 API 测试

现在可以利用当前的手动测试流程自动创建 Selenium Web UI 测试和 API 场景工作流测试,同时快速轻松地将它们合并到 CI/CD 框架中。因此,您可以在做您已经在做的事情的同时自动化 UI 和 API 测试!

如何自动创建 Selenium Web UI 测试

启动 Parasoft Recorder 后,首先对应用程序执行正常的手动 UI 测试

该图显示了自动创建 Selenium Web UI 测试的 Jenkins CI/CD 工作流程。

当您进行手动测试时,Parasoft Selenic通过 Parasoft Recorder 浏览器插件记录 UI 交互,并自动创建功能齐全的 Selenium 测试脚本。这些记录使用页面对象模型来更好地适应 UI 更改。

此外,如果 Parasoft Selenic 在执行 Selenium CI/CD 脚本时检测到由于任何定位器或等待时间问题导致的运行时错误,它会使用 AI 自动修复它们。

显示检测到的运行时错误的 Parasoft Selenic 列表的屏幕截图。

一般来说,当使用 Parasoft Selenic 进行自动化时,Selenium 测试所需的维护会少得多。为开发人员提供了更多详细信息,以检查自动测试修复情况并在需要时进行手动干预。您还可以查看运行时性能数据,以便及早发现任何潜在问题。

如何自动创建API场景工作流程测试

在进行相同的手动 UI 测试(或就此而言的自动化 Selenium 测试)时,Parasoft SOAtest 还捕获底层 API 交互以创建可重用的 API 测试脚本,这些脚本对后端 API 的确切工作流程进行建模。人工智能自动将这些测试脚本组织成场景,大大减少了所需的手动组织量。

该图显示了 CI/CD 工作流程中的 Selenic 和 SOAtest。

这些 API 场景可以回放、编辑、克隆和重用,以形成全面的 API 测试套件。 Parasoft SOAtest 通过自动化和 AI 支持的决策以及非功能性需求验证的可用性,使 API 测试更易于采用、使用和维护。这提高了应用程序的整体质量。

报告和分析

使用 Parasoft 实现自动化 CI/CD 工作流程可带来巨大回报。在此过程中收集的测试结果和指标可让您了解应用程序的质量状态并进行跟踪。基于这些数据做出决策是实现自信交付的途径。如果不跟踪测试结果和测试/代码覆盖率,就很难判断您的产品是否真正准备好发布。作为自动化的一部分,分析来自所有不同自动化点的结果是清楚了解您的现状的关键。

该图显示 CI/CD 工作流程中的 Selenic 和 SOAtest 将测试结果输入到分析和报告中。

Parasoft DTP 提供软件开发项目的质量和安全性的集中视图。它根据角色用例(例如团队领导、开发人员与测试人员)通过可定制的仪表板提供基于角色的质量和安全分析。

每个 Parasoft DTP 仪表板都有许多可配置的小部件,用于跟踪在所有测试实践中收集的各种数据点的质量分析和策略检查等内容,例如静态分析、单元测试、代码覆盖率以及 UI 和 API 测试(就像我们刚刚讨论的那样)上面),等等。

Parasoft DTP 图形报告和分析的屏幕截图。

概括

Parasoft Selenic 和 Parasoft SOAtest 是消除测试自动化障碍的游戏规则改变者。这两种解决方案都提供了一种快速加速团队实现手动 UI 测试自动化的方法,同时还引导团队快速自动化复杂的功能 API 测试。

所有组织对 CI/CD 的推动都是真实存在的,并且有充分的理由。手动测试速度慢、成本高且容易出错。只有能够在整个 SDLC 中进行自动化测试,才能实现 DevOps 的承诺。Parasoft Selenic和Parasoft SOAtest以及 Parasoft DTP 为组织实现 DevOps 和 CI/CD 目标奠定了基础,并提供了应用程序安全性和质量的可见性和可追溯性。充满信心地快速交付优质软件。

相关文章:

如何快速从手动测试转向自动化测试

寻求具有无缝持续集成和持续交付 (CI/CD) 的高效 DevOps 管道比以往任何时候都更加重要。想象一下这样一个场景:您的软件组织显著减少了人工工作量、降低了成本,并更加自信地发布了软件更新。换句话说,通过将 Web UI 和 API 测试结合在一起&a…...

【Linux+Docker】修改Docker容器中的hosts文件

1、进入容器bash docker exec -it <container_id> bash2、安装编辑器 2.1、安装vim apt-get updateapt-get install vim2.2、安装nano apt-get install nano3、编辑hosts文件 3.1、使用vim编辑 vi /etc/hosts3.2、使用nano编辑 nano /etc/hosts4、安装ping apt-get…...

在VS Code中进行Java的单元测试

在VS Code中可以使用 Test Runner for Java扩展进行Java的测试执行和调试。 Test Runner for Java的功能 Test Runner for Java 结合 Language Support for Java by Red Hat 和 Debugger for Java这两个插件提供如下功能&#xff1a; 运行测试&#xff1a; Test Runner for …...

国内信创web中间件生态

国内信创web中间件生态 东方通 官网https://www.tongtech.com/pctype/25.html 宝蓝德 官网https://www.bessystem.com/product/0ad9b8c4d6af462b8d15723a5f25a87d/info?p101 金蝶天燕 官网 https://www.apusic.com/list-117.html 中创 官网http://www.inforbus.com…...

CSS中的writing-mode属性:解锁文本布局新维度

在网页设计的广阔天地里&#xff0c;CSS&#xff08;层叠样式表&#xff09;扮演着至关重要的角色&#xff0c;它赋予了我们塑造网页外观和布局的强大能力。其中&#xff0c;writing-mode属性是一个常被忽视但功能强大的工具&#xff0c;用于控制文本的书写方向和排列方式。今天…...

SQL面试题练习 —— 波峰波谷

来源&#xff1a;字节今日头条 目录 1 题目2 建表语句3 题解 1 题目 有如下数据&#xff0c;记录每天每只股票的收盘价格&#xff0c;请查出每只股票的波峰和波谷的日期和价格&#xff1b; 波峰定义&#xff1a;股票价格高于前一天和后一天价格时为波峰 波谷定义&#xff1a;股…...

检索模型预训练方法:RetroMAE

论文title&#xff1a;https://arxiv.org/pdf/2205.12035RetroMAE: Pre-Training Retrieval-oriented Language Models Via Masked Auto-Encoder 论文链接&#xff1a;https://arxiv.org/pdf/2205.12035 摘要 1.一种新的MAE工作流&#xff0c;编码器和解器输入进行了不同的掩…...

OpenHarmony实战开发——宿舍全屋智能开发指南

项目说明 基于OpenAtom OpenHarmony&#xff08;以下简称“OpenHarmony”&#xff09;、数字管家开发宿舍全屋智能&#xff0c;实现碰一碰开门、碰一碰开灯、碰一碰开风扇以及烟感检测。因为各项目开发流程大体相似&#xff0c;本文主要以碰一碰开门为例介绍如何在现有OpenHar…...

等了10年,终于迎来RTX5/RTX4全家桶开源,开源,开源! 且免费商用

我们的V4, V5, V6 ,V7开发板都配套了大量的RTX4, RTX5教程和案例&#xff0c;从2015年发布首版RTX4内核教程以来&#xff0c;已经整整10年了。 1、制作这个RTX教程和案例&#xff0c;其实也承受了很大的压力&#xff0c;因为只有RTX内核是免费商用的&#xff0c;中间件并不免费…...

Python 读取.shp文件并生成图幅编号

代码适用于需要处理和分析地理空间数据的场景&#xff0c;如城市规划、环境监测或自然资源管理&#xff0c;其中它可以帮助用户读取特定区域的Shapefile文件&#xff0c;确定其地理边界&#xff0c;并基于这些边界计算出按照经纬度5度间隔的图幅编号&#xff0c;进而用于地图制…...

【算法】位运算算法——判断字符是否唯一

题解&#xff1a;判断字符是否唯一(位运算算法) 目录 1.题目2.题解3.位图参考代码4.细节5.总结 1.题目 题目链接&#xff1a;LINK 2.题解 题解有两种方法&#xff0c; 一是做一个哈希数组&#xff0c;去查重&#xff1b; 二是直接用一个变量每一位来对应表示是否有这个字母…...

AAAI2024 基于扩散模型 多类别 工业异常检测 DiAD

前言 本文分享一个基于扩散模型的多类别异常检测框架&#xff0c;用于检测工业场景的缺陷检测或异常检测。 设计SG语义引导网络&#xff0c;在重建过程中有效保持输入图像的语义信息&#xff0c;解决了LDM在多类别异常检测中的语义信息丢失问题。高效重建&#xff0c;通过在潜…...

JavaEE-Spring Controller(服务器控制以及Controller的实现和配置)

Spring Controller 服务器控制 响应架构 Spring Boot 内集成了 Tomcat 服务器&#xff0c;也可以外接 Tomcat 服务器。通过控制层接收浏览器的 URL 请求进行操作并返回数据。 底层和浏览器的信息交互仍旧由 servlet 完成&#xff0c;服务器整体架构如下&#xff1a; Server&…...

页面导出PDF,非可视区域如何解决

const exportToPDF () > {const element document.getElementById(chart-container);if (!element) return;const originalScrollHeight element.scrollHeight;// 临时解除滚动条限制&#xff0c;确保所有内容都可见element.style.height ${originalScrollHeight}px;// …...

Android UI:ViewTree: 监听

文章目录 涉及设计模式 ​​​​​​​​​​​​​​观察者模式+策略模式API源码分析总结涉及设计模式 观察者模式+策略模式 被观察者:ViewTree ViewTree持有一个观察器ViewTreeObserver 系统在ViewRootImpl和View的相关方法中调用ViewTreeObserver上的注册的监听器的方法,…...

【光伏干货】光伏无人机巡检步骤

随着光伏产业的迅速发展和无人机技术的日益成熟&#xff0c;光伏无人机巡检已成为提高光伏电站运维效率、降低运维成本的重要手段。本文将详细介绍光伏无人机巡检的步骤&#xff0c;帮助读者更好地理解和应用这一技术。 一、前期准备 1、设备检查&#xff1a;对无人机及其相关…...

『大模型笔记』从头开始代码构建GPT!

从头开始代码构建GPT! 文章目录 一. 从头开始代码构建GPT!二. 参考文献一. 从头开始代码构建GPT! 我们构建了一个生成式预训练Transformer (GPT),遵循论文《Attention is All You Need》和OpenAI的GPT-2 / GPT-3的方法。我们讨论了与ChatGPT的联系,ChatGPT已经风靡全球。我…...

idea的project structure下project [lauguage ]()level 没有java的sdk17选项如何导入

idea的project structure下project lauguage level 没有java的sdk17选项如何导入 别导入了&#xff0c;需要升级idea版本。idea中没有project language level没有17如何添加 - CSDN文库 别听这文章瞎扯淡 2021版本就是没有&#xff0c;直接卸载升级到最新版本就可以了。没办法…...

JavaScript数据类型与转换

JavaScript是一种弱类型语言&#xff0c;在定义变量的时候不用规定数据的类型&#xff0c;但这部表示JavaScript没有规定数据类型。 数值 JavaScript中数值类型不区分浮点数与整数&#xff0c;所有的数值都以浮点型来表示。另外JavaScript核心&#xff0c;Math还提供了大量的…...

三十、openlayers官网示例解析Double click, Drag and Zoom——第二次点击鼠标拖拽缩放地图效果、取消地图双击放大事件

这篇展示了如何在地图上添加第二次按下鼠标移动鼠标实现拖拽缩放地图效果。 官网demo地址&#xff1a; Double click, Drag and Zoom 官网介绍文字的翻译如下&#xff1a; 示例比较简单&#xff0c;直接贴代码&#xff1a; const map new Map({//添加第二次点击拖拽缩放地图i…...

Axelspace 太空公司牵头联合体入选日本太空战略基金项目 “提升下一代地球观测卫星能力技术”

—— 通过卫星星座与航空器开展特定排放源二氧化碳排放与吸收监测&#xff0c;打造气候解决方案&#xff0c;开拓全新市场机遇 Axelspace 太空公司、明星电气株式会社、全日空控股株式会社及 JIJ 株式会社联合宣布&#xff0c;各方共同申报的技术研发项目成功入选日本宇宙航空…...

STM32duino多传感器库:X-NUCLEO-IKS01A2驱动详解

1. 项目概述STM32duino X-NUCLEO-IKS01A2 是一个面向 Arduino 兼容生态&#xff08;特别是基于 STM32 的开发板&#xff0c;如 NUCLEO-F401RE、NUCLEO-F411RE、NUCLEO-L476RG 等&#xff09;的硬件抽象库&#xff0c;专为驱动 STMicroelectronics 官方推出的 X-NUCLEO-IKS01A2 …...

郭老师-悟性高的人,为何不合群?

悟性高的人&#xff0c;为何不合群&#xff1f; ——他们在独处中&#xff0c;与道同行“你以为他孤独&#xff0c; 其实—— 他正与万物对话。”&#x1f33f; 不合群&#xff0c;不是缺陷&#xff0c; 而是—— 为悟性留出呼吸的空间。&#x1f9d8; 一、独处 ≠ 孤独&#x…...

【Skills开发实战指南】第01篇:Skills开发入门:AI助手的能力扩展革命

快速导航 读完本文&#xff0c;你将获得&#xff1a; ✅ 深入理解Skills是什么以及为什么需要它✅ 掌握Skills在AI编程工具中的核心价值✅ 了解Skills的完整生态和应用场景✅ 明确Skills开发的学习路径和资源✅ 准备好开始你的第一个Skills开发项目 一、Skills是什么&#xf…...

计算机毕业设计:Python 汽车推荐系统实战 Django框架 可视化 协同过滤算法 数据分析 大数据 机器学习(建议收藏)✅

博主介绍&#xff1a;✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ > &#x1f345;想要获取完整文章或者源码&#xff0c;或者代做&#xff0c;拉到文章底部即可与…...

Phi-4-mini-reasoning实战案例:用supervisorctl重启服务解决502错误

Phi-4-mini-reasoning实战案例&#xff1a;用supervisorctl重启服务解决502错误 1. 问题场景描述 最近在部署Phi-4-mini-reasoning推理服务时&#xff0c;遇到了一个典型问题&#xff1a;Web界面突然返回502错误&#xff0c;导致用户无法正常使用推理功能。作为一款专注于数学…...

探索介质超表面中的三次谐波与非线性光学

Comsol介质超表面三次谐波非线性模型&#xff0c;包含功率依赖 且倍频模型以及转换效率计算最近在研究介质超表面的非线性光学特性时&#xff0c;遇到了一个挺有意思的问题&#xff1a;如何在Comsol中模拟三次谐波生成&#xff08;THG&#xff09;以及倍频效应&#xff1f;尤其…...

Spring Boot pom.xml 属性配置 <properties> 没有统一管理 lombok 依赖版本,这里可以正常使用 ${lombok.version}

问题&#xff1a;<!-- 属性配置&#xff0c;统一管理依赖版本 --><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!-- MapStruct 版本 --><org.mapstruct.version>1.6.3</org.mapstruct.version>…...

Hunyuan-MT-7B开源大模型落地:Pixel Language Portal在海关报关单多语种智能填单系统中的集成

Hunyuan-MT-7B开源大模型落地&#xff1a;Pixel Language Portal在海关报关单多语种智能填单系统中的集成 1. 项目背景与挑战 海关报关单处理一直是国际贸易中的关键环节&#xff0c;传统方式面临两大核心挑战&#xff1a; 语言障碍&#xff1a;报关单涉及33种以上语言&…...

Phi-3-mini-4k-instruct-gguf详细步骤:模型升级路径与q4/q5_k_m量化对比测试

Phi-3-mini-4k-instruct-gguf详细步骤&#xff1a;模型升级路径与q4/q5_k_m量化对比测试 1. 模型概述与使用场景 Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本&#xff0c;特别适合以下应用场景&#xff1a; 智能问答系统文本改写与润色内容摘…...