写点什么

在软件测试中使用 ChatGPT

作者:Ben Linders

  • 2024-02-14
    北京
  • 本文字数:1500 字

    阅读完需:约 5 分钟

在软件测试中使用 ChatGPT

AI 可以为软件交付带来帮助,并用于自动化软件测试和优化项目工作。Dimitar Panayotov 使用 ChatGPT 生成测试数据、创建电子邮件模板,并基于测试结果生成解释。这为他节省了时间,提高了生产效率。


Dimitar Panayotov 在 2023 年 QA Challenge Accepted 大会 上分享了他如何在测试中使用 ChatGPT。


Panayotov 说,AI 是一组经过足够多数据训练的算法和神经网络,可以用来辅助 IT 从业人员。它是非常先进的辅助工具,对质量保证工程师的日常生活带来帮助,从特定主题的信息转储、测试文档和案例编写,到工作流程猜想模式。


Panayotov 说,ChatGPT 非常擅长生成测试数据,这是它的最大优势。它还可以根据需求和最佳实践创建测试策略。它可以编写测试用例,但需要额外的支持,因为它没有得到足够多的训练。

ChatGPT 可用于根据测试结果生成电子邮件模板和解释,正如 Panayotov 所说的:


它可以为只有图形和数字的测试结果生成人类可读的解释。此外,它可以根据输入创建表格。


由于 AI 模型仍在发展当中,在使用过程中可能会出现一些错误和故障,正如 Panayotov 所解释的那样:


由于数据过拟合(ChatGPT 开发者输入的信息可能不正确,或者数据的来源有缺陷),AI 在回答问题时可能提供不正确的答案或缺失值。


幻觉是另一个主要问题——基本上,大模型试图根据用户输入的字符串编写答案,但由于它存在一些限制且必须遵循一些规则,因此答案可能是完全虚构的。


Panayotov 表示,ChatGPT 是一种比 Google 或 Reddit,甚至是众所周知的 Stackoverflow 更强大的软件工具。他建议将其作为一种常规工具,了解其局限性,并不要将其用于作恶。他建议:


它将为你节省大量的时间,这些时间可以用来提高生产效率,例如学习新的编程语言和工具,或扩展你的工作能力。


InfoQ 采访了 Dimitar Panayotov,了解他如何在日常工作中使用 ChatGPT。

 

InfoQ:你如何使用 ChatGPT 来进行自动化测试?


Dimitar Panayotov:我使用 ChatGPT 进行许多操作,缩短自动化项目和 CI/CD 管道的创建和执行时间,比如:

  • 准备测试计划和测试场景——在创建基于 Web、移动或 Cucumber 测试用例的测试场景时大模型非常有用。

  • 用不同的语言创建脚本——大模型所掌握的每一种编程语言的知识令人惊叹。

  • 设计测试用例——它可以根据通用模型为特定业务逻辑创建特定的设计模式。

  • 创建电子邮件模板——生成测试数据是模型的最大优势之一。

 

InfoQ:ChatGPT 在优化软件项目工作方面表现如何?


Panayotov:以下是大模型可以帮助你提高执行速度、优化资源使用和项目结构的一些示例:

  • 格式化数据并编写文档——为项目编写文档是 IT 从业人员生活中最无聊的事情。大模型可以帮助生成这些东西,但你需要提供项目的结构。

  • 几乎从头开始实现 CI/CD 管道——通过简单的请求和规范,大模型可以生成适用于几乎所有 CI/CD 系列软件和产品的执行脚本。

  • 创建特定的类——大模型可以根据项目结构为你的项目生成特定的类。

  • 代码评审和错误处理——大模型可以对你的代码进行基本的评审,甚至找到漏洞,但你的数据可能会被用在大模型未来的答案生成中。


我们必须确定是否希望大模型访问我们的项目并向其提供私有信息。ChatGPT 是一个开源产品,向其输入任何客户或个人敏感信息都是不明智的。

 

InfoQ:对于使用 ChatGPT 进行软件测试,你有何建议?


