最近公司對現有的自動化測試框架進行反思,自己的心得體會記錄下:
總的自動化測試框架的目標
a.易寫,業務表達簡單直白,自然語言化;
b.模塊化,參與人員易貢獻;
c.自動化能力易擴展,能與其它框架的library集成;
d.易debug;failed時候,能rerun指定的case step,而不是整個case rerun, 跑case的時候,能提供指定case預處理不跑,case所需的環境變量通過手動設置job變量來傳遞過去;
e.易排錯,failed原因易查;初步做法是,能具體指出哪一類錯誤,而不是簡單地顯示一個failed信息。
f.case易提交運行;case 能方便從命令行提交運行。
g.易查看case運行的歷史記錄及log記錄;捕捉到的log 清晰簡單易理解, 要有一個總的log文件,跟蹤記錄case步驟的行爲。
h.能與其他持續集成工具集成。
i. 資源管理和job運行的調度 所有資源要拓撲化描述。
j. case 語法或規範檢查; 運行前可以預檢查。
k.case 能支持tag分類方法;方便歸類。
l.交互式session或session的重用機制;
m.自動化case 能generate 出case doc。
n.job 運行結果通知模塊;郵件是最起碼的要求。
o.對測試suite來說,運行結果可以自己定義base line 。
p. library 註冊機制和共享查詢機制。
case語言的 無限層級的include, 能使業務更模塊化,抽象層級高--case語言級別模塊化;
step command 命令 能按照參數規範 自由地擴展;即test library bin 可以自由地擴展--library bin 級別模塊化;
宏變量替換 能使case表達更簡潔;