接口測試相關面試題(壹)

1 做接口測試當請求參數多時tps下降明顯,此接口根據參數從redis中獲取數據,每個參數與redis交互一次,當一組參數是tps5133,五組參數是tps1169,多次交互影響了處理性能,請詳細闡述如何改進增進效果的方案。

將從redis獲取數據的get改為mget,減少交互次數(參考:http://www.cnblogs.com/dimmacro/p/4849729.html)

2 接口的加密測試中對稱加密與非對稱加密有什么區別? 如何開展測試? 請詳解

對稱加密是最快速、最簡單的一種加密方式,加密(encryption)與解密(decryption)用的是同樣的密鑰(secret key),這種方法在密碼學中叫做對稱加密算法。
對稱加密的一大缺點是密鑰的管理與分配,換句話說,如何把密鑰發送到需要解密你的消息的人的手里是一個問題。在發送密鑰的過程中,密鑰有很大的風險會被黑客們攔截。現實中通常的做法是將對稱加密的密鑰進行非對稱加密,然后傳送給需要它的人。
非對稱加密為數據的加密與解密提供了一個非常安全的方法,它使用了一對密鑰,公鑰(public key)和私鑰(private key)。私鑰只能由一方安全保管,不能外泄,而公鑰則可以發給任何請求它的人。非對稱加密使用這對密鑰中的一個進行加密,而解密則需要另一個密鑰。比如,你向銀行請求公鑰,銀行將公鑰發給你,你使用公鑰對消息加密,那么只有私鑰的持有人--銀行才能對你的消息解密。與對稱加密不同的是,銀行不需要將私鑰通過網絡發送出去,因此安全性大大提高。目前最常用的非對稱加密算法是RSA算法.
開展測試-TBD

3 請詳細闡述接口測試和UI測試在測試活動中是如何協同測試的?


1.png

接口測試和UI測試這兩塊其實是有一部分是重疊的,UI測試是通過前端寫的界面,來調用接口,而接口測試是直接調接口。所以排除前端的處理的邏輯和調用的正確性,在理論上接口測試是可以覆蓋所有的UI測試。但實際過程中,如果只是在接口層覆蓋所有的業務流,在UI上只測試前端的邏輯,最終的結果可能會是忽視很多原有的功能點,導致了UI測試的不充分。所以存在多人分工且時間充分的時候可以嘗試接口去做業務流的全覆蓋,否則不要輕易嘗試。

4 在手工接口測試或者自動化接口測試的過程中,上下游接口有數據依賴如何處理?

在工具中可以使用全局變量等方式將需要的數據進行傳送。

5 依賴于第三方數據的接口如何進行測試?

可以使用SoapUI等工具直接調用第三方數據接口的webservice,通過返回值來查看第三方數據的接口是否調用正常。
也可以利用一些MOCK的工具來模擬第三方的數據返回,最大限度的降低對第三方數據接口的依賴。

6 接口測試中依賴登錄狀態的接口如何測試?

依賴登錄狀態的接口的本質上是在每次發送請求時需要帶上Session或者Cookie才能發送成功,在構建POST請求時添加必要的Session或者Cookie

7 http接口測試和web Service接口測試區別是什么?

區別是有的。主要是傳統ws有一套完整的協議標準。其中有soap協議,用來進行消息的傳遞。以傳統工業標準的ws返回數據為例,返回結果需要包裝在一個soap協議指定的語法格式中。即使你只需要簡單的返回字符1,也需要包裝在協議種返回,協議描述了成功失敗否,結果值等。而普通的get,你輸出1,在調用端得到字符1。
web service和http接口的區別在于:
1.接口中實現的方法和要求參數一目了然。
2.不用擔心大小寫問題。
3.不用擔心中文 urlencode 問題。
4.代碼中不用多次聲明認證(賬號,密碼)參數。
5.傳遞參數可以為數組,對象等。

8 設計接口測試用例例時,涉及的是電商系統,其中包括很多修改,如商品、商家、店鋪等等,針對這些數據的修改,會涉及到很多參數。如商品的名稱,商品的尺碼,商品的顏色等等。那在設計實現“修改”接?口時,如何確定要傳哪些參數?是只需要傳我要修改的參數,還是全部參數都要傳?

關鍵還是看后臺邏輯實現。
舉例:User有兩個屬性username,password
后臺邏輯實現:update User set username=? where id=xxx;
那,如果你只想更新username的時候,可以不傳password,其值是保持不變的。
后臺邏輯實現:udpate User set username=?,password=? where id=xxx;
這種情況下,即使你只想更新username,也需要傳password的值給后臺,不然password就會被更新為空。
此外,還有一些數據如id等,如果sql中沒有寫,那即使傳遞了本字段的參數,數據庫也不會更新。因此,在寫關于“修改”的接口時,需要考慮一下,后臺的邏輯是怎么實現的,然后確認要傳遞哪些參數。

9 目前接口文檔是由word格式管理理,因迭代快,產生很多文檔,分不不清哪些是不用的接口,哪些是正在用的接口,哪些是更新后的接口,文檔雜亂,另外因是word格式管理,不方便查詢,如何管理?每次查看接口文檔需要下載多個word,不能避免下載操作查看,效率不高,如何提高工作效率?

如果是webservice,使用WSDL的格式來進行查看接口的文檔,以前的接口必要的時候使用一些配置管理的工具,比如wiki之類的系統來實時更新現有的接口狀態

以上面試的問題為網絡收集,答案為個人理解,服用不適者請留言。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容