首先服務端的測試包含哪些東西呢?.
實際上,服務端的測試簡單來說就是除了前端以外的的測試,
總的來說可以分為以下兩類:
- WEB或者APP的提供業務邏輯的服務端接口測試
- 數據庫、緩存系統、中間件、jar包依賴、輸入輸出敏感信息等測試.
1.WEB或者APP的提供業務邏輯的服務端接口測試
接口測試占據工作工作中的80%,接口測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關系等。下面粗略的列舉出測試的幾個點。
- 檢查接口請求是否正確,返回數據的正確性與格式
- 檢查接口入參的默認值、參數類型、非空校驗、以及邊界值檢查接口的容錯性.
- 所有功能都需要考慮兼容老版本,列表頁的接口需考慮排序值
- 檢查接口的性能以及安全性
- 對於接口內部依賴接口的不可靠性預防(如:依賴的第三方接口超時)

2. 數據庫、緩存系統、中間件、jar包依賴、輸入輸出敏感信息等測試.
- 中間件測試
1 名字服務:測試中間件對透明的名字服務的支持和正確性
2 負載均衡:測試中間件對自動在系統中完成負載平衡的支持和正確性
3 請求優先權:測試中間件對服務請求優先級的支持和正確性
4 可用性支持:測試中間件對進程可用性檢查、超時檢查等可用性支持和正確性,保證應用運行環境穩定
5 安全性:測試中間件對保證應用服務安全運行和數據傳輸加密的支持和正確性
6 動態配置:測試中間件對動態重配置節點和參數的支持和正確性
7 分布式事務處理:測試對跨多個數據源、數據源異構異地的事務,中間件提供保證其數據完整性的支持和正確性
8 交易通信機制:測試中間件對同步、異步和會話等交易通訊模式的支持和正確性
9 交易運行模式:測試中間件對一階段提交、兩階段提交、請求轉發和請求嵌套等交易模式的支持和正確性
10 隊列服務:測試中間件對應用請求回答隊列及其LIFO、FIFO、用戶定義的出隊和原始的ATMI調用特性隊機制的支持和正確性
- 緩存系統
Cookie、Session、Cache等方法
- Cookie
當用戶訪問一個Web系統后,服務器為了在下一次用戶訪問時,判斷該用戶是否為合法用戶、是否需要重新登陸,或者希望客戶端記錄某些數據信息時,可設計Cookie以某種具體的數據格式記錄在客戶端硬盤中。
通常情況下,Cookie可記錄用戶的登陸狀態,服務器可保留用戶信息,在下一次訪問時可顯示該用戶上一次訪問時間,對於購物類網站,也可利用Cookie實現購物車功能。
進行Cookie測試時需關注Cookie信息的正確性(服務器給出信息格式),當用戶主動刪除Cookie信息后,再次訪問時,驗證能否無須重新登陸。電子商務類網站可添加商品信息后刪除Cookie,刷新后查看購物車中的商品能否成功清除。
- Session
Session一般理解為會話,在Web系統中表示一個訪問者從發出第一個請求到最后離開服務,這個過程維持的通信對話時間。當然,Session除了表示時間外,還可能根據實際的應用范圍包含用戶信息和服務器信息。
當某個用戶訪問Web系統時,服務器將在服務器端為該用戶生成一個Session,並將相關數據記錄在內存或文件中,某個周期后,如果用戶未做任何操作,則服務器將釋放該Session。為了識別每個用戶會話,服務器生成Sessionid來標識。
從安全性角度考慮,用戶使用軟件系統進行業務操作時,除了需提供正確的帳號信息外,還可能需要提供正確的Sessionid,服務器將會對帳號及Sessionid進行驗證。
例子:
用戶登陸成功后,服務器將會產生一個sid來保證該用戶的安全性。如果登陸郵箱后,瀏覽器記錄了該鏈接,關閉瀏覽器后重新打開該鏈接時,因為服務器端分配的sid已經變更,服務器將拒絕該訪問,需重新登陸,以此來保證安全性。
- Cache
Web系統將用戶或系統經常訪問或使用的數據信息存放在客戶端Cache(緩存)或服務器端Cache中,以此來提高響應速度。與Cookie和Session不同,Cache是服務器提供的響應數據,為了提高響應速度,存放在客戶端或服務器端。
用戶發出請求后,首先根據請求的內容從本地讀取,如果本地存在所需的數據,則直接加載,減輕服務器的壓力,若本地不存在相關數據,則從服務器的Cache中查詢,若還不存在,則進行進一步的請求響應操作。很多時候,服務器用Cache提高訪問速度,優化系統性能。在Web系統前端性能測試時,需關注Cache對測試結果的影響。
當網頁訪問以后,客戶端將保存相關的數據信息,再次訪問時,瀏覽器首先判斷本地是否有待請求的數據,如果有,則直接讀取,不再從服務器獲取