更新時間:2022-08-11 來源:黑馬程序員 瀏覽量:
在軟件測試中,性能測試與普通的功能測試目標不同,因此其測試流程與普通的測試流程也不相同,雖然性能測試也遵循測試需求分析→測試計劃制訂→測試用例設計→測試執(zhí)行→編寫測試報告的基本過程。下面分步驟介紹性能測試過程的關鍵點。
1.分析性能測試需求
性能測試需求分析是整個性能測試工作的基礎,測試需求不明確則整個測試過程都是沒有意義的。在性能測試需求分析階段,測試人員需要收集有關項目的各種資料,并與開發(fā)人員進行溝通,對整個項目有一定的了解,針對需要性能測試的部分進行分析,確定測試目標,例如客戶要求軟件產品的查詢功能響應時間不超過2s,則需要明確多少用戶量情況下,響應時間不超過2s。對于剛上線的產品,用戶量不多,但幾年之后可能用戶量會劇增,那么在性能測試時是否要測試產品的高并發(fā)訪問,以及高并發(fā)訪問下的響應時間。對于這些復雜的情況,性能測試人員必須要清楚客戶的真實需求,消除不明確因素,做到更專業(yè)。
對于性能測試來說,測試需求分析是一個比較復雜的過程,不僅要求測試人員有深厚的理論基礎(熟悉專業(yè)術語、專業(yè)指標等),還要求測試人員具備豐富的實踐經驗,如熟悉場景模擬、工具使用等。
2.制訂性能測試計劃
性能測試計劃是性能測試工作中重中之重,整個性能測試的執(zhí)行都要按照測試計劃進行。在性能測試計劃中,核心內容主要包括以下幾個方面。
(1)確定測試環(huán)境:包括物理環(huán)境、生產環(huán)境、測試團隊可利用的工具和資源等。
(2)確定性能驗收標準:確定響應時間、吞吐量和系統(tǒng)資源(CPU、內存等)利用總目標和限制。
(3)設計測試場景:對產品業(yè)務、用戶使用場景進行分析,設計符合用戶使用習慣的場景,整理出一個業(yè)務場景表,為編寫測試腳本提供依據。
(4)準備測試數(shù)據:性能測試是模擬現(xiàn)實的使用場景,例如模擬用戶高并發(fā),則需要準備用戶數(shù)量、工作時間、測試時長等數(shù)據。
3.設計性能測試用例
性能測試用例是根據測試場景為測試準備數(shù)據,例如模擬用戶高并發(fā),可以分別設計100用戶并發(fā)數(shù)量、1000用戶并發(fā)數(shù)量等,此外還要考慮用戶活躍時間、訪問頻率、場景交互等各種情況。測試人員可以根據測試計劃中的業(yè)務場景表設計出足夠的測試用例以達到最大的測試覆蓋。
4.編寫性能測試腳本
測試用例編寫完成之后就可以編寫測試腳本了,測試腳本是虛擬用戶具體要執(zhí)行的操作步驟,使用腳本執(zhí)行性能測試免去了手動執(zhí)行測試的麻煩,并且降低了手動執(zhí)行的錯誤率。在編寫測試腳本時,要注意以下幾個事項。
(1)正確選擇協(xié)議,腳本的協(xié)議要與被測試軟件的協(xié)議保持一致,否則腳本不能正確錄制與執(zhí)行。
(2)性能測試工具一般可以自動生成腳本測試,測試人員也可以手動編寫測試腳本,而且測試腳本可以使用多種語言編寫,如Java、Python、JavaScript等,具體可根據工具的支持情況和測試人員熟悉程度選取腳本語言。
(3)編寫測試腳本的時候,要遵循代碼編寫規(guī)范,保證代碼的質量。另外,有很多軟件在性能測試上有很多類似的工作,因此腳本復用的情況也很多,測試人員最好做好腳本的維護管理工作。
5.測試執(zhí)行及監(jiān)控
在這個階段,測試人員按照測試計劃執(zhí)行測試用例,并對測試過程進行嚴密監(jiān)控,記錄各項數(shù)據的變化。在性能測試執(zhí)行過程中,測試人員的關注點主要有以下幾個。
(1)性能指標:本次性能測試要測試的性能指標的變化,如響應時間、吞吐量、并發(fā)用戶數(shù)量等。
(2)資源占用與釋放情況:性能測試執(zhí)行時,CPU、內存、磁盤、網絡等使用情況。性能測試停止后,各項資源是否能正常釋放以供后續(xù)業(yè)務使用。
(3)警告信息:一般軟件系統(tǒng)在出現(xiàn)問題時會發(fā)出警告信息,當有警告信息時,測試人員要及時查看。
(4)日志檢查:進行性能測試時要經常分析系統(tǒng)日志,包括操作系統(tǒng)、數(shù)據庫等日志。
在測試過程中,如果遇到與預期結果不符合的情況,測試人員要調整系統(tǒng)配置或修改程序代碼來定位問題。
性能測試監(jiān)控對性能測試結果分析、對軟件的缺陷分析都起著非常重要的作用。由于性能測試執(zhí)行過程需要監(jiān)控的數(shù)據復雜多變,它要求測試人員對監(jiān)控的數(shù)據指標有非常清楚的認識,同時還要求測試人員對性能測試工具非常熟悉。作為性能測試人員,應該不斷努力,深入學習,不斷積累知識經驗,才能做得更好。
6.運行結果分析
性能測試完成之后,測試人員需要收集整理測試數(shù)據并對數(shù)據進行分析,將測試數(shù)據與客戶要求的性能指標進行對比,若不滿足客戶的性能要求,需要進行性能調優(yōu)然后重新測試,直到產品性能滿足客戶需求。
7.提交性能測試報告
性能測試完成之后需要編寫性能測試報告,闡述性能測試的目標、性能測試環(huán)境、性能測試用例與腳本使用情況、性能測試結果及性能測試過程中遇到的問題和解決辦法等。軟件產品不會只進行一次性能測試,因此性能測試報告需要備案保存,作為下次性能測試的參考。