話不多說,我們直奔主題藐鹤。
什么是服務(wù)端測試瓤檐?
服務(wù)端測試其實很大,一般來說兩種:一種是直接對WEB或者APP的api接口進行測試娱节;另一種是對更后端的數(shù)據(jù)庫挠蛉、緩存系統(tǒng)、中間件肄满、文件系統(tǒng)等進行測試谴古。
1.WEB/APP的接口測試
服務(wù)端為WEB/APP端提供一些后臺的接口,比如用戶個人信息稠歉、交易記錄的讀取和存儲等掰担,一般都是用HTTP接口的方式提供。測試人員需要在開發(fā)交付后寫接口測試用例或者用postman進行測試怒炸。對于此階段的接口測試簡單總結(jié)一下幾點:
檢查接口請求是否正確带饱,返回數(shù)據(jù)的正確性與格式
檢查接口入?yún)⒌哪J值、參數(shù)類型阅羹、非空校驗勺疼、以及邊界值檢查接口的容錯性.
所有功能都需要考慮兼容老版本教寂,列表頁的接口需考慮排序值
檢查接口的性能以及安全性
對于接口內(nèi)部依賴接口的不可靠性預(yù)防(如:依賴的第三方接口超時)
2.數(shù)據(jù)庫、緩存系統(tǒng)执庐、中間件孝宗、文件系統(tǒng)等進行測試
中間件測試
1.名字服務(wù):測試中間件對透明的名字服務(wù)的支持和正確性
2.負載均衡:測試中間件對自動在系統(tǒng)中完成負載平衡的支持和正確性
3.請求優(yōu)先權(quán):測試中間件對服務(wù)請求優(yōu)先級的支持和正確性
4.可用性支持:測試中間件對進程可用性檢查、超時檢查等可用性支持和正確性耕肩,保證應(yīng)用運行環(huán)境穩(wěn)定
5.安全性:測試中間件對保證應(yīng)用服務(wù)安全運行和數(shù)據(jù)傳輸加密的支持和正確性
6.動態(tài)配置:測試中間件對動態(tài)重配置節(jié)點和參數(shù)的支持和正確性
7.分布式事務(wù)處理:測試對跨多個數(shù)據(jù)源、數(shù)據(jù)源異構(gòu)異地的事務(wù)问潭,中間件提供保證其數(shù)據(jù)完整性的支持和正確性
8.交易通信機制:測試中間件對同步猿诸、異步和會話等交易通訊模式的支持和正確性
9.交易運行模式:測試中間件對一階段提交、兩階段提交狡忙、請求轉(zhuǎn)發(fā)和請求嵌套等交易模式的支持和正確性
10.隊列服務(wù):測試中間件對應(yīng)用請求回答隊列及其LIFO梳虽、FIFO、用戶定義的出隊和原始的ATMI調(diào)用特性隊機制的支持和正確性
Cookie灾茁、Session窜觉、Cache等方法
Cookie
當用戶訪問一個Web系統(tǒng)后,服務(wù)器為了在下一次用戶訪問時北专,判斷該用戶是否為合法用戶禀挫、是否需要重新登陸,或者希望客戶端記錄某些數(shù)據(jù)信息時拓颓,可設(shè)計Cookie以某種具體的數(shù)據(jù)格式記錄在客戶端硬盤中语婴。
通常情況下,Cookie可記錄用戶的登陸狀態(tài)驶睦,服務(wù)器可保留用戶信息砰左,在下一次訪問時可顯示該用戶上一次訪問時間,對于購物類網(wǎng)站场航,也可利用Cookie實現(xiàn)購物車功能缠导。
進行Cookie測試時需關(guān)注Cookie信息的正確性(服務(wù)器給出信息格式),當用戶主動刪除Cookie信息后溉痢,再次訪問時僻造,驗證能否無須重新登陸。電子商務(wù)類網(wǎng)站可添加商品信息后刪除Cookie孩饼,刷新后查看購物車中的商品能否成功清除嫡意。
Session
Session一般理解為會話,在Web系統(tǒng)中表示一個訪問者從發(fā)出第一個請求到最后離開服務(wù)捣辆,這個過程維持的通信對話時間蔬螟。當然,Session除了表示時間外汽畴,還可能根據(jù)實際的應(yīng)用范圍包含用戶信息和服務(wù)器信息旧巾。
當某個用戶訪問Web系統(tǒng)時耸序,服務(wù)器將在服務(wù)器端為該用戶生成一個Session,并將相關(guān)數(shù)據(jù)記錄在內(nèi)存或文件中鲁猩,某個周期后坎怪,如果用戶未做任何操作,則服務(wù)器將釋放該Session廓握。為了識別每個用戶會話搅窿,服務(wù)器生成Sessionid來標識。
從安全性角度考慮隙券,用戶使用軟件系統(tǒng)進行業(yè)務(wù)操作時男应,除了需提供正確的帳號信息外,還可能需要提供正確的Sessionid娱仔,服務(wù)器將會對帳號及Sessionid進行驗證沐飘。
例子:
用戶登陸成功后,服務(wù)器將會產(chǎn)生一個sid來保證該用戶的安全性牲迫。如果登陸郵箱后耐朴,瀏覽器記錄了該鏈接,關(guān)閉瀏覽器后重新打開該鏈接時盹憎,因為服務(wù)器端分配的sid已經(jīng)變更筛峭,服務(wù)器將拒絕該訪問,需重新登陸陪每,以此來保證安全性蜒滩。
Cache
Web系統(tǒng)將用戶或系統(tǒng)經(jīng)常訪問或使用的數(shù)據(jù)信息存放在客戶端Cache(緩存)或服務(wù)器端Cache中,以此來提高響應(yīng)速度奶稠。與Cookie和Session不同俯艰,Cache是服務(wù)器提供的響應(yīng)數(shù)據(jù),為了提高響應(yīng)速度锌订,存放在客戶端或服務(wù)器端竹握。
用戶發(fā)出請求后,首先根據(jù)請求的內(nèi)容從本地讀取辆飘,如果本地存在所需的數(shù)據(jù)啦辐,則直接加載,減輕服務(wù)器的壓力蜈项,若本地不存在相關(guān)數(shù)據(jù)芹关,則從服務(wù)器的Cache中查詢,若還不存在紧卒,則進行進一步的請求響應(yīng)操作侥衬。很多時候,服務(wù)器用Cache提高訪問速度,優(yōu)化系統(tǒng)性能轴总。在Web系統(tǒng)前端性能測試時直颅,需關(guān)注Cache對測試結(jié)果的影響。
當網(wǎng)頁訪問以后怀樟,客戶端將保存相關(guān)的數(shù)據(jù)信息功偿,再次訪問時,瀏覽器首先判斷本地是否有待請求的數(shù)據(jù)往堡,如果有械荷,則直接讀取,不再從服務(wù)器獲取