介面測試面試題1
參考答案
1
tps就是吞吐量,transaction per second。
吞吐量下降是可能因為頻繁訪問redis,而頻繁訪問redis的原因是引數過多,解決的思路很容易想到: 減少引數。
我們可以把多組引數變成json字串之類的一個引數,從而達到資訊量不減少而引數個數變少的效果。
2
對稱加密: 資訊交換的雙方使用同一個金鑰加密解密,就像是用同一把鑰匙開一把鎖
非對稱加密
公開金鑰加密(英語:Public-key cryptography),也稱為非對稱加密(英語:asymmetric cryptography),是密碼學的一種演算法,它需要兩個金鑰,一個是公開金鑰,另一個是私有金鑰;一個用作加密的時候,另一個則用作解密。使用其中一個金鑰把明文加密後所得的密文,只能用相對應的另一個金鑰才能解密得到原本的明文;甚至連最初用來加密的金鑰也不能用作解密。由於加密和解密需要兩個不同的金鑰,故被稱為非對稱加密;不同於加密和解密都使用同一個金鑰的對稱加密。雖然兩個金鑰在數學上相關,但如果知道了其中一個,並不能憑此計算出另外一個;因此其中一個可以公開,稱為公鑰,任意向外發布;不公開的金鑰為私鑰,必須由使用者自行嚴格祕密保管,絕不通過任何途徑向任何人提供,也不會透露給要通訊的另一方,即使他被信任。
基於公開金鑰加密的特性,它還提供數字簽名的功能,使電子檔案可以得到如同在紙本檔案上親筆簽署的效果。
如何測試:略
3
UI與介面測試的協同可以從下面的方向考慮
- UI的操作實際上就是用另一種方式呼叫介面,那麼介面有多少種引數組合就要求UI用例要構造多少種操作進行呼叫
- UI操作所需要的資料可以用介面來生成
- 介面測試可以保證資料和邏輯的準確性,UI測試需要考慮互動和介面展示的邏輯正確性
- UI測試需要重視介面呼叫不成功或者介面異常情況下UI的呈現方式和使用者體驗
- UI中可能會有一些狀態的快取資訊(這樣就不需要每次頻繁呼叫介面去獲取了),比如鑑權資訊等,需要重點關注這些快取的更新策略
4
上下游介面的資料依賴無非就是準備測試資料。
假如一個事務需要順序呼叫3個介面,A B C, C依賴於AB, 而AB有資料依賴,這時候就需要準備好A和B的資料。
資料一般有兩種方式生成
-
動態方式:假如B依賴A創造的資料,那麼每次執行B之前必須執行A去做資料建立
-
靜態方式:獨立統一的測試資料庫, ABC需要的資料都可以從庫裡拿到
5
依賴第三方就mock掉,可以自己寫mock server
6
依賴登入態,那麼每次測試該介面之前都需要呼叫登入的介面
如果是jwt之類的token based auth的話,每次在呼叫介面時提供token就可以了
7
不知道,感覺出題者的理解可能有點偏差。
8
修改的介面,也就是update的介面一般只需要傳:被更新了的欄位 以及 被更新實體的 主鍵 比如id。
這是開發常識,如果大家研究過jsonapi規格的話,可以直接套用jsonapi的設計進行闡述。
9
swagger文件可以解決這個問題。
10
看不清。
總結
題目涉及到一些開發的知識點,很正常,現在測試面試時一般也會考察一下開發基礎。
總的來說題目出的一般,也不算太難,希望這些解答對大家有所幫助。