車2023秋招測試筆試題B卷超全解析:從用例設(shè)計(jì)到業(yè)務(wù)場景)
途虎養(yǎng)車2023秋招測試筆試試卷B這份卷子在圈子里流傳度不算低。我第一時(shí)間拿到手做完一遍之后最大的感受是它不只是考“會(huì)不會(huì)寫代碼、會(huì)不會(huì)點(diǎn)按鈕”更是在篩“有沒有用測試思維解決實(shí)際業(yè)務(wù)問題的習(xí)慣”。尤其途虎本身是汽車后市場賽道線上App加線下工場店、供應(yīng)鏈、物流倉儲(chǔ)全鏈路打通這種“線上線下硬件設(shè)備”結(jié)合的業(yè)務(wù)形態(tài)決定了它的測試筆試題目一定不會(huì)只停留在純軟件層面。下面我按自己的解題過程把試卷B的題型結(jié)構(gòu)、核心考點(diǎn)、做題思路完整拆一遍希望能給正在準(zhǔn)備秋招春招的同學(xué)一些參考。1. 試卷整體結(jié)構(gòu)與出題邏輯先說結(jié)論試卷B約60道題考試時(shí)間90分鐘題型包含單選題、多選題、判斷題、簡答題和1道場景用例設(shè)計(jì)大題。整體難度中等偏上但真正的難點(diǎn)不在知識(shí)深度而在“業(yè)務(wù)場景的理解速度”和“測試思維的完整度”。整份卷子按內(nèi)容分布大致可以分成四個(gè)模塊測試基礎(chǔ)與用例設(shè)計(jì)約30%等價(jià)類、邊界值、場景法、判定表以及基礎(chǔ)的用例編寫規(guī)范。Linux與數(shù)據(jù)庫操作約25%日志查看、進(jìn)程處理、shell基礎(chǔ)操作、SQL查詢與數(shù)據(jù)校驗(yàn)。接口與自動(dòng)化測試約25%HTTP協(xié)議、接口測試工具使用、自動(dòng)化框架理解、Appium移動(dòng)端測試基礎(chǔ)。業(yè)務(wù)場景綜合題約20%圍繞途虎養(yǎng)車App的養(yǎng)車預(yù)約、到店服務(wù)、配件購買、優(yōu)惠券使用等真實(shí)業(yè)務(wù)出題。這里我特別想強(qiáng)調(diào)一個(gè)容易被忽略的點(diǎn)試卷B里出現(xiàn)了一些“看起來像軟件測試實(shí)際上是在考業(yè)務(wù)流程閉環(huán)”的題目。比如優(yōu)惠券下單時(shí)庫存扣減失敗怎么排查這種題如果只盯著接口返回做分析很容易漏掉“線下門店庫存同步”這個(gè)環(huán)節(jié)。做這套題的時(shí)候建議始終帶著一個(gè)前提——途虎不是單純的電商App而是連接用戶、門店、倉庫、物流的復(fù)雜系統(tǒng)。另外試卷B里多選題占比不低而且很多是“選出所有正確選項(xiàng)”的玩法少選多選都不得分。這意味著你對(duì)知識(shí)點(diǎn)的理解必須邊界清晰不能有模糊地帶平時(shí)如果習(xí)慣了“記住大概意思”這種題會(huì)非常吃虧。2. 核心題型逐一拆解與解題思路2.1 測試用例設(shè)計(jì)等價(jià)類與邊界值不是背概念是算出來的試卷B里有一道很典型的題目某功能允許用戶輸入“車牌號(hào)”進(jìn)行綁定要求車牌號(hào)格式為7位字符第一位是漢字省份簡稱第二位是發(fā)證機(jī)關(guān)字母后五位是字母和數(shù)字的組合。問使用等價(jià)類劃分法至少需要設(shè)計(jì)多少條有效等價(jià)類和無效等價(jià)類測試用例這道題看著簡單但錯(cuò)誤率很高。很多人會(huì)直接回答“有效1條無效4條”理由是“一個(gè)有效類加每個(gè)無效條件各一條”。實(shí)際上正確思路是有效等價(jià)類方面7位字符、首字為指定省份漢字、第二位為字母、后五位允許字母數(shù)字混合這些條件同時(shí)滿足時(shí)屬于“單個(gè)有效等價(jià)類”因?yàn)樗鼈兪墙M合后構(gòu)成合法輸入的整體所以有效等價(jià)類只需要1條用例覆蓋。無效等價(jià)類則要按“每個(gè)破壞一個(gè)條件”的原則分別設(shè)計(jì)長度不等于7位、首位不是合法省份漢字、第二位不是字母、后五位包含非法字符如中文、特殊符號(hào)這樣至少4條無效用例。再把邊界值加上長度邊界是6位、7位、8位也就是至少要各測一次。所以這道題的完整回答應(yīng)該是“有效等價(jià)類1條無效等價(jià)類4條邊界值用例3條合計(jì)至少8條”。答題時(shí)一定要把計(jì)算過程寫出來閱卷人看的不只是答案更是你“有沒有把一個(gè)模糊需求拆成明確條件”的能力。2.2 Linux操作題定位問題是第一能力Linux題目里有一道很務(wù)實(shí)的問題測試環(huán)境出現(xiàn)接口響應(yīng)緩慢需要登錄服務(wù)器查看某個(gè)Java應(yīng)用進(jìn)程的CPU和內(nèi)存占用情況并輸出最近100行日志請(qǐng)寫出完整命令。這道題綜合考了進(jìn)程管理和日志查看兩個(gè)能力點(diǎn)。我的答案是這樣的# 先找到Java進(jìn)程的PID并查看CPU和內(nèi)存占用 ps aux | grep java | grep -v grep # 如果進(jìn)程較多用top動(dòng)態(tài)查看按CPU使用率排序 top -c -o %CPU # 用PID查看該進(jìn)程的具體線程占用情況 top -Hp PID # 輸出最近100行日志并持續(xù)跟蹤 tail -n 100 /opt/app/logs/application.log # 如果日志文件有滾動(dòng)用通配符匹配最新的那個(gè)文件 tail -n 100 /opt/app/logs/application-$(date %Y%m%d).log這里有幾個(gè)加分細(xì)節(jié)。第一ps aux找到PID后一定要再top -Hp看一下線程級(jí)別的占用因?yàn)镴ava應(yīng)用CPU飆升通常需要定位到具體線程再做線程dump分析。第二如果日志文件名帶日期用$(date %Y%m%d)可以確保tail到當(dāng)天的文件這樣寫比手動(dòng)拼文件名更可靠。第三真實(shí)場景下接口慢不一定是應(yīng)用本身問題我還會(huì)習(xí)慣性先ping一下數(shù)據(jù)庫地址telnet一下端口排除網(wǎng)絡(luò)鏈路問題再往深了查。這類題目在試卷里出現(xiàn)的目的很直接——測試工程師要具備獨(dú)立排查環(huán)境問題的能力不能什么問題都直接甩給開發(fā)或運(yùn)維。2.3 數(shù)據(jù)庫校驗(yàn)題SQL不只是能跑通還要能校驗(yàn)對(duì)試卷B里有一道SQL題給定兩張表user表用戶id、手機(jī)號(hào)、注冊(cè)時(shí)間和order表訂單id、用戶id、訂單金額、下單時(shí)間查詢“2023年1月1日之后注冊(cè)、且下過訂單總金額超過500元”的用戶id和總金額按總金額降序排列。這道題核心考的是聚合函數(shù)、JOIN和HAVING的組合使用。我的寫法是SELECT u.user_id, SUM(o.order_amount) AS total_amount FROM user u INNER JOIN order o ON u.user_id o.user_id WHERE u.register_time 2023-01-01 GROUP BY u.user_id HAVING SUM(o.order_amount) 500 ORDER BY total_amount DESC;這里有幾個(gè)關(guān)鍵點(diǎn)必須注意HAVING后面不能直接寫total_amount 500因?yàn)镾ELECT子句里的別名在部分?jǐn)?shù)據(jù)庫的HAVING階段不可用穩(wěn)妥的寫法是重復(fù)寫SUM(o.order_amount)。另外需求里說的是“下過訂單的用戶”所以INNER JOIN是合適的如果用LEFT JOIN就可能把沒下過單的用戶也查出來然后被HAVING過濾掉雖然結(jié)果一樣但邏輯上不夠嚴(yán)謹(jǐn)。這道題還有個(gè)小陷阱下單時(shí)間字段需不需要加條件題目只要求“注冊(cè)后下過訂單”并沒有限定訂單日期必須大于注冊(cè)日期所以不用加o.order_time u.register_time。但實(shí)際業(yè)務(wù)里可能會(huì)存在歷史訂單被補(bǔ)錄的情況如果你在答案里主動(dòng)說明“這里我假設(shè)訂單都是注冊(cè)后產(chǎn)生的如果業(yè)務(wù)上有補(bǔ)單場景還需要額外加時(shí)間過濾”這反而是加分的因?yàn)檎宫F(xiàn)了業(yè)務(wù)思考。2.4 接口測試題HTTP狀態(tài)碼背后的業(yè)務(wù)邏輯接口測試相關(guān)題目里有一道很有意思用戶使用優(yōu)惠券提交訂單接口返回HTTP 500請(qǐng)問可能的原因有哪些你如何一步步排查這道題沒有標(biāo)準(zhǔn)答案但考察的維度很全。我的回答邏輯分了四層第一層先看返回內(nèi)容。500表示服務(wù)器內(nèi)部錯(cuò)誤但有些框架會(huì)同時(shí)返回JSON格式的錯(cuò)誤信息比如異常堆棧或錯(cuò)誤碼。先抓包或者看響應(yīng)體往往能直接定位。第二層看服務(wù)端日志。重點(diǎn)查下單接口所在服務(wù)的error日志看拋出的異常類型。常見的可能是空指針、數(shù)據(jù)庫連接池滿、Redis緩存key過期、下游接口超時(shí)等。第三層定位是單點(diǎn)問題還是共性問題。用同一賬號(hào)、同一優(yōu)惠券再提交一次如果必現(xiàn)大概率是這單業(yè)務(wù)數(shù)據(jù)的問題如果偶現(xiàn)可能是并發(fā)導(dǎo)致庫存超賣、Redis分布式鎖失效、接口冪等性問題。第四層結(jié)合業(yè)務(wù)鏈路排查。途虎的下單鏈路涉及優(yōu)惠券核銷、庫存扣減、支付單創(chuàng)建、門店接單通知等多個(gè)環(huán)節(jié)。任何一環(huán)異常都可能返回500。特別是優(yōu)惠券和庫存之間往往不是同一個(gè)服務(wù)涉及分布式事務(wù)一旦某個(gè)子事務(wù)回滾失敗就會(huì)暴露成500。這套回答好在哪里它是“從現(xiàn)象到原因、從單點(diǎn)到整體”的遞進(jìn)結(jié)構(gòu)而不是東一榔頭西一棒子地羅列可能原因。面試官要看到的是你遇到線上問題時(shí)有一套穩(wěn)定的排查動(dòng)作而不是靠猜。2.5 業(yè)務(wù)場景題車輛維保預(yù)約的核心流程測試試卷最后的大題是一道典型的業(yè)務(wù)場景設(shè)計(jì)題大致背景是途虎養(yǎng)車App上線“到店保養(yǎng)預(yù)約”功能用戶選擇門店、選擇保養(yǎng)套餐、選擇到店時(shí)間、提交預(yù)約門店確認(rèn)后生成預(yù)約單。題目要求設(shè)計(jì)該功能的測試用例覆蓋功能、接口、兼容性、異常場景四個(gè)方面。這道題分值最高也是最容易拉開差距的一道題。我當(dāng)時(shí)的思路是分四塊來寫功能測試方面我分成主流程、分支流程和異常流程。主流程是“選擇城市→選擇門店→選擇套餐→選擇時(shí)間→填寫車輛信息→提交→預(yù)約成功→門店確認(rèn)”。分支流程包括用戶有多個(gè)車輛時(shí)切換默認(rèn)車輛、門店支持的服務(wù)類型篩選、套餐更換時(shí)價(jià)格聯(lián)動(dòng)計(jì)算。異常流程覆蓋預(yù)約時(shí)間已滿、門店休息日不可約、車輛信息未綁定、提交時(shí)斷網(wǎng)、重復(fù)點(diǎn)擊提交按鈕等。接口測試方面重點(diǎn)是預(yù)約提交接口的冪等性測試、并發(fā)預(yù)約同一時(shí)間段的處理、門店可預(yù)約時(shí)間段列表接口的準(zhǔn)確性、優(yōu)惠券抵扣金額與套餐金額的一致性校驗(yàn)。這里尤其要關(guān)注冪等性——用戶因網(wǎng)絡(luò)超時(shí)重復(fù)點(diǎn)擊提交系統(tǒng)不能生成兩筆預(yù)約單這種用例在業(yè)務(wù)型公司里非常受重視。兼容性測試方面覆蓋iOS和Android兩大平臺(tái)的不同版本、不同屏幕尺寸??紤]到途虎用戶群體里有相當(dāng)一部分是中老年車主低端Android機(jī)和舊版本iOS的兼容性尤為重要不能只測最新機(jī)型。異常場景方面除了常規(guī)的無網(wǎng)絡(luò)、弱網(wǎng)、服務(wù)端異常外我還補(bǔ)充了“門店關(guān)店前30分鐘提交預(yù)約”這種帶業(yè)務(wù)時(shí)間屬性的邊界場景以及“保養(yǎng)套餐下架后用戶已提交預(yù)約但尚未確認(rèn)”的狀態(tài)沖突場景。最后我在每個(gè)測試分類下面都注明了一條“優(yōu)先級(jí)標(biāo)記規(guī)則”P0級(jí)用例是阻塞發(fā)布的問題P1級(jí)是主流程功能異常P2級(jí)是次要功能問題。這能向閱卷人傳遞一個(gè)信息——你不是只會(huì)列用例而是知道如何把控測試節(jié)奏。3. 實(shí)操環(huán)節(jié)模擬與完整解題過程復(fù)盤3.1 模擬一道完整的“優(yōu)惠券使用”綜合題試卷里有一道綜合題把好幾個(gè)知識(shí)點(diǎn)串在一起了用戶在途虎App選擇“199元小保養(yǎng)套餐”使用一張“滿199減50”優(yōu)惠券下單時(shí)應(yīng)付金額為149元但實(shí)際支付后賬戶被扣款199元。請(qǐng)分析問題可能出在哪里并設(shè)計(jì)驗(yàn)證方案。這道題我在做的時(shí)候沒有急著寫結(jié)論而是先在草稿紙上畫了一條資金鏈路用戶端展示金額→提交訂單時(shí)后端計(jì)算金額→支付網(wǎng)關(guān)扣款金額→訂單系統(tǒng)記賬金額。任何一環(huán)出現(xiàn)偏差都會(huì)導(dǎo)致用戶實(shí)付和應(yīng)付不一致。最可能的三個(gè)原因我按概率排序一是前端展示與后端計(jì)算不一致。前端頁面展示了優(yōu)惠券抵扣后的149元但提交訂單時(shí)后端沒有正確匹配優(yōu)惠券或者優(yōu)惠券狀態(tài)異常導(dǎo)致后端計(jì)算金額仍為原價(jià)199元。判斷方法是抓包看下單接口的請(qǐng)求參數(shù)里有沒有正確攜帶優(yōu)惠券ID再看后端返回的訂單金額。二是優(yōu)惠券在支付環(huán)節(jié)沒生效。有些老系統(tǒng)會(huì)把優(yōu)惠分?jǐn)偡旁谥Ц冻晒蟮幕卣{(diào)里處理如果回調(diào)處理異常就會(huì)出現(xiàn)“支付時(shí)按原價(jià)扣款訂單里卻顯示已優(yōu)惠”的情況。這需要查看支付回調(diào)日志和訂單狀態(tài)變更記錄。三是并發(fā)場景下優(yōu)惠券被重復(fù)使用或狀態(tài)未鎖住。比如用戶在其他設(shè)備上已經(jīng)把這張券用了但當(dāng)前設(shè)備頁面未刷新仍然顯示可用。提交訂單時(shí)后端發(fā)現(xiàn)券已被用但沒有報(bào)錯(cuò)攔截而是直接走了原價(jià)邏輯。這就是典型的“并發(fā)下的狀態(tài)校驗(yàn)缺失”。設(shè)計(jì)驗(yàn)證方案時(shí)我建議先通過接口測試復(fù)現(xiàn)再定位到具體模塊。具體步驟是先準(zhǔn)備一張測試優(yōu)惠券和一個(gè)測試賬號(hào)分別用“正常領(lǐng)取”“不領(lǐng)取券”“領(lǐng)取券但支付前在另一設(shè)備核銷”三種場景跑一遍下單接口對(duì)比返回的應(yīng)付金額是否都是199元。再用數(shù)據(jù)庫直接看優(yōu)惠券表的狀態(tài)和訂單表的實(shí)付金額如果券狀態(tài)已是“已核銷”但訂單金額是原價(jià)就能基本定位為后端狀態(tài)校驗(yàn)問題。這道題整體考察的是定位問題的分析能力。回答時(shí)要讓閱卷人看到你有“先分模塊、再逐個(gè)排除”的思路而不是直接給出一堆可能性。3.2 動(dòng)手實(shí)操用Charles抓包模擬弱網(wǎng)環(huán)境測試筆試?yán)镞€有一道弱網(wǎng)測試的簡答題問的是如何模擬弱網(wǎng)環(huán)境驗(yàn)證App在2G/3G網(wǎng)絡(luò)下的表現(xiàn)。我在這里提供一個(gè)最常用的實(shí)操方案用Charles抓包工具模擬弱網(wǎng)這也是移動(dòng)端測試最基礎(chǔ)的一項(xiàng)技能。打開Charles在菜單欄找到Proxy → Throttle Settings勾選Enable Throttling然后在Throttle Preset里選擇預(yù)設(shè)的網(wǎng)速檔位。如果預(yù)設(shè)中沒有想要的檔位可以手動(dòng)設(shè)置帶寬、延遲、丟包率等參數(shù)。比如模擬3G網(wǎng)絡(luò)常用的參數(shù)是帶寬780kbps、延遲100ms、丟包率2%模擬弱2G網(wǎng)絡(luò)可以設(shè)置帶寬20kbps、延遲400ms、丟包率5%。設(shè)置完成后手機(jī)連上代理打開途虎App重點(diǎn)觀察以下場景首頁圖片是否懶加載失敗、保養(yǎng)套餐詳情頁是否長時(shí)間白屏、預(yù)約提交時(shí)是否出現(xiàn)超時(shí)彈窗、斷網(wǎng)恢復(fù)后是否有重試機(jī)制。每個(gè)場景都要記錄出現(xiàn)問題的頁面和時(shí)間點(diǎn)。這里分享一個(gè)實(shí)測中容易踩的坑很多同學(xué)開了弱網(wǎng)模擬后發(fā)現(xiàn)App完全打不開然后以為是自己配置有問題。實(shí)際上是因?yàn)镃harles默認(rèn)只對(duì)HTTP流量生效如果App用的是HTTPS且沒有配置SSL代理就會(huì)出現(xiàn)頁面空白。解決辦法是在Charles的SSL Proxying Settings里添加*:443并保證手機(jī)安裝了Charles的CA證書。否則你測出來的“弱網(wǎng)問題”其實(shí)只是“證書驗(yàn)證失敗”不是真實(shí)的弱網(wǎng)表現(xiàn)。3.3 自動(dòng)化測試實(shí)操Appium連接模擬器跑通一條業(yè)務(wù)流試卷里自動(dòng)化相關(guān)題目比重不小其中有一道問的是使用Appium編寫一條自動(dòng)化腳本的步驟。對(duì)于平時(shí)只寫過腳本沒跑過真機(jī)的同學(xué)來說這道題容易寫得很虛。我在這里給出一個(gè)最小可運(yùn)行的全流程從配置到代碼大家可以直接照著試。環(huán)境準(zhǔn)備部分需要安裝Node.js、Appium Desktop或命令行版Appium、Android SDK以及一個(gè)Android模擬器或真機(jī)。然后用Python寫腳本的話還需要安裝Appium-Python-Client庫。一個(gè)最小示例腳本如下from appium.webdriver import Remote from appium.webdriver.common.appiumby import AppiumBy desired_caps { platformName: Android, platformVersion: 12.0, deviceName: emulator-5554, app: /path/to/tuhu.apk, noReset: True, automationName: UiAutomator2 } driver Remote(http://127.0.0.1:4723/wd/hub, desired_caps) # 等待首頁加載 driver.implicitly_wait(10) # 定位“保養(yǎng)”入口并點(diǎn)擊 el driver.find_element(AppiumBy.ID, com.tuhu.auto:id/tab_maintenance) el.click() # 斷言頁面出現(xiàn)“選擇門店”按鈕 assert driver.find_element(AppiumBy.ID, com.tuhu.auto:id/btn_select_store).is_displayed() driver.quit()這段腳本跑通后就可以往里面加斷言、加數(shù)據(jù)參數(shù)化。但筆試?yán)锶绻屇恪霸O(shè)計(jì)自動(dòng)化測試方案”你要展現(xiàn)的就不只是一段代碼而是更完整的框架思維用例分層頁面對(duì)象層、業(yè)務(wù)流層、數(shù)據(jù)層、失敗截圖與日志收集、與Jenkins集成做定時(shí)任務(wù)、測試報(bào)告生成。把這幾塊寫出來才能體現(xiàn)出你具備獨(dú)立搭建自動(dòng)化框架的能力而不只是會(huì)調(diào)API。實(shí)際工作中自動(dòng)化腳本維護(hù)成本最高的是元素定位所有App的UI改動(dòng)都可能導(dǎo)致腳本大面積報(bào)錯(cuò)。所以我在方案里還會(huì)建議優(yōu)先使用穩(wěn)定的resource-id定位少用xpath在頁面對(duì)象層做元素封裝后續(xù)UI變更時(shí)只改一處。4. 高頻考點(diǎn)速查與避坑清單4.1 常見失分點(diǎn)對(duì)照表結(jié)合我自己的做題過程以及和幾位同樣參加過途虎筆試的同學(xué)交流復(fù)盤整理了一份高頻失分點(diǎn)表格大家可以對(duì)照自查??键c(diǎn)模塊常見失分點(diǎn)正確做法用例設(shè)計(jì)只寫有效等價(jià)類漏無效等價(jià)類每個(gè)非法的獨(dú)立條件都要覆蓋一次測試方法選擇看到輸入框就只想到等價(jià)類和邊界值根據(jù)需求復(fù)雜度選有多個(gè)條件組合用判定表流程類用場景法Linux命令忘記加grep -v grepps aux之后一定過濾grep自身進(jìn)程SQL聚合在HAVING里使用SELECT別名重復(fù)書寫聚合函數(shù)不依賴別名接口測試只關(guān)注狀態(tài)碼不關(guān)注響應(yīng)體內(nèi)容先看響應(yīng)體再看服務(wù)端日志最后看鏈路移動(dòng)端測試忽略弱網(wǎng)和中斷場景重點(diǎn)覆蓋弱網(wǎng)、斷網(wǎng)、來電、切后臺(tái)等中斷場景自動(dòng)化測試只寫腳本不寫維護(hù)方案補(bǔ)充元素封層、失敗截圖、數(shù)據(jù)驅(qū)動(dòng)設(shè)計(jì)4.2 時(shí)間分配建議試卷B總共90分鐘我的實(shí)際時(shí)間分配是這樣的選擇題和判斷題控制在35分鐘以內(nèi)這些題大部分是概念題想太久反而容易改錯(cuò)。多選題控制在10分鐘猶豫不決的題先標(biāo)記不要戀戰(zhàn)。簡答題大約25分鐘每題控制在8分鐘左右答到點(diǎn)子上就行不需要長篇大論。最后一道場景設(shè)計(jì)大題留20分鐘這部分一定要寫結(jié)構(gòu)化的編號(hào)方便閱卷人看出你的思路。4.3 關(guān)于試卷B的一個(gè)獨(dú)家觀察整套卷子做下來一個(gè)很明顯的傾向是——凡是涉及業(yè)務(wù)閉環(huán)的題幾乎沒有一道是“背過就會(huì)”的全是需要現(xiàn)場分析場景。這反映出途虎對(duì)測試工程師的期望不是“執(zhí)行者”而是“質(zhì)量owner”你不僅要能執(zhí)行測試用例還要能主動(dòng)分析業(yè)務(wù)邏輯里可能存在的漏洞并對(duì)測試結(jié)果負(fù)責(zé)。這一點(diǎn)在最后那道場景設(shè)計(jì)題里體現(xiàn)得最充分。設(shè)計(jì)用例時(shí)除了常規(guī)的功能用例我額外補(bǔ)了一條看似邊緣、實(shí)際非常關(guān)鍵的用例“用戶已提交預(yù)約但尚未到店且期間門店修改了營業(yè)時(shí)間系統(tǒng)是否會(huì)自動(dòng)推送變更通知”。這種用例在標(biāo)準(zhǔn)測試用例模板里不會(huì)出現(xiàn)但真正做過業(yè)務(wù)測試的人會(huì)知道這類“狀態(tài)變更通知”場景在真實(shí)業(yè)務(wù)中往往就是投訴重災(zāi)區(qū)。5. 一套完整的備考策略與實(shí)用建議筆試只是整個(gè)秋招流程的其中一環(huán)考完之后還有面試。從試卷B的難度和風(fēng)格來看后續(xù)面試大概率會(huì)圍繞“項(xiàng)目經(jīng)歷”和“場景題”展開不太會(huì)問特別偏門的概念題。所以備考重心應(yīng)該放在三件事上第一把測試基礎(chǔ)概念吃透到能隨手舉例的程度第二Linux和SQL要達(dá)到“不看文檔能直接寫”的熟練度第三結(jié)合途虎的業(yè)務(wù)形態(tài)提前積累“線上App線下門店”場景的測試經(jīng)驗(yàn)。關(guān)于第二點(diǎn)我多說一句很多計(jì)算機(jī)專業(yè)的同學(xué)平時(shí)用Windows比較多Linux命令全靠記憶一到寫命令的時(shí)候就會(huì)混。我的建議是不要死記硬背在自己電腦上裝個(gè)虛擬機(jī)或者用云服務(wù)器搭一個(gè)Linux環(huán)境把常用的日志查看、進(jìn)程管理、權(quán)限修改、網(wǎng)絡(luò)排查命令都實(shí)際操作一遍兩周時(shí)間基本就能形成肌肉記憶。SQL同樣如此沒必要刷特別復(fù)雜的題目就把關(guān)聯(lián)查詢、聚合函數(shù)、子查詢、窗口函數(shù)這幾類吃透。筆試中的SQL基本不會(huì)超過這個(gè)范圍。關(guān)于第三點(diǎn)坦白說沒有實(shí)際項(xiàng)目經(jīng)驗(yàn)的同學(xué)在這類題目上會(huì)比較吃虧。我給出一個(gè)可操作的替代方案在工作日晚上打開途虎App把用戶能走的核心路徑都完整走一遍包括注冊(cè)、選門店、選套餐、下單、支付、查看訂單詳情、取消訂單、申請(qǐng)退款。每走一步都記錄下可能出現(xiàn)問題的地方然后設(shè)想“如果我是測試會(huì)怎么設(shè)計(jì)用例來保障這個(gè)流程”。這不花太多時(shí)間但對(duì)理解業(yè)務(wù)型測試的思維模式很有幫助。另外給你一個(gè)提升簡歷通過率的小建議如果時(shí)間允許可以在GitHub上維護(hù)一個(gè)小的測試項(xiàng)目比如把自己寫的接口自動(dòng)化腳本和測試用例設(shè)計(jì)文檔放上去形成“需求分析→用例設(shè)計(jì)→腳本實(shí)現(xiàn)→測試報(bào)告”的完整閉環(huán)。面試官看項(xiàng)目經(jīng)歷時(shí)看重的不只是技術(shù)棧更是“你有沒有把一件事做完整的意識(shí)”。這套試卷B整體上不難但信息量不小。只要基礎(chǔ)扎實(shí)、業(yè)務(wù)場景想得足夠多拿高分并不難。踏踏實(shí)實(shí)把上面幾個(gè)模塊過一遍這套題基本就能穩(wěn)住了。