摘要
這篇文章詳細描述幾種自動(dòng)化腳本編寫(xiě)方法,各自的優(yōu)、缺點(diǎn),同時(shí)在腳本編寫(xiě)的成本、編程技巧和腳本可維護性方面作出相應的
評價(jià)。
聲明
作者在對這幾種自動(dòng)化腳本編寫(xiě)方法作出關(guān)于成本的評價(jià)時(shí),沒(méi)有參考任何自動(dòng)化測試項目的成本分析文檔或成本效益分析結果。
建議讀者基于自己的理解和考慮風(fēng)險來(lái)消化利用這些信息。
文章的編排
這篇文章主要分析自動(dòng)化的成本,然后在描述每一種腳本編寫(xiě)方法時(shí)指出它的優(yōu)點(diǎn)和缺點(diǎn)。
關(guān)于優(yōu)缺點(diǎn),從以下方面進(jìn)行評價(jià):
腳本的編寫(xiě)是否是結構化的
測試用例在什么地方定義
開(kāi)發(fā)腳本的成本
需要怎樣的編程技能
如何計劃、設計和管理腳本
測試數據放在什么地方
腳本如何維護,維護成本
其它方面
成本
測試腳本相關(guān)的成本主要由開(kāi)發(fā)成本和維護成本組成。在自動(dòng)化測試過(guò)程中使用不同的腳本編寫(xiě)方法會(huì )對成本有不同程度的影響。
“錄制回放”的方法是簡(jiǎn)單的,也是脆弱的,但是它的開(kāi)發(fā)成本很低,然而維護成本很高,因此總體成本也會(huì )很高。使用先進(jìn)的關(guān)
鍵字驅動(dòng)測試的方法,則維護成本會(huì )很低,但是開(kāi)發(fā)成本會(huì )很高,因此總體成本也會(huì )很高。測試經(jīng)理需要在這些方法中作出明智的選擇,以
便把總體成本盡量降低。
編寫(xiě)腳本的方法
不同的自動(dòng)化測試腳本編寫(xiě)方法主要有:
線(xiàn)性的
結構化的
共享的
數據驅動(dòng)的
關(guān)鍵字驅動(dòng)的
線(xiàn)性腳本編寫(xiě)方法
線(xiàn)性腳本編寫(xiě)方法是使用簡(jiǎn)單的錄制回放的方法,測試工程師使用這種方法來(lái)自動(dòng)化地測試系統的流程或某些系統測試用例。它可
能包含某些多余的、有時(shí)候并不需要的函數腳本。
優(yōu)缺點(diǎn):
是一種非結構化的編程方式
測試用例由腳本定義
非常低的開(kāi)發(fā)成本
測試人員所需要的編程方面的技巧幾乎可以忽略
不需要計劃、設計
測試數據在腳本中是硬編碼的
腳本會(huì )很脆弱,因此維護成本會(huì )很高
沒(méi)有公用的腳本,因此可能造成重復勞動(dòng)
結構化腳本編寫(xiě)方法
結構化腳本編寫(xiě)方法在腳本中使用結構控制。結構控制讓測試員可以控制測試腳本或測試用例的流程。在腳本中,典型的結構控制
是使用“if-else”, “switch”,“for”,“while”等條件狀態(tài)語(yǔ)句來(lái)幫助實(shí)現判定、實(shí)現某些循環(huán)任務(wù)、調用其它覆蓋普遍功能的函
數
優(yōu)缺點(diǎn):
是結構化的腳本編寫(xiě)方法
測試用例在腳本中定義
編程的成本要比線(xiàn)性腳本編寫(xiě)方法略為高一點(diǎn)
需要測試員的調整編碼技巧
需要某種程度上的計劃、設計
測試數據也是在腳本中被硬編碼
因為相對穩定一點(diǎn),所以需要相對少的腳本維護,維護成本比線(xiàn)性腳本編寫(xiě)方法的要相對低
除了編程知識外,還需要一些腳本語(yǔ)言的知識
共享腳本編寫(xiě)方法
共享腳本編寫(xiě)方法是把代表應用程序行為的腳本在其它腳本之間共享。意味著(zhù)把被測應用程序的公共的、普遍的功能的測試腳本獨
立出來(lái),其它腳本對其進(jìn)行調用。這使得某些腳本按照普遍功能劃分來(lái)標準化、組件化。這種腳本甚至也可以使用在被測系統之外的其它軟
件應用系統。
優(yōu)缺點(diǎn):
腳本是結構化的
測試用例在腳本中定義
開(kāi)發(fā)成本相對于結構化腳本編寫(xiě)方法來(lái)說(shuō)要降低一些,因為減少了很多復制的勞動(dòng)
需要測試員的調整代碼的編程技巧
由于腳本需要模塊化,所以需要更多的計劃和設計
測試數據也是硬編碼的
腳本維護和維護成本要比線(xiàn)性腳本編寫(xiě)方法的相對低
數據驅動(dòng)腳本編寫(xiě)方法
這種方法把數據從腳本分離出去,存儲在外部的文件中。這樣腳本就只是包含編程代碼了。這在測試運行時(shí)要改變數據的情況下是
需要的。這樣腳本在測試數據改變時(shí)也不需要修改代碼。有時(shí)候,測試的期待結果值也可以跟測試輸入數據一起存儲在數據文件中。
優(yōu)缺點(diǎn):
腳本是以結構化的方式編程的
測試用例由測試數據或腳本定義
由于腳本參數化和編程成本,這種方法的開(kāi)發(fā)成本跟共享腳本編寫(xiě)方法比較要相對高
需要測試員較高的代碼調整方面的編程技巧
需要更多的計劃和設計
數據獨立存儲在數據表或外部文件
腳本維護成本較低
推薦在需要測試正反數據的時(shí)候使用
關(guān)鍵字驅動(dòng)腳本編寫(xiě)方法
這種方法把檢查點(diǎn)和執行操作的控制都維護在外部數據文件。因此測試數據和測試的操作序列控制都是在外部文件中設計好的,除
了常規的腳本外,還需要額外的庫來(lái)翻譯數據。是數據驅動(dòng)測試方法的擴展。
優(yōu)缺點(diǎn):
綜合了數據驅動(dòng)腳本編寫(xiě)方法、共享腳本編寫(xiě)方法、結構化腳本編寫(xiě)方法
測試用例由數據定義
開(kāi)發(fā)成本高,因為需要更多的測試計劃和設計、開(kāi)發(fā)方面的投入
要求測試人員有很強的編程能力
最初的計劃和設計、管理成本會(huì )比較高
數據在外部文件存儲
維護成本比較低
需要額外的框架或庫,因此測試員需要更多的編程技巧
評價(jià)
關(guān)于開(kāi)發(fā)的成本
隨著(zhù)腳本編寫(xiě)方法從線(xiàn)性到關(guān)鍵字驅動(dòng)的改變,開(kāi)發(fā)的成本不斷地增加。
關(guān)于維護的成本
隨著(zhù)腳本編寫(xiě)方法從線(xiàn)性到關(guān)鍵字驅動(dòng)的改變,維護的成本在降低。
關(guān)于編程技能要求
隨著(zhù)腳本編寫(xiě)方法從線(xiàn)性到關(guān)鍵字驅動(dòng)的改變,對一個(gè)測試員的編程熟練程度的要求在增加。
關(guān)于設計和管理的需要
隨著(zhù)腳本編寫(xiě)方法從線(xiàn)性到關(guān)鍵字驅動(dòng)的改變,設計和管理自動(dòng)化測試項目的要求在增加。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/