生成式AI 对软件测试的影响及应用(一)

写在前面:

起因是在去年的11月份,参与了在Yeelight Fun系列产品线的Cube内测阶段,那会我觉得这款Cube是离OpenAI接入最近的一次,当时提出了“自然语言处理”的概念,由于项目还在专注解决内测问题,我的工作也满满当当,遂提了一嘴后面就没再关心了。


没想到的是1个月后ChatGPT就发布了人机聊天对话机器人,广超老师12月份在软件群里也提到了这件事,这个东西上线2天后用户超百万,1个月后用户超一亿,那会就感受到了它的奇妙的存在。


随着AI的话题如火如荼,国内也兴起了这波AI浪潮,令人失望的是,国内大厂们前期只是在做PPT划拉纳税人的钱。易来顺应国际潮流,3月30号,易来开启探索AI会议的第一步,也是物联网产业迈入AI的一大步。那会游荡在春熙路的我也加入了这次会议,在嘈杂的人海中汲取了对本身岗位的一丝灵感。感叹道,人类的技术积累虽然是循序渐进的,但是技术革新永远都是突破性的,神奇到什么样,好比第一次工业革命到现在的工业互联网那样神奇。

AI 概念

人工智能(AI是指开发计算机系统,这些系统可以执行通常需要人类智能才能完成的任务,例如学习、推理、解决问题、感知和自然语言理解。人工智能基于创造可以像人类一样工作和学习的智能机器的想法。可以训练这些机器识别模式、理解语音、解释数据并根据该数据做出决策。早期的AlphaGo、微软小冰,他们都是上一代的架构,没法与其他信息构建关联,都作用在垂直领域。总而言之,目的是解决并扩散人类生产力。



生成式 AI


生成式 AI 是人工智能中的一种技术类型,例如图像、视频或文本。它的工作原理是使用一个在大量示例数据集上训练过的模型,然后使用这些知识生成与训练过的示例相似的新内容。生成式 AI 适用于计算机图形学、自然语言生成和音乐创作等任务。国外的 New Bing 国内如文心一言、

生成式人工智能的另一个应用是在自然语言处理领域。通过使用生成模型,可以生成风格和语气与特定作者或流派相似的新文本。这对于范围广泛的应用程序非常有用,从生成新闻文章到创建营销文案。我们通过 Midjourney,可根据几个关键词就可以生成图像。例如“来个 gaming 场景”,如下。值得注意的是我们需要提供更多、更准的关键词来匹配我们想要的结果。让我们在实际工作中实现真正的“赋能”。


ChatGPT 3.5


概念

ChatGPT(Chat Generative Pre-trained Transformer)是基于 OpenAI GPT 系列架构的一款大型语言模型,具有强大的自然语言处理能力。该模型可以理解和生成文本,用于各种场景,如智能对话、文本生成、文本纠错等。通过大量数据训练,ChatGPT 能够理解用户意图并提供有价值的回复,为人工智能应用提供基础设施。经过不断迭代与升级,ChatGPT 3.5 和 ChatGPT 4 分别代表了不同阶段的技术演进。想了解更多关于 ChatGPT 的信息,请访问 OpenAI 官方网站

注册

准备工具

1. 梯子:由于 ChatGPT 会屏蔽掉国内的 IP,所以需要进行代理访问。使用 shadowsocks,下载地址:https://github.com/shadowsocks

2. 海外代理服务器:

美国-洛杉矶节点

3. 邮箱:不要用国内邮箱,尽量是 Gmail 邮箱。

4. 手机号:必须是国外手机号,推荐使用接码平台:https://sms-activate.org/#

注册步骤

1. 进入 https://chat.openai.com/chat,选择 Sign up,填写已注册的 Gmail 邮箱

2. 提示需要进行邮箱验证,点击 Open Gmail

3. 登陆邮箱,通过邮箱内 Open AI 链接进行验证

4. 邮箱链接验证完成后,Open AI 需要验证手机号码

5. 打开 https://sms-activate.org/#,左侧搜索 OpenAI 服务并选择任意一个便宜点的手机号,如“印度尼西亚”即可(如果账号上没有钱,则需要先充值,最低 2 美元,支持支付宝)

6. 将购买的手机号复制到 ChatGPT 短信验证页面,点击“Send code via SMS”,通过短信平台的验证码 输入并验证

7. 短信验证通过后,自动进入到 ChatGPT 的 chat 页面。后续我们直接访问 https://chat.openai.com/chat 即可,登陆账号跟密码就是你的 Gmail 账号

使用实例

协助解决日常工作出现的痛点

例如当一个项目从头到尾都在需求变更,作为软件测试人员面临即将延期的项目不知所措,可以通过ChatGPT进行对话并作为参考。

构建测试用例

1.   ChatGPT 可以回答你输入的任何问题,由于数据模型的庞大,回答的问题可能不是我们需要的,可以进一步通过点击 Regenerate response 来重新获得答案。如“qa 是做什么的”,很明显第一个答案并不是我们需要的,第二个答案匹配度较高

2.   尝试询问 ChatGPT 如何高效的协助测试工程师工作,查看以下答案


3.   我们可以根据第一条回答的来看到,“通过向 ChatGPT 提供产品要求和设计信息来生成测试文档和测试用例”,言外之意就是我们需要描述清楚、表达清楚一个准确并完整的信息才会得到 ChatGPT 的匹配的答案,如果一个需求描述不清楚,可能事与愿违。我们想要设计多条遥控器控灯的测试用例,可见以下回答


4.   以上回答仍然存在一些问题,如我们的遥控器支持色温调节,ChatGPT 没有说出来,没有写出我们需要的色温调节,蓝牙的一些个高低性能也没有凸显出来,我们再优化一下提问,可以这么说“遥控器有开关、亮度、色温等调节功能,并通过蓝牙控制灯光,尽可能的设计多个测试用例,其中也包含蓝牙性能等”


5.   通过回答的来看,青空®️灯的固件状态上报的 case 没有回答,ChatGPT 并不知道我们是智能灯光,控制普通灯光也可以复用此条 case,于是我们通过查看灯的规格书之后,再改进下问答,可以这么问“尽可能多的设计 beacon 遥控器控制蓝牙 Mesh 灯具的测试用例,包含开关灯、亮度调节、色温调节、蓝牙性能等,灯具也会将遥控器控制的状态上报到云端,也支持 APP 控制”,见以下回答

6.   不是很直观,我们让其直接生成一份 Excel 试试,如下

7.   我们根据前几次的提问与 ChatGPT 的回答,使其不断补充去训练,人工进一步修改后,基本可以定型一份遥控器控制灯光的测试用例,进入下一步的 review 阶段,如果整个 ChatGPT 的网络流畅的话,基本在半个小时内写完初稿。所以ChatGPT只是起到了辅助工作作用,它本身不具有思考行为,我们作为提问者,还是需要不断提高自我技术的认知能力、语言的表达能力,否则你提给 ChatGPT 的问题本身就是一个问题。


解读会议纪要等文档

 由于ChatGPT-3.5-Turbo功能没有像4.0那一样强大,所以无法解析文件。我们将文档内容粘贴到聊天框中,查看匹配内容

通过ChatGPT API实现在Word中问答

  各种基于ChatGPT的api的软件纷至沓来,我们将ChatGPT通过宏的方式整合到word中去,即可用简短的提问方式去改善文档内容。

1.   首选需要拿到ChatGPT的API信息,登陆OpenAI的个人账户,https://platform.openai.com/

2.   点击 Create new secret key,弹出的API key一定要复制好,或者记到别的地方,如果没记下来好像就没有地方再显示了,f12里面也是加密的


3.   ChatGPT API 调用是收费的,但是 OpenAI 已经为我们免费提供了5美元的用量,如果后续有更大的需要,可以充值Plus


4.   我们需要用到Office中VBA编辑器(VBA中的vba是Visual Basic For Application的缩写。一般用来实现简单或中等的办公自动化应用,现在只有win能用了),打开win中的Word >> 开发工具 >> Visual Basic,插入一个新的模块,内容填写以下内容,意思是我们要实现一个selectedText后,调用openai apis的/chat/completions来实现对话

Sub ChatGPT()

    Dim selectedText As String

    Dim apiKey As String

    Dim response As Object, re As String

    Dim midString As String

    Dim ans As String

    If Selection.Type = wdSelectionNormal Then

        selectedText = Selection.Text

        selectedText = Replace(selectedText, ChrW$(13), "")

        apiKey = "your app-key"

        URL = "https://api.openai.com/v1/chat/completions"

        Set response = CreateObject("MSXML2.XMLHTTP")

        response.Open "POST", URL, False

        response.setRequestHeader "Content-Type", "application/json"

        response.setRequestHeader "Authorization", "Bearer " + apiKey

        response.Send "{""model"":""gpt-3.5-turbo"", ""messages"":[{""role"":""user"",""content"":""" & selectedText & """}], ""temperature"":0.7}"

        re = response.responseText

        midString = Mid(re, InStr(re, """content"":""") + 11)

        ans = Split(midString, """")(0)

        ans = Replace(ans, "\n", "")

        Selection.Text = selectedText & vbNewLine & ans

    Else

        Exit Sub

    End If


5.   解答后的效果与直接通过https://chat.openai.com/chat 效果一致,如下


任何软件或者平台要接入ChatGPT的话,拿到API-keys这一步是必须的


利用小爱同学向ChatGPT提问

https://www.youtube.com/watch?v=K4YA8YwzOOA(侵删)


基于LLMs方案的软件测试模型

背景

        目前来说由于通用大模型训练/部署的高成本,产业水平化分工的条件基本成熟,世界上并不需要很多个大模型,做LLM的应用将会是中小型企业和个人开发者的必然选择。(Large language model(LLM),大型语言模型是一种基于深度学习的自然语言处理(NLP)技术))

        回归到本质,国内外市场的 AI 应用 层出不穷,除了上面我们讲到的 ChatGPT 还有微软的 New Bing、百度的文心一言等。


        生成式 AI 现在可以分为四层:芯片层、框架层、模型层和应用层,而在模型层上,类似ChatGPT、文心一言背后的技术本质上是大型语言模型(LLM)的应用。无论哪家公司都不可能靠突击几个月就做出的,都会面临着高额成本投入。 在 AI 业界,大模型的训练堪称“暴力美学”,需要有大算力、大数据和大模型,每一次训练任务都耗成本巨大。截止2023/4中旬,可公测的只有几家公司,像国内360、百度等也基本上处于内测阶段,内测码寥寥无几,且阶段还不够成熟,估计公测还需要很长的时间;国外由于先天服务环境不友好,高效使用起来也很困难。

    

传统测试 跟 基于LLMs 模型测试方法的区别



未来计划

1. 迎合易来探索AI的脚步,并持续改进软件测试过程

2. 基于LLMs方案技术,熟悉并细化语言模型的测试指标,实现具体实例

3. 不断学习并探索合适的测试模型及算法测试方式


本次总结

    我们在整个过程中会发现对国内网络环境确实不是很友好,日后等时机成熟了,可以使用国内的生成式 AI 文心一言。另外,我作为QA,更多的会去从QA角度审视AI应用给软件测试带来的冲击。虽然明知道不会被取代,但是思维步伐要紧跟大环境的潮流,才能与时俱进。

最后给大家推荐个视频

https://www.bilibili.com/video/BV1VL411U7MU?share_source=copy_web

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,783评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,360评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,942评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,507评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,324评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,299评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,685评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,358评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,652评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,704评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,465评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,318评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,711评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,991评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,265评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,661评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,864评论 2 335

推荐阅读更多精彩内容