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