閱讀589 返回首頁    go 百度


測試模型__性能測試技術體係_性能測試體係_性能測試-阿裏雲

訪問性能測試控製台

1 引言

1.1 編寫目的

本文規範在使用性能測試過程中進行測試模型的分析,旨在指導性能測試實施人員進行測試模型的建立,為後續性能實施打好基礎。

1.2 適用對象和範圍

預期讀者為測試管理人員、測試實施人員、技術支持人員、項目質量管理人員、項目管理人員等係統技術質量相關人員。

2 測試模型構建

通過分析係統的交易路徑、交易之間關係、數據的處理與流轉、典型交易、業務量、交易比例,以及係統的處理能力等內容,完成測試建型的構建。

2.1 業務場景來源與分類

測試模型構建時需要關注的信息主要有:

  • 業務場景列表
  • 單交易分析調查結果
  • 交易路徑分析
  • 各路徑代表交易調查分析
  • 被測係統超時流控機製
  • 被測異常場景調研結果
  • 生產係統問題分析結果

2.2 業務場景來源

通過對以上資料的研究,應獲取以下信息:

  • 交易日的日均交易量
  • 曆史峰值交易日的交易量
  • 特殊日的交易量
  • 不同交易渠道的交易量
  • 一般交易日的交易配比
  • 曆史峰值交易日的交易配比
  • 特殊日的交易配比
  • 不同交易渠道的交易配比
  • 批量處理的流程
  • 批量處理的時間窗口要求
  • 係統曆史數據量

2.3 業務場景分類

業務場景即業務係統在生產運營過程中的不同運營狀態。
交易處理型係統通常包括以下幾類場景:

業務場景類型 業務場景描述
正常業務日交易場景 反映的是業務係統在大多數工作日的平均業務受理情況
特殊日交易場景 根據不同業務的不同特性,某些業務係統在一些約定的特殊日期內的業務受理情況與一般營業日不同(例如促銷、雙11等),主要體現在特殊交易種類、交易量、營業時間上的不同
高峰交易場景 反映業務係統運營過程中出現的短期峰值交易狀態,該狀態的出現可以是由於集中業務操作、自身流程調度或其它係統接口機製等原因引起
交易線與數據線混合場景 部分係統在聯機業務處理中包含一些實時的批量交易或數據更新功能,例如批量發紅包、批量查詢、等。此類業務的特點是用戶終端或服務端的交易請求量不大,但係統需聯機實時處理,且處理動作多,比較耗費係統資源

對於批量處理係統,通常還包括以下特定場景:

業務場景類型 業務場景描述
批處理場景 包括正常日/特殊日的批處理
文件/數據處理場景 包括大文件加工以及批量數據處理

2.4 業務場景與測試模型轉換

根據測試目標的需要,可能存在的測試模型有以下幾種:

  • 單交易基準測試模型
  • 單交易負載測試模型
  • 日間混合負載測試模型
  • 穩定性測試模型
  • 可靠性測試模型
  • 係統超時流控測試模型
  • 批量處理測試模型

雖然每個業務場景都與一個或多個測試模型相對應,但是由於業務場景並不保證對被測係統的覆蓋,因此需要在業務場景變換成為測試模型過程中進行必要的檢查。
技術測試中選取典型業務交易的標準:

  • 根據業務量大小選取典型交易,一般通過統計生產係統TOP10 、TOP20確定;
  • 選取生產係統中消耗資源最多,或者耗時最長的業務交易;
  • 選取生產係統中交易路徑最長的業務交易;
  • 選取生產係統容易發生故障的業務交易;
  • 為滿足其他特殊測試目標需要選取的業務交易;

應采取如下步驟完成業務場景與測試模型的轉換:

  • 根據測試目標確定測試模型中的具體業務場景;
  • 根據業務場景所對應的交易配比初步確定測試模型中采用的交易;
  • 對於初步選擇的交易根據單交易分析結果檢查交易路徑覆蓋並檢查各路徑代表交易與初步選擇交易是否存在差異;
  • 如果檢查中發現初步選擇的交易覆蓋了各路徑代表交易和係統交易路徑,則可確定業務場景及相應的交易配比,否則需要對之間不同的交易進行分析,評估缺少部分對測試目標的影響。如果發現影響沒有或很小,則可以考慮保持原業務場景和交易配比不變,否則需要增加相應的交易;
  • 確定業務場景和交易配比後,根據測試目標確定壓力場景的操作方式;

測試模型與業務場景對應關係如下表:

測試模型 測試目標 對應的業務場景 壓力場景
單交易基準測試模型 通過測試,檢查該交易是否存在性能缺陷,同時為性能測試提供參考數據 單支交易在係統無壓力情況下重複執行多次
單交易負載測試模型 通過逐步增加並發量進行負載測試,獲取單交易業務處理性能峰值,並驗證交易是否存在並發性問題 逐漸增加並發量
混合負載測試模型 混合負載測試是按照業務模型的約定在一定量的並發情況下進行測試。通過測試,獲取模擬實際生產環境中被測係統性能表現數據 該測試模型可能與正常業務日交易場景、特殊日交易場景、高峰交易場景、交易線與數據線混合場景等多個業務場景對應 逐漸增加並發量
穩定性測試模型 檢查在持續的壓力情況下,係統長期運行時的業務處理能力及係統可能存在的缺陷 正常業務日交易場景 穩定壓力
可靠性測試模型 通過模擬係統可能遇到的各種異常情況,如帶寬受限、網絡連通不好、網絡延時、超時、各係統主機宕機、應用異常終止、資源死鎖、大並發用戶集中爆發訪問等情況,檢查係統的異常處理能力 正常業務日交易場景,高峰交易場景 穩定壓力穩定壓力+突增壓力
係統超時流控測試模型 對係統中各個超時流控功能點有效性、可靠性、穩定性等驗證在模擬實際生產係統情況下,驗證多個超時流控機製並存情況下的正確性 該測試模型可能使用正常業務日交易場景,但在進行有效性和可靠性驗證時可以不使用任何業務場景 根據測試目標選擇穩定壓力、單交易多次重複執行等
日終處理測試模型 驗證日終設計操作正確性以及是否滿足日終操作時間窗要求 日終批處理場景文件/數據處理場景 按照日終操作要求執行

