chatGPT在软件测试中七大应用方式

news2024/12/26 12:05:21

chatGPT火得不能再火了🔥

过去两周,国内chatGPT概念股很疯狂,不只是百度、讯飞,有些默默无闻且业绩亏损的公司股价大涨,有1-2个公司连续7个涨停板,不可思议!

上周,因为微软Bing发布新版,chatGPT热度大增。世界不断被ChatGPT及其应用所震惊,每天都有很多人在他们各自的行业发布ChatGPT的应用程序,从营销、文案、销售、运营等等。

当我们考虑将ChatGPT用于软件测试时,大家的意见很不一样。

我们并不怀疑它对软件测试社区的好处,同时,我们也意识到盲目接受像chatGPT这样机器人的每一个输出,也会相当危险。在最乐观的情况下,它是一个很好的启发式工具,虽然从本质上看,启发式不是基于规则的逻辑推理来输出结果,其结果是不可靠的。由于ChatGPT的输出严重依赖于提示(prompts),它在很大程度上依赖于软件测试人员给出提示的技巧。

经过几天研究,并和其他专家交流,ChatGPT在软件测试中的应用,概括起来有七种不同方式。

1. 测试想法生成器

ChatGPT技术归为AIGC(人工智能产生内容),所以我们首先想到 ChatGPT在我们的提示下,生成我们需要的测试想法,帮助我们扩展或优化测试思路、测试场景、测试数据等。如果ChatGPT可以根据我们的提示给出一组初始的测试想法,也可以检查我们准备的测试想法(如测试项、场景)清单,这不是很好吗?是的,它能做到。

例如 在 与机器人chatGPT聊聊软件测试的热门话题 就有这样一个例子:

这里,让我们在机票预订网站上针对 “预订往返机票” 功能测试尝试一下。

在我们询问ChatGPT之前,有几个简单的想法:

  • 在From 和To 中均有效的城市

  • 自动完成/自动建议

  • 机场代码和拼写的验证

  • 搜索结果的验证(计数、准确性、速度、排序显示、分页……)

  • 允许多种组合 (同一日期-不同日期、旅客人数和舱位、票价类型等)

  • 与API匹配,跨平台一致性

  • 错误消息(我在输入下一个句子后添加了这个)

现在,让我们向ChatGPT询问带有尽可能详细提示的测试思路

(询问chatGPT如何测试这个功能)

根据输出,它似乎更专注于这个想法——允许多种组合 (相同的日期-不同的日期,乘客类型和数量、舱位级别、票价类型等组合)。

让我们使用在线的 Pair-wise组合测试工具https://pairwise.teremokgames.com/来生成组合,并排除一些选项,如

  • 成人不能携带2名儿童旅行

  • 成人不能携带2名婴儿旅行

但由于工具的局限性,我们无法排除下列这个选项:

  • 成人不得携带一名儿童及一名婴儿旅行

Pairwise工具的输出总共是21个测试用例,我们按照上面的说法排除用例#4。

现在,谁做得更好? ChatGPT的输出是测试想法的一个很好的起点,然后我们可以使用另一种工具进行改进。

我们也可以用有针对性的提示来深入研究每个测试想法,以得到更好的回答。

例如,当我们要求ChatGPT为错误消息生成想法时,输出结果并不令人失望。

其中一些情况超出了当前关注的特征变量的范围(例如:资金不足、无效的卡详细信息……)

我们明白:这是一个很好的起点,前提是我们知道如何操作,而且必须批判性地分析输出,挑出有用的点进行测试,抛弃没价值的信息。

2. 分析需求的关键语句

想象一下需求文档中的一个句子,如果ChatGPT可以分析这个句子并为我们提供短语的多种解释,会怎样呢?

让我们试一下。我们将使用Google Meet中的示例:对于拥有Google Meet个人账号的用户:会议最多支持100人。

我觉得3、4、5表达的意思是一样的,但用词不同。我会使用ChatGPT所给出的不同解释来审视我自己的理解和解释。

3.创建学习指南

人们可以使用它来启动对一个主题的学习(kickstart their learning ),并在输出的基础上进行系统学习的构建。之前,我曾给过例子:

例如,如果我们还想了解如何测试多媒体,我们可以向ChatGPT请教一些基本的方法。

然后,我将提炼更多,提出更深刻的问题。

  • 有一些音频和视频问题

  • 影响音频/视频的参数

  • 测试音频/视频的工具

  • 与音频/视频测试相关的术语

现在,这是完美的答案吗?我不知道。但chatGPT给了我们足够的指南来开始测试之旅。我现在可以关于编码、解码器、以及与多媒体的关系。

