一、性能效率測試的定義
軟件性能效率測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對軟件系統(tǒng)的各項性能指標進行測試,獲取該系統(tǒng)的響應時間、運行效率、資源利用情況等各項性能指標,來評價系統(tǒng)是否滿足用戶性能需求的過程。
性能效率測試一般包括以下四個維度:
(1)性能測試:在給定的基準環(huán)境下,目標系統(tǒng)響應客戶服務的最快速度或最好表現。
(2)負載測試:在目標系統(tǒng)正常服務的前提下,目標系統(tǒng)所能承擔的最大服務負荷數量(即最大并發(fā)數量),最終可分析系統(tǒng)的性能瓶頸。
(3)壓力測試:是一種破壞性測試,故意讓軟件在比較少的資源環(huán)境下運行,如在低內存、小硬盤、慢速CPU上運行,考驗程序直至程序無法運行,從而發(fā)現軟件缺陷。
(4)穩(wěn)定性測試:在給定的負載(負荷)的情況下,有外界或內部非正常的干擾,系統(tǒng)所能夠提供穩(wěn)定服務的能力。
二、性能效率測試的作用
軟件性能效率測試的目的是為了驗證軟件系統(tǒng)是否能達到用戶提出的性能指標,同時發(fā)現軟件系統(tǒng)中存在的性能瓶頸,優(yōu)化軟件,最后起到優(yōu)化系統(tǒng)的目的。
其作用主要體現在以下幾個方面:
(1)評估系統(tǒng)的能力:測試中得到的負荷和響應時間數據可以被用于驗證所計劃的模型的能力,并幫助作出決策。
(2)識別體系中的弱點:受控的負荷可以被增加到一個極端的水平,并突破它,從而修復體系的瓶頸或薄弱的地方。
(3)系統(tǒng)調優(yōu):重復運行測試,直至驗證調整系統(tǒng)的活動得到預期的結果,從而改進性能。
(4)檢測軟件中的問題:長時間的測試執(zhí)行可能導致程序發(fā)生由于內存泄露引起的失敗,揭示程序中的隱含的問題或沖突。
(5)驗證穩(wěn)定性和可靠性:在一個生產負荷下執(zhí)行一定時間的測試是評估系統(tǒng)穩(wěn)定性和可靠性是否滿足要求的唯一方法。
三、測試內容
為客戶設計性能測試方案,提供性能測試的監(jiān)控與診斷,性能測試工具應用咨詢等服務。測試過程中采用網頁數據分析工具、性能測試工具、監(jiān)控工具、數據庫工具等對系統(tǒng)進行性能測試和評估,并提出針對性的優(yōu)化建議,協(xié)助客戶在運維過程中進行故障分析與排查,進行性能調優(yōu)測試,確保應用系統(tǒng)穩(wěn)定可靠運行。
四、測試流程
(1)售前與委托單位就測評項目進行前期溝通,簽署《保密協(xié)議》,接收客戶提交的資料,雙方簽署《軟件技術測試服務合同》。客戶提交資料如下:
軟件測試委托表、軟件產品測試功能列表;
①用戶手冊、操作、安裝、說明、維護手冊等;
②樣品安裝光盤;
③設計文檔、數據庫文檔、相關測試要求或行業(yè)標準。
(2)測試組對委托方提供性能效率測試的軟件系統(tǒng)相關資料和接受狀態(tài)進行確認,并記錄在測試流轉表中;
(3)測試組檢查被測物品的狀態(tài)后,如發(fā)現相關問題,則將被測軟件系統(tǒng)接受狀態(tài)確認表反饋給委托方;
(4)委托方按照《用戶需求說明書》的要求,搭建測試環(huán)境。
(5)測試組對測試環(huán)境進行確認,對計算機系統(tǒng)進行病毒檢查,檢查情況在測試流轉表中進行記錄;
(6)測試組按照《用戶產品說明書》,編寫測試計劃;
(7)測試組按照測試依據編寫測試用例,并實施軟件測試。執(zhí)行完畢后,測試人員根據測試用例的執(zhí)行結果,在測試記錄中進行記錄;
(8)測試組根據測試員的測試記錄出具測試問題報告;
(9)測試項目主管對問題報告進行審核,出現錯誤要求測試工程師進行重新或補充測試;
(10)測試組對測試出的問題做相應的分析,進一步對問題進行確認;
(11)測試組就問題報告與委托方的技術人員進行面對面的溝通;
(12)委托方對問題報告的問題進行一一對應的修復;
(13)測試組對被測系統(tǒng)做回歸測試;
(14)測試組根據測試結果出具測試報告,并由測試機構授權簽字人批準;
(15)測試機構將性能效率測試報告的成果提交給委托方。