之前的部落格有介紹過完整的效能測試的流程和效能測試需求分析相關的內容,然而在實際的效能測試工作中,測試開始前也有很多的工作要做。
這篇部落格,就聊聊效能測試的第一步工作:獲取測試需求,到底需要哪些東西。。。
效能測試流程導圖
一、相關設計文件
1、系統架構圖:了解被測系統的技術架構,包括從客戶端到db的周轉流程、應用伺服器、中介軟體等;
2、網路拓撲圖:和系統架構圖類似,這個更多的是體現在不同層級之間的網路拓撲關係,也可以和系統架構圖結合在一起,根據專案具體情況而定;
3、需求說明文件:了解被測系統的業務流程,不同模組間的關係,便於後面的業務場景建模;
4、介面設計文件:大多效能測試都是通過呼叫模組間的api來進行模擬併發,了解業務模型對應的api,包括協議型別、方法、傳參型別、入參、出參等資訊是很必要的;
5、資料庫表設計文件:測試過程中產生的資料會寫入哪個庫哪個表,不同的api引數會對哪張表甚至哪個字段產生什麼影響,熟悉「資料流」是很必要的一件事情;
二、確認效能指標or目的
1、測試目的
測試目的
說明併發測試
測試系統在一定條件下可承受的最大併發數
容量測試
測試系統在一定配置下的最大服務能力
配置測試
驗證系統在不同配置下的效能表現,為效能調優和擴容提供重要參考
驗收測試
驗證被測系統是否滿足實際的業務需要或者驗證系統是否具有它說宣稱的效能表現
穩定性測試
驗證系統在一定的壓力下長時間正確處理請求的能力,一般時間越長,系統穩定性越好
多節點測試
驗證系統在服務集群下的乙個負載均衡能力
2、測試指標
指標名稱
指標數值
指標說明
tps100
每秒事務數,很重要的乙個指標,衡量系統的處理能力
rt95%、99%、99.99%
百分比請求的響應時間,即n%以內的rt請求響應時間是多少,百分比越高,rt越低,系統越穩定
error
0.1%、0.01%
錯誤率,即可接受的請求失敗的佔比
cache
90%、95%
快取命中率:命中率越高,使用快取的收益越高,系統的效能越好
cpu75%、90%
cpu使用率,一般來說75%是乙個閾值,超過85%就需要重點關注
三、效能測試環境
1、被測系統環境:fat(生產環境)、uat(驗收環境)、預發布環境等;
2、環境型別:docker容器、虛擬機器或者其他型別;
4、配置資訊
配置名稱
配置資訊
jvm堆記憶體分配
jvm的堆配置的記憶體大小
最大連線數
中介軟體、db的最大連線數
執行緒池配置
執行緒池數量、**策略等
timeout
超時時間
異常/錯誤重試次數
請求異常或錯誤時的重試策略、次數
5、伺服器/db登入賬號、密碼,服務部署路徑、日誌路徑等;
6、擋板/mock:某些依賴關係較複雜的系統或者模組,是否需要擋板?如果需要擋板,是來提供?
四、預埋資料
1、基礎資料:比如電商系統的庫存數、sku、使用者資訊等;
2、預埋/鋪底資料:根據生產實際的資料量對測試環境的db進行資料預埋,盡量和生產保持一致或可以等量換算(對應的bd例項名);
3、測試資料:測試資料如何生成?資料生成規則,比如加解密、隨機生成等;
4、垃圾資料:每輪測試產生的垃圾資料如何隔離或者清理;
5、資料脫敏:如果是在生產環境進行壓測,如何進行資料脫敏或者資料隔離防汙染策略;
五、介面說明
被測系統業務場景對應介面協議型別,比如:
協議型別
所需提供的資訊
方法、引數型別、host、port、path、請求響應報文等
scoket
host、port、請求響應報文等
dubbo
服務註冊型別(zookeeper)、版本、timeout、重試次數、最大連線數、同步/非同步、介面名、方法、引數型別、value等
六、測試開始前確認
1、容器:映象轉殖成功,服務部署完成,且完成功能性校驗;
2、壓測機:測試機準備完成,並完成效能測試環境的除錯驗證;
3、工具:相關監控工具等部署設定完成,比如伺服器監控工具、db監控工具等;
4、網路:網路連線通暢(如果有防火牆策略,運維同事應在測試方案評審開始前準備完成,並告知相關人員除錯驗證);
5、資料:基礎資料、預埋資料、測試資料準備完成(正確+可用+資料量級達標);
七、需求變更說明
1、涉及範圍:需求變更型別(業務場景、功能變更等)、環境交付日期、伺服器位址、配置資訊變更等;
2、提前說明:變更導致延期交付或提前交付的具體工時(可以精確到半天或者小時),最晚多久,需要提前通知;
3、應對策略:針對不同變更型別、影響範圍、風險程度、時間等因素評估如何處理,比如:打回、需求順延排期等;
八、交付日期和deadline
1、交付預期時間:方便效能測試同事根據需求緊急情況、優先順序等預估工時,進行工作排期;
2、deadline:即生產發布時間,根據交付時間和生產發布時間,確認具體的工作安排(比如從交付到上線只有一周,如何完成任務拆解和細化,不同人員安排不同的工作,里程碑等);
以上內容,僅供參考,具體的測試需求,還需要根據具體的專案型別、團隊人員構成、職責等進行合理靈活的取捨。。。
程式開始前的準備工作
本來剛才都準備進行專案的直接編寫了額 結果才發現還有好多準備工作沒有做,誒 現在一下突然感覺,學長批評的太對了,書看的多沒有用,自己不使用,很多東西都不知道。先說說自己要著手解決的幾個問題 1.初步了解ffmpeg 2.初步了解sdl 3.去學一下 安裝庫的幾個linux命令 悲劇啊,看了一段時間的...
python爬蟲 開始爬蟲前的準備工作
學習python爬蟲也有一段時間了,各種爬蟲技術多多少少也接觸過一些。因為有學弟學妹說想學爬蟲,我萌生了寫個簡單的python爬蟲教程的想法。一來,給學弟學妹們提供方便,提供乙個入門的渠道 二來,總結這些天自身所學,希望可以藉此提高自己,加深認識 三來,如果偶爾有大佬路過,求大佬指出文中錯誤的地方,...
Jmeter(一) 效能測試準備工作
一 前言 二 效能測試流程導圖 三 相關設計文件 1.系統架構圖 了解被測系統的技術架構,包括從客戶端到db的周轉流程 應用伺服器 中介軟體等 3.需求說明文件 了解被測系統的業務流程,不同模組之間的關係,便於後面業務場景建模 4.介面設計文件 大多效能測試都是用過呼叫模組間的api來進行模擬併發,...