天天看點

測試工程師面試題大合集

測試面試

1 測試理論, 13道題

2 工作中的測試思維, 56道題

3 工作中的測試思維,進階, 39道題

定位問題

用例設計

4 自動化, 53道題

ui自動化

接口自動化

fixture

5 linux, 21道題

6 資料庫, 11道題

7 邏輯題, 17道題

8 計算機網絡, 27道題

【fiddler】

9 python, 41道題

10 docker, 8道題

其他, 8道題

金九銀十又來啦!

雁卿之前面試過10多家公司,金三銀四也拿到了自己滿意的offer,。

招聘黃金季,整理了一些測試崗位常見面試問題,數了一下,接近300題,分享給大家~

1

2

3

4

5

// 測試理論

1 可以講解一下你們部門的測試流程嗎?

1 測試計劃會包含哪些内容?

1 測試報告包括哪些内容 ?

1 你對回歸測試,是怎麼了解的?可以介紹一下嗎?

1 測試用例設計的方法,你用到過哪些?舉例子說明一下,等價類,邊界值等方法是怎麼用的?

1 講一下測試用例需要包含的要素?

1 測試用例的設計考慮哪些?

1 舉一個實際項目的用例設計,你考慮了哪些内容

1 你會通過什麼方式,快速熟悉新産品?

1 給你一個需求,你怎樣保證它的覆寫率?

1 如何保障用例的覆寫率,用什麼方法得出?

1 用過什麼代碼覆寫率工具嗎?

1 開發的流程,是靈活模式嗎?

// 工作中的測試思維

2 介紹目前所參與、負責的項目,擔任的角色和做出的成果。

2 在項目中,或者測試過程中碰到了哪些問題,是怎麼分析,怎麼推進,怎麼解決的?最後總結出了哪些經驗?

2 按照star法則,介紹參與或者負責的一個項目,發生背景,需要完成的目标/解決的事情,怎麼去推動,最後有什麼樣的成果?

2 需求評審和用例評審,分别有哪些人參與?主要做些什麼?

2 項目中,有沒有需求評審,需求評審會議提出過什麼建議嗎?

2 你能不能分享一個你注意到不合理的業務需求的例子,你說服你的産品經理成功地改變它

2 需求不明确,通過哪些方式解決?

2 工作中體會到哪些測試的重點和難點?

2 平時在項目中,碰到重大bug會做分析嗎 ?

2 有哪個bug讓你覺得印象深刻嗎?

2 bug的根源是什麼?開發是通過什麼方式解決了這個bug?

2 怎麼排查是前端問題還是後端問題或者資料問題?

2 你在測試中是如何挖掘更多的問題的?

2 關閉bug之前會做哪些驗證 ?

2 如果結算發現資料不一緻(使用者下單商品數量100,但是結算系統顯示101),你會怎麼做?

2 如果web端報系統錯誤,你會怎麼做?

2 時間快到了,但還有很多測試用例未測,你會怎麼做?

2 你如何處理線上發生的問題?

2 對于上線後的漏測點怎麼處理 ?

2 如果開發要求你測試他剛剛完成的功能,你會怎麼處理?

2 你如何保證開發提測時的代碼品質(代碼走查,開發自測,冒煙測試)

2 開發認為不是bug的問題,怎麼處理 ?

2 開發和産品壓榨測試時間如何處理?

2 你覺得你目前的測試流程存在什麼問題?你有提出過什麼改進方法嗎?取得的效果怎麼樣?具體舉一個例子

2 你覺得在測試過程中哪些有對軟體測試品質的影響事件?你是怎樣做到改善的?

2 有沒有做過什麼幫助品質效率提升的事情?

2 你們測試系統的技術架構是怎樣的?它們是怎樣通信協作的?用了什麼程式設計語言?

2 如果你的同僚有遇到問題發脾氣(不配合),你會怎樣處理?給一個具體的例子

2 manager配置設定的任務,跟測試不相關,你會怎麼做?

