本文章轉(zhuǎn)載于搜狗測試
專注于黑盒測試過程中的一切责静,包括總結(jié)現(xiàn)有的工作成果,發(fā)掘新的工作方法盖桥,探尋高效的測試工具等灾螃,所有與黑盒測試相關(guān)的話題都可以在這里討論
測試客戶端與服務(wù)器交互的功能,如何進行測試揩徊,需要考慮哪些內(nèi)容呢腰鬼?下面我們分階段來說明一下~
測試溝通階段
需要跟客戶端和服務(wù)器端開發(fā)溝通,確定客戶端發(fā)送請求的樣式塑荒,需要包含哪些參數(shù)值垃喊,參數(shù)值具體有什么樣的作用。
跟服務(wù)器端確認是否需要添加特定的user-agent(添加user-agent的目的:確保服務(wù)器安全)袜炕。
確認客戶端和服務(wù)器端交互時是否需要對文件進行加密操作本谜。
跟開發(fā)確認請求時是否需要增加重試和具體的超時機制,有無下載的斷點續(xù)傳偎窘。
確認服務(wù)器的具體類型乌助,是apache的還是Ngnix的。
對于需要客戶端識別的參數(shù)陌知,確認服務(wù)器端返回該參數(shù)是可能存在的返回值他托。
對于異常情況,跟服務(wù)器和客戶端的開發(fā)確定相應(yīng)的容錯處理仆葡。
需要注意詢問開發(fā)赏参,與服務(wù)器之間的交互是用什么做的志笼,標(biāo)準(zhǔn)的http協(xié)議還是自寫的協(xié)議。
還要注意把篓,交互時的http連接纫溃,是用get還是post。
需要和開發(fā)事先溝通清楚韧掩,是否需要特殊工具紊浩。
如果客戶端與服務(wù)器端交互的配置文件為密文時,需要詢問開發(fā)有沒有需要特別關(guān)注測試的地方疗锐。
需要和開發(fā)對一下url中的參數(shù)坊谁,是否可以滿足需求
需求了解時,要注意跟產(chǎn)品/開發(fā)確認好測試范圍滑臊;
跟開發(fā)確認好口芍,是否需要進行壓力測試;
跟開發(fā)確認都哪些地方需要加防盜鏈雇卷;
如果涉及到網(wǎng)頁相關(guān)鬓椭,要確認好測試環(huán)境:xp、win7聋庵、Win8、Win10及IE版本等
跟開發(fā)確認好待測試的常規(guī)網(wǎng)絡(luò)錯誤芙粱,以及測試方法祭玉;
對于服務(wù)器端策略,需要和該服務(wù)的運營負責(zé)人溝通清楚春畔,是否需要測試關(guān)注
功能劃分
如果一個功能同時涉及服務(wù)端和客戶端的修改脱货,首先從功能上就要分別對客戶端和服務(wù)端分別進行測試。
測試準(zhǔn)備階段
盡量使用線上的服務(wù)器律姨;如果需要搭建服務(wù)器則盡量保持跟線上或未來線上的服務(wù)器類型一致振峻。
搭建測試服務(wù)器環(huán)境時,測試服務(wù)器的返回策略择份,盡量跟線上或未來線上的服務(wù)器端策略一致扣孟。
用例設(shè)計
寫case的時候,詳細了解客戶端和服務(wù)端的邏輯后荣赶,要確認一下凤价,之前定好的測試范圍是否合理,是否有部分不需測試的邏輯可能會存在問題拔创,如果有這種不確認的地方利诺,需要再次確認測試范圍;
要考慮不聯(lián)網(wǎng)時剩燥,待測模塊是否仍需支持某些功能慢逾;
執(zhí)行階段
1.1.客戶端關(guān)注
嘗試連接時,不聯(lián)網(wǎng),要有超時
對于本地?zé)o連接的測試侣滩,一定要區(qū)分斷網(wǎng)和禁用網(wǎng)卡口注,這兩種情況不同。
下載過程中胜卤,網(wǎng)絡(luò)情況不佳或者斷網(wǎng)疆导,要有超時,最好也有三次重連機制葛躏,重連的時間不宜過短建議20ms
文件過大澈段,建議需要有斷點續(xù)傳邏輯
要驗證各種網(wǎng)絡(luò)錯誤環(huán)境,最起碼要包括200舰攒、302败富、403、404摩窃、417兽叮、500、502等錯誤和服務(wù)器超時猾愿、本地超時
測試時需要關(guān)注鹦聪,每條url請求是否支持302跳轉(zhuǎn)
需要模仿502跳轉(zhuǎn),確保調(diào)整后蒂秘,客戶端能夠正常運行
服務(wù)器返回文件類型需要關(guān)注:文件格式錯誤泽本、Html格式文件、空文件姻僧、0字節(jié)的文件规丽。
服務(wù)器返回文件時,文件的儲存路徑撇贺,空間赌莺,路徑的讀寫權(quán)限、儲存路徑是否已經(jīng)存在文件松嘶,存在文件的數(shù)據(jù)(0字節(jié)艘狭,其他類型的文件、損壞的文件翠订、下載的文件不完整)
服務(wù)器端返回的url值的類型缓升、長度的容錯,服務(wù)器返回文件的內(nèi)容:是否加密蕴轨,參數(shù)值為中英文港谊、簡繁體、特殊符號橙弱、數(shù)字歧寺、空燥狰、缺省、零、小數(shù)、負值掰茶、超長、亂碼等目代,參數(shù)缺省,規(guī)定下載的文件個數(shù)與下載的文件實際個數(shù)不匹配嗤练。
發(fā)送的url內(nèi)容榛了,參數(shù)值中的特殊符號、中文是否已經(jīng)轉(zhuǎn)義煞抬;
需要測試時關(guān)注霜大,交互時配置文件的編碼問題,例如要覆蓋到ASCII革答、unicode战坤、ANSI等編碼。
還要注意測試時残拐,交互時配置文件中的換行與回車換行的問題途茫,要保證這兩種都可以測試通過
要注意在低權(quán)限進程中,該功能能夠正常進行
該交互是否會被安全軟件攔截溪食;如果要打開瀏覽器訪問囊卜,還要檢查是否會被瀏覽器攔截
客戶端發(fā)送的請求中是否帶具有特性的User-Agent(具體根據(jù)與開發(fā)的溝通結(jié)果來驗證)
基本功能測試完畢后,需要進行跟服務(wù)器端的聯(lián)調(diào)眠菇。
客戶端與服務(wù)器聯(lián)調(diào)時边败,要注意確認聯(lián)調(diào)case袱衷,多跟開發(fā)溝通捎废;
1.2.服務(wù)器端關(guān)注
對于服務(wù)器來說,要進行壓力測試
客戶端致燥、服務(wù)器端分別測試后登疗,上線前要有聯(lián)調(diào),除了走主功能外嫌蚤、還要結(jié)合開發(fā)與運營的意見設(shè)計聯(lián)調(diào)case
服務(wù)端需要考慮是否要做安全校驗辐益,以免被攻擊
服務(wù)端和客戶端均通過測試后,在上線前脱吱,需要客戶端和服務(wù)端進行聯(lián)調(diào)測試智政,確認服務(wù)端和客戶端均ok
客戶端發(fā)送請求的內(nèi)容:是否加密,參數(shù)值為中英文箱蝠、簡繁體续捂、特殊符號垦垂、數(shù)字、空牙瓢、缺省劫拗、超長。
測試完成后
服務(wù)端上線后矾克,如果有需要页慷,需要驗證服務(wù)端的服務(wù)正常上線,通過外網(wǎng)IP能夠獲取服務(wù)端的服務(wù)
公示客戶端與服務(wù)器端交互時需要注意的相關(guān)事項及存在的風(fēng)險胁附,確保服務(wù)器端的策略能夠與客戶端正確匹配酒繁。