漫談軟件性能測(cè)試技術(shù)
1、引言
隨著我國(guó)加入WTO,各行各業(yè)都面臨更多的機(jī)遇和挑戰(zhàn)。如何提高產(chǎn)品的質(zhì)量,增 強(qiáng)市場(chǎng)競(jìng)爭(zhēng)力,日益成為企業(yè)發(fā)展必須解決的迫切問(wèn)題,對(duì)軟件企業(yè)來(lái)說(shuō)尤為重要。軟件企業(yè)要直接參與國(guó)際軟件市場(chǎng)的競(jìng)爭(zhēng),首要問(wèn)題就是要保證軟件的質(zhì)量,同 時(shí)要加快軟件產(chǎn)品的發(fā)布與交付使用。因此,如何提高軟件質(zhì)量,越來(lái)越成為當(dāng)前軟件產(chǎn)業(yè)發(fā)展中一個(gè)迫在眉睫的問(wèn)題。本文只針對(duì)軟件質(zhì)量的性能方面,做一些探 討。
2、軟件質(zhì)量
質(zhì)量保證能力的強(qiáng)弱直接影響著軟件業(yè)的發(fā)展和生存。那么,到底 什么是軟件的質(zhì)量呢?《GB/T 16260 信息技術(shù) 軟件產(chǎn)品評(píng)價(jià) 質(zhì)量特性及其使用指南》明確定義:軟件質(zhì)量是軟件產(chǎn)品具有滿(mǎn)足明確的或隱含需求能力的特征和特性總和。具體包括以下六個(gè)方面的質(zhì)量特性:
1)功能性
與一組功能及其指定的性質(zhì)有關(guān)的一組屬性。這里的功能是指滿(mǎn)足明確或隱含的需求的那些功能。
2)易用性
與一組規(guī)定或潛在的用戶(hù)為使用軟件所需作的努力和對(duì)這樣的使用所作的評(píng)價(jià)有關(guān)的一組屬性。
3)可靠性
與在規(guī)定的一段時(shí)間和條件下,軟件維持其性能水平的能力有關(guān)的一組屬性。
4)效率
與在規(guī)定的條件下,軟件的性能水平與所使用資源量之間關(guān)系有關(guān)的一組屬性。
5)可維護(hù)性
與進(jìn)行指定的修改所需的努力有關(guān)的一組屬性。
6)可移植性
與軟件可從某一環(huán)境轉(zhuǎn)移到另一環(huán)境的能力有關(guān)的一組屬性。
因此,為了評(píng)價(jià)軟件產(chǎn)品的質(zhì)量,需要對(duì)軟件質(zhì)量的每個(gè)特性實(shí)施和執(zhí)行測(cè)試. 隨著現(xiàn)代軟件構(gòu)架技術(shù)的發(fā)展,特別是WEB技術(shù)的發(fā)展,與軟件可靠性、效率質(zhì)量特性相關(guān)的軟件性能問(wèn)題越來(lái)越受到包括軟件從業(yè)人員、專(zhuān)家學(xué)者以及軟件使用者的重視,軟件的性能指標(biāo)的好壞已直接影響到軟件的質(zhì)量。
3、軟件性能測(cè)試技術(shù)
軟件性能的測(cè)試一般包括三個(gè)方面,即性能評(píng)測(cè)、負(fù)載測(cè)試和強(qiáng)度測(cè)試。每一方面的測(cè)試都有其不同的測(cè)試目標(biāo)、測(cè)試技術(shù)、完成標(biāo)準(zhǔn),具體如下:
3.1 性能評(píng)測(cè)
針對(duì)響應(yīng)時(shí)間、事務(wù)處理速率和其他與時(shí)間相關(guān)的需求進(jìn)行評(píng)測(cè)和評(píng)估。目標(biāo)是驗(yàn)證性能需求是否都已滿(mǎn)足。
測(cè)試目標(biāo):
驗(yàn)證所指定的事務(wù)或業(yè)務(wù)功能在以下情況下的性能行為:
?。?)正常的預(yù)期工作量
?。?)預(yù)期的最繁重工作量
測(cè)試技術(shù):
使用為功能或業(yè)務(wù)周期測(cè)試制定的測(cè)試過(guò)程。
(1)通過(guò)修改數(shù)據(jù)文件來(lái)增加事務(wù)數(shù)量,或通過(guò)修改腳本來(lái)增加每項(xiàng)事務(wù)的迭代數(shù)量。
(2)腳本應(yīng)該在一臺(tái)計(jì)算機(jī)上運(yùn)行(最好是以單個(gè)用戶(hù)、單個(gè)事務(wù)為基準(zhǔn)),并在多個(gè)客戶(hù)機(jī)(虛擬的或?qū)嶋H的客戶(hù)機(jī))上重復(fù)。
完成標(biāo)準(zhǔn):
?。?)單個(gè)事務(wù)或單個(gè)用戶(hù):在每個(gè)事務(wù)所預(yù)期或要求的時(shí)間范圍內(nèi)成功地完成測(cè)試腳本,沒(méi)有發(fā)生任何故障。
?。?)多個(gè)事務(wù)或多個(gè)用戶(hù):在可接受的時(shí)間范圍內(nèi)成功地完成測(cè)試腳本,沒(méi)有發(fā)生任何故障。
注意事項(xiàng):
綜合的性能測(cè)試還包括在服務(wù)器上添加后臺(tái)工作量。 可采用多種方法來(lái)執(zhí)行此操作,其中包括:
(1)直接將“事務(wù)強(qiáng)行分配到”服務(wù)器上,這通常以“結(jié)構(gòu)化查詢(xún)語(yǔ)言”(SQL) 調(diào)用的形式來(lái)實(shí)現(xiàn)。
?。?)通過(guò)創(chuàng)建“虛擬的”用戶(hù)負(fù)載來(lái)模擬許多個(gè)(通常為數(shù)百個(gè))客戶(hù)機(jī)。此負(fù)載可通過(guò)“遠(yuǎn)程終端仿真”(Remote Terminal Emulation) 工具來(lái)實(shí)現(xiàn)。此技術(shù)還可用于在網(wǎng)絡(luò)中加載“流量”。
?。?)使用多臺(tái)實(shí)際客戶(hù)機(jī)在系統(tǒng)上添加負(fù)載。
?。?)性能測(cè)試應(yīng)該在專(zhuān)用的計(jì)算機(jī)上或在專(zhuān)用的機(jī)時(shí)內(nèi)執(zhí)行,以便實(shí)現(xiàn)完全的控制和精確的評(píng)測(cè)。
?。?)性能測(cè)試所用的數(shù)據(jù)庫(kù)應(yīng)該是實(shí)際大小或相同縮放比例的數(shù)據(jù)庫(kù)。
負(fù)載測(cè)試通過(guò)使測(cè)試對(duì)象承擔(dān)不同的工作量,以評(píng)測(cè)和評(píng)估測(cè)試對(duì)象在不同工作量條件下的性能行為,以及持續(xù)正常運(yùn)行的能力。目標(biāo)是確定并確保系統(tǒng)在超出最大預(yù)期工作量的情況下仍能正常運(yùn)行,以及軟件的性能特征,例如,響應(yīng)時(shí)間、事務(wù)處理速率和其他與時(shí)間相關(guān)的方面。
測(cè)試目標(biāo):
驗(yàn)證所指定的事務(wù)在不同的工作量條件下的性能行為時(shí)間。
測(cè)試技術(shù):
使用為功能或業(yè)務(wù)周期測(cè)試制定的測(cè)試。通過(guò)修改數(shù)據(jù)文件來(lái)增加事務(wù)數(shù)量,或通過(guò)修改測(cè)試來(lái)增加每項(xiàng)事務(wù)發(fā)生的次數(shù)。
完成標(biāo)準(zhǔn):
多個(gè)事務(wù)或多個(gè)用戶(hù):在可接受的時(shí)間范圍內(nèi)成功地完成測(cè)試,沒(méi)有發(fā)生任何故障。
注意事項(xiàng):
(1)負(fù)載測(cè)試應(yīng)該在專(zhuān)用的計(jì)算機(jī)上或在專(zhuān)用的機(jī)時(shí)內(nèi)執(zhí)行,以便實(shí)現(xiàn)完全的控制和精確的評(píng)測(cè)。
?。?)負(fù)載測(cè)試所用的數(shù)據(jù)庫(kù)應(yīng)該是實(shí)際大小或相同縮放比例的數(shù)據(jù)庫(kù)。
3.3 強(qiáng)度測(cè)試
強(qiáng)度測(cè)試目的是找出因資源不足或資源爭(zhēng)用而導(dǎo)致的錯(cuò)誤。如果內(nèi)存或磁盤(pán)空間不足,測(cè)試對(duì)象就可能會(huì)表現(xiàn)出一些在正常條件下并不明顯的缺陷。而其他缺陷則可能由于爭(zhēng)用共享資源(如數(shù)據(jù)庫(kù)鎖或網(wǎng)絡(luò)帶寬)而造成的。強(qiáng)度測(cè)試還可用于確定測(cè)試對(duì)象能夠處理的最大工作量。
測(cè)試目標(biāo):
驗(yàn)證測(cè)試對(duì)象能夠在以下強(qiáng)度條件下正常運(yùn)行,不會(huì)出現(xiàn)任何錯(cuò)誤:
?。?)服務(wù)器上幾乎沒(méi)有或根本沒(méi)有可用的內(nèi)存(內(nèi)存和磁盤(pán)空間)
(2)連接或模擬了最大實(shí)際(實(shí)際允許)數(shù)量的客戶(hù)機(jī)
(3)多個(gè)用戶(hù)對(duì)相同的數(shù)據(jù)或賬戶(hù)執(zhí)行相同的事務(wù)
?。?)最繁重的事務(wù)量或最差的事務(wù)組合
注:強(qiáng)度測(cè)試的目標(biāo)可表述為確定和記錄那些使系統(tǒng)無(wú)法繼續(xù)正常運(yùn)行的的情況或條件。
測(cè)試技術(shù):
?。?)使用為性能評(píng)測(cè)或負(fù)載測(cè)試制定的測(cè)試。要對(duì)有限的資源進(jìn)行測(cè)試,就應(yīng)該在一臺(tái)計(jì)算機(jī)上運(yùn)行測(cè)試,而且應(yīng)該減少或限制服務(wù)器上的內(nèi)存和磁盤(pán)空間。
(2)對(duì)于其他強(qiáng)度測(cè)試,應(yīng)該使用多臺(tái)客戶(hù)機(jī)來(lái)運(yùn)行相同的測(cè)試或互補(bǔ)的測(cè)試,以產(chǎn)生最繁重的事務(wù)量或最差的事務(wù)組合。
完成標(biāo)準(zhǔn):
所計(jì)劃的測(cè)試已全部執(zhí)行,并且在達(dá)到或超出指定的系統(tǒng)限制時(shí)沒(méi)有出現(xiàn)任何軟件故障,或者導(dǎo)致系統(tǒng)出現(xiàn)故障的條件并不在指定的條件范圍之內(nèi)。
注意事項(xiàng):
?。?)如果要增加網(wǎng)絡(luò)工作強(qiáng)度,可能會(huì)需要使用網(wǎng)絡(luò)工具來(lái)給網(wǎng)絡(luò)加載消息或信息包。
?。?)應(yīng)該暫時(shí)減少用于系統(tǒng)的磁盤(pán)空間,以限制數(shù)據(jù)庫(kù)可用空間的增長(zhǎng)。
?。?)使多個(gè)客戶(hù)機(jī)對(duì)相同的記錄或數(shù)據(jù)賬戶(hù)同時(shí)進(jìn)行的訪(fǎng)問(wèn)達(dá)到同步。
4、結(jié)束語(yǔ)
軟件質(zhì)量的保證,不僅需要科學(xué)的測(cè)試策略,更要處理好整個(gè)軟件生命周期中其他如需求、分析、設(shè)計(jì)、實(shí)現(xiàn)各階段中出現(xiàn)的問(wèn)題。只有對(duì)軟件質(zhì)量進(jìn)行全面、全過(guò)程的質(zhì)量控制,才能最終保證軟件產(chǎn)品的質(zhì)量,提高企業(yè)的競(jìng)爭(zhēng)力。
posted on 2012-04-10 09:38 順其自然EVO 閱讀(259) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): 性能測(cè)試