軟件開發中的性能測試,看這一篇讓你融會貫通

發表于:2021-4-01 09:26  作者:瘋狂的肉絲面   來源:今日頭條

字體: | 上一篇 | 下一篇 |我要投稿 | 推薦標簽: 性能測試

  談到測試很多開發人員以為是測試人員需要考慮的事情,其實不然針對一個良好的應用測試是需要研發人員,測試人員,項目管理人員,甚至公司高層需要關心的事情。因為這個涉及到交付的軟件產品的質量問題。今天我們來聊聊軟件開發中的性能測試壓力測試。
  什么是性能測試
  是針對目標應用或者目標系統的速度,吞吐量以及設備或者硬件的有效性的測試。說白了就是看應用或者系統是否達到了設計之初設定的那個預期。如果系統設計100分是滿分的話,那么性能測試就是看這個應用或者系統是否達到了最基本的可用預期,也就是及格的分數60分。
  如何進行性能測試
  那么執行性能測試需要經歷哪幾個階段呢?
  第一,建立性能測試的目標,例如我們希望該系統的在規定時間能夠支持多少的并發數(5000/秒)。這個目標定義的依據又是什么呢,我們通常是通過系統運行的歷史數據歸納總結獲得的,如果是新建的系統,可以參考同行業其他系統在一定業務量情況下的標準。
  第二,建立適合的測試環境,這里我建議最理想的測試環境就是和生產環境一模一樣的,不過這個一般是很難達到的,這需要動用大量的服務器資源。我們可以根據生產環境服務器資源的1/2,1/4,1/8 的配置來設置這個測試環境,測試的結果再按照2,4,8的倍數放大,當然這里需要考慮設備增多以后的通訊損耗問題,所以最后的結果需要打一個折扣。不過這樣的預估和真實的生產環境已經向差不多了。
  第三,定義測試,這里我們需要進行以下幾種測試。
  耐久性測試:針對訪問量不大,但是持續時間長的測試場景。例如:瀏覽商品的信息。
  負載性測試:針對瞬時訪問量大,但是持續時間不長的測試場景。例如:限時秒殺。
  常用場景的測試:針對特殊場景的測試,例如:4g信號不佳的時候,會降級到3g信號,這個時候的用戶訪問。又如,在離線狀態下的信息訪問。
  主要部件測試:針對核心功能的測試,例如:訂單功能。
  系統測試:考慮整個系統閉環的測試。
  以上這些測試,都需要根據具體的測試場景,寫出測試用例以及需要的數據。這里的數據盡量使用生產環境的數據。
  第四,執行測試,這里有很多執行的方法。我們介紹一種常用的性價比較高的方法。針對目前的持續集成持續開發的模式,在每天發布之后可以進行一些負責測試,功能性的測試,有人工或者腳本完成。在發布的當天晚上,利用夜間到第二天的較長時間進行耐久性測試,由腳本完成。
  第五,分析數據,在執行測試之后我們會收集到一些數據,這些顯然是我們關心的,例如:響應時間,數據庫單位時間處理查詢請求的個數。這里我們可以通過t-校驗,因子分析,主效應圖,方差分析等方法對這些信息進行分析,看是否達到了我們預期的設想。
  第六,記錄報告問題,說白了就是發現問題需要找人解決問題。把分析的結果和我們的預期的結果進行對比如果產生了一定的偏差(例如:團隊定義的偏差是5%),一但超過了這個偏差就需要記錄一個問題,并且分配給對應的工程師進行解決。當然如果有的問題比較特殊需要團隊進行審核決定。
  第七,重復測試和分析,這里比較清楚,發現問題解決問題然后再次驗證問題,使整個測試過程形成一個閉環。

      本文內容不用于商業目的,如涉及知識產權問題,請權利人聯系51Testing小編(021-64471599-8017),我們將立即處理

評 論

論壇新帖

頂部 底部


建議使用IE 6.0以上瀏覽器,800×600以上分辨率,法律顧問:上海信義律師事務所 項棋律師
版權所有 上海博為峰軟件技術股份有限公司 Copyright©51testing.com 2003-2021, 滬ICP備05003035號
投訴及意見反饋:webmaster@51testing.com; 業務聯系:service@51testing.com 021-64471599-8017

滬公網安備 31010102002173號

51Testing官方微信

51Testing官方微博

掃一掃 測試知識全知道

农村里的风流韵事