2.5 測試模型調整

2.5.1 調整前提

對於一個已經構建好的測試模型,當出現以下情況造成原有測試模型不再適用的時候,必須要對原測試模型進行相應的調整形成新的測試模型:

  • 測試目標發生變更
  • 業務需求/範圍發生變更
  • 實際的業務場景發生變化
  • 由於係統架構變更或測試環境與實際環境差異
  • 被測係統進行重大功能改造
  • 某種業務無法模擬或者由於安全因素不能模擬

2.5.2 調整原則

模型調整的一般原則:

  • 測試模型的調整必須以測試目標進行驅動
  • 當測試目標改變的時候,必須要確定一個新的可行的測試目標,再進行測試模型的調整。也就是說測試模型的調整會依照新的可行的測試目標進行,而不是任意調整
  • 測試模型的調整是一項複雜的、動態的迭代過程。測試模型各個前提中任何一個的變化都可能影響到測試模型。因此需要通過多次分析和調整才可能得到一個適合測試目標的測試模型
  • 測試模型調整的一個重要原則是,分析測試模型與測試目標偏差的幅度是否超過了可允許的範圍。當目標偏離在控製範圍內的時候一般不要進行測試模型的調整,但超出了範圍就需要考慮進行測試模型調整
  • 測試範圍變化勢必導致測試模型調整,要依據測試範圍對測試模型進行適當的調整
  • 測試環境變化時也將導致測試模型調整,要根據測試環境的限製對測試模型進行適當的調整

2.5.3 調整方法

進行測試模型調整時,必須考慮兩個問題,其一是數據流的清晰完整,其次是測試模型調整的合理性。實際的測試模型調整是一個需要根據實際情況進行權衡的過程。通常進行測試模型的調整一般有兩種方法:調整和重構。
調整的方法是,在原有測試模型不變的前提下,對交易之間的占比關係進行適當的調整以符合實際測試目標的需要,通過刪減合並的方式對測試模型進行修改。
重構的方法是,對新的測試目標或測試環境進行分析,確定適合的測試模型和相應的業務場景,使之能夠和測試目標相匹配。

調整原因 調整方法 調整策略 影響分析
由於業務場景變化使得原測試模型不合理 調整 采用之前的測試模型作為基礎,並對當前係統業務結構和規模重新進行評估,得出差異點,對原測試模型進行調整 之前的測試模型可能因為業務結構的發展已經完全不適用了,但此時重構測試模型可能需要花費相同或者更多的工作量
業務需求/範圍變更 調整或重構 對變更的業務需求和範圍進行梳理,調研評估其業務結構,並對原測試模型進行評估。如果變更隻是使得業務場景發生變化,則找出差異點,對原測試模型進行調整;如果變更使原測試模型不可用,則需重新分析業務場景,重構測試模型,以滿足或符合測試目標的需要 某些業務需求的變更對業務模型影響並不大,例如業務需求僅是用戶操作方式的變更,業務路徑和交易量並沒有發生改變,則此時不需要對業務模型進行調整。當業務路徑或交易量有明顯變化時,要考慮調整模型
測試目標變更 調整或重構 分析變更前、後測試目標的差異,是否需要采用不同的測試模型進行測試,圍繞測試目標對測試模型進行調整 測試目標的不同對測試模型的要求也會有所差異
係統架構部署變更、測試環境限製 調整或重構 當出現係統的架構進行修改或因測試環境無法和實際生產環境一致使得某些業務無法在測試環境模擬情況時,要分析對業務路徑及交易量的影響,並依據此影響對測試模型進行調整 架構調整通常是因性能或商業戰略的需要,而測試環境無法和實際生產環境一致在測試實施過程中也是經常發生的
重大的功能改造 調整或重構 分析改造對業務路徑和業務量的影響,依據此影響對測試模型進行調整 係統某些功能進行重大的改造,可能會到導致業務路徑或業務量的變更
其他因素(時間因素) 調整或重構 根據實際遇到的問題針對性的進行分析,找到影響點,分析影響程度,得出模型調整比例差值,對測試模型進行適當調整 其他影響因素,比如測試時間很緊迫,測試資源受限,無法完全按照業務模型進行實施執行,需要對模型進行裁剪或一定比例縮放以便能在一定程度上即滿足測試目標又充分利用現有資源

訪問性能測試控製台

最後更新:2016-05-06 10:44:39

  上一篇:go 業務模型__性能測試技術體係_性能測試體係_性能測試-阿裏雲
  下一篇:go 測試監控__性能測試技術體係_性能測試體係_性能測試-阿裏雲