AI测试之 TestGPT

如今最火热的技术莫非OpenAI的ChatGPT莫属,AI技术也在很多方面得到广泛应用。今天我们要介绍的TestGPT就是一个软件测试领域中当红的应用。

TestGPT是什么?

TestGPT是一家总部位于以色列特拉维夫的初创公司 CodiumAI Ltd.,发布的一款用于测试领域的人工智能模型(AI model),由 OpenAI 的 GPT-4 大型语言模型驱动。

官网地址: www.codium.ai

从官网的介绍可以看出,它是一个旨在协助开发人员测试他们的代码,为开发人员提供自动生成的软件测试套件建议,从而加快编码和错误扫描的AI工具。

image

如何使用?

目前TestGPT提供了针对VsCode和JetBrains的插件支持 

image

以VsCode为例,在vsCode的插件中心搜索CodiumAI即可安装

image

安装后可以Github账户直接登录连接。

下面我们来用一段有问题的python排序算法代码来看看它是如何使用的。

def insert_sort(lists):
    # 插入排序
    count = len(lists)
    for i in range(0, count): #range区间有误,这里是bug,应为(1, count)
        key = lists[i]
        j = i - 1
        while j >= 0:
            if lists[j] > key:
                lists[j + 1] = lists[j]
                lists[j] = key
            j -= 1
    return lists

切换到CodiumAI插件,连接后可以看到代码部分已经有了生成测试的入口

image

尝试生成下看看效果,稍等片刻,就可以看到AI的成果了

image

AI的辅助界面有三部分,分别是:

  • Test Suite 测试用例
  • Code Analysis 代码分析
  • Code Suggestions 代码修改建议

在用例配置部分可以做测试的基本配置

image

Coverage部分则可以看到AI生成的Case覆盖情况

image

Test部分则是具体的测试用例,本例中生成了6条用例

image

执行后可以看到用例的执行结果,但生成的测试代码都执行成功了,似乎没有通过测试代码测试出bug :(

image

Code Analysis则给出了代码的分析说明,可以

image

代码建议部分则给出了修改建议,这里倒是准确地指出了代码中的问题。

image

按照建议直接应用,可以看到代码已经修改并加了注释

image

总结

所以可以看到TestGPT还是非常优秀的,准确地分析出了代码的作用并发现了代码中有问题的地方。也帮助设计了测试用例覆盖及相关单元测试脚本。 善用这个工具已经无疑可以给开发工程师提供非常大的辅助,但是从初步的使用来看,自行生成的测试用例对于问题代码的覆盖还有不足,短期内应该还不足以完全代替测试设计。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

hadoop集群搭建-克隆虚拟机,安装jdk,hadoop

2.2 hadoop运行环境的搭建 2.2.1 环境准备 1)安装模板虚拟机,IP地址 192.168.10.100,主机名hadoop100,内存41GB,硬盘50GB 2)虚拟机配置 首先测试虚拟机是否可以正常上网,测试方法ping www.b…

配置环境windows-IIS默认拒绝put,delete的解决方案

方法一&#xff1a; <system.webServer> </system.webServer> 方法二&#xff1a;移除网站“模块”中的"webdavmodule"

【芯智雲城】Boradcom(博通) 多领域技术解决方案介绍

Broadcom Inc. 是一家全球领先的技术企业&#xff0c;业务范围囊括多种半导体、企业用软件和安全解决方案的设计、开发和供应。Broadcom 的类别领先产品组合在许多重要的市场中发挥作用&#xff0c;其中包括云、数据中心、网络、带宽、无线技术、存储&#xff0c;以及工业和企业…

元数据 - iXML

在专业的音频和视频制作中&#xff0c;元数据的准确传递对于后期制作和编辑至关重要。iXML&#xff08;iXML Metadata&#xff09;是一种开放的、可扩展的元数据规范&#xff0c;旨在在录音设备和数字音频工作站&#xff08;DAW&#xff09;之间传递详细的录音信息。 一、什么是…

单目相机和双目相机定位

1、单目相机 1.1模型 单目相机成像模型为小孔成像&#xff0c;涉及的坐标系包括世界坐标系、相机坐标系、图像坐标系以及像素坐标系。坐标系之间的转换关系如下&#xff1a; 1.2参数求解 张正友相机标定方法、设定世界坐标系精确求解 2、双目相机 2.1、模型 一般双目立体视…

低代码策略量化平台更新|大模型agents生态的一些思考

原创内容第680篇&#xff0c;专注量化投资、个人成长与财富自由。 用户判断星球会员后&#xff0c;会获得10个积分&#xff1a; 当其他用户发布策略&#xff0c;设置为下载需要积分时&#xff1a; 下载策略会扣除相应的积分&#xff0c;扣除的积分属于策略所有者。 策略运行结…

大型企业软件开发是什么样子的? - Web Dev Cody

引用自大型企业软件开发是什么样子的&#xff1f; - Web Dev Cody_哔哩哔哩_bilibili 一般来说 学技术的时候 我们会关注 开发语言特性 &#xff0c;各种高级语法糖&#xff0c;底层技术 但是很少有关注到企业里面的开发流程&#xff0c;本着以终为始&#xff08;以就业为导向…

python源码:目录文件大小排序