2 不同的利益相關人配置設定任務,比如項目經理安排任務,很緊急。但是自己本來也已經接了測試經理的很多工作,怎麼處理?

2 如果讓你一個人接手新項目,你會怎樣着手準備?

2 工作生活中,有哪些讓你感覺自豪的事情 ?

2 最近在學哪些新知識、技術?是通過什麼方式學習的?

2 你的職業規劃是怎麼樣的? 對自己有什麼樣的期望和要求?

2 想加入一個什麼樣的團隊?

2 找工作,對比不同公司、崗位的時候,你最關心的因素有哪些?

2 下一份工作,你主要考慮哪些方面來選擇工作機會,團隊和公司呢?

2 怎麼看待系統測試,自動化測試和測試開發

2 對于管理崗位,有什麼認識,個人看法是怎麼樣的?

2 如果讓你來做測試管理,你會怎麼做?

2 假設讓你帶新人,你怎樣确定他學會了你所教的?

2 有沒有帶新人做項目的經曆,分享一下

2 對自己的要求是怎樣的?

2 兩份工作經驗,體會到最大的困難分别是什麼?

2 怎麼克服上述難點,具體舉例

2 工作技術上的難點克服,舉例

2 為什麼會拿對這個技術問題印象深刻

2 公司招聘這個崗位,你覺得你的優勢是什麼?

2 既然崗位要求的白盒和性能你沒有接觸過,為什麼還來投遞了這個職位呢?

2 你從之前的工作經驗中學到了什麼?這幾年的經驗有什麼技能亮點和優勢,介紹一下

2 這幾年工作經驗給自己帶來哪些收獲,成長?

2 你覺得你跟一流的軟體測試工程師有哪些差距?

2 對于測試崗位,你的優點和缺點是什麼?

2 你認為優秀測試員,需要具備哪些素質?

2 有哪些長期堅持在做的事情?

2 假如你退休後回顧人生,你會希望自己有哪些成績值得你這輩子驕傲和自豪?

// 工作中的測試思維,進階

3 app測試和web測試的差別

3 app測試裡面有沒有開展專項測試,怎麼做的?

3 幂等性是什麼?怎麼測試?

3 相容性測些什麼? 不同的螢幕分辨率,尺寸大小,對app測試有什麼影響

3 非功能性測試測了哪些?

3 服務端測試有沒有測過?

3 ab測試有了解嗎?

3 資料埋點,有沒有接觸過?

3 手機專項測試,你說一下你們涉及了哪些,怎樣做的,用了哪些工具(手機電量,流量,cpu, gpu怎麼看?) 你覺得工具準确嗎?有寫代碼去拿這些資料嗎?

3 adb指令熟悉嗎? adb monkey去某一個app批量執行任務,用哪個參數-p. 那monkey也可以調用service嗎?不能

3 如果出現更新你的頭像後,聯系表中其他人的頭像都更新了,你怎樣去定位問題?出于安全考慮,你不能去檢視資料庫。抓包隻傳回200

3 如果我積分兌換成功了,前端沒有顯示扣除記錄,後端也沒有,怎樣定位問題? 資料庫沒有這個記錄;伺服器的日志該怎麼看?

3 如果微信收款方沒有收到款,怎麼排查?

3 如何通過日志分析是程式問題還是測試環境問題?

3 通路網頁速度慢,可能有哪些原因?

3 給出一個場景,你怎麼設計測試用例?

注意:需要從功能,ui, 性能,安全等角度分類說明。

比如:

登入的測試用例設計點

微信掃碼支付的測試場景

抖音直播如何測試

直播帶貨的部分(抖音),測試用例設計

微信群聊的測試用例

上傳圖檔和導出測試點梳理

微信朋友圈點贊,測試用例設計

微信收付款怎麼設計測試用例?

有一個秒殺活動,在活動期間,價格比平時低,每個id限量購買,你會考慮哪些方面?

對微信聊天的傳輸檔案設計測試用例

