試面試八股文:高頻考點(diǎn)、項(xiàng)目經(jīng)驗(yàn)與面試技巧全解析)
每年到了“金九銀十”這個(gè)節(jié)點(diǎn)軟件測(cè)試面試相關(guān)的內(nèi)容就會(huì)刷屏。但這套被很多人稱作“軟件測(cè)試面試八股文”的資料不只是簡(jiǎn)單把面試題堆在一起它更像是一份經(jīng)過(guò)實(shí)戰(zhàn)檢驗(yàn)的備考地圖。據(jù)我了解這份整理出來(lái)的題庫(kù)和答題思路確實(shí)幫不少人在跳槽季拿到了大廠offer網(wǎng)傳有280人通過(guò)它進(jìn)入大廠雖然具體數(shù)字難以考證但熱度背后反映出的東西很真實(shí)軟件測(cè)試面試早就不是背幾個(gè)概念就能過(guò)的時(shí)代了。這篇文章我不打算重復(fù)那份八股文里的每道題而是想站在一個(gè)經(jīng)歷過(guò)校招、社招、也當(dāng)過(guò)面試官的角度把這份資料背后的邏輯、高頻考點(diǎn)、以及最容易踩的坑拆開(kāi)聊一遍。無(wú)論是零基礎(chǔ)準(zhǔn)備入行的新人還是工作兩三年想進(jìn)階的測(cè)試工程師這篇文章都能給你一個(gè)更清晰的復(fù)習(xí)框架讓你知道該背什么、為什么背、怎么用。1. 這份軟件測(cè)試面試八股文到底在解決什么問(wèn)題1.1 軟件測(cè)試面試的核心矛盾先說(shuō)一個(gè)很多準(zhǔn)備面試的人都會(huì)有的困惑明明把各種軟件測(cè)試面試題背得滾瓜爛熟一到現(xiàn)場(chǎng)還是被問(wèn)得啞口無(wú)言。這不是記性不好而是把“面經(jīng)”當(dāng)成了“標(biāo)準(zhǔn)答案”忽略了一個(gè)關(guān)鍵事實(shí)面試官要的不是你背誦的答案而是你理解問(wèn)題的方式。軟件測(cè)試崗位的面試本質(zhì)上是在考察三件事第一你知不知道測(cè)試是干什么的第二你能不能把一個(gè)功能測(cè)明白第三遇到問(wèn)題的時(shí)候你有沒(méi)有自己的思路。這三件事分別對(duì)應(yīng)理論基礎(chǔ)、實(shí)操能力和邏輯思維。市面上流傳的軟件測(cè)試面試八股文其實(shí)就是在幫大家把這三件事轉(zhuǎn)換成可準(zhǔn)備的形式。比如“軟件測(cè)試流程是什么”這種基礎(chǔ)題背后考察的不是你能不能背出V模型、W模型、敏捷流程這幾個(gè)名詞而是你在真實(shí)項(xiàng)目中能不能說(shuō)清楚“需求評(píng)審、測(cè)試計(jì)劃、用例設(shè)計(jì)、執(zhí)行、缺陷管理、測(cè)試報(bào)告”每一步到底做什么。我見(jiàn)過(guò)太多候選人把流程背得一絲不差但問(wèn)他“你們項(xiàng)目里需求頻繁變更測(cè)試計(jì)劃怎么調(diào)整”就卡住了。這就是典型的只背了表面沒(méi)有理解背后的邏輯。所以這份八股文真正有價(jià)值的不是那些題目本身而是每道題背后的答題思路和項(xiàng)目實(shí)戰(zhàn)結(jié)合的方法。1.2 面試官到底在考察什么這些年我參與過(guò)的軟件測(cè)試面試少說(shuō)也有上百場(chǎng)不同公司、不同面試官的風(fēng)格差異很大但考察的核心維度基本沒(méi)變過(guò)。如果你仔細(xì)觀察就會(huì)發(fā)現(xiàn)面試官手里那張?jiān)u分表上無(wú)非就是幾個(gè)維度測(cè)試基礎(chǔ)理論、用例設(shè)計(jì)能力、項(xiàng)目經(jīng)驗(yàn)真實(shí)性、溝通表達(dá)能力、以及潛力。其中最容易拉開(kāi)差距的是用例設(shè)計(jì)。舉個(gè)例子面試官給你一個(gè)“登錄頁(yè)面”讓你設(shè)計(jì)測(cè)試用例?;A(chǔ)一點(diǎn)的候選人能說(shuō)出賬號(hào)密碼正確、錯(cuò)誤、為空這些Case好一點(diǎn)的會(huì)說(shuō)密碼加密傳輸、驗(yàn)證碼、賬號(hào)鎖定、SQL注入真正優(yōu)秀的候選人會(huì)從功能、兼容性、性能、安全、用戶體驗(yàn)、異常場(chǎng)景等多個(gè)維度去梳理。這份八股文里收錄了大量類(lèi)似“登錄功能怎么測(cè)”“購(gòu)物車(chē)怎么測(cè)”“支付接口怎么測(cè)”的經(jīng)典題目本質(zhì)上就是在訓(xùn)練一種結(jié)構(gòu)化的測(cè)試思維。這個(gè)思維一旦建立起來(lái)不管遇到什么新功能你都能有條理地拆解。另外面試官特別看重候選人對(duì)自己項(xiàng)目的理解。簡(jiǎn)歷上寫(xiě)了“負(fù)責(zé)XX系統(tǒng)的測(cè)試”面試官一定會(huì)追問(wèn)這個(gè)系統(tǒng)是干什么的你負(fù)責(zé)哪部分測(cè)試數(shù)據(jù)怎么準(zhǔn)備發(fā)現(xiàn)的Bug集中在哪些模塊怎么定位的如果你只是把項(xiàng)目掛在簡(jiǎn)歷上沒(méi)真正跑過(guò)一遍這些追問(wèn)大概率會(huì)露餡。所以我建議大家復(fù)習(xí)八股文的時(shí)候不要只看題目和答案而是要想想如果我是面試官我會(huì)怎么追問(wèn)這道題跟我簡(jiǎn)歷上的項(xiàng)目有什么關(guān)系把題目當(dāng)成一個(gè)引子去深挖自己項(xiàng)目里的細(xì)節(jié)這才是應(yīng)對(duì)面試最有效的方式。2. 核心考點(diǎn)拆解從基礎(chǔ)理論到高級(jí)實(shí)戰(zhàn)2.1 軟件測(cè)試基礎(chǔ)理論的幾個(gè)高頻陷阱軟件測(cè)試基礎(chǔ)部分八股文里最常見(jiàn)的無(wú)非是什么是軟件測(cè)試、軟件測(cè)試的目的、測(cè)試與調(diào)試的區(qū)別、軟件測(cè)試的原則、測(cè)試的生命周期。這些題目看著簡(jiǎn)單但恰恰是很多人丟分的地方。先說(shuō)“什么是軟件測(cè)試”。標(biāo)準(zhǔn)答案一般都能說(shuō)出來(lái)為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程。但如果面試官接著問(wèn)“你怎么理解測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而不是證明正確”這就不是背答案能應(yīng)付的了。我建議你用自己踩過(guò)的坑來(lái)解釋比如某次上線后線上出現(xiàn)了數(shù)據(jù)不一致的問(wèn)題你復(fù)盤(pán)發(fā)現(xiàn)是因?yàn)闇y(cè)試階段只驗(yàn)證了正向流程沒(méi)考慮異常情況這就是“測(cè)試只能證明系統(tǒng)存在缺陷不能證明沒(méi)有缺陷”的典型案例。再比如“測(cè)試與調(diào)試的區(qū)別”這道題幾乎必考。測(cè)試是發(fā)現(xiàn)Bug調(diào)試是定位和修復(fù)Bug兩者是前后關(guān)系。但面試官往往會(huì)追問(wèn)“你平時(shí)怎么定位一個(gè)Bug到底出在前端還是后端”這時(shí)候你要能說(shuō)出現(xiàn)實(shí)方法看請(qǐng)求是否發(fā)出、看后端日志、用瀏覽器開(kāi)發(fā)者工具看Network和Console、復(fù)現(xiàn)步驟中逐步縮小范圍。這些問(wèn)題八股文里可能沒(méi)有標(biāo)準(zhǔn)答案但是根據(jù)基礎(chǔ)理論延展出來(lái)的實(shí)戰(zhàn)細(xì)節(jié)恰恰是加分項(xiàng)。軟件測(cè)試的原則也是一個(gè)容易踩坑的地方。比如“窮盡測(cè)試是不可能的”這條原則很多人只是背下來(lái)完事。但面試官如果問(wèn)“既然窮盡測(cè)試不可能那你怎么確定測(cè)試的深度和范圍”你就需要結(jié)合風(fēng)險(xiǎn)評(píng)估來(lái)說(shuō)根據(jù)需求優(yōu)先級(jí)、功能影響范圍、歷史Bug分布、以及人力時(shí)間成本來(lái)決定測(cè)試重點(diǎn)。這里能答出主次思維說(shuō)明你真的理解了這個(gè)原則。2.2 測(cè)試用例設(shè)計(jì)方法等價(jià)類(lèi)、邊界值、場(chǎng)景法、判定表測(cè)試用例設(shè)計(jì)是軟件測(cè)試面試八股文里占比最大的一塊也是工作中最能體現(xiàn)測(cè)試工程師水平的部分。八股文里出現(xiàn)的等價(jià)類(lèi)劃分、邊界值分析、因果圖、判定表、正交實(shí)驗(yàn)、場(chǎng)景法、錯(cuò)誤推測(cè)法每一個(gè)都值得認(rèn)真吃透。等價(jià)類(lèi)和邊界值幾乎是綁定出現(xiàn)的。面試官經(jīng)常給的例子就是“輸入框支持1到100的整數(shù)”等價(jià)類(lèi)劃分是有效等價(jià)類(lèi)1到100、無(wú)效等價(jià)類(lèi)小于1、大于100、非數(shù)字、空值邊界值是1、100、0、101、-1、小數(shù)、特殊字符等。這個(gè)思路本身不難但很多人會(huì)犯一個(gè)低級(jí)錯(cuò)誤只考慮數(shù)值范圍不考慮格式、長(zhǎng)度、類(lèi)型、重復(fù)值、空格等維度。場(chǎng)景法在面試中也很常見(jiàn)尤其是面試官讓你“設(shè)計(jì)一個(gè)電商下單流程的測(cè)試用例”。場(chǎng)景法講究的是從用戶操作路徑出發(fā)比如正常下單、無(wú)庫(kù)存下單、優(yōu)惠券過(guò)期、余額不足、支付超時(shí)、重復(fù)提交訂單等等。這些用例描述的不是單點(diǎn)功能而是業(yè)務(wù)流程的完整鏈路。能熟練使用場(chǎng)景法通常說(shuō)明候選人有一定項(xiàng)目經(jīng)驗(yàn)而不只是會(huì)寫(xiě)單點(diǎn)測(cè)試。判定表適合處理復(fù)雜邏輯組合比如多條件、多結(jié)果的業(yè)務(wù)規(guī)則。舉個(gè)例子在一個(gè)審批流程里申請(qǐng)人等級(jí)、金額大小、是否加急、審批人權(quán)限這四個(gè)條件組合起來(lái)就有十幾種結(jié)果用判定表能把邏輯梳理得清清楚楚。面試時(shí)能主動(dòng)用判定表的思路分析問(wèn)題是個(gè)很大的加分項(xiàng)。這里有個(gè)非常實(shí)用的建議八股文里每種設(shè)計(jì)方法列的經(jīng)典例題最好動(dòng)手寫(xiě)一遍完整的測(cè)試用例。不要只看答案因?yàn)椤翱吹枚焙汀皩?xiě)得出來(lái)”之間差了大量的思考過(guò)程。我當(dāng)時(shí)是找了一個(gè)在線商城系統(tǒng)把自己當(dāng)測(cè)試工程師從登錄、注冊(cè)、商品搜索、購(gòu)物車(chē)、下單、支付、退款等模塊用等價(jià)類(lèi)、邊界值、場(chǎng)景法、判定表各寫(xiě)了一遍用例寫(xiě)完再去對(duì)照八股文里的參考答案收獲遠(yuǎn)大于單純背誦。2.3 軟件測(cè)試流程與項(xiàng)目管理從V模型到敏捷軟件測(cè)試流程是社招面試的高頻區(qū)尤其是要求懂項(xiàng)目管理的崗位幾乎必問(wèn)。八股文里收錄的V模型、W模型、敏捷流程不是讓你背定義而是考察你對(duì)不同研發(fā)模式下測(cè)試介入時(shí)機(jī)的理解。V模型把開(kāi)發(fā)階段和測(cè)試階段對(duì)應(yīng)起來(lái)單元測(cè)試對(duì)應(yīng)詳細(xì)設(shè)計(jì)、集成測(cè)試對(duì)應(yīng)概要設(shè)計(jì)、系統(tǒng)測(cè)試對(duì)應(yīng)需求分析、驗(yàn)收測(cè)試對(duì)應(yīng)用戶需求。這種模型的好處是測(cè)試介入得比較晚流程清晰適合需求穩(wěn)定的傳統(tǒng)項(xiàng)目。但它的缺點(diǎn)也很明顯測(cè)試活動(dòng)滯后需求階段留下的缺陷可能到后期才發(fā)現(xiàn)修復(fù)成本很高。W模型其實(shí)是V模型的升級(jí)版強(qiáng)調(diào)測(cè)試與開(kāi)發(fā)同步進(jìn)行每個(gè)開(kāi)發(fā)階段都有對(duì)應(yīng)的測(cè)試活動(dòng)。比如需求分析階段就要做需求的靜態(tài)測(cè)試和驗(yàn)收測(cè)試用例設(shè)計(jì)這樣才能提前發(fā)現(xiàn)問(wèn)題。敏捷流程則是現(xiàn)在互聯(lián)網(wǎng)公司的主流。面試時(shí)問(wèn)到敏捷關(guān)鍵不是背“迭代、沖刺、每日站會(huì)”這些名詞而是理解測(cè)試在敏捷里的角色變化。在敏捷環(huán)境下測(cè)試人員需要更早介入需求討論、寫(xiě)用戶故事驗(yàn)收條件、探索性測(cè)試比例更高、自動(dòng)化回歸的訴求也更強(qiáng)。我之前在一家做SaaS產(chǎn)品的公司敏捷迭代是兩周一個(gè)版本需求經(jīng)常在迭代中調(diào)整測(cè)試用例也隨時(shí)要跟著改。這種環(huán)境下我深刻體會(huì)到敏捷測(cè)試的核心不是流程規(guī)范而是“快速反饋”和“高效協(xié)作”。面試時(shí)如果能結(jié)合自己真實(shí)參與的迭代周期、需求變更、測(cè)試調(diào)整來(lái)說(shuō)明會(huì)比空談敏捷理論有說(shuō)服力得多。2.4 接口測(cè)試、自動(dòng)化測(cè)試與性能測(cè)試進(jìn)階必須掌握現(xiàn)在純手工功能測(cè)試的崗位越來(lái)越少面試時(shí)如果沒(méi)有接口測(cè)試、自動(dòng)化測(cè)試、性能測(cè)試相關(guān)經(jīng)驗(yàn)競(jìng)爭(zhēng)力會(huì)大打折扣。八股文里這部分內(nèi)容也占了大量篇幅值得重點(diǎn)復(fù)習(xí)。接口測(cè)試是測(cè)試工程師的基本功之一了。面試必問(wèn)題包括什么是接口測(cè)試、接口測(cè)試和UI測(cè)試的區(qū)別、常用的接口測(cè)試工具有哪些Postman、JMeter、Apifox等、HTTP協(xié)議的狀態(tài)碼含義、GET和POST的區(qū)別、如何設(shè)計(jì)接口測(cè)試用例。這里我想強(qiáng)調(diào)一個(gè)很多人忽略的點(diǎn)接口測(cè)試用例設(shè)計(jì)。很多人以為接口測(cè)試就是驗(yàn)證請(qǐng)求通不通、返回正不正確其實(shí)遠(yuǎn)不止于此。一個(gè)完整的接口測(cè)試用例需要考慮參數(shù)必填性、參數(shù)類(lèi)型、參數(shù)邊界、參數(shù)組合、業(yè)務(wù)邏輯校驗(yàn)比如下單接口的庫(kù)存扣減、權(quán)限控制比如越權(quán)訪問(wèn)以及異常場(chǎng)景比如接口超時(shí)、依賴服務(wù)掛了。自動(dòng)化測(cè)試是面試的另一個(gè)重點(diǎn)。常問(wèn)的有自動(dòng)化測(cè)試框架有哪些Selenium、Pytest、TestNG、Robot Framework等、PO模式是什么、如何做元素定位、自動(dòng)化用例的維護(hù)成本怎么控制、什么時(shí)候適合做自動(dòng)化。我個(gè)人建議回答自動(dòng)化測(cè)試相關(guān)問(wèn)題時(shí)不要只停留在工具層面。面試官更想聽(tīng)到的是你對(duì)自動(dòng)化測(cè)試的認(rèn)知比如哪些場(chǎng)景適合自動(dòng)化回歸、哪些不適合、自動(dòng)化腳本怎么組織才能減少維護(hù)成本。我遇到過(guò)候選人把Selenium的API背得很熟但問(wèn)到他“一個(gè)登錄腳本在頁(yè)面改版后全部跑掛你怎么處理”就答不上來(lái)這就是典型的只會(huì)寫(xiě)腳本不懂維護(hù)。性能測(cè)試也是大廠面試的常客。面試官問(wèn)性能測(cè)試最喜歡問(wèn)的幾個(gè)角度是性能測(cè)試的指標(biāo)有哪些TPS、響應(yīng)時(shí)間、并發(fā)數(shù)、錯(cuò)誤率、CPU和內(nèi)存使用率、如何制定性能測(cè)試方案、如何分析性能瓶頸、常見(jiàn)的壓測(cè)工具有哪些JMeter、LoadRunner、Locust、wrk。這里最忌諱的回答是把指標(biāo)背一遍但解釋不清楚內(nèi)在關(guān)系。比如面試官問(wèn)“TPS上不去可能的原因有哪些”比較好的回答是分層排查先從應(yīng)用層看CPU、內(nèi)存、GC情況再看數(shù)據(jù)庫(kù)連接池、慢查詢還要考慮線程池配置、網(wǎng)絡(luò)帶寬、中間件等。能說(shuō)出這個(gè)排查思路說(shuō)明你真的壓過(guò)測(cè)、定位過(guò)問(wèn)題。3. 軟件測(cè)試項(xiàng)目經(jīng)驗(yàn)簡(jiǎn)歷怎么寫(xiě)面試怎么講3.1 軟件測(cè)試簡(jiǎn)歷包裝的三大原則八股文再熟最終還是要落到你自己的項(xiàng)目上。軟件測(cè)試簡(jiǎn)歷怎么寫(xiě)是很多人特別迷茫的地方尤其是轉(zhuǎn)行或者零基礎(chǔ)學(xué)習(xí)的新人總覺(jué)得沒(méi)有拿得出手的項(xiàng)目。我經(jīng)手過(guò)不少簡(jiǎn)歷發(fā)現(xiàn)一個(gè)普遍問(wèn)題大家習(xí)慣把項(xiàng)目經(jīng)驗(yàn)寫(xiě)成流水賬——“負(fù)責(zé)XX系統(tǒng)的功能測(cè)試”“執(zhí)行測(cè)試用例XX條”“提交Bug XX個(gè)”“編寫(xiě)測(cè)試報(bào)告”。這種寫(xiě)法看起來(lái)很真實(shí)但沒(méi)有亮點(diǎn)面試官看不出你具備什么核心能力。軟件測(cè)試簡(jiǎn)歷項(xiàng)目經(jīng)驗(yàn)包裝我建議記住三個(gè)原則量化、場(chǎng)景化、結(jié)果導(dǎo)向。量化不是簡(jiǎn)單地堆數(shù)字而是讓數(shù)字支撐你的貢獻(xiàn)。比如“負(fù)責(zé)XX項(xiàng)目的接口測(cè)試設(shè)計(jì)接口用例300條覆蓋主要業(yè)務(wù)鏈路和異常場(chǎng)景項(xiàng)目上線后線上漏測(cè)率控制在1%以內(nèi)”。這種描述比“設(shè)計(jì)測(cè)試用例若干”有說(shuō)服力得多。場(chǎng)景化是指把項(xiàng)目放在真實(shí)的業(yè)務(wù)背景下。你要讓面試官知道這個(gè)系統(tǒng)是干嘛的服務(wù)多少用戶業(yè)務(wù)復(fù)雜度有多高。比如“公司核心電商系統(tǒng)”和“內(nèi)部管理后臺(tái)”這兩個(gè)背景同樣寫(xiě)功能測(cè)試含金量完全不同。結(jié)果導(dǎo)向是最關(guān)鍵的。你寫(xiě)的不只是你做了什么還要寫(xiě)清楚帶來(lái)了什么結(jié)果。比如“搭建了基于SeleniumPytest的自動(dòng)化回歸框架覆蓋核心流程用例50每次發(fā)版的回歸時(shí)間從2天縮短到3小時(shí)”。這種表述直接展示了你的技術(shù)能力和對(duì)團(tuán)隊(duì)的貢獻(xiàn)。3.2 項(xiàng)目描述里“可隔離、可控制”到底指什么近期在軟件測(cè)試領(lǐng)域有一個(gè)概念頻繁出現(xiàn)在面試題和項(xiàng)目描述中測(cè)試環(huán)境“可隔離、可控制”。很多同學(xué)看到這兩個(gè)詞很懵不知道它對(duì)應(yīng)到實(shí)際工作中是什么樣子。其實(shí)這不是什么高深理論它來(lái)自測(cè)試環(huán)境管理的最佳實(shí)踐。“可隔離”指的是測(cè)試環(huán)境之間的數(shù)據(jù)、服務(wù)和資源要能互相獨(dú)立。比如你在一個(gè)共享的測(cè)試環(huán)境里跑用例你的測(cè)試數(shù)據(jù)可能被別人的用例污染導(dǎo)致結(jié)果不穩(wěn)定。理想的做法是支持多套隔離環(huán)境或者至少能進(jìn)行數(shù)據(jù)級(jí)別的隔離。在接口測(cè)試中還要考慮依賴服務(wù)的Mock這樣才能保證被測(cè)系統(tǒng)在不依賴外部不確定因素的情況下獨(dú)立運(yùn)行?!翱煽刂啤眲t強(qiáng)調(diào)測(cè)試環(huán)境、測(cè)試數(shù)據(jù)、依賴服務(wù)都處于可管理的狀態(tài)。比如測(cè)試環(huán)境的版本可控、開(kāi)關(guān)可控、模擬數(shù)據(jù)可控、時(shí)間可控。最常見(jiàn)的場(chǎng)景是測(cè)試一個(gè)支付回調(diào)真實(shí)支付渠道不可能每次都真扣錢(qián)這時(shí)候就需要一個(gè)能模擬第三方回調(diào)的接口讓你可以隨時(shí)控制回調(diào)的成功與失敗這樣測(cè)試才是穩(wěn)定可靠的。我建議準(zhǔn)備面試的同學(xué)在描述自己項(xiàng)目時(shí)如果涉及測(cè)試環(huán)境的搭建、測(cè)試數(shù)據(jù)準(zhǔn)備、Mock服務(wù)一定要把這些關(guān)鍵詞用上。因?yàn)槊嬖嚬僖宦?tīng)就知道你不是只會(huì)在界面上點(diǎn)點(diǎn)點(diǎn)而是真正理解測(cè)試基礎(chǔ)設(shè)施的重要性。而且這個(gè)方向也是AI軟件測(cè)試和自動(dòng)化測(cè)試工具落地的必然要求屬于未來(lái)測(cè)試工程師的核心競(jìng)爭(zhēng)力之一。3.3 面試時(shí)怎么把項(xiàng)目講出彩簡(jiǎn)歷寫(xiě)好了下一步就是面試中的項(xiàng)目介紹。很多人習(xí)慣背簡(jiǎn)歷結(jié)果一緊張就照本宣科。更好的方式是把項(xiàng)目講成一個(gè)故事背景、挑戰(zhàn)、行動(dòng)、結(jié)果。我舉一個(gè)實(shí)際聽(tīng)過(guò)的優(yōu)秀回答框架?!拔耶?dāng)時(shí)負(fù)責(zé)的是公司CRM系統(tǒng)的測(cè)試這個(gè)系統(tǒng)最大的挑戰(zhàn)是業(yè)務(wù)規(guī)則極其復(fù)雜不同角色的權(quán)限組合有上百種。我負(fù)責(zé)的核心模塊是客戶管理和訂單審批在測(cè)試過(guò)程中我發(fā)現(xiàn)權(quán)限相關(guān)的Bug特別多于是建議引入判定表來(lái)梳理權(quán)限組合并且針對(duì)審批流程搭建了自動(dòng)化回歸用例。項(xiàng)目上線后權(quán)限相關(guān)的漏測(cè)問(wèn)題大幅減少?!边@樣的回答既不冗長(zhǎng)又涵蓋了項(xiàng)目背景、個(gè)人職責(zé)、遇到的問(wèn)題、解決方法和最終結(jié)果面試官很容易判斷出你有真實(shí)的項(xiàng)目經(jīng)驗(yàn)。面試官如果接著追問(wèn)“你在項(xiàng)目里遇到的最大困難是什么”這時(shí)候千萬(wàn)不要說(shuō)“沒(méi)有困難”或者“項(xiàng)目很順利”。沒(méi)有困難本身就是一個(gè)問(wèn)題。比較好的回答是明確說(shuō)出一個(gè)具體困難然后講清楚你是怎么分析、怎么解決、怎么驗(yàn)證的。比如環(huán)境不穩(wěn)定導(dǎo)致測(cè)試阻塞你推動(dòng)了環(huán)境治理比如自動(dòng)化腳本經(jīng)常跑掛你優(yōu)化了腳本的穩(wěn)定性和失敗重試機(jī)制比如需求頻繁變更你調(diào)整了測(cè)試策略優(yōu)先保證核心鏈路。還有一個(gè)經(jīng)常被問(wèn)到的問(wèn)題是“如果時(shí)間不夠你會(huì)怎么取舍測(cè)試范圍”這道題考的是風(fēng)險(xiǎn)思維。答案的核心思路是先分析需求變更的影響范圍評(píng)估風(fēng)險(xiǎn)等級(jí)優(yōu)先保障核心業(yè)務(wù)流程和高風(fēng)險(xiǎn)模塊的測(cè)試其他功能可以適當(dāng)減少測(cè)試深度但要把風(fēng)險(xiǎn)同步給項(xiàng)目經(jīng)理和產(chǎn)品由項(xiàng)目組做決策。4. 面試技巧與高頻問(wèn)題的回答思路4.1 概念題怎么答才能不“死板”軟件測(cè)試面試八股文里概念題很多比如什么是Bug的生命周期、什么是兼容性測(cè)試、什么是冒煙測(cè)試、什么是回歸測(cè)試、什么是探索性測(cè)試等等。這些概念本身不難但怎么答才能讓面試官覺(jué)得你不是在背書(shū)就需要一點(diǎn)技巧。我的經(jīng)驗(yàn)是“概念場(chǎng)景細(xì)節(jié)”三步法。先一句話說(shuō)清楚概念再舉一個(gè)你實(shí)際執(zhí)行過(guò)的場(chǎng)景最后補(bǔ)充一個(gè)容易忽略的細(xì)節(jié)。舉個(gè)例子面試官問(wèn)“什么是冒煙測(cè)試”你如果只回答“對(duì)一個(gè)版本主要功能進(jìn)行快速驗(yàn)證判斷這個(gè)版本是否值得進(jìn)入下一輪測(cè)試”這個(gè)答案及格但不亮眼。換成三步法先給出概念然后說(shuō)“我在之前公司每次開(kāi)發(fā)提交新版本后我們都會(huì)先跑一遍冒煙測(cè)試重點(diǎn)驗(yàn)證登錄、首頁(yè)加載、核心業(yè)務(wù)流程這些冒煙用例通??刂圃诎胄r(shí)以內(nèi)”最后補(bǔ)充一個(gè)細(xì)節(jié)“有一次版本冒煙沒(méi)通過(guò)我們直接打回給開(kāi)發(fā)重新修復(fù)避免了整個(gè)測(cè)試團(tuán)隊(duì)在一版不可用的版本上浪費(fèi)時(shí)間”。這樣回答既有理論又有畫(huà)面感面試官自然給你加分。還有一個(gè)經(jīng)典問(wèn)題“怎么理解測(cè)試覆蓋率”很多人會(huì)回答“覆蓋率是指測(cè)試覆蓋到了多少代碼行或者多少需求點(diǎn)”。但面試官更希望聽(tīng)到的是覆蓋率只是一個(gè)參考指標(biāo)不能盲目追求100%。你要能說(shuō)出代碼覆蓋率再高也不代表測(cè)試質(zhì)量高因?yàn)榭赡艽嬖跓o(wú)效斷言、沒(méi)考慮異常場(chǎng)景。測(cè)試的核心價(jià)值是發(fā)現(xiàn)風(fēng)險(xiǎn)而不是追求一個(gè)好看的數(shù)字。4.2 追問(wèn)環(huán)節(jié)如何應(yīng)對(duì)“不知道”的問(wèn)題面試中最怕的不是你不會(huì)而是你不會(huì)還在那里硬編。比如面試官問(wèn)“你在接口測(cè)試中怎么處理加密參數(shù)”如果你沒(méi)有實(shí)際遇到過(guò)千萬(wàn)別編一套自己都不是很理解的方案。面試官在這個(gè)領(lǐng)域深耕多年一聽(tīng)就能識(shí)破。這種情況下更穩(wěn)妥的回答方式是坦誠(chéng)說(shuō)明沒(méi)有實(shí)際處理過(guò)然后展示你的思路。比如“這個(gè)我確實(shí)還沒(méi)有在項(xiàng)目中實(shí)際碰到過(guò)不過(guò)基于我的理解加密參數(shù)處理一般有兩種方式一種是在測(cè)試工具里預(yù)先處理好加密邏輯比如用BeanShell或者Python腳本生成加密串另一種是讓開(kāi)發(fā)提供一個(gè)加密接口測(cè)試直接調(diào)用。如果是我的話我會(huì)先查清楚項(xiàng)目用的什么加密算法找開(kāi)發(fā)確認(rèn)有沒(méi)有測(cè)試專用的解密通道如果實(shí)在沒(méi)有可能就要從接口層之外比如數(shù)據(jù)庫(kù)層去準(zhǔn)備測(cè)試數(shù)據(jù)”。這種回答的可貴之處在于你承認(rèn)了未知但展示了你對(duì)問(wèn)題的理解深度和解決問(wèn)題的方向感。面試官考的不是你什么都會(huì)更多的是看你遇到未知問(wèn)題時(shí)的反應(yīng)能力。這個(gè)思路對(duì)所有面試都適用不要試圖偽裝成一個(gè)“全知全能”的人而要讓面試官看到你的學(xué)習(xí)能力和工程思維。軟件測(cè)試這個(gè)崗位尤其如此因?yàn)榧夹g(shù)棧更新太快今天流行的工具明天可能就過(guò)時(shí)了只有不斷學(xué)習(xí)和解決問(wèn)題的能力才是核心競(jìng)爭(zhēng)力。5. 從零基礎(chǔ)到面試通關(guān)的實(shí)戰(zhàn)路線5.1 零基礎(chǔ)學(xué)習(xí)軟件測(cè)試的路徑規(guī)劃如果是完全零基礎(chǔ)準(zhǔn)備轉(zhuǎn)行軟件測(cè)試首先要清楚一件事軟件測(cè)試的入行門(mén)檻在IT行業(yè)里不算高但天花板卻不低。零基礎(chǔ)學(xué)習(xí)軟件測(cè)試最怕的就是東學(xué)一點(diǎn)西學(xué)一點(diǎn)沒(méi)有體系。我建議新人的學(xué)習(xí)路徑按這樣來(lái)排第一步是測(cè)試基礎(chǔ)理論了解軟件測(cè)試是什么、測(cè)試流程、測(cè)試分類(lèi)、測(cè)試用例設(shè)計(jì)方法第二步是數(shù)據(jù)庫(kù)尤其是SQL的增刪改查這是測(cè)試工作中每天都會(huì)用的第三步是Linux基礎(chǔ)至少要會(huì)看日志、操作文件、部署環(huán)境第四步是接口測(cè)試和工具使用比如Postman、JMeter第五步是編程語(yǔ)言建議從Python入手因?yàn)檎Z(yǔ)法簡(jiǎn)單用于自動(dòng)化測(cè)試和腳本編寫(xiě)足夠第六步是自動(dòng)化測(cè)試框架比如Selenium和Pytest。這個(gè)過(guò)程如果每天能保持至少三到四個(gè)小時(shí)的有效學(xué)習(xí)一般需要三到四個(gè)月。雖然周期不算短但每一步都是后面工作的剛需技能。此外零基礎(chǔ)學(xué)習(xí)者一定要?jiǎng)邮?。光看視頻、背八股文到面試現(xiàn)場(chǎng)一定露餡。現(xiàn)在有很多開(kāi)源的項(xiàng)目可以用來(lái)練習(xí)比如在線商城、管理系統(tǒng)、博客系統(tǒng)都可以下載下來(lái)自己搭環(huán)境、寫(xiě)用例、跑測(cè)試。把自己當(dāng)成真正的測(cè)試工程師去經(jīng)歷完整的測(cè)試流程這種經(jīng)驗(yàn)的含金量比看一百篇面經(jīng)都高。5.2 現(xiàn)在的軟件測(cè)試面試還考察哪些新方向每年軟件測(cè)試面試的熱度詞都在變化。今年最明顯的特征是AI軟件測(cè)試相關(guān)的詞大量出現(xiàn)比如用coze搭建AI軟件測(cè)試工作臺(tái)、AI輔助生成測(cè)試用例、智能Bug定位、ChatGPT輔助測(cè)試等等。越來(lái)越多的公司開(kāi)始關(guān)注測(cè)試人員對(duì)AI工具的運(yùn)用能力。面試官可能會(huì)問(wèn)你有沒(méi)有用過(guò)AI工具來(lái)輔助測(cè)試你如何用AI來(lái)提高測(cè)試效率這個(gè)問(wèn)題的背后是團(tuán)隊(duì)對(duì)提效的迫切需求。我的建議是準(zhǔn)備面試前可以自己動(dòng)手把coze這類(lèi)工具用起來(lái)。比如用coze搭建一個(gè)AI軟件測(cè)試工作臺(tái)把測(cè)試需求分析、用例生成、Bug描述優(yōu)化、測(cè)試報(bào)告生成的流程串起來(lái)。在面試時(shí)如果你能現(xiàn)場(chǎng)展示一個(gè)自己搭過(guò)的AI測(cè)試輔助工具說(shuō)清楚它的輸入、輸出和實(shí)際效果這個(gè)亮點(diǎn)非常稀缺會(huì)讓面試官眼前一亮。嵌入式軟件測(cè)試也是一個(gè)熱門(mén)方向如果你有相關(guān)背景一定要突出。嵌入式測(cè)試關(guān)注的維度包括硬件環(huán)境依賴、資源受限、實(shí)時(shí)性要求、交叉編譯、以及各種通信協(xié)議。這個(gè)領(lǐng)域的測(cè)試工程師相對(duì)稀缺薪資也更有競(jìng)爭(zhēng)力。不過(guò)我也要潑一點(diǎn)冷水不要把AI工具吹得神乎其神。面試官真正關(guān)心的是你能不能把AI工具和現(xiàn)有測(cè)試流程結(jié)合起來(lái)解決實(shí)際問(wèn)題。你只需要誠(chéng)實(shí)地說(shuō)出你用了什么工具、解決了什么問(wèn)題、踩過(guò)什么坑就足夠了。5.3 最后的備戰(zhàn)建議用好八股文但不能依賴八股文文章寫(xiě)到這里我必須說(shuō)一句大實(shí)話。軟件測(cè)試面試八股文這個(gè)東西是雙刃劍。用得好它是一個(gè)知識(shí)框架幫你快速梳理考點(diǎn)和答題思路用不好它會(huì)變成思維禁錮讓你只記得標(biāo)準(zhǔn)答案丟失了獨(dú)立思考的能力。我自己用過(guò)八股文也帶過(guò)不少新人看到太多人把時(shí)間浪費(fèi)在“背題”上面。其實(shí)面試成功的關(guān)鍵從來(lái)不是背題而是通過(guò)題目去完善自己的知識(shí)體系、梳理項(xiàng)目經(jīng)驗(yàn)、打磨表達(dá)邏輯。八股文里的每一道題你都應(yīng)該問(wèn)自己三個(gè)問(wèn)題這道題考察的是什么能力我的答案憑什么比別人強(qiáng)這道題跟我的項(xiàng)目經(jīng)驗(yàn)有什么關(guān)系準(zhǔn)備軟件測(cè)試面試本質(zhì)上是一次系統(tǒng)的能力盤(pán)點(diǎn)。把基礎(chǔ)知識(shí)補(bǔ)牢把自己的項(xiàng)目經(jīng)驗(yàn)梳理清楚把表達(dá)邏輯打磨順暢這些問(wèn)題自然迎刃而解。我個(gè)人在這幾年換工作、做面試官的過(guò)程中最深的體會(huì)是面試是雙向的不只是公司挑你也是你在挑公司。提前了解目標(biāo)公司的業(yè)務(wù)、技術(shù)棧、團(tuán)隊(duì)氛圍比盲目刷一百道題更有用。保持真誠(chéng)、保持思考、保持對(duì)測(cè)試這個(gè)行業(yè)的好奇心你一定能找到適合自己的位置。最后再分享一個(gè)小技巧每次面試結(jié)束后不管結(jié)果如何都花半小時(shí)復(fù)盤(pán)一下自己有哪些問(wèn)題沒(méi)答好、為什么沒(méi)答好、下次怎么改進(jìn)。把每一次面試都當(dāng)成一次學(xué)習(xí)機(jī)會(huì)你的面試狀態(tài)會(huì)越來(lái)越穩(wěn)。祝每一位準(zhǔn)備跳槽或入行的測(cè)試同行都能拿到自己滿意的offer。