基于LINUX平臺(tái)的自動(dòng)化測(cè)試的研究與應(yīng)用
(作者未知) 2011/6/22
摘要:本文面向Linux平臺(tái)和平臺(tái)下不同類型應(yīng)用的特點(diǎn),研究了自動(dòng)化測(cè)試的技術(shù)和工具,并從功能測(cè)試和性能測(cè)試的角度對(duì)Linux平臺(tái)下測(cè)試工作的自動(dòng)化進(jìn)行7分析和說明。文中提供的方法和技術(shù)已經(jīng)成功應(yīng)用于上海中標(biāo)軟件有限公司服務(wù)器產(chǎn)品和桌面產(chǎn)品的測(cè)試工作中。
關(guān)鍵詞:Linux;自動(dòng)化測(cè)試;軟件應(yīng)用
引言
現(xiàn)代軟件規(guī)模的逐漸增加,使得軟件測(cè)試的工作量越來越大,同時(shí)軟件開發(fā)周期的縮短又要求盡量提高測(cè)試效率,而受開發(fā)資金的限制測(cè)試資源不可能大幅度增加,一切使得傳統(tǒng)的手工測(cè)試已經(jīng)無法滿足現(xiàn)代軟件開發(fā)的要求。另一方面,許多公司已經(jīng)把軟件測(cè)試作為保證軟件質(zhì)量、提高軟件可靠性的主要手段之一,花費(fèi)在軟件測(cè)試上的資源已經(jīng)占到整個(gè)軟件研發(fā)成本的50~60%,軟件測(cè)試能否按時(shí)完成已經(jīng)成為軟件能否按時(shí)交付的瓶頸。所有這一切都使得對(duì)軟件測(cè)試實(shí)施自動(dòng)化勢(shì)在必行。
目前,市場(chǎng)上自動(dòng)化測(cè)試工具不少,按用途可分為:功能測(cè)試工具,性能測(cè)試工具,測(cè)試管理工具等。就實(shí)現(xiàn)技術(shù)原理而言主要分為兩類:一類是捕捉/回放技術(shù),一類是編寫測(cè)試腳本技術(shù)。捕捉/回放技術(shù)的腳本由捕捉時(shí)自動(dòng)生成。捕捉階段,工具記錄用戶的一系列鼠標(biāo)點(diǎn)擊和鍵盤按鍵操作,并將這些操作轉(zhuǎn)化為腳本;胤艜r(shí)把這些腳本作為輸入在被測(cè)程序上執(zhí)行,根據(jù)執(zhí)行后的狀態(tài)信息和輸出結(jié)果與原始記錄的比對(duì)來判定是否存在差異。編寫腳本技術(shù)需要用戶以一個(gè)指定的腳本語言編寫測(cè)試腳本,對(duì)于測(cè)試腳本的維護(hù)、測(cè)試執(zhí)行的驅(qū)動(dòng)以及測(cè)試結(jié)果的統(tǒng)計(jì)等可由用戶自行實(shí)現(xiàn),也可以使用專門的測(cè)試工具或者測(cè)試框架幫助完成。通過測(cè)試自動(dòng)化的實(shí)施,可以使測(cè)試人員從大量的重復(fù)測(cè)試中解放出來。
在Linux平臺(tái)下進(jìn)行自動(dòng)化測(cè)試,可以使用的商業(yè)測(cè)試工具并不是很多,但是由于開源軟件產(chǎn)業(yè)的蓬勃發(fā)展,在各個(gè)開源社區(qū)維護(hù)的開源項(xiàng)目中提供了大量的、針對(duì)不同類型應(yīng)用以及不同類型測(cè)試的測(cè)試工具,這些工具可以滿足基本的自動(dòng)化測(cè)試需求,同時(shí)可以結(jié)合具體應(yīng)用的特點(diǎn),通過進(jìn)一步改造工具來完成測(cè)試自動(dòng)化的目的。
本文所進(jìn)行的自動(dòng)化測(cè)試的研究對(duì)象主要針對(duì)Linux平臺(tái)及平臺(tái)之上的應(yīng)用,測(cè)試的類型主要包括功能測(cè)試和性能測(cè)試。
自動(dòng)化測(cè)試曲研究與應(yīng)用
自動(dòng)化測(cè)試的前提是無論采用何種測(cè)試技術(shù)和測(cè)試方法,組織已經(jīng)積累了針對(duì)各種類型應(yīng)用的包括完整的測(cè)試輸入、測(cè)試執(zhí)行步驟和預(yù)期輸出的測(cè)試用例。
由于Linux是一個(gè)命令行組成的操作系統(tǒng),因此采用腳本編程,按照預(yù)設(shè)的執(zhí)行邏輯批量地執(zhí)行命令行,是實(shí)施自動(dòng)化測(cè)試時(shí)首先需要考慮的手段。為了實(shí)現(xiàn)更復(fù)雜的測(cè)試工作的自動(dòng)化,也可以選擇或者自行開發(fā)測(cè)試工具或測(cè)試框架。在選擇工具或框架時(shí),通常需要考慮是否具備如下幾個(gè)要素:a,測(cè)試執(zhí)行人員可以選擇運(yùn)行哪些測(cè)試組件/測(cè)試用例b,提供定義用例執(zhí)行結(jié)果的輸出方式,如提供成功、失敗、未執(zhí)行等函數(shù)供調(diào)用c,可以加載用戶自定義的函數(shù)庫(kù)d,提供用例執(zhí)行的配置文件或者場(chǎng)景文件e,提供調(diào)試的機(jī)制f,提供日志輸出方式g,提供結(jié)果統(tǒng)計(jì)輸出等等。
在Linux平臺(tái)下,借助工具或者其他手段實(shí)施測(cè)試的自動(dòng)化時(shí),需要關(guān)注以下幾點(diǎn):
(一)各種技術(shù)應(yīng)用的前提。對(duì)于在開源社區(qū)和一些開源項(xiàng)目中獲得的測(cè)試工具,首先需要了解工具適用于哪些類型應(yīng)用的測(cè)試,以及工具發(fā)布后的發(fā)布說明和FAQ。開源的工具通常不像商業(yè)工具那樣成熟穩(wěn)定,因此找出工具的適用范圍以及探索工具的實(shí)現(xiàn)程度是進(jìn)行自動(dòng)化測(cè)試應(yīng)用的前提。
(二)各種技術(shù)應(yīng)用的環(huán)境需求。對(duì)于各類工具,需要關(guān)注編譯和運(yùn)行時(shí)對(duì)各種包和庫(kù)及其版本的依賴關(guān)系以及對(duì)預(yù)先安裝的應(yīng)用的依賴關(guān)系。這些在用戶手冊(cè)中都有詳盡的說明。
(三)服務(wù)器性能監(jiān)視器。大部分測(cè)試工具沒有提供服務(wù)器端的性能監(jiān)控功能,測(cè)試工程師需要根據(jù)實(shí)際的需求編寫性能監(jiān)控腳本來配合工具的使用。
下面結(jié)合曾經(jīng)參與進(jìn)行過的Linux平臺(tái)下的自動(dòng)化測(cè)試的研究,面向不同類別的測(cè)試用例自動(dòng)化的需求,將主要從功能測(cè)試,如GUI測(cè)試、命令行客戶端的測(cè)試,以及性能測(cè)試等幾個(gè)方面對(duì)Linux平臺(tái)下的測(cè)試工作的自動(dòng)化進(jìn)行分析和說明。
GZW自動(dòng)化洲試
對(duì)于GUI測(cè)試的自動(dòng)化,通常的測(cè)試工具所使用的捕捉/回放技術(shù)有兩種,一種是通過記錄界面的鼠標(biāo)事件(如點(diǎn)擊、移動(dòng))和鍵盤事件來完成錄制和回放,另外一種則是錄制和回放都是基于控件的識(shí)別和操作進(jìn)行的,每個(gè)腳本的執(zhí)行都是控件對(duì)象的屬性改變或事件觸發(fā)。我們從開源社區(qū)可以獲得如上兩種類型的運(yùn)行于Linux平臺(tái)之上的典型測(cè)試工具,如Knee和LDTP等。
(一)Xnee工具
在Linux操作系統(tǒng)的xll環(huán)境下(未完,下一頁)
|