圖形化開放式生信分析系統開發 - 8 軟件穩定性測試

前文鏈接:

圖形化開放式生信分析雲平臺產品開發 - 1 需求分析及技術實現

圖形化開放式生信分析雲平臺產品開發 - 2 樣本信息處理

圖形化開放式生信分析雲平臺產品開發 - 3 生信分析流程的進化

圖形化開放式生信分析雲平臺產品開發 - 4 生信分析流程的圖形化

圖形化開放式生信分析雲平臺產品開發 - 5 生信分析流程服務器端運行

圖形化開放式生信分析雲平臺產品開發 - 6 生信分析流程批量運行與過程控制

圖形化開放式生信分析雲平臺產品開發 - 7 分析報告的模板定製與自動生成

前面文章講述了更多的來自用戶的需求分析,如何用技術方案解決用戶需求、以及最終實現的效果,解決的是軟件功能與特性的問題。

軟件開發接近完成的時候,包括作者在內,都會有一個疑問:**軟件的穩定性如何?能否經受住高負載的考驗?我的業務跑在上面,出問題怎麼辦?**本文將使用穩定性測試的方法,解決以上疑問。

如何測試軟件的穩定性?

簡單的說,就是用測試軟件錄製人的操作行爲得到錄製的腳本,然後長時間用大量線程模擬人的操作。監控軟件運行狀態,並得到統計結果。

爲什麼這裏跳過了單元測試、功能測試?

雖然開發過程中必然經過了單元測試、功能測試,但對於生信從業人員、企業用戶來講,這些概念過於專業,這裏就不做過多描述了。

測試方案如下

測試環境:

服務器端(軟件部署端)

CPU:I7 6700K 4 Core 8 Threads,4.8GHz

內存:64G 3200Mhz

硬盤:Intel 760P 512G

客戶端(模擬訪問端)

CPU: I7 8550U

內存:16G

硬盤:三星EVO 960 250G × 2

客戶端運行:測試軟件 Apache JMeter 5.1.1 JConsole,連接java虛擬機,查看測試時候java虛擬機運行情況

網絡環境:服務器端和客戶端通過千兆有線網絡連接

測試過程:

Web軟件開發領域常用的壓力測試工具有:Load Runner和Apache Meter,這裏使用的是Apache JMeter。

  1. 配置好Apache JMeter Recorder入下圖:
    在這裏插入圖片描述

點擊Start,運行Recorder服務,這裏運行起來一個代理服務器,在客戶端(模擬訪問端)瀏覽器中代理服務器設置好JMeter的代理服務器地址。這樣,客戶端所有的文檔行爲,就會被JMeter錄製下來,所得到的各種URL地址添加到線程組裏。

  1. 在客戶端(模擬訪問端)使用配置好的代理服務器,訪問軟件,登錄系統,把所有功能依次使用一遍。得到了一組錄製好的腳本,如下圖:
    在這裏插入圖片描述

  2. 下一步就是模擬運行了,在Process裏設置Number of Threads (users) : 10

    相當於模擬10個併發用戶,理論上幾百個用戶都沒有問題,這裏設置爲10(多次測試後:10個併發用戶是因爲受測試條件限制,啓動測試後客戶端測試機CPU滿載,千兆網絡滿載;服務端負載CPU 20%左右,還有很大的餘量,見後圖)。而且本軟件性質不屬於高併發類型的系統,日常使用和可以預見的場景不會有太多的併發用戶,追求的反而是長時間的穩定性。
    在這裏插入圖片描述

​ 點擊工具欄上面綠色箭頭啓動測試,就會看到客戶端發送大量的請求,測試就開始了。這時候打開服務端的任務管理器,就能夠看到,CPU負載,網絡流量升高。

  1. 經過很多次測試,最長的一次持續一天時間。可以JConsole中看到,系統平穩運行。並在壓力/穩定性測試結束後,系統仍在平穩運行。

在這裏插入圖片描述

  1. 穩定性測試的結果:

在這裏插入圖片描述

可以簡單的描述,用戶錄製的腳本平均執行了237678次(換算成日常操作次數,可能相當於幾年的訪問量),平均響應時間最長118ms(毫秒),異常0%。

經過這麼嚴苛條件的穩定性測試之後,雖然也可能有個別測試盲區,但是這些數據從整體上已經足夠判斷一個軟件的穩定性了。

您可以下載PPT或加QQ羣:853718264討論

發佈了10 篇原創文章 · 獲贊 2 · 訪問量 2326
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章