線性框架:又指錄制和回放(play and record)框架。在這種框架中,測試人員通常不需要編寫測試腳本,只需要錄制某一次測試的過程(自動生成測試腳本),然后在后續的測試中回放這次錄制的結果(執行測試腳本)即可。線性框架最大的好處是無須手動編寫測試代碼,因此門檻較低、易于上手。然而線性框架的不足之處也很明顯:錄制的腳本是固定的(hardcode)。這意味著,當應用發生微小變化時,上一次錄制的腳本可能就無法使用了,需要重新錄制(rework),從而產生大量的后期維護成本。
數據驅動框架:在數據驅動框架中,測試數據和測試腳本是分離的。在許多測試場景中,需要使用不同的測試數據多次測試同一功能或特性。如果測試數據是hardcode進測試腳本的,那么每更換一次測試數據都需要修改測試腳本。這是很大的工作量。此時,可以使用數據驅動框架。具體來說,測試腳本是固定的,而測試數據可以從外部的數據文件,以Excel、CSV、SQL等形式作為參數傳入測試腳本。這樣,我們只需要維護一份腳本和一份數據文件即可。總體來說,這種框架最大的好處就是易于維護。但是識別與格式化數據、編寫通用測試腳本等需要花費技術和時間。
關鍵詞驅動框架:在關鍵詞驅動框架中,測試數據和測試腳本也是分離的。不同的是,這個框架更進一步地將測試腳本中的通用功能剝離出來,形成關鍵詞(keyword)。測試腳本本質上就是對一系列通用的或者自定義的關鍵詞的調用。這樣做的好處是關鍵詞可以在多個測試中復用,并且測試腳本更加易于維護。不過,實現這樣一個框架并非易事。
推薦閱讀: