測試面試
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用來部署環境,怎麼做?