ChatGPT对软件测试的影响

news2024/12/23 5:35:58

本文首发于个人网站「BY林子」,转载请参考版权声明。


ChatGPT是一个经过预训练的AI语言模型,可以通过聊天的方式回答问题,或者与人闲聊。它能处理的是文本类的信息,输出也只能是文字。它从我们输入的信息中获取上下文,结合它被训练的大模型,进行分析总结,给出一个可能会让我们耳目一新的答案。

正因为简单易用,并且似乎具有超常的智慧,它使得我们“普通老百姓”有机会近距离接触到这个超能AI,并且爱上了它;另一方面,正是由于它“智力过人”,我们在喜欢它的同时也产生了担忧,那就是我们的工作会不会被它取代,导致失业……

我的ChatGPT初体验

我使用ChatGPT也有一段时间,由于我目前所做工作主要偏向于产生内容,根据一些特定场景设计或制定解决方案之类的文本处理的事情,我会把ChatGPT当做一个比搜索引擎更加方便更加强大的工具来使用。比如,我可以给它输入特定场景上下文,让它帮我提供解决方案的思路。

由于大模型的支持,它的产出是经过提炼和总结的,是相对系统的,更接近于我所需要的结果,显然它是比搜索引擎更加强大、更加智能的工具,能够节省我查找资料并从资料中提炼我所需信息的大量时间,而且它可以开拓我的思路,给出一些我可能暂时想不到或者没想到的点子,这一点非常有帮助。

那是不是可以依赖于它来帮我搞定一切呢?并不能。因为它会一本正经地胡说八道,它总是过于自信,会把一个不准确的或者完成错误的结果非常自信的给出来……这个现象有个专业术语叫“人工智能幻觉”,维基百科解释如下:

在人工智能中,幻觉或人工智能幻觉是人工智能的自信反应。当模型有“幻觉”(输出欺骗性数据的倾向)时,其使用的的训练数据并不能证明输出的合理性。

