sofa-動態bundle測試分析

小知識:

   bundle和模塊可以理解是一樣的意思

動態bundle生命週期

Install:完成模塊下載、解壓和解析,異常進入HandleException

Load:完成log4j日誌配置、spring上下文加載、執行模塊啓動回調方法、執行健康檢查等,異常進入HandleException

 

場景如下:有一個平臺,在這平臺上,用戶可以配置模塊名稱、版本號、機器/機房名稱,點擊確定之後程序會自動去加載動態bundle zip包,然後開始安裝動態bundle,完成install->load的操作。

測試準備

動態zip包導入指定的路徑,比如/home/admin/xxx

測試分析

sofa動態bundle的測試主要是考慮動態bundle的生命週期、異常情況

測試場景:

  1. 正常情況下安裝成功,模塊檢測,能出現對應的模塊名字、版本、機器等信息
  2. 灰度版本推全,原基礎版本在所有機器卸載成功,模塊檢測,不再出現對應的模塊信息
  3. 灰度版本切換,原基礎版本不會更改,原灰度版本在指定機器卸載,新灰度版本生效,模塊檢測,模塊信息正確
  4. 還要考慮異常情況。比如模塊不存在,或者模塊安裝錯誤(路徑不對,沒有實現) 等的異常情況

測試策略

功能測試:覆蓋平臺的測試場景

接口測試:平臺的測試場景實現自動化

單元測試:實現instal、Load、unload、uninstall的單元測試

 

總結:

平臺實現自動化,測試考慮動態bundle的生命週期和異常情況場景的測試覆蓋

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章