軟件測(cè)試自動(dòng)化的一些具體做法
因?yàn)檐浖䴗y(cè)試的工作量很大(40% 到60% 的總開發(fā)時(shí)間),而又有很大部分適于自動(dòng)化,因此,測(cè)試的改進(jìn)會(huì)對(duì)整個(gè)開發(fā)工作的質(zhì)量、成本和周期帶來(lái)非常顯著的效果。
首先,談?wù)勗跍y(cè)試自動(dòng)化的情況下,帶有圖形界面的產(chǎn)品的測(cè)試用例的設(shè)計(jì)問(wèn)題。因?yàn)閳D形界面的輸出顯示不是很容易做到測(cè)試結(jié)果自動(dòng)化比較,所以一般的做法是把圖形界面輸出的部分單獨(dú)建立測(cè)試用例,以手工運(yùn)行。而所有非圖形輸出則可進(jìn)行自動(dòng)測(cè)試。
下面舉出一些測(cè)試自動(dòng)化的例子:
測(cè)試個(gè)案(test case ,或稱為測(cè)試用例)的生成
用編程語(yǔ)言或更方便的劇本語(yǔ)言(script language 例如Perl等)寫出短小的程序來(lái)產(chǎn)生大量的測(cè)試輸入(包括輸入數(shù)據(jù)與操作指令);蛲瑫r(shí)也按一定的邏輯規(guī)律產(chǎn)生標(biāo)準(zhǔn)輸出。輸入與輸出的文件名字按規(guī)定進(jìn)行配對(duì),以便控制自動(dòng)化測(cè)試及結(jié)果核對(duì)的程序易于操作。
這里提到測(cè)試個(gè)案的命名問(wèn)題,如果在項(xiàng)目的文檔設(shè)計(jì)中作統(tǒng)一規(guī)劃的話,軟件產(chǎn)品的需求與功能的命名就應(yīng)該成為后繼開發(fā)過(guò)程的中間產(chǎn)品的命名分類依據(jù)。這樣,就會(huì)為文檔管理和配置管理帶來(lái)很大的方便,使整個(gè)產(chǎn)品的開發(fā)過(guò)程變得更有條理,更符合邏輯。任何新手半途加入到開發(fā)工作中也會(huì)更容易進(jìn)入狀態(tài)。
測(cè)試的執(zhí)行寫控制
單元測(cè)試或集成測(cè)試可能多用單機(jī)運(yùn)行。但對(duì)于系統(tǒng)測(cè)試或回歸測(cè)試,就極有可能需要多臺(tái)機(jī)在網(wǎng)絡(luò)上同時(shí)運(yùn)行。記住一個(gè)這樣的原則,在開發(fā)過(guò)程中的任何時(shí)候,如果你需要等候測(cè)試的運(yùn)行結(jié)果的話,那就是一個(gè)縮短開發(fā)時(shí)間的機(jī)會(huì)。
對(duì)于單個(gè)的測(cè)試運(yùn)行,挖潛的機(jī)會(huì)在測(cè)試的設(shè)置及開始運(yùn)行和結(jié)果的對(duì)比及顯示。有時(shí)候,需要反復(fù)修改程序,重新匯編和重新測(cè)試。這樣,每一個(gè)循環(huán)的各種手工鍵入的設(shè)置與指令所花費(fèi)的時(shí)間,加起來(lái)就非常可觀。如果能利用make或類似的軟件工具來(lái)幫助,就能節(jié)省大量的時(shí)間。
對(duì)于系統(tǒng)測(cè)試或回歸測(cè)試這類涉及大量測(cè)試個(gè)案運(yùn)行的情況,挖潛的的機(jī)會(huì)除了利用軟件工具來(lái)實(shí)現(xiàn)自動(dòng)化之外,就是怎樣充分利用一切硬件資源。往往,就算是在白天的工作時(shí)間內(nèi),每臺(tái)計(jì)算機(jī)的負(fù)荷都沒(méi)有被充分利用。能夠把大量測(cè)試個(gè)案分配到各臺(tái)機(jī)器上去同時(shí)運(yùn)行,就能節(jié)省大量的時(shí)間。另外,把大量的系統(tǒng)測(cè)試及回歸測(cè)試安排到夜間及周末運(yùn)行,更能提高效率。
如果不購(gòu)買商品化的工具的話,應(yīng)當(dāng)遵從正規(guī)的軟件開發(fā)要求來(lái)開發(fā)出好的軟件測(cè)試自動(dòng)化工具。在實(shí)踐中,許多企業(yè)自行開發(fā)的自動(dòng)化工具都是利用一些現(xiàn)成的軟件工具再加上自己寫的程序而組成的。這些自己開發(fā)的工具完全是為本企業(yè)量身定做的,因此可用性非常強(qiáng)。同時(shí),也能根據(jù)需要隨時(shí)進(jìn)行改進(jìn),而不必受制于人。當(dāng)然,這就要求有一定的人力的投入。
在設(shè)計(jì)軟件自動(dòng)測(cè)試工具的時(shí)候,路徑(path)控制是一個(gè)非常重要的功能。理想的使用情況是:這個(gè)工具可以在任何一個(gè)路徑位置上運(yùn)行,可以到任何路徑位置去取得測(cè)試用例,同時(shí)也可以把測(cè)試的結(jié)果輸出放到任何的路徑位置上去。這樣的設(shè)計(jì),可以使不同的測(cè)試運(yùn)行能夠使用同一組測(cè)試用例而不至于互相干擾,也可以靈活使用硬盤的空間,并且使備份保存工作易于控制。
同時(shí),軟件自動(dòng)測(cè)試工具必須能夠有辦法方便地選擇測(cè)試用例庫(kù)中的全部或部分來(lái)運(yùn)行,也必須能夠自由地選擇被測(cè)試的產(chǎn)品或中間產(chǎn)品采作為測(cè)試對(duì)象。
相關(guān)推薦:考試吧策劃:2010年軟件水平考試完全指南北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |