在GPT4的论文中有一句话是这么说的:

GPT-4和类似的模型可能会从此引起失业,甚至那些需要多年经验和教育的职位也可能逐渐消失。(通俗讲:专治老司机)

该言论引发了全网取代搜索引擎与程序员的讨论。各种言论席卷而来,作为软件测试人,相信不少人都感受到了危机感。但是,Chat GPT真的就这么所向披靡么?对于软件测试人,我们该关注什么呢?

什么是Chat GPT?

是 OpenAI 开发的大型语言模型。它能够生成类似人类的文本,可用于广泛的自然语言处理任务,例如翻译、摘要和文本生成。

对于软件领域的我们来说,Chat GPT 最有趣的功能之一是它可以根据简单的自然语言请求生成格式正确且相关的代码或者查找出代码中的缺陷并提出修复建议。

Chat GPT与软件测试

根据最近的一项调查报告显示,Chat GPT已经能够找出并优化77.5%的bug。

例如:写好测试方法,让gpt帮助扩充用例集,下面的代码就是gpt给出的代码建议。

帮我优化下面的代码

优化前:

// picCompress Modify size to compress pictures.

func picCompress(picData []byte) (newPicData []byte, err error) {

oldBuf := bytes.NewBuffer(picData)

pic, _, err := image.Decode(oldBuf)

if err != nil {

return

}

newPic := resize.Resize(uint(pic.Bounds().Dx()/2), 0, pic, resize.Lanczos3)

var newBuf bytes.Buffer

err = png.Encode(&newBuf, newPic)

if err != nil {

return

}

newPicData, err = ioutil.ReadAll(&newBuf)

if err != nil {

return

}

return

}

优化后:

您好!下面是一个优化版的代码,主要改进在于:

减少对象的创建,避免额外的内存分配和垃圾回收,增加错误检查,避免可能的错误被忽略。

以下是优化版代码:

// picCompress Modify size to compress pictures.

func picCompress(picData []byte) ([]byte, error) {

reader := bytes.NewReader(picData)

pic, _, err := image.Decode(reader)

if err != nil {

return nil, err

}

newPic := resize.Resize(uint(pic.Bounds().Dx()/2), 0, pic, resize.Lanczos3)

var writer bytes.Buffer

err = png.Encode(&writer, newPic)

if err != nil {

return nil, err

}

return writer.Bytes(), nil

}

尝试减少了对象的创建,使用了 bytes.Reader 代替了 bytes.NewBuffer 和 ioutil.ReadAll。

在处理图片过程中,使用 bytes.Buffer 代替了 newBuf 这个额外的对象。

同时也将函数的返回值简化,只返回处理后的 []byte 和可能的错误,避免了空值的返回。最后,增加错误检查,保证代码健壮性。

目前也有不少测试人员尝试利用Chat GPT生成测试用例。除此之外,Chat GPT到底能为软件质量保障做出什么贡献呢?我们一起来看下它自己的回复。

Chat GPT如何帮助测试工程师提高工作效率?

1. 任务自动化。Chat GPT可以将某些测试任务自动化,为测试工程师节省时间和精力。

2. 提高准确性。Chat GPT可以帮助提高测试工作的准确性,减少返工,简化测试流程。

3. 促进团队协作和获取知识。Chat GPT可以促进协作,方便客户快速访问相关信息和资源改善团队内部的沟通和协调,减少寻找和评估信息所需的时间和精力。

是危机,更是机遇

“Chatgpt会取代测试么?”我们都知道,答案是否定的。

在未来,测试人员可能会继续在科技行业发挥重要作用。随着软件和技术变得更加复杂和精密,对彻底测试和质量保证的需求只会增加。测试人员有助于确保软件和技术产品的可靠性、高效性和用户友好性,他们在开发过程中发挥着关键作用。

虽然测试人员的具体任务和职责可能会随着时间的推移而发展和变化,但对高质量测试的需求可能会继续成为科技行业的一个重要方面。因此,在未来应该对熟练和有经验的测试人员有强烈的需求。

最后,以Chat GPT的这段回复来答复所有软件测试人的疑虑。

翻译过来就是:

测试人员在科技行业有前途么?

在未来,测试人员可能会继续在科技行业发挥重要作用。随着软件和技术变得更加复杂和精密,对彻底测试和质量保证的需求只会增加。测试人员有助于确保软件和技术产品的可靠性、高效性和用户友好性,他们在开发过程中发挥着关键作用。

虽然测试人员的具体任务和职责可能会随着时间的推移而发展和变化,但对高质量测试的需求可能会继续成为科技行业的一个重要方面。因此,在未来应该对熟练和有经验的测试人员有强烈的需求。