微信消息清單設計測試用例

掃二維碼可以領紅包,紅包可以提現到銀行卡。根據這兩個功能設計用例

有一個輸入框可以輸入字元串,後端解析,會傳回包含a 的個數 。對這個輸入框設計用例

下單到支付的流程,你關注哪些測試點?請設計一下測試用例

如何測試電梯/售貨機/智能音箱?

給一個微信加入群的二維碼,以及掃描二維碼後那個加入群聊頁面,就這兩個頁面,不考慮二維碼怎麼生成,讓你設計測試用例

兩個系統同步如何設計測試用例?

根據抽獎功能,設計測試用例。

假如,需要符合條件的才能參與抽獎,但是現在報錯,怎麼分析定位問題。

// 自動化

4 工作中,你的功能測試與自動化測試的占比是怎麼樣的?

4 你們怎樣管理自動化測試用例和手工測試用例

4 對手動測試和自動化測試的看法.

4 自動化測試用例是怎麼選擇的?(選擇标準)

4 介紹一下ui自動化的實作,自動化架構及流程。

4 如果讓你搭建自動化測試架構,你覺得應該有哪些部分?

4 自動化測試結果的準确性和可靠性怎麼樣,從哪些方面判斷的?

4 關鍵字驅動和資料驅動有什麼差別,說說你的看法。

4 自動化用例,第一條跑失敗了,第二條怎麼辦?

4 你們的自動化測試用例的覆寫率标準是多少?怎樣衡量的?

4 有多少個自動化測試用例?批量執行用例怎樣去做?

4 selenium的原理是什麼?

4 selenium的通信協定是什麼?

4 自動化定位元素用什麼方式 css selector和xpath用哪個,哪個會比較快?為什麼?

4 selenium 的元素定位方式有哪些?

4 不可見的元素,怎麼定位?

4 selenium 的用例,怎麼提升運作效率?

4 知道測試分層嗎?

4 搭建 web ui自動化的環境,你是做了哪些工作?

4 你是怎樣學習自動化的?

4 如果是希望往自動化方面發展,你會怎麼做,采取什麼行動?

4 項目上業務多,沒有時間讓你做自動化的話,會怎麼辦?

4 浏覽器上有2個頁面,第一個頁面是基于登入狀态才能打開的,點選第一個頁面中的一個按鈕,跳轉到第二個,在第二個頁面中完成建立動作。 根據這個流程,你會怎麼做ui 自動化實作?

4 接口自動化的實作是怎麼樣的?用了什麼語言,具體的實作方式介紹一下

4 接口測試工具jmeter你了解哪些?

4 mock 怎麼做?什麼時候做?怎樣做?

4 測接口的關鍵點有哪些?

4 接口測試,你會關注哪些點,怎麼開展接口測試工作?

4 用python和工具jmeter/postman做接口測試,有什麼差別?

4 postman裡面參數有多少種類型

4 jmeter怎樣做參數化管理

4 你們通常怎樣設計接口自動化用例?

4 接口自動化,接口有新增字段時如何處理 ?

4 登入有登入資料,token, 變化的圖形驗證碼,基本其他所有接口都需要登入後這個步驟,你們自動化這麼設計這個部分?

4 你們的api架構有做成界面化嗎?那說一下你們的架構

4 通過request發送請求時有param, json, form data。 說一下它們的差別

4 python用requests庫的時候,get和post 用什麼參數傳遞請求體?

4 接口自動化裡面用的pytest 參數化,是怎麼實作的?簡單寫一下并講解

4 接口自動化的資料清理工作是怎麼做的?

4 多接口依賴怎麼處理?比如b接口需要用到a接口的傳回值,

4 前置條件怎麼處理?(有些用例需要調用前面接口傳回的user id, 但是有些又不需要,那麼如何處理)

4 用過fixture嗎,它的作用是什麼

4 pytest有哪些斷言方式?

4 pytest 的fixture,3 種調用方式分别是什麼?

