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