二、系統(tǒng)分析
結(jié)合需求分析中第3點,分析系統(tǒng)架構(gòu)。
1)請求順序、請求之間相互調(diào)用關(guān)系
2)數(shù)據(jù)流向,數(shù)據(jù)是怎么走的,經(jīng)過哪些組件、服務(wù)器等
3)預(yù)測可能存在性能瓶頸的環(huán)節(jié)(組件、服務(wù)器等)
4)明確應(yīng)用類型 IO型,還是CPU消耗性、內(nèi)存消耗型-> 弄清楚重點監(jiān)控對象
5)關(guān)注應(yīng)用是否采用多進程、多線程架構(gòu)-> 多線程容易造成線程死鎖、數(shù)據(jù)庫死鎖,數(shù)據(jù)不一致等
6)是否使用集群/是否使用負載均衡
了解測試環(huán)境部署和生產(chǎn)環(huán)境部署差異,是否按1:1的比例部署
通常建議測試時先不考慮集群,采用單機測試,測試通過后再考慮使用集群,這樣有個比較,比較能說明問題
參考閱讀“淺談web網(wǎng)站架構(gòu)演變過程 ”:http://blog.csdn.net/qiaqia609/article/details/50809383
三、業(yè)務(wù)分析
1)明確要測試的功能業(yè)務(wù)中,功能業(yè)務(wù)占比,重要程度。
目的在于
<1>明確重點測試對象,安排測試優(yōu)先級
<2>建模,混合場景中,虛擬用戶資源分配,針對不同業(yè)務(wù)功能施加不同的負載。
2)明確下“需求分析-指標(biāo)分析”中相關(guān)業(yè)務(wù)功能所需基礎(chǔ)數(shù)據(jù)及數(shù)據(jù)量問題,因為那塊需求分析時可能只是大致估算下,評估指標(biāo)是否合理,需要認真再分析下
四、用例設(shè)計
1)用例設(shè)計
通常是基于場景的測試用例設(shè)計
<1> 單業(yè)務(wù)功能場景
運行測試期間,所有虛擬用戶只執(zhí)行同一種業(yè)務(wù)功能某個環(huán)節(jié)、操作
<2> 混合業(yè)務(wù)功能場景
運行測試期間,部分虛擬用戶執(zhí)行某種業(yè)務(wù)的某個環(huán)節(jié)操作,部分虛擬用戶執(zhí)行該業(yè)務(wù)功能的其它環(huán)節(jié)
或者
運行測試期間,部分虛擬用戶執(zhí)行某種業(yè)務(wù)功能,部分虛擬用戶執(zhí)行其它業(yè)務(wù)功能
注:這里用例沒說到多少用戶去跑,跑多久等,這里只是把他當(dāng)作相同場景用例下的的一組組測試數(shù)據(jù)了。
2)事務(wù)定義
根據(jù)用例合理的定義事務(wù),方便分析耗時(特別是混合業(yè)務(wù)功能場景測試),進而方便分析瓶頸。
比如,購買商品,我們可以把下訂單定義為一個事務(wù),把支付也定義為一個事務(wù)。
3)場景監(jiān)控對象
針對每條用例,結(jié)合“系統(tǒng)分析”第4)點,明確可能的壓力點(比如數(shù)據(jù)庫、WEB服務(wù)器),需要監(jiān)控的對象,比如tps,耗時,CPU,內(nèi)存,I/O等