4 如果要調用多個fixture, 應該怎麼做?

4 多接口有依賴的情況,比如b接口需要用到a接口的傳回值,自動化測試過程中,怎麼設計?

4 如果要調用多個fixture,應該怎麼做?裝飾器嵌套的方式,可以實作嗎?

4 pytest如何指定隻執行哪幾個用例 mark

4 fixture的作用範圍

4 fixture如何實作參數化,如何傳參給測試用例?

4 裝飾器用來幹嘛,pytest為何要用裝飾器

4 pytest實作fixture和parametrize的原理(架構是怎麼處理上述問題的),怎麼實作的 ?

4 pytest實作fixture的原理是怎麼樣的 ?

// linux

5 你常用的linux指令有哪些

5 怎樣檢視linux中某個程序的資訊?ps

5 linux檢視端口,記憶體指令

5 linux下檢視有哪些tcp請求?

5 linux的top指令講解一下可以檢視到哪些資訊

5 linux 檢視硬碟的指令df

5 linux切換使用者用什麼指令su

5 講解一下 linux的 sed 和 awk 指令

5 怎麼檢視檔案的前100行 ?

5 linux怎麼替換檔案中的某個值。sed ‘s/old/new/g’ a.txt

5 linux指令,怎麼找出最後五行(tail)

5 那假設我要查找某個檔案裡面的一些内容用哪個指令?

5 找出linux一個日志檔案的最後五行,并且包含error的資訊

5 怎麼檢視實時更新的日志檔案,tail -f

5 more和less的差別

5 linux怎麼檢視檔案大小

5 如何建立軟連接配接?

5 終止程序用什麼指令?帶什麼參數?

5 linux的find 和 grep 指令的使用

5 linux的使用情況是怎麼樣的,寫過shell腳本程式設計嗎?

5 怎麼改linux下的環境變量?export

// 資料庫

6 mysql 資料庫有一張成績表,表裡面包含name, lesson, score,三個字段,分别表示學生的姓名,課程名,該學生該門課的分數。請查詢出有2科及以上達到70分的同學。

select s.name from student s where s.score >= 70 group by name having count(name) >= 2;

6 資料庫表,有學生id,姓名,性别, 科目,成績,怎麼找出平均分大于85的男生

6 資料庫:找出每科成績大于80的學生學号,資料庫字段 no. subject. score

給你一張表,裡面有課程與學生這兩個字段,傳回每門課程被多少學生選中(count, group by)

6 資料庫傳回id 降序排列的前5名

6 資料庫查詢怎麼展示第200條到第300條的資料?

6 左連接配接和内連接配接的差別

6 資料庫查詢後,隻需要展示一條結果,用什麼關鍵詞?

6 資料庫的索引了解嗎?

6 資料庫死鎖說一下

7 24小時,分針和時針重合多少次

7 給你7個品質相等的小球,1個大球,1個天平。使用天平兩次,找到大球。 (第一次左3右3)

7 有5l 和6l杯子各一個,水是不限量的,怎麼倒出3l水來?

7 25匹馬,5個賽道,找出最快的三匹馬,需要比賽幾次。

7 盒子裡拿球,每個人拿1-3個,拿到最後一批球的人赢,怎麼設計規則,讓自己的赢面大。

7 小區有200條狗,有不确定數量的瘋狗,自己看不到自己的是瘋狗,但是可以看到其餘的199條狗的狀态是正常還是瘋狗,一旦發現就會開槍打死,不考慮憐憫心。第一天沒有槍聲,第二天沒有槍聲,第三天有好幾聲槍聲,請問有幾條瘋狗?

7 有26杯水,其中有一杯是糖水,用多少次能找到那一杯糖水?

7 燒一根不均勻的繩子, 從頭燒到尾是要1個小時。現在有若幹條材質相同的繩子。 問如何用燒繩的方法來計時一個小時15分鐘.

