性能效率,作為衡量軟件質(zhì)量的關(guān)鍵指標(biāo),涉及時間特性、資源利用性、容量等多個方面。
性能效率,也就是我們常說的性能測試
性能效率測試結(jié)果示例:
測試需求項 | 測試需求項 | 用例編號 | 性能指標(biāo)要求 |
性能效率 | 時間特性 | P-001 | 系統(tǒng)在單用戶登錄響應(yīng)時間在1/3/5秒以內(nèi)。(一般來說,用戶對響應(yīng)時間的要求是越快越好。根據(jù)一些普遍的標(biāo)準(zhǔn),如果系統(tǒng)能在1秒以內(nèi)對用戶請求作出響應(yīng),用戶會感覺系統(tǒng)的響應(yīng)很快,體驗非常好;如果響應(yīng)時間在1-3秒之間,用戶可以接受;如果響應(yīng)時間在3-5秒之間,用戶可能會感覺系統(tǒng)響應(yīng)速度有些慢,但仍然可以接受;而如果響應(yīng)時間超過5秒,用戶可能會認(rèn)為這是一個失敗的體驗,選擇離開或重新發(fā)起請求。) |
P-002 | 系統(tǒng)在單用戶下執(zhí)行XXX業(yè)務(wù)響應(yīng)時間在1/3/5秒以內(nèi)。(根據(jù)需要測試的業(yè)務(wù)或者招標(biāo)文件填寫) | ||
P-003 | 系統(tǒng)在多少用戶下執(zhí)行XXX業(yè)務(wù)響應(yīng)時間在1/3/5秒以內(nèi)。(根據(jù)招標(biāo)文件判定具體用戶數(shù)用戶,100/200/300,) | ||
P-004 | 系統(tǒng)在多少用戶下執(zhí)行XXX業(yè)務(wù),TPS(吞吐率)達(dá)到多少。(根據(jù)招標(biāo)文件判定具體用戶數(shù)用戶,部分需求只談及TPS到達(dá)多少,不涉及多少用戶數(shù)。) | ||
容量特性 | P-005 | 系統(tǒng)支持XXX用戶數(shù)并發(fā)進(jìn)行XXX操作。(系統(tǒng)支持多少用戶數(shù)進(jìn)行什么操作,事務(wù)通過率大于99%判定為通過) | |
P-006 | 系統(tǒng)交易吞吐量(單位時間內(nèi)處理請求的數(shù)量)達(dá)到XXX。 | ||
P-007 | 數(shù)據(jù)容量。(系統(tǒng)內(nèi)存在多少用戶) | ||
P-008 | 系統(tǒng)QPS(每秒查詢率,即系統(tǒng)每秒響應(yīng)的查詢次數(shù),主要針對查詢服務(wù)性能指標(biāo))達(dá)到XXX。 | ||
資源特性 | P-009 | 系統(tǒng)在xxx用戶數(shù)并發(fā)時,CPU、內(nèi)存使用率不超過75%。(具體值指根據(jù)招標(biāo)文件等) | |
P-0010 | 系統(tǒng)在xxx用戶數(shù)并發(fā)時,磁盤讀寫達(dá)到多少KB/S。 | ||
穩(wěn)定性 | P-0011 | 系統(tǒng)持續(xù)運(yùn)行一段時間,測試系統(tǒng)在這種條件下是否能夠穩(wěn)定運(yùn)行的程度。(判斷是否穩(wěn)定,根據(jù)事務(wù)通過率是否大于99%為依據(jù)。) | |
依從性 | P-0012 | 產(chǎn)品或系統(tǒng)遵循與性能效率相關(guān)的標(biāo)準(zhǔn)、約定或法規(guī)以及類似規(guī)定的程度。 |
一、性能效率的子特性
1. 時間特性:時間特性主要關(guān)注軟件功能的響應(yīng)時間、處理時間和吞吐率。響應(yīng)時間是指用戶從發(fā)起請求到接收到處理結(jié)果所經(jīng)歷的時間,處理時間是服務(wù)器端處理請求的時間,而吞吐率則反映了單位時間內(nèi)系統(tǒng)處理的客戶請求數(shù)量。這些指標(biāo)共同構(gòu)成了時間特性的重要組成部分,對用戶體驗和系統(tǒng)性能具有重要影響。
2. 資源利用性:資源利用性測試旨在評估軟件在執(zhí)行其功能時,所使用資源數(shù)量和類型的滿足程度。在服務(wù)器端,資源利用率主要體現(xiàn)在CPU利用率、內(nèi)存占用率、磁盤I/O、帶寬等指標(biāo)上。過高的資源利用率可能導(dǎo)致系統(tǒng)性能瓶頸,而過低的資源利用率則可能造成資源浪費(fèi)。
3. 容量:容量測試用于評估軟件產(chǎn)品或系統(tǒng)參數(shù)的最大限量滿足需求的程度。這包括最大用戶并發(fā)數(shù)、系統(tǒng)能夠處理的最大文件長度、數(shù)據(jù)庫能夠處理的最大數(shù)據(jù)庫記錄數(shù)等。通過容量測試,我們可以確定軟件在給定時間內(nèi)能夠持續(xù)處理的最大負(fù)載或工作量。
性能效率的測試方法:
總體方向 | 性能測試是通過站在用戶體驗的角度,使用專業(yè)的負(fù)載生成設(shè)備,在性能模型的基礎(chǔ)上驗證系統(tǒng)是否能夠達(dá)到用戶提出的性能指針,是否符合用戶文文件中對系統(tǒng)設(shè)計時的性能關(guān)注點(diǎn)。在系統(tǒng)正常交互量及峰值交互量的情況下發(fā)現(xiàn)系統(tǒng)中存在的性能瓶頸,優(yōu)化軟件,最后達(dá)到優(yōu)化系統(tǒng)的目的。 |
測試關(guān)注 | ? 時間特性:產(chǎn)品或系統(tǒng)執(zhí)行其功能時,其響應(yīng)時間 、處理時間及吞吐率滿足需求的程度 。 ? 資源利用性:產(chǎn)品或系統(tǒng)執(zhí)行其功能時,所使用資源數(shù)量和類型滿足需求的程度。 ? 穩(wěn)定性:系統(tǒng)持續(xù)運(yùn)行一段時間,測試系統(tǒng)在這種條件下是否能夠穩(wěn)定運(yùn)行的程度。 ? 容量:產(chǎn)品或系統(tǒng)參數(shù)的最大限量滿足需求的程度。 ? 依從性:產(chǎn)品或系統(tǒng)遵循與性能效率相關(guān)的標(biāo)準(zhǔn)、約定或法規(guī)以及類似規(guī)定的程度。 |
測試方法 | 基準(zhǔn)檢驗方法:應(yīng)用單一的虛擬用戶依次訪問單一的典型業(yè)務(wù)點(diǎn),保證測試過程中沒有其他操作影響,從而獲得“基準(zhǔn)”的響應(yīng)時間、資源利用率、吞吐量的參考值及性能周期性的表現(xiàn)趨勢。 負(fù)載測試方法:是指在一定的軟件、硬件級網(wǎng)絡(luò)環(huán)境下,運(yùn)行一種或多種業(yè)務(wù),在不同虛擬使用者數(shù)量的情況下,測試服務(wù)器的性能指針是否在用戶的要求范圍內(nèi)。 穩(wěn)定性測試方法:通過給系統(tǒng)加載一定的業(yè)務(wù)壓力的情況下(如:資源在70%-90%的使用率)的情況下,讓系統(tǒng)持續(xù)運(yùn)行一段時間,測試系統(tǒng)在這種條件下是否能夠穩(wěn)定運(yùn)行。 |
測試步驟 | 1. 明確用戶對系統(tǒng)性能表現(xiàn)的真實需求,掌握系統(tǒng)在對外提供服務(wù)時預(yù)計承受的訪問指標(biāo)(如:用戶平均訪問量、用戶峰值訪問量、要求提供的響應(yīng)時間、事務(wù)吞吐量等)。 2. 依據(jù)系統(tǒng)設(shè)計文件,及用戶需求溝通,了解系統(tǒng)整體架構(gòu)、系統(tǒng)業(yè)務(wù)流程、系統(tǒng)拓?fù)洹⑾到y(tǒng)數(shù)據(jù)流向等技術(shù)信息,并對其進(jìn)行基礎(chǔ)分析,初步定為系統(tǒng)中性能瓶頸點(diǎn)。 3. 創(chuàng)建性能測試模型,性能測試需要針對一定的前提條件,某種性能表現(xiàn)與方方面面的前提條件息息相關(guān),性能測試模型即為通過分析測試需求及系統(tǒng)分析創(chuàng)建的有助于限定性能測試結(jié)果的約束性條件。 4. 依據(jù)測試方法開發(fā)性能測試用例,并開發(fā)性能測試場景及腳本,依次執(zhí)行基準(zhǔn)檢驗、負(fù)載測試及穩(wěn)定性,記錄相關(guān)性能測試指針及資源利用情況。 |
二、性能效率的依存性
性能效率的依存性主要關(guān)注軟件產(chǎn)品或系統(tǒng)遵循與性能效率相關(guān)的標(biāo)準(zhǔn)、約定或法規(guī)以及類似規(guī)定的程度。在產(chǎn)品說明書中,通常會提及與性能效率相關(guān)的標(biāo)準(zhǔn)、約定或法規(guī)要求。測試人員需要驗證軟件是否符合這些要求,以確保產(chǎn)品的合規(guī)性和穩(wěn)定性。
三、性能測試中常見的問題及改進(jìn)策略
在性能測試過程中,我們經(jīng)常會遇到一些問題導(dǎo)致測試效率低下。例如,在項目預(yù)期時間內(nèi)突然接手其他測試組的項目,導(dǎo)致測試延期;對于項目組而言相對成熟的功能,卻對測試人員來說是新的東西,評估時不考慮測試人員問題;針對已知的問題重復(fù)又重復(fù)的咨詢、確認(rèn)、溝通,導(dǎo)致消耗大量時間等。
為了改進(jìn)這些問題,我們可以采取以下策略:首先,建立完善的文檔管理系統(tǒng),確保測試人員能夠迅速了解項目背景和功能需求;其次,加強(qiáng)測試人員之間的溝通與協(xié)作,共同解決問題并提高效率;最后,定期進(jìn)行性能測試培訓(xùn),提升測試人員的專業(yè)素質(zhì)和技能水平。
-
駐場測試駐場測試指根據(jù)客戶企業(yè)用人需求,將專業(yè)人員派遣到客戶現(xiàn)場辦公的一種服務(wù)方式。人員具有很好的專業(yè)性和適應(yīng)力,更有豐富的項目經(jīng)驗,可以為公司提供最專業(yè)最合適的服務(wù),提升企業(yè)核心競爭力,降低企業(yè)用人成本支出,減少企業(yè)正式員工的雇傭風(fēng)險,應(yīng)企業(yè)的需求,可提供企業(yè)中不同類型、不同層次的用人需求,提供測試工程師人才外包服務(wù),實現(xiàn)資源共享、協(xié)同開發(fā)、人才整合,企業(yè)用人不養(yǎng)人。2024-03-12
-
確認(rèn)測試確認(rèn)測試(Validation Testing)是對已經(jīng)通過組合測試并存在于系統(tǒng)目標(biāo)設(shè)備介質(zhì)上的軟件進(jìn)行的測試。這種測試的主要目的是驗證軟件是否滿足“軟件需求說明書”中規(guī)定的全部功能和性能要求,以及驗證軟件的有效性。確認(rèn)測試通常是由一個獨(dú)立的組織按照“確認(rèn)測試計劃”進(jìn)行,測試工作需要從用戶的角度出發(fā)。2024-03-12
-
集成測試軟件集成測試是指在軟件開發(fā)過程中,將各個模塊、組件或系統(tǒng)組件集成在一起,通過測試來評估它們是否能夠協(xié)同工作,以滿足設(shè)計要求的過程。這一過程旨在發(fā)現(xiàn)集成過程中可能出現(xiàn)的問題,如接口錯誤、數(shù)據(jù)傳遞錯誤等,以確保整個系統(tǒng)的穩(wěn)定性和可靠性。2024-03-12