0084 網書管理系統整合測試和壓力效能測試

上節課完成了圖書館管理系統的全部功能。

這節課來說明在開發完成之後還要做的很多工作,各種各樣的測試,確保系統的穩定性和可靠性。

初始資料準備

將測試環境的資料庫的所有表裡面的資料清除,但是要保留初始資料。

第一個是員工表裡要保留至少一個員工,作為系統管理員賬號。然後可以使用這個賬號登入後臺系統並且建立更多的員工賬號。

第二個是圖書表裡面要保留3個系統用的圖書:IC補卡、收押金和退押金。

第三個是相應的庫存表裡面要保留3個系統用的庫存。

資料準備之後,匯出一個包含資料庫結構和表資料的SQL,用於部署到正式雲伺服器。

library。sql檔案內容如下:

0084 網書管理系統整合測試和壓力效能測試

0084 網書管理系統整合測試和壓力效能測試

0084 網書管理系統整合測試和壓力效能測試

0084 網書管理系統整合測試和壓力效能測試

0084 網書管理系統整合測試和壓力效能測試

全流程覆蓋測試

初始資料準備好了之後,就可以按照接近真實測試案例來進行全流程覆蓋測試。

參照之前寫的系統測試案例來進行測試,建立多個員工,建立多本圖書,建立多個庫存,然後建立多個使用者,然後測試借書和還書,然後測試補卡功能,測試退卡功能,查詢訂單確保資料都是按照預期的產生了。

在後臺系統測試的同時,開啟圖書館公共查詢系統,檢視不多的狀態下的圖書庫存情況,模擬使用者登入檢視個人的借閱歷史記錄情況。

全流程覆蓋測試的目的,是確保系統能夠按照正常的業務進行運轉。如果運行當中發現有業務邏輯漏洞或者使用不順暢的情況,就需要修改系統設計詳細設計資料庫設計,然後修改程式碼實現,並重新測試。

多使用者整合測試

單個使用者測試的時候,可能難以發現一些問題,因此要找多個人來模擬多個使用者使用系統的情況,這樣可能發現更多的問題。

因此多人測試是由必要的,主要的目的是發現當多使用者同時使用系統的時候,會不會產生系統衝突的情況。

安全許可權測試

系統的安全性是很重要的環節,要避免系統設計或者程式編寫錯誤產生的漏洞,防止對系統的資料安全產生不可逆轉的損害。

因此需要對系統的安全性進行嚴格的測試。例如進行SQL注入測試,資料格式錯誤測試,選單或頁面功能許可權測試等等。

大資料量測試

系統的資料量很少和很大,會對系統的執行速度或者效果產生完全不同的影響。任何一個系統,當資料量變得很大到一定程度,都可能產生巨大的不同,也許就會導致完全不同的設計以及開發方式。

一個每天最多100個訂單的系統和一個每天最多上千萬個訂單的系統,很顯而易見是完全不一樣的設計和開發來實現的。

因此,在系統設計之初就要考慮系統運行當中可能最大的資料量,考慮到大資料量對系統的影響,並透過良好的結構設計來避免大資料量對系統的不良影響。在系統開發完成之後,也要透過大資料量測試來對系統進行驗證。

驗證的方法可以是透過程式來產生大量的測試資料到系統當中,然後再來執行正常的業務流程,驗證大資料量對系統的影響程度。

併發壓力測試

當一個系統是一個使用者數量巨大的系統,就必須要考慮系統併發訪問的情況,要驗證大量併發訪問對系統的穩定性是否有不良的影響。

這時候就需要對系統做併發壓力測試。也就是透過一些壓力測試工具程式來模擬大量使用者同時訪問系統的情況,看看系統是否會不穩定,同時看看系統的軟體和硬體負荷是否到達極限,並能夠儘量測算出系統的負荷極限值,並可以針對系統的負荷能力做好相應的預案,當系統上線執行之後,如果遇到大量訪問的時候,能夠有相應的預案來解決系統瓶頸,確保系統能夠正常執行。

測試沒有止境

測試是一個IT系統非常重要的環節,系統不經過充分的測試,在正式上線之後很可能遇到各種各樣的問題,那個時候再來解決就不容易了。因此作為軟體工程師,腦子裡一定要重視測試。

由於測試技術並不是學哥這個系列教程的重點,因此對於圖書館管理系統的測試,就不做更多的講解了。