7 一個盒子裡面有若幹個球,你和對方共兩個人,每個人每次可以從盒子裡面拿 1~3 個球,誰能拿到最後一批球,誰就赢。請問你需要怎麼設計規則,讓自己的赢面更大。

7 一副牌 52 張,告訴瞎子裡面有 10 張牌是正面朝上的, 要求瞎子把這 52 張牌分成兩堆, 并且每堆牌正面朝上的張數相同,可任意翻動牌,但是一直不可以看。

7 1000瓶藥,有一些可能有毒,用老鼠來喝藥,喝到有毒的一周就死。一周内至少需要多少隻老鼠才能檢測到哪些有毒?

7 13個石頭,有一個比較重其他都一樣,用天平測量最多需要幾次才能測出重的那個?

7 有三筐水果,一筐裝的全是蘋果,第二筐裝的全是橘子,第三筐是橘子與蘋果混在一起。筐上的标簽都是錯的 , 你的任務是拿出其中一筐,從裡面隻拿一隻水果,然後正确寫出三筐水果的标簽。

7 在一個夜晚,同時有 4 人需要過一橋,一次最多隻能通過兩個人,且隻有一隻手電筒,而且每人的速度不同。a,b,c,d 需要時間分别為:1,2,5,10分鐘。問:在 17 分鐘内這四個人怎麼過橋?

7 你讓某些人為你工作了七天,你要用一根金條作為報酬。這根金條要被分成七塊。你必須在每天的活幹完後交給他們一塊。如果你隻能将這根金條切割兩次,你怎樣給這些勞工分?

7 兩個軟硬程度一樣但未知的雞蛋,它們有可能都在一樓就摔碎,也可能從一百層樓摔下來沒事。有座 100 層的建築,要你用這兩個雞蛋确定哪一層是雞蛋可以安全落下的最高位置。可以摔碎兩個雞蛋。最少需要幾次測試,才能得到摔碎雞蛋的樓層?方案如何?

7 有 5 個海盜搶到了 100 顆寶石,每一顆都一樣的大小和價值連城,他們決定這樣分:

抽簽決定自己的号碼(1,2,3,4,5)

首先,由 1 号提出配置設定方案,然後大家 5 人進行表決,當且僅當超過半數的人同意時,按照他的提案進行配置設定,否則将被扔入大海喂鲨魚。

如果 1 号死後,再由 2 号提出配置設定方案,然後大家 4 人進行表決,當且僅當超過半數的人同意時,按照他的提案進行配置設定,否則将被扔入大海喂鲨魚。

以次類推… 條件:1. 每個海盜都是極其聰明的人 2. 每個海盜都是非常殘忍的人 3. 每個海盜都能明确的判斷得失然後作出明智的選擇

問題:第一個海盜提出怎樣的配置設定方案才能夠使自己的收益最大化

// 計算機網絡

8 tcp 與udp 的差別。

8 tcp 為什麼可靠?

8 tcp是全雙工的還是半雙工的 ?

8 用騰訊視訊播放的視訊是tcp 還是udp?

8 dns域名解析過程講一下

8 dns使用tcp還是udp協定?

8 介紹一下cookie, session 和token的差別

8 http 協定 token 為什麼要放在cookie中

8 http 和 tcp 的差別

8 介紹下三次握手和四次揮手,為什麼是3次和4次呢?兩次不行嗎?

8 什麼是長連接配接?

8 輸入url後到加載網頁的整個過程是怎麼樣的?

8 浏覽器加載頁面,頁面渲染失敗的可能原因有什麼?

8 get 和 post 的差別。

8 http請求有哪些類型?get, post, put, delete…

8 http請求有哪些請求頭?

8 介紹幾種http狀态碼

8 302狀态碼是什麼意思?跟301狀态碼有什麼差別?什麼情況下出現304狀态碼?

8 1xx, 2xx, 304, 400, 501 不同的數字開頭的狀态碼代表什麼意思?

8 子網路遮罩了解過嗎,它的作用是什麼,怎麼求網段,子網有多少位二進制

