ChatGPT优秀插件汇总--插件自动生成单元测试代码实验

admin 2023年3月10日08:16:57评论266 views字数 1386阅读4分37秒阅读模式

0x01 前言

OpenAIChatGPT智能AI引擎,在全世界范围流行,各种ChatGPT应用场景也遍地开花。 问题回答、文章续写、代码审计、自动生成单体测试、木马生成等等,都可以实现。
用户方面也有很多相关活动,有媒体号拉群推广技术、有中间商提供相关服务、内容代理转发机器人、相关组织加紧封号,技术人员先行进入战场,然后是自媒体流量段子飞起。
简单测试一下,ChatGPT在软件开发方面的功能是否好用,就用一个自动生成单元测试代码作为例子。文章最后,提供一些好用的ChatGPT插件,覆盖了日常最常用的ChatGPT的使用场景。

0x02 ChatGPT自动生成代码单元测试用例

源代码,先写一个简单的Lua函数代码,太复杂的理解的也慢,如下:

function ChatGPT(num1, num2)

local ret = num1 + num2return retendChatGPT(5,7)

然后,查看ChatGPT返回的单元测试代码,如下:

ChatGPT优秀插件汇总--插件自动生成单元测试代码实验 

-1 ChatGPT生成的Lua单元测试的代码(两个用例)


看到了ChatGPT返回的两个测试用例。

测试用例1

function test_ChatGPT()

assert(ChatGPT(1, 2) == 3)end

测试用例2

function test_ChatGPT()assert(ChatGPT(-2, 3) == 1)end

把单体测试代码复制源代码中,等待执行。 

ChatGPT优秀插件汇总--插件自动生成单元测试代码实验 

-2 测试执行Lua单元测试代码

正常执行代码,显示空内容。

ChatGPT优秀插件汇总--插件自动生成单元测试代码实验 

-3 返回结果为空


0x03 改造AI生成单元测试代码

ChatGPT返回的Lua单体测度代码,都是断言(Assert)正确的结果,手段把生成的代码改了,生成的是不出断言出错的,改成会造成代码断言出错的。
改之前,代码:
function test_ChatGPT()assert(ChatGPT(1, 2) == 3)end

改之后,代码:
function test_ChatGPT()assert(ChatGPT(1, 2) == 5)end

故意把断言(assert)的条件改错,出现下面的执行结果。

ChatGPT优秀插件汇总--插件自动生成单元测试代码实验 

-4 单体断言出错

正常用ChatGPT自动生成的函数单元测试代码是没有问题的, 用例都是断言(Assert)对的用例,异常系的用例,需要自己改造测试代码,从这个角度看,ChatGPT生成单元测试代码,还是可以提高工作效率的。


0x04 好用有的ChatGPT插件汇总

最后,推荐几个常用插件, 可以让用户在多种情况下,使用ChatGPT的功能,这三个插件都有一定的用户基数, 用起来还是可以的,Obsidian笔记社区本身支持也很强大。ChatGPT最开始是从日文站看到的。

Chrome浏览器插件:ChatGPT Everywhere

ChatGPT优秀插件汇总--插件自动生成单元测试代码实验 

-5 浏览器插件

这是一个浏览器插件,可以在插件市场中下载,对不同的浏览器找对应的版本。

VSCode插件:ChatGPT

ChatGPT优秀插件汇总--插件自动生成单元测试代码实验 

-6 VSCode插件

VSCode的插件,本文生成单元测试代码就靠这个插件。

Obisidian笔记插件:Text Generator

ChatGPT优秀插件汇总--插件自动生成单元测试代码实验 

-7 Obsidian笔记插件

Obsidian笔记做知识管理和工作流的可以安装这个插件使用ChatGPT以上这三个插件,是比较常用的,覆盖了基本使用场景,不用切换到浏览器下使用。
ChatGPT优秀插件汇总--插件自动生成单元测试代码实验

原文始发于微信公众号(新浪安全中心):ChatGPT优秀插件汇总--插件自动生成单元测试代码实验

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月10日08:16:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   ChatGPT优秀插件汇总--插件自动生成单元测试代码实验http://cn-sec.com/archives/1593828.html

发表评论

匿名网友 填写信息