選單
GSS 技術部落格
在這個園地裡我們將從技術、專案管理、客戶對談面和大家分享我們多年的經驗,希望大家不管是喜歡或是有意見,都可以回饋給我們,讓我們有機會和大家對話並一起成長!
若有任何問題請來信:gss_crm@gss.com.tw
4 分鐘閱讀時間 (830 個字)

iota C.ai 產品開發的⾃動化測試—使用SideeX(Rapi前身)

logo-vertical-2x
  1. 介紹
  2. 單元測試
  3. UI測試
  4. 問題
  5. 目標

測試標的介紹 

⼀站式 Chatbot ⽣成⼯具

後端

 • ⼯具:MSTest

• 資料庫:SQLite (In-Memory) 

前端

• ⼯具:jest


單元測試

 利⽤ SideeX 執⾏ BotBuilder UI 測試

我們如何規劃及錄製腳本?


 腳本規劃模式

「獨立執⾏」:Test Suite 裡每個 Test Case 都可獨立執⾏,且沒有執⾏順序。


腳本規劃模式

「依序執⾏」:Test Suite 裡有⼀個整合其他 Case Test Case,只會執⾏這個 Case,並在裡⾯依序 Include 其他 Case 來執⾏。 

 腳本錄製範例

測試情境範例 - ⽂字輸入節點⾃動⽣成下⼀節點

•  在 C.ai 腳本編輯器中,「⽂字輸入」節點在設定完訊息的按鈕後,需⾃動建立 對應的「下⼀步規則」及「下⼀個節點」

•  需驗證項⽬

• 「下⼀步規則」需使⽤「⽂字」⽤「完全相符」來比較「按鈕回傳值」

• 「下⼀個節點」的名稱必須是「按鈕的標題」


 腳本錄製流程

依照規劃錄製腳本

• 錄製腳本同時也加上驗證的指令。

調整腳本內容

• ⽤變數替換與環境相關的值。

• 移除無意義的內容。

• 加上適當註解。 

確認可正常執⾏ & 匯出腳本

•  再次執⾏腳本,確定每次都可正常執⾏,且可重複執⾏。

 腳本實際執行結果

• 再次執⾏腳本,確定每次都可正常執⾏,且可重複執⾏。


 重複的流程每次都要重錄嗎?

 共用Test Case

有將重複的操作流程抽⾄共⽤的 Suite,錄製時可以直接 Include 使⽤。

引⽤共⽤ Test Case 範例


 無法跨環境執⾏?

 環境變數

使⽤環境變數的⽅式來讓同⼀個測試腳本能在不同環境執⾏。

透過更改環境變數來改變執⾏環境


 如何讓任何⼈都可以快速上⼿?

SideeX Test Repository


 如何讓測試⾃動執⾏?

⾃動化測試

• 使⽤ Jenkins 進⾏⾃動執⾏測試。

• 有建立 C.ai 專⽤的 Jenkins Node 及 SideeX WebService 來執⾏。

• 每個需要測試的環境都會建⼀個 Job。 

SideeX Job 所做的事

取得測試腳本

• 從 GitLab Repo 下載 SideeX 測試腳本。

• 可針對測試環境指定版本。 

依照環境設置不同環境變數

在不同環境的 Job 裡,會依照個環境的資料設定不同的環境變數。

• 如:App Url、測試⽤帳號密碼...

⾃動執⾏測試的時機

⼀. 每天 Jenkins Job Daily Build 結束後,針對 UT 環境執⾏測試。

➡ 為了測試 Develop 分⽀上是否有問題。

⼆. 每N個⼩時,針對 UT 環境執⾏測試。

➡為了排除測試時因環境因素導致的錯誤。

三. 當準備釋出新版本時,在 Release 分⽀有更新時,⾃動對 RC 環境執⾏測試。

➡ 為了測試 Release 上是否有問題。


使⽤ SideeX 時遇到的問題

無法輸入⾄ Ace-Editor 套件的編輯器

• 問題:Ace-Editor 套件的編輯器時,有 時候無法使⽤ "type" 指令將資料輸入 ⾄編輯器中。

• 解法:改⽤ "runScript" 執⾏ JS 去輸 入資料 

樣板語法與 SideeX 變數語法重複,導致無法使⽤樣板語法

• 問題:某功能⽀援以 ${xxxx} 的⽅ 式去套樣板,但在 SideeX 會被識 別為變數,導致無法輸入⾄ textarea。

• 解法:無 


END

我讀「軟體測試實務第二冊第五章」—第三方服務整合規劃、測試與維運實踐
回到過去 - 避免 PactNet 整合測試的困擾
 

評論

尚無評論
已經注冊了? 這裡登入
Guest
2025/06/09, 週一

Captcha 圖像