软件测试下的AI之路(3)

在这里插入图片描述

 
 

在这里插入图片描述
😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。
📡主页地址:【Austin_zhai】
🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。
💎声明:博主日常工作较为繁忙,文章会不定期更新,各类行业或职场问题欢迎大家私信,有空必回。

在这里插入图片描述

 
 

阅读目录

  • 1. 前言
  • 2. CI/CD集成
    • 2.1 插件配置
    • 2.2 mabl配置
    • 2.3 Jenkins配置
  • 3. 后话

1. 前言

在这里插入图片描述
  随着科技日新月异的发展,人工智能正逐渐渗透到我们生活的各方各面,从智能语音助手到自动驾驶汽车,从智能家居到人脸识别技术,AI正以其卓越的智能和学习能力引领着新时代的发展方向。在这个快速演进的时代中,软件测试领域也受到了不小的冲击。虽然在当下,传统的软测技术仍然是绝对的主力,但是身为IT行业中的一员,近几年AI的全新业务体验与其超强的算力所带来的震撼感受也应该远超其他行业。所以为了跟上时代的步伐,作为软测的大家是不是也应该考虑如何让AI辅助我们更加完整高效的完成日常的各类质量保障工作呢?

  上一期我们介绍了mabl平台的整体功能与测试业务核心玩法,那么既然作为一个自动化测试服务平台,怎么能少了与CI/CD之间的集成场景呢?今天就由我继续来为大家介绍一下如何在CI/CD中有效集成并使用mabl平台。

 
 

2. CI/CD集成

在这里插入图片描述
  作为DevTestOps工作流中极其重要的一环,如何将CI/CD更加灵活完善的融入项目交付中的各类场景,一直是广大公司与团队的一项持久课题。而依托于现在一些主流的CI/CD软件的强大兼容性与接入能力,mabl自身的强大测试能力可以灵活被运用起来,在部署过程中集成mabl平台,那么相关的测试代码部署到 CI/CD 管道中的托管环境后就可以立即在多个浏览器中测试端到端用户体验。针对于测试活动中存在多个环境的情况,那么就更适合使用此类的集成方式了,因为它本身就是可以集成在CI/CD中进行跨环境运行测试任务。

  这里主要以目前主流的jenkins为介绍对象,其他的CI/CD软件环境本期暂不介绍。

 

2.1 插件配置

  我们进行环境集成前需要先下载jenkins中的mabl插件,具体的地址为:mabl Jenkins 插件

  此插件可以帮助我们在自己团队的jenkins环境中运行mabl平台服务,并针对mabl服务进行一些灵活的调整。
 
在这里插入图片描述

  安装的时候需要注意Java的版本不能低于8,Jenkins的版本不能低于2.319.1,不然在安装的步骤就会报错。

  安装的步骤与其他的jenkins插件相同,通过GUI或CLI中输入命令都可以,或者在上面给出的链接中下载完上传到你的Jenkins实例。

  安装完毕后,为了让jenkins可以顺利的接入mabl的服务,我们需要先配置一下mabl的API key。进入mabl选择侧边栏的Settings,进入后点击右侧画面的APIS选项,这个是管理所有API key的地方。点击Create API Key按钮,这里因为是用于CI/CD环境集成调用使用,类型一定不能选错哦。

在这里插入图片描述

  完成后我们可以在API Keys列表中看见我们刚创建的API Key信息,具体的密钥值可以点击记录中的眼睛图标显示。

在这里插入图片描述

  有了对应类型的API Key之后,我们就可以在Jenkins中创建对应的凭证,记得创建的时候要选择全局凭证,类型选择Secret text,ID随意,Secret内填入刚才在mabl中创建的密钥值即可。
在这里插入图片描述
 

  这里需要注意的是,如果你的本地自动化测试环境与CI/CD中的不一样,前几期文章中提到的mabl的对应测试程序环境与测试用例中的被测对象一定要按照实际情况进行修改,以防出现换了个环境用例全部都跑不通的情况出现。具体的设置方法之前已经介绍过了,需要的同学可以去前几期看一下,这里就不再展开介绍了。

 