8 fiddler打斷點的方式有哪些?

8 怎麼用fiddler修改響應傳回的内容

8 fiddler怎麼抓app的包?

8 fiddler怎麼抓https的請求?

8 怎麼用fiddler模拟從不同的ip送出請求

8 fiddler 模拟弱網

小題:

https://www.vyuan8.com/tc/plugin.php?id=vyuan_xiangqin&mod=xqindex&pid=10002399&nginx=transfer

這個連結不做處理的話隻能用微信浏覽器打開,現在想用其他浏覽器打開,要怎麼操作?

提示:先了解一下指定浏覽器打開的工作原理,然後再做對應的處理

//圖檔裡是用chrome打開的

(來自軟體測試圈知識星球:伍個一)

// python

9 python的常用的資料結構有哪些?

9 python生成随機數 random(0,10)可以生成包含0~10的随機數嗎?

9 python反轉清單,reverse

9 python中有沒有用過裝飾器、用裝飾器的場景,了解裝飾器中的邏輯嗎?

9 python的匿名函數是什麼?

9 python參數,一個*和兩個**的意思

9 python清單和元組的差別

9 python定義一個長度為一的清單和數組

9 python怎麼讓清單去重(set)

9 兩個清單,list1 = [1,2,3], list2= [4,5,6], 怎麼擴充讓list1=[1,2,3,4,5,6,] list1.extend(list2)

9 怎麼取出兩個清單不一樣的内容 ?

9 清單用下标可以改變指派,字元串可以嗎 ?

9 想要改變字元串的某一個元素應該怎麼辦?(replace)

9 怎樣在字元串前面增加元素,拼接 或者轉清單insert

9 正規表達式限制隻能輸入5個數字, 應該怎麼寫正規表達式語句?

9 json跟字典的差別,

9 字典跟清單的差別,

9 字典怎麼周遊 key, value,如果同時要周遊key 和value 呢?

9 字典底層的資料結構是什麼?

9 python的疊代器和生成器的差別

9 講一下python的深拷貝和淺拷貝

9 python 的 gil 鎖

9 python怎麼擷取一個對象的所有屬性? dir()

9 說一下你用到的python常用的标準庫

9 python裝飾器如何實作傳參?

9 你是怎樣學習python的?

9 s1=abocabd s2=ab 統計s2 在s1中出現的次數和所有位置

9 python輸出今天是今年的哪一天(講思維)

9 讓你設計一個裝飾器,列印測試用例執行日志,你會怎麼設計

9 線程和程序在python中的應用有接觸過嗎?

9 有沒有用python 做一些工具或者腳本實作?

9 連結清單熟悉嗎

9 堆棧有了解嗎?

9 你知道哪些算法?

9 隊列和堆棧的差別

9 連結清單和數組的差別

手撕代碼:一個數組,求出數組中哪個元素重複次數最多

手撕代碼:冒泡排序,斐波那契序列

手撕代碼: python 寫數字反轉腳本,比如123轉成321, -123 轉成-321.

手撕代碼:對比兩個json不一樣的地方

講解一下選擇排序和快速排序

// docker

10 怎樣了解容器?容器跟虛拟機有什麼差別

10 docker 的鏡像和容器是什麼?

10 進入docker容器的指令

10 拷貝容器之間的檔案

10 docker對測試有什麼幫助?

10 docker容器挂載是什麼?

10 你對docker的應用是怎麼樣的?

10 講一下,docer的資料卷,具名挂載和匿名挂載。

// redis

11 redis 的資料類型

11 redis的分布式和高可用是怎麼做到的?

11 描述下redis, nginx, app 到資料庫之間的資料互動流程。

11 用過flask,django架構嗎,它們的差別是什麼

11 用flask實作消息隊列列印日志,你會怎麼設計

11 微服務有了解嗎?

11 rabbitmq有了解嗎?

11 jenkins用來部署環境,怎麼做?