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

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

用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.rhkb.cn/news/112209.html

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

相关文章

2023年最新版Windows环境下|Java8(jdk1.8)安装教程

个人主页:平行线也会相交 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【JavaSE_primary】 jdk1.8的下载和使用总共分为3个步骤: jdk1.8的下载、jdk1.8的安装、配置环境变量。 目录 一、jdk1.8下载…

C#,《小白学程序》第五课:队列(Queue)

日常生活中常见的排队&#xff0c;软件怎么体现呢&#xff1f; 排队的基本原则是&#xff1a;先到先得&#xff0c;先到先吃&#xff0c;先进先出 1 文本格式 /// <summary> /// 《小白学程序》第五课&#xff1a;队列&#xff08;Queue&#xff09; /// 日常生活中常见…

39、springboot的前端静态资源的WebJar支持(bootstrap、jquery等)及自定义图标和首页

★ WebJar支持 Spring Boot支持加载WebJar包中的静态资源&#xff08;图片、JS、CSS&#xff09;&#xff0c; WebJar包中的静态资源都会映射到/webjars/**路径。——这种方式下&#xff0c;完全不需要将静态资源复制到应用的静态资源目录下。只要添加webjar即可。假如在应用的…

【LeetCode-中等题】2. 两数相加

文章目录 题目方法一&#xff1a;借助一个进制位&#xff0c;以及更新尾结点方法一改进&#xff1a;相比较第一种&#xff0c;给head一个临时头节点&#xff08;开始节点&#xff09;&#xff0c;最后返回的时候返回head.next&#xff0c;这样可以省去第一次的判断 题目 方法一…

北大C++课后记录:自增、自减运算符重载的小Demo

前言 自增、自减运算符有前置&#xff08;x&#xff09;和后置&#xff08;x&#xff09;之分&#xff0c;为了对其进行区分&#xff0c;C规定&#xff1a; 前置运算符作为一元运算符进行重载&#xff1a;&#xff08;注意T1对象和T2对象是有差异的&#xff09; 后置运算符作…

打造抖音小店的用户黏性:六大策略助你脱颖而出

要提高抖音小店的用户黏性&#xff0c;即增加用户对店铺的依赖和留存&#xff0c;不若与众科技为你介绍可以从以下几个方面入手&#xff1a; 1. 提供个性化推荐&#xff1a;抖音小店可以通过算法分析用户的兴趣和行为&#xff0c;为用户提供个性化的商品推荐。通过了解用户的购…

Git 中的 HEAD

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

SpringBoot与前端交互遇到的一些问题

一、XXX.jar中没有主清单属性 场景&#xff1a; SpringBoot打的jar包在Linux运行报错 解决方案&#xff1a; 百度找了很多都是一样的答案&#xff0c;但是解决不了我的问题&#xff0c;于是我新建了一个springboot项目发现打的jar包可以在Linux上运行。检查了下只要把下面这2个…

对称二叉树判断

目录 题目题目要求示例 解答方法一、实现思路时间复杂度和空间复杂度代码 方法二、实现思路时间复杂度和空间复杂度代码 题目 对称二叉树判断 题目要求 题目链接 示例 解答 方法一、 递归法 实现思路 使用到了判断两棵二叉树是否相等的方法&#xff0c;只不过对称二叉树…

SpringBoot实现简单的登录验证码

参考了一些资料&#xff0c;完成了这个验证码的功能&#xff0c;下面记录一下功能的实现过程。 一、效果图 二、实现原理 后台生成验证码图片&#xff0c;将图片传到前台。后台在session中保存验证码内容。前台输入验证码后传到后台在后台取出session中保存的验证码进行校验。…

Scikit-learn降维与度量学习代码批注及相关练习

一、代码批注 代码来自&#xff1a;https://scikit-learn.org/stable/auto_examples/decomposition/plot_pca_iris.html#sphx-glr-auto-examples-decomposition-plot-pca-iris-py import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes…

回归预测 | MATLAB实现GWO-ELM灰狼算法优化极限学习机多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现GWO-ELM灰狼算法优化极限学习机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现GWO-ELM灰狼算法优化极限学习机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果一览基本介绍程…

scikit-learn中OneHotEncoder用法

One-Hot编码&#xff0c;又称为一位有效编码&#xff0c;是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值&#xff0c;然后&#xff0c;每个整数值被表示为二进制向量&#xff0c;将整数索引标记为1&#xff0c;其余都标为0。 OneHotEncoder()常用参数解释 …

让大数据平台数据安全可见-行云管家

数字化经济在快速发展&#xff0c;大数据时代已经到来&#xff0c;大数据已经成为企业和政府决策的重要依据。然而大数据行业快速发展所带来的一系列安全问题也继续解决&#xff0c;例如数据安全更难保障&#xff0c;例如认证体系不完善等等。为此行云管家推出了大数据平台数据…

算法:模拟思想算法

文章目录 实现原理算法思路典型例题替换所有问号提莫攻击N字型变换外观序列 总结 本篇总结的是模拟算法 实现原理 模拟算法的实现原理很简单&#xff0c;就是依据题意实现题意的目的即可&#xff0c;考察的是你能不能实现题目题意的代码能力 算法思路 没有很明显的算法思路…

数组(个人学习笔记黑马学习)

一维数组 1、定义方式 #include <iostream> using namespace std;int main() {//三种定义方式//1.int arr[5];arr[0] 10;arr[1] 20;arr[2] 30;arr[3] 40;arr[4] 50;//访问数据元素/*cout << arr[0] << endl;cout << arr[1] << endl;cout &l…

Unity 之 GameObject.Find()在场景中查找指定名称的游戏对象

文章目录 GameObject.Find 是 Unity 中的一个函数&#xff0c;用于在场景中查找指定名称的游戏对象。这个函数的主要作用是根据游戏对象的名称来查找并返回一个引用&#xff0c;使您能够在代码中操作该对象。以下是有关 GameObject.Find 的详细介绍&#xff1a; 函数签名&…

自动化运维:Ansible基础与命令行模块操作

目录 一、理论 1. Ansible 2.部署Ansible自动化运维工具 3.Ansible常用模块 4.hostsinverntory主机清单 二、实验 1.部署Ansible自动化运维工具 2.ansible 命令行模块 3.hostsinverntory主机清单 三、问题 1. ansible远程shell失败 2.组变量查看webservers内主机ip报…

【03期】说说Object类下面有几种方法呢?

今天说一道基础题型&#xff0c;不过很多人会忽略或者至少说不完整&#xff0c;但是面试时被问到的几率还是很大的。 面试题 Object有几种方法呢&#xff1f; Java语言是一种单继承结构语言&#xff0c;Java中所有的类都有一个共同的祖先。这个祖先就是Object类。 如果一个类没…

百亿数据查询秒级响应,观测体系之日志中心该如何玩转?

日志是处理生产故障、性能优化、业务分析的重要参考依据&#xff0c;是系统稳定运行不可或缺的一部分。随着业务系统规模急剧膨胀增大&#xff0c;尤其是是微服务架构逐渐普及&#xff0c;一个系统可能涉及多个应用模块与服务实例&#xff0c;传统模式下运维人员去定位问题显得…