企業中如何設計自動化測試腳本呢?今天我們就來為大家分享一些干貨.
一.線性設計
線性腳本設計方式是以腳本的方式體現測試用例, 是一種非結構化的編碼方式, 多數采用錄制+回放的方式, 測試工程師通過錄制+回訪的訪問對被測系統進行自動化測試. 錄制的腳本會產生某些冗余的代碼內容或函數及腳本.
線性設計的特點:
1.1 測試用例已腳本方式編寫
1.2 腳本開發成本較低
1.3 對測試人員編碼的無經驗要求
1.4 不需要提前對測試框架進行設計與開發
1.5 測試過程中的數據是寫死在腳本中的. 會出現冗余
1.6 腳本的維護比較困難, 成本非常高
1.7 測試人員各自為主, 缺少復用
二.結構化設計
結構化設計是以函數/方法的形式進行編寫, 主要是通過循環來控制測試流程及測試腳本, 如使用for循環、while循環、if...else...等循環或分支語句實現對函數的不同條件的判斷及場景的調用.
結構化設計的特點:
2.1 測試用例在腳本中通過函數的方式體現
2.2 測試腳本編碼能力較線性腳本有更高的要求
2.3 需要測試人員具備良好的代碼設計能力與編碼能力
2.4 測試數據依然在腳本中寫死
2.5 相對較為穩定, 所需要的維護成本較線性腳本相對較低
三.共享化設計
共享化設計是將腳本中公共的函數/內容在整個測試過程中進行共享, 方便其它腳本的調用, 減少了代碼的冗余. 讓被測系統實現組件化的互相調用.
共享化設計的特點:
3.1 測試用例在腳本中編寫,同時需要便于其它腳本的調用
3.2 開發成本較低, 減少了大量的冗余腳本內容
3.3 對測試人員的代碼設計能力有較高要求
3.4 由于需要組件化進行設計, 對測試人員的編碼能力要求較高
3.5 腳本的維護和成本較低
四.數據驅動設計
數據驅動設計是將測試數據與測試腳本進行分離,以外部數據文件的方式進行測試數據管理, 減少耦合, 在測試過程中需要對測試數據進行修改時, 僅需修改外部數據文件中的內容即可,測試腳本中的代碼內容不做改動, 從而減少頻繁修改代碼產生的問題
數據驅動設計的特點:
4.1 測試用例的腳本與測試數據分離, 需要測試數據時進行I/O讀取
4.2 參數化數據讀取與寫入相對來說, 對測試人員的編碼能力進一步提高
4.3 測試數據獨立進行保存與維護
4.4 測試腳本的維護成本較低
4.5 一般推薦在需要測試正反向測試時使用
4.6 測試數據能夠復用, 進一步減少了代碼的冗余情況
五.關鍵字驅動設計
關鍵字驅動是將所有需要執行的業務操作中的公共的操作獨立進行封裝, 所有業務調用公共的操作方式, 而對于程序的控制也以函數的方式進行驅動, 即公共操作, 程序控制, 測試數據都通過外部數據文件進行管理和讀寫, 關鍵字驅動的基礎的數據驅動.
關鍵字驅動設計的特點:
5.1 關鍵字驅動對于測試人員的編碼能力要求非常高, 需要大量的編碼經驗積累
5.2 關鍵字驅動中測試用例是以外部數據文件的方式進行組織的
5.3 對于整體測試框架的設計能力要求較高
5.4 能夠極大的降低其它測試人員的編碼能力要求
5.5 整體框架的維護成本非常低
5.6 支持多個項目復用, 同一套框架可以不斷復用在其它的項目中