4. 生成代码片段

它能否生成可以构建在其上的代码片段? 这点似乎没问题,因为我们在自媒体上看到了很多关于ChatGPT如何用不同编程语言生成代码的例子。

示例: 用Python编写代码来读取文件的内容,并列出重复元素的数量,并根据每个元素中的字符数量按降序排序

ChatGPT达到目标了吗?

5. 总结一份文件或视频

到目前为止,ChatGPT还不能创建图像或观看视频,但可以提供一个15分钟的视频的文字记录,例如,基于这个视频 (Become the CEO of your testing” by B. Ajay | testing scope | TestFlix2022 | Testing tips and tricks:https://www.youtube.com/watch?v=dkWxyvhZdog )可以生成一个视频的摘要。

你也可以使用像YouTube Summary with ChatGPT这样的插件来获得摘要。

6. 课题写作大纲

我想了一会儿博客主题(如“软件测试”),然后让ChatGPT为这类文章创建一个写作大纲:

其结果是一个结构良好的大纲,节省了大量的时间。

ChatGPT会取代一些人的工作吗? 没那么快。它只是一个很好的助手,需要有技能的人来充分发挥它的潜力。

7. 头脑风暴的伴侣

想法可以随时出现,如果我们想就不同的软件测试主题进行头脑风暴,获得不同的视角、比较或对比,甚至有一个助手来帮助我们进行研究,ChatGPT可以是一个很好的选择。

结论

到目前为止,通过分析ChatGPT给出的不同测试用例或回答,我们可以得出以下结论:

  • ChatGPT是一个很好的起点,需要熟练的测试人员在交互的基础上进行构建;

  • 它是一种语言模型,使用适当的学习技术,输出的质量将会提高;

  • 把回答当作一种启发,而不是一种规则;

  • 了解ChatGPT的功能并充分利用它;

  • 继续使用ChatGPT进行实验,并选择正确的响应来实现。

参考:https://www.thetesttribe.com/chatgpt-for-software-testing/

福利::2023年,总要干点不一样的事情

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

postman-enterprise-API

Postman 是一个用于构建和使用 API 的 API 平台。Postman 简化了 API 生命周期的每个步骤并简化了协作,因此您可以更快地创建更好的 API。 API存储库 在一个中央平台上围绕您的所有 API 工件轻松存储、编目和协作。Postman 可以存储和管理 API 规范、文档、工作流配…

【Unity资源下载】POLYGON Dungeon Realms - Low Poly 3D Art by Synty

$149.99 Synty Studios 一个史诗般的低多边形资产包,包括人物、道具、武器和环境资产,用于创建一个以奇幻为主题的多边形风格游戏。 模块化的部分很容易在各种组合中拼凑起来。 包包含超过1,118个详细预制件。 主要特点 ◼ ◼ 完全模块化的地下城!包…

“消息驱动、事件驱动、流 ”的消息模型

文章目录背景消息驱动 Message-Driven事件驱动 Event-Driven流 Streaming事件规范标准简介: 本文旨在帮助大家对近期消息领域的高频词“消息驱动(Message-Driven),事件驱动(Event-Driven)和流(S…

基于Java+Swing+Mysql实现通讯录管理系统

基于JavaSwingMysql实现通讯录管理系统一、系统介绍二、功能展示1.用户登陆2.查询信息3.新增信息4.修改信息5.删除信息三、数据库四、其他系统实现五、获取源码一、系统介绍 1.登录系统 2.查询信息 3.新增信息 4.修改信息 5.删除信息 运行环境:idea/eclipse、mysq…

erupt框架Ueditor富文本编辑器图片上传出现405异常

最近在研究erupt框架(v1.11.2),当字段使用Ueditor富文本编辑器,在图片上传的时候出现405异常,接口不支持POST请求方式: 根据错误提示找到对应的源码,发现Handler方法只支持GET请求,而图片上传的时候是以POST方式发起请求的; 此时需要修改源码,用自定义的类覆盖jar包中同名的…

Qt系列:调用Edge浏览器示例

背景 需要解决以下几个问题 政府项目新浏览器兼容老系统ActiveX控件,Qt WebEngineView没有直接的实现方案,需要利用Qt的ActiveX兼容模块与浏览器往返多次交互Qt ActiveX未实现COM事件通知官方Win32示例存在滥用lambda函数的嫌疑,lambda函数…

2023年保健饮品行业分析:市场规模不断攀升,年度销额增长近140%

随着人们健康意识的不断增强,我国保健品市场需求持续增长,同时,保健饮品的市场规模也在不断攀升。 根据鲸参谋电商数据显示,2022年度,京东平台上保健饮品的年度销量超60万件,同比增长了约124%;该…

flutter-第1章-配置环境

flutter-第1章-配置环境 本文针对Windows系统。 一、安装Android Studio 从Android Studio官网下载最新版本,一直默认安装就行。 安装完成要下载SDK,可能会需要科学上网。 打开AS,随便创建一个新项目。 点击右上角的SDK Manager 找到SDK…

c#: NetTopologySuite凹凸多边形计算

环境: .net 6.0NetTopologySuite 2.5.0vs2022平面二维 一、夹角计算 1.1 计算向量与x轴正方向的夹角 方法: AngleUtility.Angle(Coordinate p) 下图上的t2即为p,之所以这么写是为了和AngleUtility.AngleBetweenOriented做比较 注意: 结果…

MySQL 服务正在启动.MySQL 服务无法启动.服务没有报告任何错误。请键入 NET HELPMSG 3534 以获得更多的帮助。总结较全 (已解决)

输入以下命令启动mysql: net start mysql出现以下错误提示: MySQL 服务正在启动 .MySQL 服务无法启动。服务没有报告任何错误。请键入 NET HELPMSG 3534 以获得更多的帮助。 出现这个问题的话,一般有几个情况: 一、MySQL安装文…

面试7分看能力,3分靠嘴皮,剩下90分就靠这份Java面试八股文

有句话说的好,面试中7分靠能力,3分靠嘴皮刚开始面试的时候,介绍项目一般都是凸显我们技能的重中之重,它对一次面试的成败可以说具有决定性作用,这就涉及到我们的表达能力了,有人说我其实水平都在线&#xf…

大学生开学买什么,返校必备数码好物推荐

开学还不知道需要准备些什么,这篇开学数码好物,希望能够对你在开学购买的好物有一些帮助,一款好的数码装备,可以让我们在学校学习当中能够用最少的时间,最大的产出,节省时间,提高学习效率&#…

2023-02-17 学习记录--TS-邂逅TS(一)

TS-邂逅TS(一) 不积跬步,无以至千里;不积小流,无以成江海。💪🏻 一、TypeScript在线编译器 https://www.typescriptlang.org/play/ 二、类型 1、普通类型 number(数值型&#xff…

零信任-360连接云介绍(9)

​360零信任介绍 360零信任又称360连接云安全访问平台(下文简称为:360连接云),360连接云,是360基于零信任安全理念,以身份为基础、动态访问控制为核心打造的安全访问平台。 通过收缩业务暴露面、自适应增强身份认证、终端持续检…

操作系统(day11)--快表,两级页表

具有快表的地址变换机构 时间局限性:会有大量连续的指令需要访问同一个内存块的数据的情况(程序中的循环) 空间局限性:一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也很有可能被访问。&#xf…

MySQL(一)服务器连接 库的基本操作

目录 一、连接服务器 二、简单使用 三、校验规则 条件筛选 where 进行order排序 三、查看数据库 使用 show databases;(注意分号和最后一个s) 显示创建数据库的详情信息:使用show create database test2; 四、修改数据库 五…

干货 | 有哪些安慰剂按钮的设计?

仔细观察我们的生活,你会发现处处都是安慰剂按钮,ATM的点钞声、开启空调的呼呼声,这些都对用户心里产生了有意的引导作用,当你打开了空调按钮,先播放声音会让你感觉你按下的按钮起到了作用。 我们的大脑不喜欢杂乱无章…

Markdown简单语法总结

前言在好多博客的编写中会遇到Markdown标记语言,所以学习了一下相关语法。之前虽然也了解过,但是并不深刻。在这里进行一个简单的总结。1、标题标题可以使用大标题和中标题、一到六级标题两种不同方式。对于大标题,直接在标题文字下方输入即可…

HTML中嵌入B站视频

HTML中嵌入B站视频 在网页中实现一个HTML播放器需要先从b站获取视频嵌入代码, 以前嵌入代码可以从视频分享那里拿到, 现在好像不行了 必须是自己投稿的视频, 从投稿管理页面才能找到 复制嵌入代码 建一个.html文件, 放入下面代码 <!DOCTYPE html> <html><head…

SpringCloud - 入门

目录 服务架构演变 单体架构 分布式架构 分布式架构要考虑的问题 微服务 初步认识 案例Demo 服务拆分注意事项 服务拆分示例 服务调用 服务架构演变 单体架构 将业务的所有功能集中在一个项目中开发&#xff0c;打成一个包部署优点&#xff1a; 架构简单部署成本低缺…