如何利用人工智能实现软件测试的左移

news2025/1/2 3:11:34

在本文中,我们(作者)探讨了如何利用人工智能的力量,在软件测试领域实现左移。

用AI驱动的创新变革测试领域

测试在确保应用程序质量和可靠性方面发挥着至关重要的作用。然而,随着测试要求变得越来越复杂,人工测试变得既耗时又容易出错。许多组织依赖于自动化脚本,但维护这些脚本可能是一项艰巨的任务,导致投资回报率(ROI)较低,这一挑战在全球企业中普遍存在

图片

如上图中总结:

  • 准备工作

    传统上,由于自动化工具至今仍缺乏上下文和场景意识,因此这一阶段从未实现自动化。

  • 执行

    市场上的许多工具都允许记录和重新运行脚本。这一阶段已大量实现自动化。

  • 报告

    测试报告与执行相结合。市场上有许多用于测试报告的 00B 和 be spoke 解决方案。

我所在的公司,认识到人工智能工具和服务的激增,抓住机遇,开发出了人工智能测试 BOT。

这款先进的机器人利用机器学习和自动化的力量来优化测试流程、提高效率并提升整体软件质量。

左移测试效率

左移是测试领域的一个术语,指在软件开发生命周期(SDLC)中提前进行测试。

图片

机器人快速生成测试用例的能力使其更接近于在开发人员完成工作时就绪。这是我们向 "左 "移动测试的第一步。

让我们来看看人工智能测试机器人是如何将测试流程左移的。

1. 与服务无缝集成:人工智能机器人简化了测试流程。测试人员只需提供服务的卷曲,无需复杂的配置或设置。

2. 内部测试生成模型:机器人结合内部测试生成模型,自动生成特征文件和测试脚本。通过利用机器学习算法和以往的测试模式,该模型可生成可靠、有效的测试方案。这样就无需手动创建测试脚本,为测试人员节省了宝贵的时间和精力。

3. 即时执行测试脚本:测试脚本生成后,我们的机器人执行引擎可立即执行。测试人员可以毫不费力地触发执行过程,迅速验证服务的功能。这种实时执行能力缩短了软件发布的上市时间。

4. 动态提示管理:在内部测试生成模型难以生成所需测试脚本的情况下,我们的机器人集成了提示管理器。具有挑战性的卷曲会被发送到提示管理器,提示管理器会将它们以合适的格式准备好,供GPT3.5使用。

5. 用GPT生成测试脚本:利用GPT3.5先进的自然语言处理能力,机器人与模型互动,生成缺失的测试脚本。

6. 持续学习和改进:我们的智能测试机器人拥有从执行结果中学习的独特能力。成功执行后,机器人会捕捉响应并将其反馈给内部测试生成模型。这种反馈循环可实现持续改进,提高模型的准确性,并随着时间的推移生成更精确的测试脚本。机器人的自学机制可在每次迭代中增强测试能力。 

技术爱好者的解决方案:

下面是人工智能机器人内部运作的详细示意图,随后是工作流程的逐步说明。

图片

人工智能测试 BOT 解决方案图

a. 合约配置:API测试机器人首先要配置API合约,指定端点、请求方法、标头、参数和预期响应。

b. 提示生成:根据配置的API契约,机器人会生成提示,捕捉所需测试用例的本质。这些提示包含 API 端点、请求方法和预期响应等重要信息。

c. GPT集成:生成的提示信息将传递给生成式预训练转换器(GPT)等语言模型。GPT 利用自然语言处理技术生成行为驱动开发(BDD)特征文件。

d. BDD特征生成:使用提示信息,API 测试机器人动态创建 BDD 特征文件,描述 API 的预期行为。这些文件包括场景、步骤和断言。

e. 测试执行:生成 BDD 特征文件后,可使用 BDD 测试框架(如 Cucumber)执行这些文件。功能文件可作为测试规范,实现自动测试执行。

释放自动化测试用例生成的力量

虽然API测试机器人在生成测试用例方面提供了重要帮助,但验证和审查生成的 BDD 特征文件的准确性和有效性至关重要。人工验证可确保生成的文件符合预期的测试范围和业务需求。

然而,每一次迭代,API测试机器人都会变得更智能、更能干。随着我们更频繁地使用机器人,上述注意事项将变得多余。

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

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

相关文章

Linux 环境中通过 Docker 部署 Nacos 2.2.3 服务发现与配置中心

目录 环境准备Nacos 数据库创建Docker 部署 Nacos1. 创建挂载目录2. 下载镜像3. 创建和启动容器4. 访问控制台 导入 Nacos 配置SpringBoot 整合 Nacospom 依赖application.yml 配置 参考官方链接微服务商城源码 环境准备 名称版本IP端口Nacos2.2.3192.168.10.218848、9848MySQ…

大中型WMS仓储管理系统选型推荐,实现货品出入库精细化管理-亿发

智能制造是基于信息技术,通过将生产设备、工作流程、供应链等各个环节进行智能化互联,实现生产过程的优化和智能化管理的模式。它涵盖了数字化、网络化、智能化等多方面的科技,旨在增强生产效率、灵活度和质量。 WMS,即仓储管理系…

基于JAVA SpringBoot互联网就医门诊挂号管理系统

摘要 随着时代的发展,无线互联网技术的应用和普及给人们的生活带来了极大的改变,现在信息技术不仅可以提高我们的工作效率,还能有效的规避一些错误风险,节约人力成本。我国国民一方面对健康的要求越来越重视了,另一方面现代人的健康问题日益严重,所以医院…

【MySQL】4、MySQL备份与恢复

备份的主要目的是灾难恢复,备份还可以测试应用、回滚数据修改、查询历史数据、审计等 MySQL日志管理 MySQL 的日志默认保存位置为 /usr/local/mysql/data #配置文件 vim /etc/my.cnf 日志的分类 常见日志有: 错误日志,一般查询日志&…

