《电子技术应用》
您所在的位置:首页 > 人工智能 > 业界动态 > 【ChatGPT专题】ChatGPT在软件测试中七大应用方式

【ChatGPT专题】ChatGPT在软件测试中七大应用方式

2023-02-16
来源: 软件质量报道

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

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

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

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

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

  1.  测试想法生成器

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

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

  微信截图_20230216141941.png

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

  微信截图_20230216142004.png

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

  在From 和To 中均有效的城市

  自动完成/自动建议

  机场代码和拼写的验证

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

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

  与API匹配,跨平台一致性

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

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

  微信截图_20230216142026.png

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

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

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

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

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

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

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

  微信截图_20230216142101.png

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

  微信截图_20230216142122.png

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

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

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

  微信截图_20230216142210.png

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

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

  2.  分析需求的关键语句

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

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

  微信截图_20230216142255.png

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

  3.创建学习指南

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

  微信截图_20230216142312.png

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

  640 (1).png

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

  有一些音频和视频问题

  影响音频/视频的参数

  测试音频/视频的工具

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

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

  4. 生成代码片段

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

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

  微信截图_20230216142508.png

  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 )可以生成一个视频的摘要。

  微信截图_20230216142531.png

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

  6. 课题写作大纲

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

  微信截图_20230216142555.png

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

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

  7. 头脑风暴的伴侣

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

  结论

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

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

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

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

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

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


敬请关注电子技术应用2023年2月22日==>>商业航天研讨会<<

微信图片_20230210170337.jpg

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。