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 - 1while j >= 0:if lists[j] > key:lists[j + 1] = lists[j]lists[j] = keyj -= 1return 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还是非常优秀的,准确地分析出了代码的作用并发现了代码中有问题的地方。也帮助设计了测试用例覆盖及相关单元测试脚本。 善用这个工具已经无疑可以给开发工程师提供非常大的辅助,但是从初步的使用来看,自行生成的测试用例对于问题代码的覆盖还有不足,短期内应该还不足以完全代替测试设计。

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

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

相关文章

Flutter Transform 学习

Transform可以在其子组件绘制时对其应用一些矩阵变换来实现一些特效,允许在渲染子部件之前对它们进行变换。 一、Transform构造函数与属性 class Transform extends SingleChildRenderObjectWidget {/// Creates a widget that transforms its child.const Transform({super.k…

231水果滑块喜+1

有需求可以联系博主 let v Died_in2021

飞机大战ai通过dqn实现

借鉴 飞机大战源码 github 王者荣耀ai训练(试了一下,发现电脑带不动,就改了一点,训练其他游戏) 源码 通过网盘分享的文件:PlaneWar (2).zip [链接](https://pan.baidu.com/s/1N4OorR7b36Zml8MadGmI6g?pwd1234&#xf…

经纬恒润荣获2024中国汽车供应链大会创新成果奖

2024年9月24日-26日,2024中国汽车供应链大会暨第三届中国新能源智能网联汽车生态大会在武汉隆重举办。本届大会以“新挑战、新对策、新机遇——推动中国汽车供应链可持续发展”为主题,集聚政府主管领导、行业专家、汽车及零部件企业精英和主流媒体&#…

Journey Training:o1的一次复现尝试,极长思维链的合成

知乎:啦啦啦啦(已授权)链接:https://zhuanlan.zhihu.com/p/902522340 论文:O1 Replication Journey: A Strategic Progress Report链接:https://github.com/GAIR-NLP/O1-Journey 这篇论文记录了一次o1复现尝…

《Java基础》变量和数据类型

综述 在开始学习变量之前,我们思考一下为什么需要使用变量。 首先我们从小开始学习加法减法的时候,后来我们再学更难的东西就是代数,其中的x和y是我们要求解的内容,这些内容就是变量。 变量是人的思维的提升,没有变量…

armv7-a mmu 配置

L1 page table ​ L1 page table 将 32位内核的整个 4GB 地址空间划分为 4096 个大小相等的部分(entry),每个部分映射 1 MB 范围内的虚拟内存空间。 ​ 每个条目 (entry) 可以保存指向二级转换的地址,也可以保存用于表示这 1MB …

胤娲科技:AI绘梦师——一键复刻梵高《星空》

想象一下,你手中握有一张梵高的《星空》原图,只需轻轻一点,AI便能化身绘画大师,一步步在画布上重现那璀璨星河。 这不是科幻电影中的桥段,而是华盛顿大学科研团队带来的“Inverse Painting”项目,正悄然改变…

uniapp__微信小程序使用秋云ucharts折线图双轴

1、子组件 <template><view class"charts-box"><qiun-data-charts type"line":opts"computedOpts":chartData"chartData"/></view> </template><script> export default {props: {chartData: {t…

后端——eclipse实现前端后端的交互(2)

1.新建前后端文件 新建HTML文件和后端交互Servlet文件。新建文件的地址也有所要求&#xff0c;Servlet文件要在JavaResources下的src中。HTML文件在WebContent下 2. 引入jqury文件 后端与前端的互传需要通过jQuery的ajax,所以要传入jQuery的包到eclipse中&#xff0c;传入位置…

Apache HTTP Server 配置SSL证书(Windows)

Apache2.4.39 HTTP Server 配置SSL证书 1. 申请证书 申请证书步骤(略) 证书名称如下: ca-bundle.crt xxx_com.crt xxx_com.key2. 配置 证书位置:Apache2.4.39\conf\ssl Apache2.4.39\conf\ssl修改两个配置文件: 0localhost_80.conf <VirtualHost *:80>Rewrite…

QGroundControl最新版本MacOS平台编译(使用CMakeLists.txt)

1.下载源码: git clone https://github.com/mavlink/qgroundcontrol.git --recursive 2.安装依赖: brew install GStreamer 设置环境变量:GST_PLUGIN_PATH 安装SDL2: brew install SDL2

【记录】PPT|PPT 箭头相交怎么跨过

众所周知&#xff0c;在PPT中实现“跨线”效果并非直接可行&#xff0c;这一功能仅存在于Visio中。然而&#xff0c;通过一些巧妙的方法&#xff0c;我们可以在PPT中模拟出类似的效果。怎么在PPT中画交叉但不重叠的线-百度经验中介绍了一种方法&#xff0c;而本文将介绍一种改进…

浅谈虚拟电厂在分布式光伏发电应用示范区中的应用及前景

0引言 随着电力体制改革的持续推进&#xff0c;电力市场将逐步建立和完善&#xff0c;未来的售电主体也将随着配售电业务的逐步放开而日益多元化&#xff0c;新的政策不断鼓励分布式电源和微电网作为独立的配售电市场主体推动运营模式的创新。与微电网所采取的就地应用为控制目…

springboot001基于SpringBoot的在线拍卖系统(论文+源码)_kaic

医护人员排班系统 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了医护人员排班系统的开发全过程。通过分析医护人员排班系统管理的不足&#xff0c;创建了一个计算机管理医护人员排班系统的方案。文章介绍了医…

InfluxDB持久层封装

InfluxDB持久层封装 了解如何使用spring-boot来操作InfluxDB数据库&#xff0c;首先我们来看下整个的系统结构图例&#xff1a; 对比下mybatis中的执行流程&#xff1a; 1_自动装配 首先&#xff0c;我们来看下第一步自动装配&#xff1a;依赖spring-boot自动装配出InfluxDB对…

ubuntu22.04 ROS2 - 安装

参考链接:Ubuntu 22.04 LTS安装ROS2 (ros-humble-desktop)-CSDN博客 1、安装测试 ros2 run demo_nodes_cpp listener再开一个终端ros2 run demo_nodes_cpp listener2、小海龟模拟器 ros2 run turtlesim turtlesim_noderos2 run turtlesim turtle_teleop_key两个终端分别执行…

Linux内核与基础命令学习总结

Linux操作系统 Linux操作系统博大精深&#xff0c;其中对线程&#xff0c;IO&#xff0c;文件系统等概念的实现都很有借鉴意义。 ​ 文件系统和VFS 文件系统的inode上面讲过了。VFS主要用于屏蔽底层的不同文件系统&#xff0c;比如接入网络中的nfs文件系统&#xff0c;亦或…

用SpringBoot给Servlet容器Tomcat打war包步骤

首先写一个类来代替启动类 先在SpringBoot项目里打开pom.xml导入依赖,原本SpringBoot里面spring-boot-starter-web依赖里面有Tomcat,所以我们要先在spring-boot-starter-web里面导入依赖,把Tomcat给排除掉,并且加上你要打的war类型依赖 然后先刷新,再清除,最后再打包 成功之后,…

2024最新版安装教程!Python安装+PyCharm安装使用教程!!(非常简单)

Python下载安装 一、进入Python官网首页&#xff0c;下载最新版的Python 官方网址&#xff1a;Download Python | Python.org 鼠标悬浮在Downloads&#xff0c;选择最新版本 注意&#xff1a;由于Python官网服务器设立在国外&#xff0c;所以下载速度非常慢&#xff0c;我这…