一、什么是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 openai

OPENAI_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 openai

openai.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)

更多推荐

ChatGPT给测试工程师带来的机会和威胁