效能測試流程

zzz紫川發表於2019-01-07

一、獲取測試需求

1、系統結構分析

  系統架構圖、網路拓撲圖等(單體、叢集、分散式、微服務、快取、閘道器),主要目的是瞭解系統的資料流。

2、業務模型分析

  什麼場景下可能存在什麼問題。常見的業務有審批、支付、訂單、庫存、查詢、資料更新、檔案上傳下載等。其中支付業務關注強業務性和強資料一致性,資料更新關注資料庫的鎖、資源獨佔等,檔案的上傳下載需要關注網路頻寬、執行緒休眠、檔案轉換等。

3、測試需求分析

  什麼人(使用者)在哪個時間段(峰值流量)什麼場景(業務場景)下執行了什麼操作(介面處理,涉及的服務等),業務建模。

a)測試邊界

  哪些不測哪些測,梳理清楚涉及到的業務場景和對應介面。

b)測試目的

  能力驗證、容量規劃、發現缺陷、基準比較。詳看效能測試應用領域

c)測試指標

  一般由業務方提供。如果需求不明確,需要溝通確認測試指標(TPS、RT、系統效能計數器等)。

二、測試計劃

  類似於功能測試

三、測試方案設計

  確定起止時間,測試環境配置,人員等,與測試計劃具有重複,可合併。

四、測試環境搭建

  搭建一個獨立的環境,或者使用SIT/UAT/正式環境。注意被測系統的穩定性、是否有交叉影響、和生產環境的一致性等

五、測試用例設計

  類似於功能測試

六、測試資料準備

1、資料型別:基礎資料(本來就應該存在的系統內資料)、測試資料

2、準備方法:從生產上拉一份、通過指令碼(JDBC)預埋資料

3、注意事項:資料隔離,資料清理,資料汙染,可用“擋板”。

七、測試指令碼編寫

  最好做到可複用、簡潔、可移植。指令碼的編寫涉及介面的相關資訊(請求方式、方法、報文、通訊協議、同步/非同步等),還有框架的資訊(dubbo、MQ、kafka、Spring Boot等)

八、測試指令碼執行

1)執行過程中的資料收集

  系統自帶的計數器,第三方工具等。

2)監控除錯

  使用工具監控各方面的資源消耗,例虛擬機器可用nmon、docker類可用Prometheus、資料庫可用zabbix等。

九、瓶頸分析定位

  待續

十、測試結果反饋

十一、測試報告

 

-----------------------------------------------------------------------分割線----------------------------------------------------------------------------

  整個效能測試過程中主要重點在需求分析階段,根據測試目的確定了使用什麼測試方法,業務場景、效能指標都確定了,接下來就是按部就班的走下去就行了,找到瓶頸之後進行調優,然後在進行測試,如此反覆,直到達到預期的測試結果從而結束測試。調優這裡大概是效能測試最有技術含量的點了,需要大量的業務知識和技術積累。

 

相關文章