測試工程師面試總結

根據自己的面試經歷和看了其他人的面試總結,整理出一些面試中可能遇到的問題。

http與https區別:

1、證書方面:https 協議需要到 ca 申請證書,目前市面上的免費證書也不少,收費的也都比較貴。
2、傳輸方式:http 是超文本傳輸協議,信息是明文傳輸,https 則是具有安全性的 ssl 加密傳輸協議。
3、使用端口:http 和 https 使用的端口不一樣,前者是 80,後者是 443。
4、連接方式:http 的連接很簡單,是無狀態的;HTTPS 協議是由 SSL+HTTP 協議構建的可進行加密傳輸、身份認證的網絡協議,比 http 協議安全

post與get區別:

本質上沒有區別,都是tcp/ip協議。但請求方式不同,一般使用get獲取數據,使用post發送數據。 get數據放在url中,post數據放在body中
(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方式

接口測試流程,request有哪些內容

流程:獲取接口文檔,依據文檔設計接口參數,獲取響應,解析響應,校驗結果,判斷測試是否通過。
request內容:
① 封裝了各種請求類型,get、post 等;
② 以關鍵字參數的方式,封裝了各種請求參數,params、data、headers、token 等;
③ 封裝了響應內容,status_code、json()、cookies、url 等;
④ session 會話對象,可以跨請求

常見的HTTP狀態碼

1XX Informational(信息性狀態碼) 接受的請求正在處理
2XX Success(成功狀態碼) 請求正常處理完畢
3XX Redirection(重定向狀態碼) 需要進行附加操作以完成請求
4XX Client Error(客戶端錯誤狀態碼) 服務器無法處理請求
5XX Server Error(服務器錯誤狀態碼) 服務器處理請求出錯
200 :服務器成功返回用戶請求的數據
302:臨時重定向
401:請求要求身份驗證。 對於需要登錄的網頁,服務器可能返回此響應。
403:服務端理解請求但是拒絕執行,一般屬於權限不夠
404:請求失敗,請求所希望得到的資源未被在服務器上發現。一般狀態爲url錯誤或者服務器異常
500:服務器遇到了一個未曾預料的狀況,導致了它無法完成對請求的處理。一般來說,這個問題都會在服務器的程序碼出錯時出現。
503:服務器目前無法使用,通常,這個是暫時狀態,一段時間會恢

測試的4要素

測試對象、測試目標,測試方法,測試結果

系統測試的策略有哪些

功能測試, 性能測試 ,可靠性測試,負載測試,易用性測試,強度測試, 安全 測試,配置測試,安裝測試,卸載測試,文擋測試,故障恢復測試,界面測試,容量測試,兼容性測試,分佈測試,可用性測試

你認爲做好測試用例工作的關鍵是什麼

需求和設計文檔的理解程度,對系統的熟練程度

當一個接口出現異常時,如何分析異常

1.瀏覽器F12,APP使用抓包工具,查看請求報文和返回報文
2.查看服務器日誌

如何定位BUG是前端還是後端的

抓包,根據接口文檔查看請求報文,有問題就是前端數據不對;請求報文沒問題,查看返回報文,返回的數據不對,就是後端的問題

自動化過程涉及哪些步驟

選擇測試工具
定義自動化範圍
規劃,設計和開發
測試執行
維護

自動化測試的優缺點

優點:
(1)對程序的迴歸測試更方便,提高測試效率,縮短迴歸測試時間
(2)可以運行更加繁瑣的測試
自動化測試的一個明顯好處就是可以在很短的時間內運行更多的測試。
(3)可以執行一些手工測試困難或者不可執行的測試,例如模擬大量用戶場景的壓力測試
(4)更好的利用資源:將繁瑣的任務自動化,可以提高準確性和測試人員的積極性,將測試技術人員解脫出來投入更多精力設計更好的測試用例
(5)測試具有一致性和可重複性
(6)測試的複用性
(7)增加軟件的信任度,一旦軟件測試通過強有力的自動測試後,軟件的信任度自然增加。
缺點:
(1)自動化測試不能取代手工測試
(2)手工測試比自動化測試發現的缺陷更多
(3)對測試質量的依賴性極大
(4)測試自動化不能提高有效性
(5)測試自動化可能制約軟件開發,自動化測試比手工測試更脆弱,所以維護會受到限制,從而制約軟件的開發
(6)工具本身並無想象力
(7)投入的時間成本高

進程、線程有什麼區別?什麼情況下用進程?什麼情況下用線程?

區別:
① 地址空間和其它資源(如打開文件):進程之間相互獨立,同一進程的各線程之間共享。某進程內的線程在其它進程不可見。
② 通信:進程間通信 IPC,線程間可以直接讀寫進程數據段(如全局變量)來進行通信——需要進程同步和互斥手段的輔助,以保證數據的一致性。
③ 調度和切換:線程上下文切換比進程上下文切換要快得多。
④ 在多線程操作系統中,進程不是一個可執行的實體。
使用場景:同時操作一個對象的時候,比如操作的是一個全局變量,用線程,因爲全局變量是所有線程共享的。

測試方法

黑盒測試:把測試對象當成一個黑盒子,測試人員完全不考慮邏輯結構和內部特性,只依據程式的需求說明書來檢查程式的功能是否滿足它的功能說明。
白盒測試:把測試對象當成一個透明的盒子,允許測試人員利用程序內部邏輯結構及相關信息,設計或選擇測試用例,對程式所有邏輯路徑進行測試。
單元測試:白盒測試的一種,對軟件設計中的單元模塊進行測試。
集成測試:在單元測試的基礎上,對單元模塊之間的連接和組裝進行測試。
系統測試:在所有都考慮的情況下,對系統進行測試。
驗收測試:第三方進行的確認軟件滿足需求的測試。

軟件出現崩潰的原因

1.接口返回值
2.內存問題
3.下標越界問題
4.渲染不及時問題
5.權限問題
6.第三方問題
7.系統與軟件不兼容
8.設備視圖方向問題
9.多語言問題
10.其他代碼錯誤
11.弱網問題

你個人的職業規劃是怎樣的?

想做一個有技術含量的測試工程師,從用戶角度,到系統安全角度都能深入瞭解;
俗一點就是,有技術含量了才能漲工資。
個人感覺測試比較有創新性,目前沒有問題的系統不能保證線上沒有問題,只有測試懂的多了,想的全了,才能降低風險,比開發有意思,比運維也有意思
專注於工作的完成度,如何提高測試效率、如何對業務進行連貫性總結,更深度的思考和總結

面對面試官提出的模糊問題,多反問或經過後繼的一些確認再回答,證明自己具備一定的溝通能力,而對於測試來說,愛問問題或者懷疑的態度永遠是最彌足珍貴的品質

發佈了8 篇原創文章 · 獲贊 5 · 訪問量 545
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章