50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

在软件测试中使用 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:0012279

评论

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

面试官:你说说软件测试WHX模型(图解)

程序员阿沐

程序员 软件测试 自动化测试 测试开发

SpringSecurity安全控件使用指南

Java 程序员 后端

Spring之AOP适配器模式

Java 程序员 后端

东吴证券张之浩:从理论到落地的 DevOps 体系建设

BoCloud博云

DevOps 云原生 证券

MySQL Operator 02 | 脚手架选型 & 工程创建

RadonDB

MySQL 数据库 Kubernetes RadonDB

软件测试的策略详解(按开发阶段划分)

程序员阿沐

编程 程序员 软件测试 自动化测试 测试工程师

SpringSecurity详细介绍RememberMe功能

Java 程序员 后端

正则表达式 与 XPath 语法领域细解,初学阶段的你,该怎么学?

梦想橡皮擦

11月日更

SpringData【Spring整合HibernateJPA】

Java 程序员 后端

spring的事务隔离级别

Java 程序员 后端

SpringMVC之Interceptor拦截器之登录拦截器(1)

Java 程序员 后端

SpringMVC入门第二部分

Java 程序员 后端

如何在 CentOS 中下载包含所有依赖项的 RPM 包

吴脑的键客

centos

Spring系列之数据源的配置 数据库 数据源 连接池的区别

Java 程序员 后端

SQL Server 2008中的分区表(二):如何添加、查询(1)

Java 程序员 后端

告别AI模型黑盒子:可解释的神经网络研究

索信达控股

机器学习 模型 可解释模型 可解释机器学习

springcloud(三)网关zuul

Java 程序员 后端

springcloud(二)配置中心config

Java 程序员 后端

SpringData【Spring整合HibernateJPA】(1)

Java 程序员 后端

Spring中的AOP——在Advice方法中获取目标方法的参数

Java 程序员 后端

Spring框架(五)SpringMVC高级

Java 程序员 后端

SpringMVC--文件上传

Java 程序员 后端

SpringMVC之Interceptor拦截器之登录拦截器

Java 程序员 后端

SpringSecurity+JWT认证流程解析

Java 程序员 后端

Spring(四):bean标签解析

Java 程序员 后端

Spring注解缓存设计原理及实战

Java 程序员 后端

未来怎么样的测试工程师最值钱?

程序员阿沐

腾讯 软件测试 自动化测试 测试开发

面试题:软件测试V模型以及软件生命周期

程序员阿沐

编程 程序员 软件测试 自动化测试 教程

软件的生命周期(软件工程各阶段的工作)

程序员阿沐

程序员 软件测试 生命周期 测试开发 测试工程师

SpringSecurity入门(一)

Java 程序员 后端

Spring新版本抛弃JVM,可独立部署,网友:要自立门户?

Java 程序员 后端

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