ChatGPT優秀插件匯總--插件自動生成單元測試代碼實驗
0x01 前言
OpenAI的ChatGPT智能AI引擎,在全世界范圍流行,各種ChatGPT應用場景也遍地開花。 問題回答、文章續寫、代碼審計、自動生成單體測試、木馬生成等等,都可以實現。
用戶方面也有很多相關活動,有媒體號拉群推廣技術、有中間商提供相關服務、內容代理轉發機器人、相關組織加緊封號,技術人員先行進入戰場,然后是自媒體流量段子飛起。
簡單測試一下,ChatGPT在軟件開發方面的功能是否好用,就用一個自動生成單元測試代碼作為例子。文章最后,提供一些好用的ChatGPT插件,覆蓋了日常最常用的ChatGPT的使用場景。
0x02 ChatGPT自動生成代碼單元測試用例
源代碼,先寫一個簡單的Lua函數代碼,太復雜的理解的也慢,如下:
function ChatGPT(num1, num2)local ret = num1 + num2return retendChatGPT(5,7)
然后,查看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
把單體測試代碼復制源代碼中,等待執行。
圖-2 測試執行Lua單元測試代碼
正常執行代碼,顯示空內容。
圖-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)的條件改錯,出現下面的執行結果。
圖-4 單體斷言出錯
正常用ChatGPT自動生成的函數單元測試代碼是沒有問題的, 用例都是斷言(Assert)對的用例,“異常系”的用例,需要自己改造測試代碼,從這個角度看,ChatGPT生成單元測試代碼,還是可以提高工作效率的。
0x04 好用有的ChatGPT插件匯總
最后,推薦幾個常用插件, 可以讓用戶在多種情況下,使用ChatGPT的功能,這三個插件都有一定的用戶基數, 用起來還是可以的,Obsidian筆記社區本身支持也很強大。ChatGPT最開始是從日文站看到的。
Chrome瀏覽器插件:ChatGPT Everywhere
圖-5 瀏覽器插件
這是一個瀏覽器插件,可以在插件市場中下載,對不同的瀏覽器找對應的版本。
VSCode插件:ChatGPT
圖-6 VSCode插件
VSCode的插件,本文生成單元測試代碼就靠這個插件。
Obisidian筆記插件:Text Generator
圖-7 Obsidian筆記插件
用Obsidian筆記做知識管理和工作流的可以安裝這個插件使用ChatGPT。以上這三個插件,是比較常用的,覆蓋了基本使用場景,不用切換到瀏覽器下使用。
0x05 總結
以 上插件使用,遇到什么相關問題,請在公眾號私信留言,提供相關支持。

在OpenResty公司的產品迭代最初發展階段,我們就開始使用OpenResty產品,應用于計算機Web安全業務場景,基于OpenResty Edge WAF與OpenResty XRay分析平臺。同時,于人民郵電出版社,編輯胡俊英老師,李華鋒老師,一起出版 創作了《墨守之道-Web服務安全架構與實踐》 這本書,實踐了動態追蹤技術,在 Web 安全領域的應用。