性能需求怎麼提

前言:網絡

近期接到一些性能測試項目,各類各樣的項目類型,有接口、網站不一而足,可是每每沒有一個明確的性能需求。需求方最多見的一句話就是:「這個須要性能測試」或者「項目上線前要壓一壓」,等我發了郵件去問具體性能需求,才匆匆忙忙的拋出好比「網頁7秒內打開」之類的話,這樣的需求,首先不許確,好比這個7秒,是在什麼樣的帶寬多少用戶併發返回的結果呢?架構

 

在項目開始以前:併發

通常來說,在軟件(網站)調研階段,需求分析人員與業務人員進行溝通,此時就須要明確的提出性能指標,好比並發用戶量,交易頻度、業務數據量、網絡要求等等。而後對系統的響應時間、用戶數和資源進行分析,最終提供一份性能需求給測試人員,進行性能測試。性能

 

測試需求是一切的基石:測試

在公司,咱們作性能測試基本是以運營統計數據爲準,說白了,是以TPS爲基礎建模,響應時間是後續結果,建場景的基礎都是以TPS爲主,而後須要提供網絡拓撲。好比Booking接口天天交易200000筆,根據2/8原則,80%的訪問發生在20%的時間,集中的交易數:200000*80%=160000,集中訪問時間:24*20%=17280秒,計算可得160000/17280=9.3TPS。那麼若是是新項目,沒有現成的TPS怎麼辦?此時就須要需求方進行確認,指望項目達到什麼樣的支撐量。網站

打個比方,咱們的客戶管理系統,可能須要支撐同時2000人訪問,那麼對於測試人員須要去作的就是經過模擬線上的壓力,把這個情景進行壓測出來,甚至有些時候咱們須要模擬一個極限的數字,好比以咱們現有的環境條件,咱們是否能夠支撐200%甚至300%這樣的數字?spa

因此,做爲測試人員,指望提過來的需求是相對清晰跟合理的。好比你項目生產環境最多隻有20人使用或者數據存量只有寥寥,那麼是否有必要進行這個壓力測試,則須要另行商榷。正常來說,須要進行壓測的網站訪問量確定是比較大的,那麼咱們須要根據經驗,結合具體的功能去定義一些壓測點,例如:接口

一、 首頁訪問資源

二、 我的中心展現io

三、 用戶登陸功能

……

通過確認這些測試點,咱們又能夠進行下一步,確認具體測試參數。好比上文提到的須要支撐2000人,又或者頁面須要在3秒鐘內返回。

        有些狀況是在特定要求下的,好比百萬級的業務數據條件、100用戶併發執行10小時、每次訪問數據量大於1M等等,對於特殊需求,需求方在項目初期就要儘量的挖掘出來,由於要建立符合的模擬場景是很耗費時間和資源的。

 

常見的性能需求:

首頁打開速度3秒如下;

接口返回在300毫秒如下;

系統在200%的壓力下能夠穩定運行12小時;

20用戶併發,接口處理能力至少達到50TPS

 

一些其餘的方法:

首先是提問,問測試同事和架構師,能夠獲得不少有用信息,例如接口響應時間不要超過300毫秒啦,網頁訪問要低於3秒等等,這些數據均可以是確認新項目性能的一些參考。

其次是找之前項目的歷史數據,進行橫向比較。通常來講公司對項目的性能要求會保持一致性,因此用公司的歷史數據參考是很是靠譜的事情。

最後要注意一些特殊場景,好比剛剛過去的雙十一。咱們平時測試注重的是一個平均值,那麼這種時刻就是峯值。在雙十一的時候,公司頁面可能會承受平時十倍的訪問量。相似狀況還有寒暑假前期、重大節假日、火車票搶票開始等等,這些都是須要業務人員提供具體生產數據,而後進行計算和轉換的。

相關文章
相關標籤/搜索