第一章
性能測試:實質(zhì)上是利用工具去模擬大量用戶操作來驗證系統(tǒng)能夠承受的負(fù)載情況,找出潛在的性能問題分析并解決。
性能測試智能樹:
性能測試基礎(chǔ):
1.服務(wù)器性能診斷知識
Linux:自由傳播的類UNIX操作系統(tǒng),是一個基于POSIX和UNIX的多用戶,多任務(wù),支持多線程和多CPU的操作系統(tǒng)
Windows Server:是WSS的核心,是服務(wù)器操作系統(tǒng)
2.性能調(diào)優(yōu)技能
最難點:定位性能瓶頸。
3.性能測試的價值:
保障系統(tǒng)的性能,提供良好的用戶體驗,盡可能的找出系統(tǒng)性能薄弱環(huán)節(jié),幫助進行性能優(yōu)化。
性能測試流程:
(1)業(yè)務(wù)學(xué)習(xí):通過查看文檔,手工操作系統(tǒng)了解系統(tǒng)功能
(2)需求分析:分析系統(tǒng)非功能需求,圈定性能測試的范圍,了解系統(tǒng)性能指標(biāo)
(3)工作評估:工作量分解,評估工作量,計劃資源投入(人,工作日)
(4)設(shè)計模型:把業(yè)務(wù)模型映射成測試模型 ,當(dāng)需要交互的另一方系統(tǒng)不存在時,自己開發(fā)擋板程序(mock程序)進行替代所需功能測試,保證性能測試工作正常進展,這個過程叫設(shè)計測試模型
(5)計劃編寫:在文檔中明確列出測試范圍,人力投入,持續(xù)時間,工作內(nèi)容,風(fēng)險評估,風(fēng)險應(yīng)對策略等
(6)腳本開發(fā):錄制或者編寫性能測試腳本
(7)測試環(huán)境準(zhǔn)備:服務(wù)器和負(fù)載機兩部分,服務(wù)器是被測系統(tǒng)的運行平臺,負(fù)載機是我們用來產(chǎn)生負(fù)載的機器,用來安裝負(fù)載工具,運行測試腳本。
(8)測試數(shù)據(jù)準(zhǔn)備:根據(jù)數(shù)據(jù)模型來準(zhǔn)備被測系統(tǒng)的主數(shù)據(jù)(保證業(yè)務(wù)能夠運行通常的基礎(chǔ))和業(yè)務(wù)數(shù)據(jù),準(zhǔn)備存量/歷史數(shù)據(jù)(數(shù)據(jù)量變引起性能變化)
(9)測試執(zhí)行:性能測試成敗關(guān)鍵,同樣腳本不同測試人員測出結(jié)果差異大(體現(xiàn)在場景設(shè)計與測試執(zhí)行上)
(10)性能調(diào)優(yōu):測試人員和開發(fā)人員一起解決性能問題
(11)測試報告:性能指標(biāo)說明(TPS,RT,CPU ,Using),發(fā)現(xiàn)的問題
性能測試主要交付件:測試計劃,測試腳本,測試程序,測試報告或階段性報告(項目周期長)
性能測試成功與失敗要素:
1.評估系統(tǒng),需求分析
需要自己引導(dǎo)相關(guān)的運維人員和需求人員給出具體的需求數(shù)據(jù),并對數(shù)據(jù)進行二次分析,得出真實的性能需求。
對于初上線的系統(tǒng),需要用到同行的系統(tǒng)數(shù)據(jù)進行用戶行為分析和商業(yè)數(shù)據(jù)結(jié)構(gòu)的估算,利用性能估算法進行估算,得到的負(fù)荷和響應(yīng)時間數(shù)據(jù)可以被用于驗證所計劃的模型的能力并幫助做出決策。
對于已上線的系統(tǒng),可以通過運維人員獲取TPS和時間的比例分布圖,用戶數(shù)和時間的分布圖,數(shù)據(jù)庫ER關(guān)系圖,容量數(shù)據(jù)等,直接精確地出目前的系統(tǒng)的用戶行為和業(yè)務(wù)數(shù)據(jù)關(guān)系,進而得出我們需要的性能需求。
2、場景設(shè)計,用例設(shè)計
需求調(diào)研結(jié)束后我們需要再測試場景中盡可能真實的復(fù)原系統(tǒng)負(fù)載。如何有效的組織測試用例就是場景要做的事,按業(yè)務(wù)分布,業(yè)務(wù)量,業(yè)務(wù)時段,業(yè)務(wù)角色來綜合分配用戶數(shù),執(zhí)行時間,執(zhí)行比例等
3,測試執(zhí)行,是否通過
模擬不同負(fù)載執(zhí)行測試場景來識別系統(tǒng)弱點:做好各種監(jiān)控,甄別各種問題,驗證系統(tǒng)穩(wěn)定性
4.性能診斷優(yōu)化
性能測試相關(guān)術(shù)語
1.負(fù)載
2.性能測試
3.負(fù)載測試
4.配置測試
5.壓力/強度測試
6.穩(wěn)定性測試
7.TPS
8.RT/ART
9.PV:page view ,每秒訪問頁面的次數(shù)
10.Vuser虛擬用戶
11.Concurrency并發(fā)
12.場景(Scenario)
13.思考時間
14.標(biāo)準(zhǔn)差
本章小結(jié):
性能測試首先要做好性能需求分析,不充足的性能分析直接導(dǎo)致性能測試工作失敗,接著要做好用例及場景設(shè)計,盡可能復(fù)現(xiàn)實際負(fù)載,執(zhí)行過成功要做好性能監(jiān)控工作,為問題分析提供數(shù)據(jù)支撐。