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