2.2 mabl配置

  接下来我们为了顺利在Jenkins中出发mabl的任务,获取mabl中对应应用程序的ID则是必不可少的,这里可以理解为在Jenkins中触发mabl中的测试用例集,就必须调用对应被测对象的所属mabl应用ID,这个对应的ID可以在mabl的Settings中的workspace标签找到。
 
在这里插入图片描述

  同样的,如果要获取资源的ID或者应用程序的ID,我们也可以在Tests中点击某一个测试用例集界面上方的命令行按钮。
 
在这里插入图片描述

  这里同样会显示出测试用例集的ID和应用程序的ID,大家可以根据实际的测试需求来进行对应的任务触发和调用。另外还需要注意的是,如果你配置了某个用例集和应用程序的任务,但是将他在mabl中禁用了,那么在Jenkins中是不会进行触发和执行的。
 
在这里插入图片描述

 

2.3 Jenkins配置

  做完以上的这些步骤之后,我们就可以在Jenkins中进行对应的设置。这里是新建自由项目还是管道,还是使用旧的项目都是可以的,具体根据自己的情况判断。我们在构建页面中点击Add build step按钮,就可以在菜单中看到Run mabl tests的选项了。

 
在这里插入图片描述
 
 

  选择后,在对应的构建步骤中,我们在API列表中选择之前在Jenkins中创建的API Keys。在应用程序ID或环境ID中选择一个,这里必须和你在mabl中存在的应用ID或者workspace ID对应上。
 
在这里插入图片描述

  最后比较重要的就是mabl的管道添加,我们选择配置选项,然后在脚本框内插入对应的脚本即可。可以使用“Pipeline Syntax”工具来进行编写。可用的参数如下:

applicationId:应用程序的ID,和之前的一样这里无论是填写环境ID还是应用程序ID都是可以的,选其一;

continueOnMablError:当mabl执行出现错误的时候仍然继续处理;

continueOnPlanFailure:当mabl中的用例或者计划失败仍然继续处理;

environmentId:运行的环境ID;

restApiKeyId:所需部署workspace的API Keys的ID,这里需要注意ID是Jenkins中分配给对应密钥的ID;

labels:标签,可以为任务打上自定义的标签,执行的时候可以区分标签来继续执行;

mablBranch:分支,指定的话会执行对应分支下的所有测试集和用例;

如果管道语法中有不想要配置的参数项,需要置空,保留参数名。

 

声明性管道

mabl applicationId: 'APP-ID-a', continueOnMablError: true, continueOnPlanFailure: true, environmentId: 'ENV-ID-e', restApiKeyId: 'REST-API-KEY-ID'

脚本化管道

node {stage('mabl') {step([$class: 'MablStepBuilder', restApiKeyId: 'REST-API-KEY-ID', environmentId: 'ENV-ID-e', applicationId: 'APP-ID-a'])}
}

 

  我们在全部设置完之后就可以正常的运行Jenkins中的测试任务了,如果之前已经有了任务触发条件也不用做任何的修改,维持原状即可。

  Jenkins中的任务执行完成之后,我们可以在mabl中查看或者利用Junit插件来查看。插件的安装不再重复介绍,在构建步骤中添加Publish JUnit test result report,在下方的界面中配置报告XML的文件名,勾选Do not fail the build on empty test resultsr,然后保存。
 
在这里插入图片描述

 

  之后运行每次的测试任务,完成时都会生成一份名为report.xml的测试结果报告,界面如下:
 
在这里插入图片描述

 
 

3. 后话

在这里插入图片描述
  好了,以上就是mabl在现有的CI/CD环境中进行集成的所有基础操作和配置,大家也可以多多的进行尝试,当然mabl不仅仅对Jenkins有很好的集成,Bamboo、Azure、GitHub、Octopus也都有其对应的集成与调用方法,有兴趣大家可以去官网查看与学习。

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

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

相关文章

Java之SpringCloud Alibaba【九】【Spring Cloud微服务Skywalking】

Java之SpringCloud Alibaba【一】【Nacos一篇文章精通系列】跳转Java之SpringCloud Alibaba【二】【微服务调用组件Feign】跳转Java之SpringCloud Alibaba【三】【微服务Nacos-config配置中心】跳转Java之SpringCloud Alibaba【四】【微服务 Sentinel服务熔断】跳转Java之Sprin…

【PG】PostgreSQL 目录结构

目录 1 软件安装目录 2 数据文件目录 base/:存储每个数据库的基本数据文件 global/:包含了全局性质的系统表空间文件 pg_tblspc/:包含了表空间的符号链接 pg_twophase/:包含了两阶段提交中使用的文件 pg_stat_tmp/&#xff…

C# .NET Core API 注入Swagger

C# .NET Core API 注入Swagger 环境 Windows 10Visual Studio 2019(2017就有可以集中发布到publish目录的功能了吧)C#.NET Core 可跨平台发布代码,超级奈斯NuGet 套件管理dll将方法封装(据说可以提高效率,就像是我们用的dll那种感觉)Swagger 让接口可视化编写时间2020-12-09 …

在Linux系统下微调Llama2(MetaAI)大模型教程—Qlora

Llama2是Meta最新开源的语言大模型,训练数据集2万亿token,上下文长度是由Llama的2048扩展到4096,可以理解和生成更长的文本,包括7B、13B和70B三个模型,在各种基准集的测试上表现突出,最重要的是&#xff0c…

Centos批量删除系统重复进程

原创作者:运维工程师 谢晋 Centos批量删除系统重复进程 客户一台CENTOS 7系统负载高,top查看有很多sh的进程,输入命令top -c查看可以看到对应的进程命令是/bin/bash     经分析后发现是因为该脚本执行时间太长,导致后续执…

如何进行iOS技术博客的备案?

如何进行iOS技术博客的备案? 标题:iOS技术博客备案流程及要求解析 摘要: 在本篇问答中,我们将为iOS技术博主介绍如何进行备案。如果你的iOS应用只包含简单的页面,并通过蓝牙进行数据采集和传输,那么你可能…

线程有哪些状态

线程的生命周期 线程在Java中有以下几种状态: 新建(New):初始化状态就绪(Runnable):可运行、运行状态阻塞(Blocked):等待状态,无时限等待&#…

Spring核心

Spring Framework Spring的两个核心IOC控制反转IOC容器依赖注入DIIOC容器实现注解管理BeanBean对象定义Bean对象获取 AOP面向切面编程 添加依赖入门案例注解通过Spring创建Java bean对象 xml管理Bean案例main下创建bean.XMl文件 DI依赖注入案例创建Spring配置文件 bean-di.xml …

H5游戏源码分享-网页版2048小游戏

H5游戏源码分享-网页版2048小游戏 玩过的都懂 <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>分享2048到朋友圈&#xff0c;将免费参加南山郡8.17号啤酒狂欢节&#xff01;</title><link href"style/main…

Day29力扣打卡

打卡记录 美丽塔 II&#xff08;前后缀分解 单调栈&#xff09; 链接 大佬的题解 class Solution:def maximumSumOfHeights(self, a: List[int]) -> int:n len(a)suf [0] * (n 1)st [n] # 哨兵s 0for i in range(n - 1, -1, -1):x a[i]while len(st) > 1 and …

简单理解 Sentinel 滑动窗口实现原理

theme: serene-rose 1. 引言 Hi&#xff0c;你好&#xff0c;我是有清 对于刚经历过双 11 的电商人来说&#xff0c;限流这个词肯定在 10.24 的晚 20.00 点被提起过 限流作为保护我们系统不被流量冲垮的手段之一&#xff0c;建议每个电商人深入了解学习&#xff0c;什么&#x…

应急响应练习1

目录 1. 提交攻击者的IP地址 2. 识别攻击者使用的操作系统 3. 找出攻击者资产收集所使用的平台 4. 提交攻击者目录扫描所使用的工具名称 5. 提交攻击者首次攻击成功的时间&#xff0c;格式&#xff1a;DD /MM/YY:HH:MM:SS 6. 找到攻击者写入的恶意后门文件&#xff0c;提…