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