该术语源自幻觉的心理学概念,因为它们具有相似的特征。人工智能幻觉的危险之处之一是模型的输出看起来是正确的,即使它本质上是错误的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ztVroekF-1685324225237)(https://www.bylinzi.com/wp-content/uploads/2023/05/ChatGPT对各种软件测试类型的理解.png)]

比如我跟ChatGPT一起pair整理的那份测试类型清单,在整理过程中我多次对它的回复进行澄清和修正才得以完成。我发现ChatGPT的有些认知是过时的,尤其在质量和测试领域,很多被大众认可的理念可能不是最新的,但是大数据会使得ChatGPT同样“认可”了这些观点,并输出给我。由于这是我非常熟悉的领域,它给出的回答带有明确错误或者过时认知的时候,我是能快速识别的。

当我接触到不太熟知的领域的时候,我也会去咨询它,通过这种方式来了解和学习。但是,这个时候需要特别谨慎,由于AI幻觉的存在,我需要批判性地看待它给出的答案。这一点跟使用搜索引擎是类似的,我们从网络上搜索到的内容很有可能也是不准确或错误的,只不过ChatGPT过于自信,很容易迷惑我们,让我失去判断力。

基于我对ChatGPT的使用感受,下面我想聊聊ChatGPT对具体的软件测试工作会带来什么影响。

ChatGPT能做哪些软件测试工作?

由于ChatGPT处理的是文本信息,测试工作中所有跟文本打交道的工作理论上它都是可以做的,前提是要给它提供相应的上下文或者领域知识,比如:

  • 给定业务需求文档,它可以阅读文档并从中提炼信息,识别需求关键点。
  • 给定需要测试的场景,它可以生成对应场景下测试用例,包括输入数据和预期输出,以及常见的安全、性能、易用性等非功能测试对应的用例。
  • 给定测试需求,并指定自动化测试框架,它可以编写相应的自动化测试代码。
  • 给它测试结果文档,它可以汇总测试结果、生成测试报告,甚至能够根据结果推荐改进方案。
  • 给它缺陷信息,它能够帮助测试人员分析和诊断缺陷,生成对应的缺陷分类分析报告,并提供缺陷定位和修复建议。
  • 给它错误日志信息,它可以整合日志、分析并提炼关键信息,总结日志相关的问题。

ChatGPT做测试工作有哪些局限性?

虽然理论上ChatGPT能做的测试工作有很多,但由于前面提到的AI幻觉存在,也就是它会误判,它会一本正经地胡说八道,它给出的结果离不开专业测试人员的判断和验证,无法交给它来独立完成测试工作。

还有一个必须得关注的是安全和隐私问题,也就是ChatGPT在处理测试数据和测试结果时需要保证数据的安全性和隐私性。业务上下文中可能包含商业机密,测试数据中可能包含敏感信息,例如用户名、密码等,需要进行保护和加密。同时,测试结果也需要进行保护和管理,避免被未授权的人员获取和使用。如果安全和隐私问题得不到保障,也就没法在正式的测试工作中使用ChatGPT。

前面那些ChatGPT能做的工作基本都是有相对明确的规则或可以推断出相对确定的解决方案的,还有一些工作是ChatGPT很难完成的,对于一些需要创造性、探索性和强专业性的工作,测试人员来做更具优势,而ChatGPT很难通过获取到的有限信息来胜任这类工作。例如:

  1. 需要创造性思维和探索能力的工作:测试人员具有独特的创造性思维和探索能力,能够对不同场景的测试策略进行调整,能够发现系统中的潜在问题和未知的边界情况,可以通过假设和试验来寻找不同的测试路径,并提供有价值的反馈和改进建议。
  2. 用户体验和感知:测试人员能够模拟真实用户的行为和情境,从用户的角度出发评估系统的易用性、用户界面和交互体验。他们可以提供有关界面设计、文案表达和用户反馈的关键洞察。
  3. 性能等非功能性测试:这些测试需要更深入的技术知识和专业工具来评估,ChatGPT很难具备测试人员在这些方面所具备的专业知识和经验。
  4. 异常情况和边界测试:测试人员能够主动挖掘系统的异常情况和边界条件,并进行测试。他们能够思考和模拟系统可能遇到的各种异常情况,以验证系统的稳定性。
  5. 文化和语言理解:在国际化和多语言环境下,测试人员能够更好地理解和评估不同文化背景和语言环境下的系统表现,包括语言翻译、本地化和地域特定需求。
  6. 除了前面的具体测试工作之外,还有测试相关的团队协作、沟通、以及流程中需要测试人员的综合能力和经验的工作,也是ChatGPT暂时做不到的。

当然,大家注意我这里说的是ChatGPT很难胜任,不是说它一定不能做。或许随着AI技术的不断发展,AI真的会具有智慧,也可以像人一样思考和感知,那个时候可能它所不能做的事情会更少了。但目前阶段来讲,还不具备条件将测试工作完全交给ChatGPT或其他AI去做。

怎么看待ChatGPT对软件测试的影响?

总的来说,ChatGPT对软件测试工作的影响是积极的,有以下几个方面的好处:

  1. 提高测试效率。ChatGPT作为一个强大的人工智能工具,用对了地方是可以帮助节省测试人员时间的,前面也讲到了很多它所能做的工作。
  2. 启发测试人员,实现更全面的测试覆盖。前面提到在我用ChatGPT协助产生内容和制定方案的时候,它能开拓我的思路。对于测试人员制定策略、设计用例或工具选型等方面,ChatGPT能够起到同样的作用,可以给到测试人员启发。
  3. 准确性更高。对于分析类的工作,如果ChatGPT获取了足够的上下文,它应该能做到比测试人员分析得更准确,因为人类容易犯错,而在确定语境下ChatGPT犯错的可能性会小很多。

另一方面,我对ChatGPT在软件测试中的使用持谨慎态度,不能盲目运用到实际工作中。在使用ChatGPT来开拓思路的时候,需要批判性地看待它提供的结果,不能过度依赖ChatGPT。

最后,还想说一点是ChatGPT短期内不会取代测试人员,大家不用恐慌。但是,ChatGPT的出现,测试人员不能置之不理,需要去了解它,掌握如何利用它;同时,自身要保持终身学习的习惯,不断提高各方面的综合能力,保持作为人类对AI的优势。

推荐阅读

  • 我和ChatGPT pair整理的软件测试类型清单

本文首发于个人网站「BY林子」,转载请参考版权声明。

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

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

相关文章

Spring 日志文件

日志 日志是程序的重要组成部分,日志可以:a.记录错误日志和警告日志(发现和定位问题)b.记录用户登录日志,方便分析用户是正常登录还是恶意破解用户c.记录系统的操作日志,方便数据恢复和定位操作人d.记录程序的执行时间,方便为以后优化程序提供数据支持 日志使用 SpringBoot …

东风/小米投资!去年EHB出货20万台,这家公司获科技进步一等奖

5月26日上午,2022年度上海市科学技术奖励大会在上海展览中心中央大厅召开,隆重表彰为国家、为上海科技事业和现代化建设作出突出贡献的科技工作者。同驭汽车与同济大学等单位联合申报的“汽车线控制动系统关键技术及产业化”项目获得科技进步奖项目一等奖…

【CCNP | 网络模拟器GNS系列】安装、配置和使用 GNS3

目录 1. 下载 GNS31.1 GitHub下载(推荐)1.2 官方下载(示例) 2. 安装GNS3(1)进入GNS3设置界面(2)许可协议(3)选择启动目录文件夹(4)选择…

ArcGIS中制作一张985、211院校分布图

一、数据来源及介绍 1.985、211院校名录 985、211院校名录主要来源于网络。 2.行政边界数据 行政边界数据来源于环境资源科学与数据中心(中国科学院资源环境科学与数据中心 (resdc.cn)),该网站包含我们国家任何一个省市的行政边界&#xf…

2024考研408-计算机组成原理第二章-数据的表示

文章目录 一、数制与编码1.1、进位计数制1.1.1、计数方法(最古老计数方法、十进制计数、r进制计数)1.1.2、进制转换①任意进制转为十进制②二进制转八进制、十六进制③八进制、十六进制转二进制④十进制转任意进制(包含整数、小数&#xff0c…

Python绘图神器Plotly安装、使用及导出图像教程

1. Plotly安装 Plotly 是一个快速完善并崛起的交互式的、开源的绘图库库,Python 库则是它的一个重要分支。现已支持超过40种独特的图表类型,涵盖了广泛的统计、金融、地理、科学和三维用例。 Python 中可以使用 pip 或者 conda 安装 Plotly&#xff1a…

使用校园账号登录WOS(Web of Science)并检索文献

使用校园账号登录WOS(Web of Science)并检索文献 写在最前面登录WOS检索文献文献检索文献检索结果分析文章类型(Document Types)发表年份(Publication years)期刊(Publication/Source Titles&am…

chatgpt赋能python:Python中n个数相加–实现简单、计算准确

Python中n个数相加 – 实现简单、计算准确 Python是一门功能强大的编程语言,能够在各个领域得到广泛应用。在数据处理和科学领域,Python是最受欢迎的编程语言之一。在Python中,n个数相加是一种常见的操作,它可以在数据处理中做到…

计算机网络六 应用层

应用层 网络应用模型 客户/服务器模型(C/S) 客户/服务器模型是一种常见的网络应用模型。客户端是指与用户直接交互的计算机应用程序,服务器则是提供服务的计算机系统或应用程序。在客户/服务器模型中,客户端发送请求,服务器端回应请求。客户…

Redis7实战加面试题-高阶篇(案例落地实战bitmap/hyperloglog/GEO)

案例落地实战bitmap/hyperloglog/GEO 面试题: 抖音电商直播,主播介绍的商品有评论,1个商品对应了1系列的评论,排序展现取前10条记录 用户在手机App上的签到打卡信息:1天对应1系列用户的签到记录,新浪微博、钉钉打卡签…

ADC和DAC常用的56个技术术语

采集时间 采集时间是从释放保持状态(由采样-保持输入电路执行)到采样电容电压稳定至新输入值的1 LSB范围之内所需要的时间。采集时间(Tacq)的公式如下: ​混叠 根据采样定理,超过奈奎斯特频率的输入信号频率为“混叠”频率。也就是说,这些频…

一图看懂 importlib_metadata 模块:用于提供第三方访问Python包的元数据的库,资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 一图看懂 importlib_metadata 模块:用于提供第三方访问Python包的元数据的库,资料整理笔记(大全) 🧊摘要🧊模块…

rpm 方式部署 MongoDB

文章目录 rpm 方式部署 MongoDB1. 下载 rpm 包2. 上传到服务器3. 执行安装4. 启动5. 登陆6. 开启远程登陆7. 测试远程登陆8. 开启 auth 认证9. 远程登陆验证 rpm 方式部署 MongoDB 参考地址:https://blog.csdn.net/baidu_23491131/article/details/127664931 1. 下载…

PixiJS 源码深入解读:用于循环渲染的 Ticker 模块

大家好,我是前端西瓜哥。这次来看看 PixiJS 的 Ticker 模块源码。 Ticker 的作用是 在下一帧绘制前调用监听器,PixiJS 使用它来不断对画面进行重绘。 版本为 7.2.4。 使用 在我们 实例化 PIXI.Application 时,PIXI.Application 内部注册的…

国内免费可用的ChatGPT网站【实时更新】

文章目录 1.什么是ChatGPT2.ChatGPT的基础技术3.ChatGPT工作原理4.ChatGPT应用场景5.ChatGPT局限性6.ChatGPT的未来发展7.国内免费ChatGPT镜像写在最后 ChatGPT国内能用吗:ChatGPT在国内是无法使用的。你肯定要问我怎样才能体验到ChatGPT的神奇魔力呢?文…

Linux-0.11 kernel目录进程管理system_call.s详解

Linux-0.11 kernel目录进程管理system_call.s详解 模块简介 本节主要介绍了在Linux-0.11中关于系统调用的相关实现。Linux-0.11使用int 0x80中断以及eax寄存器中存储的功能号去调用内核中所提供的功能,在系统调用发生的过程中伴随着用户态向内核态的主动切换。 需…

App开发需要了解的基本开发技术

近年来,随着智能手机的普及和互联网的高速发展,移动端 APP应用开发越来越受到人们的欢迎。现在,应用程序开发已成为一项热门职业,并成为许多人寻求高薪职业的首选。然而,要成功地在移动端 APP中应用程序,开…

分享几封好用的外贸人催单模版

给外贸人说在前面: 虽然说是催单模版,但是请带入你们公司产品,你们客户具体情况来套入,不能一模一样,再好的模版,再好的话术,大家一起用,就成了毫无价值的废料。 请灵活运用&#…

【阿里巴巴国际站API接口】商品详情接口,代码封装系列

为了进行电商平台 alibaba 的API开发,首先我们需要做下面几件事情。 1)开发者注册一个账号 2)然后为每个alibaba应用注册一个应用程序键(App Key) 。 3)下载 alibaba API的SDK并掌握基本的API基础知识和调用 4&#xf…

Linux一学就会——线程互斥

Linux一学就会——线程互斥 Linux线程的互斥 进程线程间的互斥相关背景概念 临界资源:多线程执行流共享的资源就叫做临界资源 临界区:每个线程内部,访问临界自娱的代码,就叫做临界区 互斥:任何时刻,互斥…