一、什么是ChatGPT
ChatGPT(全名:Chat Generative Pre-trained Transformer),美国OpenAI [1] 研发的聊天机器人程序 [12] ,于2022年11月30日发布 [2-3] 。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过理解和学习人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文 [21] 等任务。
ChatGPT百度百科
下面介绍几个ChatGPT的初步使用
二、ChatGPT对测试能做什么
2.1 ChatGPT 通过国际软件测试工程师(ISTQB)认证
近期,国外的一位工程师,放出了他用 ChatGPT 通过认证的相关信息
ChatGPT 相信大家都知道是什么了,ISTQB 相信很多测试小伙伴也不陌生,而且很多考证的小伙伴也对此梦寐以求。
ISTQB(International Software Testing Qualifications Board)全称国际软件测试认证委员会,是国际唯一权威的软件测试资质认证机构,主要负责制定和推广软件测试工程师认证 ( ISTQB-Certified Tester ) 体系。该体系由 ISTQB 授权各国分会,组织本国软件测试工程师认证,并接受 ISTQB 质量监控,合格后颁发全球通用的软件测试工程师资格证书。
ISTQB 是国外从事软件测试相关工作的必备证书;HP、IBM、Oracle、Siemens、SAP、SONY 等知名外企也是相当青睐 ISTQB 认证。
本次 ChatGPT 通过的 ISTQB 认证是 ISTQB 认证体系中的基础级别。ISTQB 基础级认证共 40 道选择题,单选,每道选择题分值为 1 分;考试时间为 60 分钟;26 分及以上视为通过 ISTQB 基础级认证。
ChatGPT 的最终得分是 31/40,正确率 77.5%。
这个正确率,拿出来足以打败很多软件测试从业者了。
2.2 使用ChatGPT编写测试用例和编写代码
在 ChatGPT 看到这么一个提问,如何针对携程订机票构建自动化测试用例。
下面是ChatGPT给出的答案:
1.给出测试流程,拆解测试点,并给出技术可行性方案
2.帮忙写自动化代码
对于测试用例的构建是仅供参考级别,但是已经足够惊艳到我了。
2.3 Python+chatGPT 编程 5 分钟快速上手
2.3.1 示例 1:利用 chatGPT API 实现文本处理响应
import os
import openaiOPENAI_API_KEY="xxxxxx"
openai.api_key = os.getenv("OPENAI_API_KEY",OPENAI_API_KEY)prompt = "用Python写一个mock server"response = openai.Completion.create(model="text-davinci-003",prompt=prompt,temperature=0.5,max_tokens=1024,n=1,stop=None
)print(response.choices[0].text)
本示例是基于"text-davinci-003"模型来对 text 文本进行处理的,"text-davinci-003"是 chatGPT 最常用的模型之一。
运行结果如下:
这样就已经基于"text-davinci-003"的能力得到了我们想要的答案。
2.3.2 示例 2: 利用 chatGPT 实现 python 代码 bug 自动修复
import os
import openaiopenai.api_key = os.getenv("OPENAI_API_KEY")response = openai.Completion.create(model="code-davinci-002",prompt="##### Fix bugs in the below function\n \n### Buggy Python\nimport Random\na = random.randint(1,12)\nb = random.randint(1,12)\nfor i in range(10):\n question = \"What is \"+a+\" x \"+b+\"? \"\n answer = input(question)\n if answer = a*b\n print (Well done!)\n else:\n print(\"No.\")\n \n### Fixed Python",temperature=0,max_tokens=182,top_p=1.0,frequency_penalty=0.0,presence_penalty=0.0,stop=["###"]
)
从上面两者示例,大家不难看出,代码写起来并不复杂,不同功能实现起来的区别在于使用到的 model 以及设置参数的不同罢了,具体更多玩法,留给大家探索了。
“站在风口,猪都会飞!” 别人ChatGPT都用起来赚钱了,你可能连账号都没注册上。
三、参考文章
ChatGPT 通过国际软件测试工程师(ISTQB)认证
Python+chatGPT 编程 5 分钟快速上手
ChatGPT 生成单元测试实践(Golang)