Panayotov:正如我一直说的:要聪明地工作,不要辛苦地工作。所有的手动输入和数据生成步骤最终都可以被跳过,因为 ChatGPT 大模型就是为这个目的而生的。可以根据需要创建尽可能多的虚拟数据和基本项目结构,只是不要加入个人或客户数据,因为它们可能会在将来的版本或数据挖掘中被利用。


原文链接

https://www.infoq.com/news/2024/01/chatgpt-software-test-delivery/

2024-02-14 08:0012252

评论

发布
暂无评论
发现更多内容

树莓派部署Elasticsearch6集群

程序员欣宸

elasticsearch 9月月更

AQS 阻塞队列机制源码分享

new life

AQS

ATDD的小妙用

Bruce Talk

敏捷开发 随笔 Agile

Spring @PostMapping 能在 URL 中带有参数吗

HoneyMoose

Moment.js 如何对时间进行比较获得不同的天数

HoneyMoose

阿里前端常见面试题(附答案)

loveX001

前端 前端javascript

VUE v-for 数据引用

HoneyMoose

AQS 条件队列机制源码分享

new life

AQS

阻碍【程序员职业发展】的 5 个“绊脚石”

掘金安东尼

程序员 前端 9月月更

Java进阶(十五)Java中设置session的详细解释

No Silver Bullet

Java session Cookie 9月月更

B-Tree索引

急需上岸的小谢

9月月更

为什么需要微服务

穿过生命散发芬芳

微服务 9月月更

库调多了,都忘了最基础的概念-《单例模式VS状态码》

知识浅谈

volatile 单例模式 9月月更

【全网最全】你绝对没见过的,Alibaba内部的18份Java技术体系教程

程序知音

Java JVM 阿里 程序员面试 后端技术

Plasticine: 面向并行模式的可重配架构

俞凡

架构 网络

VUE v-for 循环的 2 个使用

HoneyMoose

分布式锁有哪些实现方案各自有什么优缺点?

想要飞的猪

分布式锁 redis分布式锁 zookeeper分布式锁

HTTPS TLS 1.2

懒时小窝

https HTTP

太赞了,使用应用魔方 AppCube,我没有写一行代码就开发出了一款投票微信小程序

wljslmz

微信小程序 低代码开发 AppCube 9月月更

【C语言深度剖析】深入理解字符数组和字符串数组

Albert Edison

C语言 9月月更 strlen 字符数组 字符串数组

Lombok、JUnit——开发工具插件

胖虎不秃头

maven java; 9月月更

数据治理(十四):Ranger同步Linux用户

Lansonli

数据治理 数据安全 9月月更

DevOps实践中的“道法术器”

阿泽🧸

DevOps 9月月更

【C语言】字符函数&字符串函数&内存函数(下)[进阶篇_复习专用]

Dream-Y.ocean

c c++ 9月月更

【JavaWeb】Filter系列——过滤器有什么用,如何编写?Filter过滤器的设计模式

胖虎不秃头

java; 过滤器 9月月更

字节架构师:来说说 Kafka 的消费者客户端详解,你都搞懂了吗?

Java快了!

Kafk

LeetCode-1370. 上升下降字符串(Java)

bug菌

9月日更 Leet Code 9月月更

全到哭!从面试到架构,阿里大佬用五部分就把高并发编程讲清楚了

Java全栈架构师

Java 程序员 面试 程序人生 高并发

2022-09-11:arr是一个可能包含重复元素的整数数组,我们将这个数组分割成几个“块”, 并将这些块分别进行排序。之后再连接起来,使得连接的结果和按升序排序后的原数组相同。 我们最多能将数组分成

福大大架构师每日一题

算法 rust 福大大

redis 作为缓存时存在的问题

想要飞的猪

redis 淘汰策略 redis缓存过期

Maven——自动化构建工具

胖虎不秃头

Web java; 9月月更

在软件测试中使用 ChatGPT_AI&大模型_InfoQ精选文章