iT邦幫忙

2025 iThome 鐵人賽

DAY 3
0
自我挑戰組

Robot Framework 與 Websocket 協議測試系列 第 11

背景建置小結: 背景技術說明與待測系統回顧

  • 分享至 

  • xImage
  •  

前言

大家中秋連假好哇,從第一篇連載開始到現在已經累積十篇了,是時候該回顧一下過去我們提到的技術跟待測系統設計,做一個小小的回顧。
雖然第三天斷聯就失去完賽資格了,不過還是會持續做到底的。

看清楚坑再跳下去: 技術棧回顧

我們設計的服務端採用了 WebSocket 加上 Protobuf 的長連接。

最後,會再套上一層 Robot Framework 寫的測試項目管理系統。

Robot Framework

Robot Framework 是一個通用的自動化測試框架,採用關鍵字驅動的方式使測試更加直觀。它支援多種測試庫,能夠輕鬆整合各種測試工具,特別適合進行驗收測試和自動化測試。其簡潔的語法和豐富的報告功能使其成為測試工程師的首選工具之一。

WebSocket

WebSocket 是一種在單個 TCP 連接上進行全雙工通訊的協議,允許服務器與客戶端之間持續的雙向資料傳輸。與傳統的 HTTP 請求不同,WebSocket 建立連接後可保持開啟狀態,大幅減少通訊延遲,特別適合需要即時更新的應用,如遊戲、聊天和金融交易系統。

Protobuf

Protobuf (Protocol Buffers) 是 Google 開發的一種輕量級、高效的結構化數據序列化格式。它比 JSON 或 XML 更小巧快速,具有強類型定義,支援多種程式語言。在網絡傳輸和數據存儲中,Protobuf 能有效減少數據量,提高處理效率,特別適合對性能要求高的系統。

為了喝牛奶養一頭牛: 待測系統回顧

因為找不到適合的待測對象拿來用,就索性用 Vibe Coding 請 AI 做了一套。

以下解釋設計思路。

搖骰子遊戲的基本玩法

玩法設計簡單,一顆骰子有六面,每次骰一個數字,猜對就賠六倍,結束!

遊戲架構採用電子遊戲玩法,一人一個回合一次結算,沒有過多的交互。

跟 AI 協作生成整套遊戲

這次的重點不是遊戲,所以就請 AI 做整套,我就做最後的驗證而已。

跟AI互動的過程還算有趣,我喜歡的是 Claude Code 這一套工具,個性比較務實一點,跟我比較合拍。
先請他自己生高階功能描述,再請他生細節的技術規格。最後,自己吃自己的成果,轉成可以執行的服務端程式碼。逐步遞進,逐層檢查。只要小小的檢查跟訂正一下,AI 的成果大部分是可用的。

協議訊息解析

細節不詳述,不過有介紹一些網路封包的背景,像是如何打包、解包,如何用 Python 解譯發送 Protobuf 等。

對於幕後基礎技術有興趣的,可以翻翻前面幾篇文章。

單元測試

先自己承認,單元測試的程式碼也不是我寫。

不過,想借此機會講一下:自己交付的成果一定要自己做單元測試,不要把問題留給別人幫你收拾殘局。

即便你外包給別人或者請 AI 幫你寫都一樣,重點是最後驗收那個人,代表了你的想法跟你的投入,也是最終負責人。

小結

這集也算是水了一篇,不過也算是個緩衝,帶大家回顧一下我們為何做,怎麼做,做了什麼。

接下來就會進入重頭戲——Robot Framework 的搭建使用與細部拆解,請大家拭目以待。

不過,節奏感還會是像之前一樣,工作之餘再抽空更新,請多包涵。


上一篇
簡易的伺服器跟客戶端聯調
系列文
Robot Framework 與 Websocket 協議測試11
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言