更新時(shí)間:2020-12-04 來源:黑馬程序員 瀏覽量:
性能測試與普遍的功能測試目標(biāo)不同,因此其測試流程與普通的測試流程也不相同,雖然性能測試也是遵循測試需求分析——測試計(jì)劃制訂——測試用例設(shè)計(jì)——測試執(zhí)行——編寫測試報(bào)告的基本過程,但在實(shí)現(xiàn)細(xì)節(jié)上,性能測試有單獨(dú)一套流程,如下圖所示。
上圖是性能測試的一般測試流程,下面分步驟介紹性能測試過程的關(guān)鍵點(diǎn)。
1.分析性能測試需求
性能測試需求分析是整個(gè)性能測試工作的基礎(chǔ),測試需求不明確則這個(gè)測試過程都沒有意義的。在性能測試需求分析階段,測試人員需要收集有關(guān)項(xiàng)目的各種資料,并與開發(fā)人員進(jìn)行溝通,對(duì)整個(gè)項(xiàng)目有一定的了解,針對(duì)需要性能測試的部分進(jìn)行分析,確定測試的目標(biāo)。例如客戶要求軟件產(chǎn)品的查詢功能響應(yīng)時(shí)間不超過2s,則需要明確多少用戶量情況下,響應(yīng)時(shí)間不超過2s。對(duì)于剛上線的產(chǎn)品,用戶量不多,但幾年之后可能用戶量會(huì)劇增,那么在性能測試時(shí)是否要測試產(chǎn)品的高并發(fā)訪問,以及高并發(fā)訪問下的響應(yīng)時(shí)間。對(duì)于這些復(fù)雜的情況,性能測試人員必須要清楚客戶的真實(shí)需求,消除不明確因素,做到更專業(yè)。
對(duì)于性能測試來說,測試需求分析是一個(gè)比較復(fù)雜的過程,不僅要求測試人員有深厚的理論基礎(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ì)測試場景:對(duì)產(chǎn)品業(yè)務(wù)、用戶使用場景進(jìn)行分析,設(shè)計(jì)符合用戶使用習(xí)慣的場景整理出一個(gè)業(yè)務(wù)場景表,為編寫測試腳本提供依據(jù)
(4)準(zhǔn)備測試數(shù)據(jù):性能測試是模擬現(xiàn)實(shí)的使用場景,例如模擬用戶高并發(fā),則需要準(zhǔn)用戶數(shù)量、工作時(shí)間、測試時(shí)長等數(shù)據(jù)。
3.設(shè)計(jì)性能測試用例
性能測試用例是根據(jù)測試場景為測試準(zhǔn)備數(shù)據(jù),例如模擬用戶高并發(fā),可以分別設(shè)計(jì)100用戶并發(fā)數(shù)量、1000用戶并發(fā)數(shù)量等,此外還要考慮用戶活躍時(shí)間、訪問頻率、場景交互等各種情況。測試人員可以根據(jù)測試計(jì)劃中的業(yè)務(wù)場景表設(shè)計(jì)出足夠的測試用例以達(dá)到最大的測試覆蓋。
4.編寫性能測試腳本
測試用例編寫完成之后就可以編寫測試腳本了,測試腳本是虛擬用戶具體要執(zhí)行的操作步驟,使用腳本執(zhí)行性能測試免去了手動(dòng)執(zhí)行測試的麻煩,并且降低了手動(dòng)執(zhí)行的錯(cuò)誤率。在編寫測試腳本時(shí),要注意以下幾個(gè)事項(xiàng)。
(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ì)劃執(zhí)行測試用例,并對(duì)測試過程進(jìn)行嚴(yán)密監(jiān)控,記錄各項(xiàng)數(shù)據(jù)的變化。在性能測試執(zhí)行過程中,測試人員的關(guān)注點(diǎn)主要有以下幾個(gè)。
(1)性能指標(biāo):本次性能測試要測試的性能指標(biāo)的變化,如響應(yīng)時(shí)間、吞吐量、并發(fā)用戶數(shù)量等
(2)資源占用與釋放情況:性能測試執(zhí)行時(shí),CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)等使用情況。性能測試停止后,各項(xiàng)資源是否能正常釋放以供后續(xù)業(yè)務(wù)使用
(3)警告信息:一般軟件系統(tǒng)在出現(xiàn)問題時(shí)會(huì)發(fā)出警告信息,當(dāng)有警告信息時(shí),測試人員要及時(shí)查看。
(4)日志檢査:進(jìn)行性能測試時(shí)要經(jīng)常分析系統(tǒng)日志,包括操作系統(tǒng)、數(shù)據(jù)庫等日志。
在測試過程中,如果遇到與預(yù)期結(jié)果不符合的情況,測試人員要調(diào)整系統(tǒng)配置或修改程序代碼來定位問題。
性能測試監(jiān)控對(duì)性能測試結(jié)果分析、對(duì)軟件的缺陷分析都起著非常重要的作用。由于性能測試執(zhí)行過程需要監(jiān)控的數(shù)據(jù)復(fù)雜多變,它要求測試人員對(duì)監(jiān)控的數(shù)據(jù)指標(biāo)有非常清楚的認(rèn)識(shí),同時(shí)還要求測試人員對(duì)性能測試工具非常熟悉。作為性能測試人員,應(yīng)該不斷努力深入學(xué)習(xí),不斷積累知識(shí)經(jīng)驗(yàn),才能做得更好。
6.運(yùn)行結(jié)果分析
性能測試完成之后,測試人員需要收集整理測試數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行分析,將測試數(shù)據(jù)與客戶要求的性能指標(biāo)進(jìn)行對(duì)比,若不滿足客戶的性能要求,需要進(jìn)行性能調(diào)優(yōu)然后重新測試直到產(chǎn)品性能滿足客戶需求。
7.提交性能測試報(bào)告
性能測試完成之后需要編寫性能測試報(bào)告,闡述性能測試的目標(biāo)、性能測試環(huán)境、性能測試用例與腳本使用情況、性能測試結(jié)果及性能測試過程中遇到的問題和解決辦法等。軟件產(chǎn)品不會(huì)只進(jìn)行一次性能測試,因此性能測試報(bào)告需要備案保存,作為下次性能測試的參考。獲取【視頻教程+筆記+源碼】加播妞:435946716。
猜你喜歡: