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