Git 中的 HEAD

1、Git HEAD 存放位置 HEAD 指的就是 .git/HEAD 文件,它存储着当前分支的名字,我们可以打这个文件看一看: ref: refs/heads/master由此,我们可以得知当前所处于 master 分支。 如果我们继续往下走:打开 refs/heads/…

1. Spatial Intelligence of a Self-driving Car and Rule-Based Decision Making

主要内容 本文主要介绍了一些基于规则的方法,以实现自动驾驶规划技术在复杂车流中取得人类驾驶效果。因此此类场景更适合城市NOA。 当然本文在城市道路,封闭区域道路以及城际高速都适宜。主要技术点 (1)本文把自车周围车辆的决策…

Metrics Server部署

Metrics Server简介 Metrics Server 是 Kubernetes 集群核心监控数据的聚合器(定时从Kubelet的Summary API 采集指标信息),可以通过 Metrics API 的形式获取 Metrics 数据,不过仅仅是获取指标的最新值,数据不做存储&a…

让快更快,火山引擎ByteHouse为ClickHouse提速

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 近日,火山引擎数智平台VeDI与DataFun联合举办以“OLAP计算引擎”为主题的直播活动,来自火山引擎数智平台VeDI的产品专家从技术选型、能力分析…

WhatsApp 新功能|拆解WhatsApp隐藏功能

图片来源:SaleSmartly官网 随着 WhatsApp Business 出现,不少企业更透过群发讯息(Broadcast List)主动联络顾客,可见无论是私人事务,还是生意来往,日常生活都离不开 WhatsApp。 WhatsApp 社群功…

电子书分享教程分享

之前一篇文章中有教程分享,但是百度网盘普遍不太好使,所以新开一篇,分享使用阿里网盘。 阿里云盘分享https://www.aliyundrive.com/s/vd4Lh1rZ6rt 阿里云盘分享https://www.aliyundrive.com/s/vMkcpJDVxCV 阿里云盘分享https://www.aliyundri…

从零构建深度学习推理框架-11 Resnet

op和layer结构 在runtime_ir.cpp中,我们上一节只构建了input和output,对于中间layer的具体实现一直没有完成: for (const auto& kOperator : this->operators_) {if (kOperator->type "pnnx.Input") {this->input_o…

Django-跨域

一、基础概念 cors 跨域资源共享 二、跨域请求-简单请求 满足以下全部条件的请求为 简单请求 1.请求方法如下: GET or HEAR or POS 2.请求头仅包含如下: Accept、Accept-Language、Content-Language、Content-Type 3.ConTent-Type 仅支持如下三种&…

数据结构1 -- leetcode练习

三. 练习 3.1 时间复杂度 用函数 f ( n ) f(n) f(n) 表示算法效率与数据规模的关系,假设每次解决问题需要 1 微秒( 1 0 − 6 10^{-6} 10−6 秒),进行估算: 如果 f ( n ) n 2 f(n) n^2 f(n)n2 那么 1 秒能解决多…

基于Echarts的大数据可视化模板:大数据医疗服务平台

目录 引言大数据在医疗领域的应用ECharts在医疗服务中的作用医疗大数据的应用方向临床决策支持药物研发与安全性监测健康管理与预防流行病监测与公共卫生基因组学与个性化医疗医疗保险与费用管理Echarts与大数据可视化Echarts库以及其在大数据可视化领域的应用优势开发过程和所…

jwt安全问题

文章目录 jwt安全问题jwt简介jwt组成headerpayloadsignature 潜在漏洞空加密算法web346 密钥爆破web348 敏感信息泄露web349 **修改算法RS256为HS256**web350 jwt安全问题 jwt简介 JWT的全称是Json Web Token,遵循JSON格式,跨域认证解决方案&#xff0…

C语言练习题解析:挑战与突破,开启编程新篇章!(2)

💓博客主页:江池俊的博客⏩收录专栏:C语言刷题专栏👉专栏推荐:✅C语言初阶之路 ✅C语言进阶之路💻代码仓库:江池俊的代码仓库🎉欢迎大家点赞👍评论📝收藏⭐ 文…

42、springboot 的 路径匹配 和 内容协商

springboot 的 路径匹配 和 内容协商 对于路径匹配,自己的总结就是: 以前路径匹配时默认不检查后缀,http://localhost:8080/aaa.json 可以直接访问到 RequstMapping(“/aaa”) 的方法。现在不行了。现在会检查后缀了。 内容协商的理解总结&…

antd DatePicker月份不显示中文

import dayjs/locale/zh-cn; import locale from antd/es/date-picker/locale/zh_CN;<DatePickeronChange{changeMonth}picker"month"disabledDate{disabledDate}locale{locale} /> 看着代码没问题执行如下图 查了下原因默认的中文local文件并没有月份的forma…

无涯教程-Android - ImageButton函数

ImageButton是一个AbsoluteLayout,可让您指定其子级的确切位置。这显示了带有图像(而不是文本)的按钮,用户可以按下或单击该按钮。 Android button style set ImageButton属性 以下是与ImageButton控件相关的重要属性。您可以查看Android官方文档以获取属性的完整列表以及可以…

ONLYOFFICE HackerOne 错误赏金计划:2023 年夏季快报

我们的 HackerOne 计划自 2022 年启动&#xff0c;范围持续扩大&#xff0c;节奏不断加快。欢迎您查看今年的数据&#xff0c;了解范围内的新项目——ONLYOFFICE 协作空间&#xff0c;了解如何通过 HackerOne&#xff0c;开启 ONLYOFFICE 解决方案测试之旅。 关于 ONLYOFFICE 赏…