前言 这个代码并不难懂&#xff0c;但是在一定情况下&#xff0c;能够为你的自动化脚本提供便利。 该代码主要是&#xff1a;根据大小&#xff0c;对某个目录的下级子文件和目录进行排序。 代码 效果 代码 import osdef get_dir_size(directory):"""计算给定…

【Linux线程】Linux线程编程基础:概念、创建与管理

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ ⏩收录专栏⏪&#xff1a;Linux “ 登神长阶 ” &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀Linux多线程 &#x1f4d2;1. 线程概念&#x1f4dc;2. 进程VS线程&#x1f4da;3. 线程控制…

SpringBoot实现接口:统一返回值、全局异常处理、Swagger接口文档

在 Spring Boot 应用中实现统一返回值和全局异常处理可以带来多方面的好处&#xff0c;这些好处不仅提升了代码的可读性和可维护性&#xff0c;还增强了应用的健壮性和用户体验。以下是一些具体的好处&#xff1a; 代码一致性&#xff1a; 通过定义统一的返回值格式&#xff…

【从零开始的LeetCode-算法】3194. 最小元素和最大元素的最小平均值

你有一个初始为空的浮点数数组 averages。另给你一个包含 n 个整数的数组 nums&#xff0c;其中 n 为偶数。 你需要重复以下步骤 n / 2 次&#xff1a; 从 nums 中移除 最小 的元素 minElement 和 最大 的元素 maxElement。将 (minElement maxElement) / 2 加入到 averages …

Apache Linkis + OceanBase:如何提升数据分析效率

计算中间件 Apache Linkis 构建了一个计算中间件层&#xff0c;以实现上层应用程序和底层数据引擎之间的连接、治理和编排。目前&#xff0c;已经支持通过数据源的功能&#xff0c;实现用户通过Linkis 对接并使用 OceanBase数据库。 本文详细阐述了在 Apache Linkis v1.3.2中&a…

零基础学习网络安全,注意这几个高效学习方法,零基础入门到精通,收藏这篇就够了

零基础学习网络安全&#xff0c;注意查收这些有效学习方法 ‍零基础怎么学网络安全?网络安全学习办法有很多&#xff0c;又高效得&#xff0c;也有低效得&#xff0c;还有无效得。今天和我一起来看看网络安全的有效学习秘籍。 ‍ 零基础从什么开始学网络安全&#xff0c;大…

七大经典排序算法优化:插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序代码详解

目录 排序算法 1.插入排序 2.希尔排序 3.选择排序 4.冒泡排序 5.堆排序 6.快速排序 7.归并排序 排序算法 排序算法是一类用于将数据按照特定顺序&#xff08;如升序或降序&#xff09;排列的算法&#xff0c;常用于优化数据检索和处理。常见的排序算法包括冒泡排序、选…

【Deepin】钉钉下载文件图片闪退问题解决(临时方式)

环境 故障 下载文件、图片等闪退 解决 cd /opt/apps/com.alibabainc.dingtalk/files/7.6.0-Release.4091801/sudo rm -rf ./libstdc.so.6*注&#xff1a; 7.6.0-Release.4091801可能会略有不同&#xff0c;根据实际情况调整保险起见&#xff0c;操作第二行删除命令时&#…

第二十七篇:传输层讲解,TCP系列一

一、传输层的功能 ① 分割与重组数据 传输层也要做数据分割&#xff0c;所以必然也需要做数据重组。 ② 按端口号寻址 IP只能定位数据哪台主机&#xff0c;无法判断数据报文应该交给哪个应用&#xff0c;传输层给每个应用都设置了一个编号&#xff0c;这个编号就是端口&…

Wails 学习笔记:Wails核心思想理解

文章目录 1. Wails 的核心思想2. 工作流程2.1 前端渲染2.2 后端逻辑2.3 前后端通信2.4 应用打包与分发 3. Wails 主要组件3.1 WebView3.2 事件与数据绑定3.3 窗口管理 4. Wails 的优点5. Wails 的使用场景6. 启动函数Runwails.Run() 的主要功能wails.Run() 的参数&#xff1a;w…

【C++】STL篇 string类(使用)

string的学习会分为两个大步骤&#xff0c;第一步就是会使用string&#xff0c;第二部是模拟实现string。这篇文章我们介绍一下string类以及它的使用。string大概有一百多个接口&#xff0c;我们需要重点掌握的就十几二十个。string其实就是字符串&#xff0c;严格来说string类…

STM32传感器模块编程实践(八) HX711压力传感器称重模块简介及驱动源码

文章目录 一.概要二.HX711主要技术指标三.HX711模块参考原理图四.模块接线说明五.模块工作原理介绍六.模块通讯协议介绍七.STM32单片机与HX711模块实现重量测量实验1.硬件准备2.软件工程3.软件主要代码4.实验效果 八.小结 一.概要 电子秤是将检测与转换技术、计算机技术、信息…

一文通透OpenAI o1:从CoT、Quiet-STaR、Self-Correct、Self-play RL、MCST等技术细节到工程复现

前言 注意&#xff0c;本文自10.12日起&#xff0c;正在每天更新的过程中&#xff0c;包括已写的部分也在不断修改(以增加更多技术细节、更加通俗易懂) 预计10.20完成第一版&#xff0c;10月底修订到第二版——具体修订记录详见本文文末.. 可能是去年写或讲的关于ChatGPT原理的…