性能測試不同于一般的功能測試目標,所以它的測試過程也不同于普通的測試過程,雖然性能測試也遵循測試需求分析-測試計劃制定-測試用例設計-測試執(zhí)行-編寫的基本過程測試報告,但在實現(xiàn)細節(jié)上,性能測試有一套單獨的流程,那么軟件性能測試怎么做?下面將針對各個步驟性能測試過程的要點進行詳細介紹。
1.分析性能測試需求
性能測試需求分析是整個性能測試工作的基礎。如果測試要求不明確,測試過程就沒有意義。在性能測試需求分析階段,測試人員需要收集項目的各種信息,與開發(fā)人員溝通,對整個項目有一定的了解,分析需要進行性能測試的部分,確定測試目標。比如客戶要求一個軟件產(chǎn)品的查詢功能響應時間不超過2s,就需要明確用戶數(shù)量,響應時間不超過2s。對于剛上市的產(chǎn)品,用戶并不多,但幾年后用戶數(shù)量可能會急劇增加,所以在性能測試時是否要測試產(chǎn)品的高并發(fā)訪問和高并發(fā)訪問下的響應時間。對于這些復雜的情況,性能測試人員必須清楚客戶的真實需求,排除不清楚的因素,更加專業(yè)。
對于性能測試來說,測試需求分析是一個比較復雜的過程,不僅要求測試人員有扎實的理論基礎(熟悉專業(yè)術(shù)語、專業(yè)指標等),還要求測試人員有豐富的實踐經(jīng)驗,比如熟悉場景模擬、工具使用等。
2.制定性能測試性能計劃
性能測試計劃是性能測試工作中的重中之重,整個性能測試執(zhí)行必須按照測試計劃進行。
在性能測試計劃中,核心內(nèi)容主要包括以下幾個方面:
(1)確定測試環(huán)境:包括物理環(huán)境、生產(chǎn)環(huán)境、測試團隊可用的工具和資源等。
(2)確定性能驗收標準:確定響應時間、吞吐量和系統(tǒng)資源(CPU、內(nèi)存等)利用率的總體目標和限制。
(3)設計測試場景:分析產(chǎn)品業(yè)務和用戶使用場景,設計符合用戶使用習慣的場景,整理出業(yè)務場景表,為編寫測試腳本提供依據(jù)
(4)準備測試數(shù)據(jù):性能測試是模擬真實的使用場景,比如模擬高用戶并發(fā),需要預期用戶數(shù)、工作時間、測試時長等數(shù)據(jù)。
3.設計性能測試用例
性能測試用例是根據(jù)測試場景為測試準備數(shù)據(jù),比如模擬用戶的高并發(fā),可以設計并發(fā)100個用戶,1000個并發(fā)用戶等。另外,用戶的活躍時間、訪問頻率、場景交互等一個情況。測試人員可以根據(jù)測試計劃中的業(yè)務場景表,設計出足夠多的測試用例,實現(xiàn)最大的測試覆蓋率。
4.編寫性能測試腳本
測試用例寫好后,就可以編寫測試腳本了。測試腳本是虛擬用戶要執(zhí)行的具體操作步驟。使用腳本執(zhí)行性能測試,省去了手動執(zhí)行測試的麻煩,降低了手動執(zhí)行的錯誤率。編寫測試腳本時,有幾點需要牢記。
(1)正確選擇協(xié)議。腳本的協(xié)議必須與被測軟件的協(xié)議一致,否則無法正確記錄和執(zhí)行腳本。
(2)性能測試工具一般可以自動生成測試腳本,測試人員也可以手動編寫測試腳本,測試腳本可以用Java、Python、JavaScript等多種語言編寫,具體取決于在工具上根據(jù)支持和測試人員的熟悉程度選擇腳本語言。
(3)在編寫測試腳本的時候,一定要按照代碼編寫規(guī)范來保證代碼的質(zhì)量。另外還有很多軟件在性能測試方面有很多類似的工作,所以有腳本復用案例多,最好由人員做好腳本的維護和管理工作。
5.測試執(zhí)行和監(jiān)控
在這個階段,測試人員根據(jù)測試計劃執(zhí)行測試用例,密切監(jiān)控測試過程,記錄各種數(shù)據(jù)的變化。在性能測試執(zhí)行過程中,測試人員關(guān)注以下幾點。
(1)性能指標:本次性能測試中要測試的性能指標的變化,如響應時間、吞吐量、并發(fā)用戶數(shù)等。
(2)資源占用與釋放:執(zhí)行性能測試時CPU、內(nèi)存、磁盤、網(wǎng)絡等的使用情況。停止性能測試后,是否可以正常釋放資源以供后續(xù)使用商業(yè)用途。
(3)警告信息:一般軟件系統(tǒng)在出現(xiàn)問題時會發(fā)出警告信息,當有警告信息時,測試人員應及時查看。
(4)日志檢查:系統(tǒng)日志,包括操作系統(tǒng)、數(shù)據(jù)庫等日志,性能測試時要經(jīng)常分析。
在測試過程中,如果出現(xiàn)不符合預期結(jié)果的情況,測試人員應調(diào)整系統(tǒng)配置或修改程序代碼來定位問題。
性能測試監(jiān)控在性能測試結(jié)果分析和軟件缺陷分析中起著非常重要的作用。由于性能測試執(zhí)行過程中要監(jiān)控的數(shù)據(jù)是復雜多變的,這就要求測試人員對被監(jiān)控的數(shù)據(jù)指標有非常清晰的認識,也要求測試人員對性能測試工具非常熟悉。作為一名性能測試人員,你應該繼續(xù)努力學習,積累知識和經(jīng)驗,才能做得更好。
6.運行結(jié)果分析
性能測試完成后,測試人員需要對測試數(shù)據(jù)進行收集整理并進行數(shù)據(jù)分析,將測試數(shù)據(jù)與客戶要求的性能指標進行對比。產(chǎn)品性能滿足客戶需求。
7.提交性能測試報告
性能測試完成后,需要編寫性能測試報告,描述性能測試目標、性能測試環(huán)境、性能測試用例和腳本使用、性能測試結(jié)果、性能測試過程中遇到的問題及解決方案。軟件產(chǎn)品不會只進行一次性能測試,因此需要將性能測試報告歸檔保存,作為下次性能測試的參考。
上述內(nèi)容對軟件性能測試怎么做進行了詳細介紹,大家在學習和測試的過程中,要注意上面的各個步驟性能測試過程的要點。更多關(guān)于軟件測試培訓的問題,歡迎咨詢千鋒教育在線名師,如果想要了解我們的師資、課程、項目實操的話可以點擊咨詢課程顧問,獲取試聽資格來試聽我們的課程,在線零距離接觸千鋒教育大咖名師,讓你輕松從入門到精通。