【編測編學】介面測試必備面試題(上)

bcbxhome發表於2021-01-14


1 、按你的理解,軟體介面是什麼?
就是指程式中具體負責在不同模組之間傳輸或接受資料的並做處理的類或者函式。

2 HTTP HTTPS 協議區別?
https
協議需要到 CA Certificate Authority ,證照頒發機構)申請證照,一般免費證照較少,因而需要一定費用;
http
是超文字傳輸協議,資訊是明文傳輸, Https 協議是由 SSL+Http 協議構建的可進行加密傳輸、身份認證的網路協議,比 http 協議安全; http https 使用的是完全不同的連線方式,用的埠也不一樣,前者是 80 ,後者是 443

3 HTTPS 在哪一層?
HTTPS
在應用層。

4 get post 區別是什麼?
POST
GET 都是向伺服器提交資料,並且都會從伺服器獲取資料。
區別:
1
)傳送方式: get 透過位址列傳輸, post 透過報文傳輸
2
)傳送長度: get 引數有長度限制(受限於 url 長度),而 post 無限制
3
GET 產生一個 TCP 資料包(對於 GET 方式的請求,瀏覽器會把 http header data 一併傳送出去,伺服器響應 200 返回資料), POST 產生兩個 TCP 資料包(對於 POST ,瀏覽器先傳送 header ,伺服器響應 100 continue ,瀏覽器再傳送 data ,伺服器響應 200 ok 返回資料)
4
get 請求引數會被完整保留在瀏覽歷史記錄裡,而 post 中的引數不會被保留
5
)在做資料查詢時,建議用 GET 方式;而在做資料新增、修改或刪除時,建議用 post 方式

5 、常見的 POST 提交資料方式
主要有四種方式: application/x-www-form-urlencoded multipart/form-data application/json text/xml 等。

6 、什麼是 Http 協議無狀態協議 ? 怎麼解決 HTTP 協議無狀態協議
無狀態是指協議對於事務處理沒有記憶能力,伺服器不知道客戶端是什麼狀態。即我們給伺服器傳送 HTTP 請求之後,伺服器根據請求,會給我們傳送資料過來,但是,傳送完,不會記錄任何資訊。 HTTP 是一個無狀態協議,這意味著每個請求都是獨立的, Keep-Alive 沒能改變這個結果。缺少狀態意味著如果後續處理需要前面的資訊,則它必須重傳,這樣可能導致每次連線傳送的資料量增大。另一方面,在伺服器不需要先前資訊時它的應答就較快。 HTTP 協議這種特性有優點也有缺點,優點在於解放了伺服器,每一次請求“點到為止”不會造成不必要連線佔用,缺點在於每次請求會傳輸大量重複的內容資訊。客戶端與伺服器進行動態互動的 Web 應用程式出現之後, HTTP 無狀態的特性嚴重阻礙了這些應用程式的實現,畢竟互動是需要承前啟後的,簡單的購物車程式也要知道使用者到底在之前選擇了什麼商品。於是,兩種用於保持 HTTP 連線狀態的技術就應運而生了,一個是 Cookie ,而另一個則是 Session

7 cookie session 的區別
cookie
資料存放在客戶的瀏覽器上, session 資料放在伺服器上
cookie
不是很安全,別人可以分析存放在本地的 cookie 並進行 cookie 欺騙,考慮到安全應當使用 session
session
會在一定時間內儲存在伺服器上。當訪問增多,會比較佔用你伺服器的效能,考慮到減輕伺服器效能方面應當使用 cookie
單個 cookie 儲存的資料不能超過 4K ,很多瀏覽器都限制一個站點最多儲存 20 cookie

可以將登陸資訊等重要資訊存放為 session ;其他資訊需要儲存,可以放在 cookie

8 、請求介面中常見的返回狀態碼
1xx --
資訊提示(表示臨時的響應。客戶端在收到常規響應之前,準備接收一個或多個 1xx 響應)
2xx --
成功(表明伺服器成功地接受了客戶端請求)
3xx --
重定向(客戶端瀏覽器必須採取更多操作來實現請求。例如,瀏覽器可能不得不請求伺服器上的不同的頁面,或透過代理伺服器重複該請求)
4xx --
客戶端錯誤(傳送錯誤,客戶端有問題。例如,客戶端請求不存在的頁面,客戶端未提供有效的身份證驗證資訊)
5xx --
伺服器錯誤(伺服器由於遇到錯誤而不能完成該請求)

常見的返回碼有:

  • 200 OK - [GET] :伺服器成功返回使用者請求的資料
  • 201 CREATED - [POST/PUT/PATCH] :使用者新建或修改資料成功
  • 202 Aceepted - [*] :表示一個請求已經進入後臺排隊(非同步任務)
  • 204 NO CONTENT - [DELETE] :使用者刪除資料成功
  • 400 INVALID REQUEST - [POST/PUT/PATCH] :使用者發出的請求有錯誤,伺服器沒有進行新建或修改資料的操作
  • 401 Unauthorized -[*] :表示使用者沒有許可權(令牌、使用者名稱、密碼錯誤)
  • 403 Forbidden -[*] :表示使用者得到授權(與 401 錯誤相對),但是訪問被禁止
  • 404 NOT FOUND -[*] :使用者發出的請求針對得到是不存在的記錄,伺服器沒有進行操作,該操作是冪等的
  • 406 Not Acceptable - [GET] :使用者請求的格式不可得(比如使用者請求 JSON 格式,但是隻有 XML 格式)
  • 500 INTERNAL SERVER ERROR - [*] :伺服器發生錯誤,使用者將無法判斷髮出的請求是否成功

 

【編測編學】  教學內容為:


測試基礎知識、專案實戰、測試管理、敏捷測試、探索式測試、APP測試、Linux、資料庫、測試環境搭建、Python程式設計、WEB端UI自動化測試、APP端UI自動化、介面功能測試、效能測試、介面自動化測試、Jenkins持續整合  等內容。


透過學習,學員能  掌握軟體測試企業最新技術,對標一線網際網路企業專案要求,使學員達到中高階測試工程師的水平,畢業後可快速融入企業實際工作中。


不管你是  文科生、專科生、0基礎、女同學  都可以輕鬆學會!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69985967/viewspace-2750099/,如需轉載,請註明出處,否則將追究法律責任。

相關文章