基于LINUX平臺(tái)的自動(dòng)化測(cè)試的研究與應(yīng)用
(作者未知) 2011/6/22
(接上頁)測(cè)試實(shí)踐中選擇了Dejagnu框架,該框架符合POSIx1003,3測(cè)試框架標(biāo)準(zhǔn),并定義了測(cè)試用例執(zhí)行結(jié)果的輸出函數(shù),如pass,fail,xpass,xfail等等,因此可以使用框架的用例輸出定義在日志中記載測(cè)試結(jié)果。
性能測(cè)試
性能測(cè)試是通過自動(dòng)化的測(cè)試工具模擬多種正常、峰值以及異常負(fù)載條件來對(duì)系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測(cè)試。性能測(cè)試方法一般有基準(zhǔn)測(cè)試、容量規(guī)劃測(cè)試、峰谷測(cè)試和滲入測(cè)試等等,對(duì)于可再現(xiàn)性,基準(zhǔn)測(cè)試是最好的方法,而如果需要從當(dāng)前用戶負(fù)載的角度考慮測(cè)試系統(tǒng)的上限,則應(yīng)該使用容量規(guī)劃測(cè)試。
(一)性能測(cè)試工具的選擇
測(cè)試團(tuán)隊(duì)在規(guī)劃性能測(cè)試時(shí),出于對(duì)測(cè)試數(shù)據(jù)的可信度考慮,可以選擇商業(yè)測(cè)試工具,如Loadrunner、Rati onal R 0b Ot、QAL Oad、Benchmark Factory等工具,另外SPEC(the Standard PerformanceEvaluation Corporation標(biāo)準(zhǔn)性能評(píng)估機(jī)構(gòu))提供的系列基準(zhǔn)測(cè)試套件都是企業(yè)進(jìn)行基準(zhǔn)測(cè)試的最佳選擇。
如果成本是首要考慮的因素,那么就不妨在一些開源測(cè)試站點(diǎn)(如http://www.opensourcetesting,org)和Linux開源社區(qū)的項(xiàng)目中尋找能夠完成特定目標(biāo)的性能測(cè)試工具。這些工具大部分針對(duì)性比較強(qiáng),部署簡(jiǎn)單,當(dāng)然很少工具能夠與成熟的商業(yè)測(cè)試工具媲美。不過開源工具也具有自己的特點(diǎn),如小巧,輕便,在各自擅長(zhǎng)的領(lǐng)域可以提供優(yōu)秀的解決方案等等。因此可以考慮準(zhǔn)備一組開源測(cè)試工具,利用不同工具的特長(zhǎng)完成性能測(cè)試自動(dòng)化的需要。采用開源測(cè)試工具得到的性能測(cè)試數(shù)據(jù),主要用于進(jìn)行同類產(chǎn)品之間的橫向?qū)Ρ纫约巴划a(chǎn)品不同版本之間的縱向?qū)Ρ取?
(二)性能測(cè)試工具的應(yīng)用
下面將從不同的測(cè)試需求出發(fā)。討論如何利用開源測(cè)試工具進(jìn)行性能測(cè)試的自動(dòng)化。
1、服務(wù)器整機(jī)系統(tǒng)的性能測(cè)試
性能測(cè)試是衡量一個(gè)操作系統(tǒng)效率的關(guān)鍵步驟,對(duì)于Linux操作系統(tǒng),Linux內(nèi)核是其最核心的部分,其性能直接決定了操作系統(tǒng)的性能,內(nèi)核性能測(cè)試的方法是針對(duì)Linux內(nèi)核五大子系統(tǒng):進(jìn)程調(diào)度子系統(tǒng)、內(nèi)存管理子系統(tǒng)、虛擬文件子系統(tǒng)、進(jìn)程通信子系統(tǒng)和網(wǎng)絡(luò)子系統(tǒng)的特點(diǎn),測(cè)量出Linux內(nèi)核完成工作量負(fù)載的響應(yīng)時(shí)間、CPU時(shí)間和CPU利用率等參數(shù),作為衡量標(biāo)準(zhǔn)。在實(shí)際測(cè)試中我們采用了如下一些基準(zhǔn)測(cè)試工具:
1 Lmbench:用來測(cè)試1inux操作系統(tǒng)的cpu計(jì)算處理能力、進(jìn)程調(diào)度、內(nèi)存讀寫性能;測(cè)試主要可使用bw_dhrv和bw—mem,lat proc三個(gè)測(cè)試命令,分別對(duì)應(yīng)于整數(shù)性能測(cè)試,讀寫內(nèi)存測(cè)試,進(jìn)程調(diào)度測(cè)試。
2 Bonnie++:磁盤I/O測(cè)試工具,主要用于測(cè)試磁盤和文件系統(tǒng)的性能。它可以測(cè)試文件的創(chuàng)建,讀,寫和刪除等操作,既可以測(cè)試小文件,也可以測(cè)試大的單個(gè)文件。
3 Web應(yīng)用服務(wù)器的性能測(cè)試
在中標(biāo)軟件的web郵件服務(wù)器測(cè)試中采用了Apache組織的開源項(xiàng)目工具JMeter。JMeter可以用于測(cè)試靜態(tài)或者動(dòng)態(tài)資源的性能(文件、Servlets、Perl腳本、java對(duì)象、數(shù)據(jù)庫(kù)和查詢、ftp服務(wù)器或者其他的資源)。JMeter用于模擬在服務(wù)器、網(wǎng)絡(luò)或者其他對(duì)象上附加高負(fù)載以測(cè)試他們提供服務(wù)的受壓能力,或者分析他們提供的服務(wù)在不同負(fù)載條件下的總性能情況。用戶可以使用JMeter提供的圖形化界面分析性能指標(biāo)或者在高負(fù)載情況下測(cè)試服務(wù)器/腳本/對(duì)象的行為。
4 數(shù)據(jù)庫(kù)性能測(cè)試
基于開源的數(shù)據(jù)庫(kù)性能測(cè)試工具并不是很多,這些工具本身都預(yù)先提供了一組測(cè)試用例如The DatabaseOpensource Test Suite(DOTS)工具,提供了8個(gè)基本用例和2個(gè)高級(jí)用例,并支持對(duì)DB2、Oracle、Sybase、MySQL和Pos tgreSQL等多種類型數(shù)據(jù)庫(kù)進(jìn)行壓力測(cè)試和負(fù)載測(cè)試,另外一些工具則預(yù)先構(gòu)造了支持不同負(fù)載模式測(cè)試的配置,如最新版本的Hammerora(The Open Sourceoracle Load Test T001)工具就提供了專門針對(duì)Oracle數(shù)據(jù)庫(kù)進(jìn)行測(cè)試的設(shè)定基準(zhǔn)測(cè)試TPC—C和TPC—H的模式選項(xiàng)以及編寫驅(qū)動(dòng)腳本等功能。從實(shí)踐過程來看,預(yù)置測(cè)試用例的工具存在的缺陷是用戶無法對(duì)這些用例根據(jù)實(shí)際測(cè)試需求進(jìn)行拓展,而可編程性強(qiáng)的測(cè)試工具則在支持的數(shù)據(jù)庫(kù)類型上存在一定的限制。
結(jié)束語
針對(duì)Linux平臺(tái)和平臺(tái)下的應(yīng)用進(jìn)行自動(dòng)化測(cè)試,需要測(cè)試人員熟悉Linux平臺(tái)下的腳本開發(fā)技術(shù),并以開源社區(qū)中存在的大量的功能和性(未完,下一頁)
|