2025軟件測試工程師筆試真題及答案_第1頁
2025軟件測試工程師筆試真題及答案_第2頁
2025軟件測試工程師筆試真題及答案_第3頁
2025軟件測試工程師筆試真題及答案_第4頁
2025軟件測試工程師筆試真題及答案_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2025軟件測試工程師筆試練習題及答案一、單項選擇題(每題2分,共20分)1.在等價類劃分法中,若輸入條件為“1≤x≤100”,則無效等價類應劃分為A.x<1B.x>100C.x=0與x=101D.x<1與x>100答案:D2.某系統(tǒng)需求規(guī)定“用戶密碼長度6~18位且必須包含字母與數字”,下列哪條測試用例最符合邊界值設計原則A.123abcB.12345C.abcdefD.123456789012345678答案:A3.關于語句覆蓋,下列說法正確的是A.使每個判斷的真假都執(zhí)行一次B.使每個可執(zhí)行語句至少執(zhí)行一次C.使每個條件都取真與假D.使每個路徑都執(zhí)行一次答案:B4.在Web系統(tǒng)性能測試中,TPS指A.每秒并發(fā)用戶數B.每秒事務數C.每秒點擊率D.每秒吞吐量字節(jié)數答案:B5.使用SeleniumWebDriver時,定位器“xpath=//input[@id='btn'and@type='submit']”屬于A.ID定位B.Name定位C.XPath定位D.CSSSelector定位答案:C6.某接口返回JSON:{"code":0,"msg":"success","data":null},斷言“data為null”應使用的JSONPath表達式為A.$.data==nullB.$.data!=nullC.$.msgD.$.code答案:A7.在Postman中設置環(huán)境變量“base_url”的語法為A.{{base_url}}B.${base_url}C.base_urlD.%base_url%答案:A8.關于缺陷嚴重程度(Severity)與優(yōu)先級(Priority)的關系,下列描述正確的是A.嚴重程度高的缺陷優(yōu)先級一定高B.優(yōu)先級高的缺陷嚴重程度一定高C.兩者無必然聯系,需結合業(yè)務場景判斷D.嚴重程度由測試人員決定,優(yōu)先級由開發(fā)人員決定答案:C9.在敏捷迭代中,下列活動最可能發(fā)生在“迭代計劃會議”上的是A.演示可交付軟件B.評審代碼實現C.估算用戶故事點數D.執(zhí)行回歸測試答案:C10.某APP崩潰日志出現“java.lang.OutOfMemoryError:GCoverheadlimitexceeded”,最可能原因是A.網絡超時B.內存泄漏C.數據庫鎖等待D.權限拒絕答案:B二、多項選擇題(每題3分,共15分,多選少選均不得分)11.以下哪些屬于黑盒測試設計技術A.判定表B.狀態(tài)轉換C.語句覆蓋D.因果圖答案:A、B、D12.關于JMeter元件,下列哪些屬于“邏輯控制器”A.IfControllerB.LoopControllerC.ConstantTimerD.ThroughputController答案:A、B、D13.在Linux服務器上排查CPU飆高問題,可使用的命令有A.topB.vmstatC.iostatD.netstat答案:A、B、C14.以下哪些做法有助于降低自動化測試腳本維護成本A.使用PageObject模式B.將元素定位集中管理C.使用硬編碼等待時間D.數據與腳本分離答案:A、B、D15.關于HTTPS協議,下列說法正確的是A.默認端口443B.使用SSL/TLS加密C.絕對無法被中間人攻擊D.需要數字證書答案:A、B、D三、填空題(每空2分,共20分)16.某模塊圈復雜度為9,則線性獨立路徑數為________。答案:917.MySQL中查看當前隔離級別的命令是select@@________。答案:tx_isolation(8.0+版本為transaction_isolation)18.在Python單元測試框架unittest中,方法級別的前置鉤子函數名為________。答案:setUp19.HTTP狀態(tài)碼502表示________。答案:BadGateway20.使用Git回退到上一次提交的命令是gitreset________HEAD~1。答案:hard21.在Linux中,將標準錯誤重定向到標準輸出的符號是________。答案:2>&122.若某算法時間復雜度為O(nlogn),當輸入規(guī)模擴大4倍時,理論耗時約擴大________倍。答案:4log4≈823.在TestNG中,啟用分組的參數寫在注解________中。答案:groups24.某磁盤IOPS上限為1000,平均每次I/O大小為4KB,則最大吞吐量為________MB/s。答案:10004/1024≈3.9,取整425.在Dockerfile中,設置基礎鏡像的指令是________。答案:FROM四、判斷題(每題1分,共10分,正確打“√”,錯誤打“×”)26.所有SQL注入漏洞都可通過預編譯語句完全防御。答案:×27.在敏捷項目中,測試人員只在迭代末期才開始測試。答案:×28.使用Fiddler可攔截并修改HTTPS流量。答案:√29.在Python中,列表推導式比同等邏輯的for循環(huán)執(zhí)行速度更快。答案:√30.移動APP冷啟動時間包含Application.onCreate到首幀繪制完成。答案:√31.在Jenkins中,PipelineasCode需使用Declarative或Scripted語法編寫。答案:√32.當CPU使用率持續(xù)100%時,系統(tǒng)一定無法提供任何服務。答案:×33.在Git中,執(zhí)行gitfetch會自動合并遠程分支到本地分支。答案:×34.使用Wireshark可查看經過本機網卡的所有原始數據幀。答案:√35.在性能測試中,90%響應時間指標比平均響應時間更能體現用戶體驗。答案:√五、簡答題(封閉型,每題6分,共18分)36.簡述“判定覆蓋”與“條件覆蓋”的區(qū)別,并給出一段示例代碼說明。答案:判定覆蓋要求每個判斷的整體結果(真/假)至少出現一次;條件覆蓋要求判斷中每個原子條件的真、假值至少出現一次。示例:if(a>0&&b<5){…}判定覆蓋:用例1a=1,b=4(真),用例2a=0,b=6(假)即可。條件覆蓋:需讓a>0取真、假,b<5取真、假,共需至少兩條用例,如a=1,b=6(a真b假)與a=0,b=4(a假b真)??梢娕卸ǜ采w不一定滿足條件覆蓋,反之亦然。37.寫出使用Python+Requests對REST接口“POST/login”做自動化鑒權并斷言返回token長度大于20的完整腳本(含異常處理)。答案:importrequests,jsonurl="https://demo.api/login"payload={"user":"tester","pwd":"123456"}try:r=requests.post(url,json=payload,timeout=5)r.raise_for_status()token=r.json().get("token")asserttokenandlen(token)>20print("pass")exceptrequests.exceptions.RequestExceptionase:print("httperror:",e)exceptAssertionError:print("tokeninvalid")38.說明“內存泄漏”與“內存溢出”的區(qū)別,并給出在Java中定位內存泄漏的兩種工具及核心使用步驟。答案:內存泄漏指對象不再使用卻仍被引用,導致無法回收;內存溢出指申請內存時無法滿足,拋出OutOfMemoryError。工具1:jvisualvm——啟動→裝入本地進程→“Sampler”→“HeapDump”→查看“Classes”中實例數異常類→“GCRoot”路徑。工具2:MAT(MemoryAnalyzerTool)——獲取hprof文件→LeakSuspectsReport→查看“ShortestPathsToGCRoots”→定位持有引用的類或靜態(tài)字段。六、簡答題(開放型,每題8分,共16分)39.某電商大促期間,訂單服務高峰期出現“庫存扣減成功但訂單創(chuàng)建失敗”的不一致問題。請從測試角度提出至少四條測試策略,以提前暴露此類分布式事務缺陷。答案:1.異常注入:在訂單創(chuàng)建接口返回后、提交前,使用混沌工程工具(如ChaosBlade)隨機kill訂單服務或斷開網絡,驗證最終一致性。2.并發(fā)壓測:JMeter設置200線程同時秒殺同一商品,斷言庫存與訂單數量始終相等,發(fā)現超賣或殘留庫存。3.對賬任務:每日凌晨跑批對比庫存表、訂單表、流水日志,測試人員提前編寫SQL核對腳本,若數量不等自動告警。4.消息隊列可靠性測試:重啟Kafkabroker或制造消息堆積,驗證訂單服務消費重試、冪等令牌、死信隊列機制,確保庫存回滾消息不丟失。5.采用TCC模式時,單獨測試Try、Confirm、Cancel各階段超時與補償,模擬Confirm失敗觸發(fā)Cancel,驗證庫存正確回滾。40.你是測試負責人,公司計劃將手工回歸測試80%自動化。請給出可落地的實施路線圖(含階段目標、技術選型、質量門禁、風險緩解)。答案:階段1(01個月):ROI評估——選取P1冒煙用例50條,覆蓋主流程;技術選型:Python+Pytest+Allure+GitLabCI;門禁:手工+自動化并行,通過率100%才允許合并。階段2(13個月):框架搭建——PageObject+數據驅動,公共方法庫、配置管理、日志與截圖;目標覆蓋30%回歸;風險:腳本不穩(wěn)定,緩解:強制codereview、每晚定時重跑3次成功率>95%。階段3(36個月):持續(xù)集成——JenkinsPipeline,多瀏覽器并行,失敗自動提Jira;引入MockServer隔離外部依賴;覆蓋60%;風險:測試數據污染,緩解:Docker容器化數據庫,每次跑批前還原快照。階段4(612個月):覆蓋率提升——接入sonar代碼覆蓋插件,單元+接口+UI整體目標80%;性能門禁:單次用例<30s;引入眾測做探索性補充;風險:維護成本上升,緩解:建立用例退役機制,連續(xù)3個版本無缺陷的用例降優(yōu)先級。七、應用題(綜合類,共51分)41.代碼走查與缺陷分類(15分)閱讀以下Java片段:publicdoublecalcDiscount(doubleprice,intlevel){if(level>=5){price=price0.9;}if(level==10){price=price0.8;}returnprice;}(1)找出至少3條缺陷并說明類型(5分)(2)給出等價類與邊界值測試用例表(輸入price>0,level∈[0,10])(6分)(3)使用JUnit5編寫參數化測試覆蓋上述用例(4分)答案:(1)a.當level=10時重復折扣,業(yè)務規(guī)則不明確,屬于邏輯錯誤;b.未校驗price≤0,導致負數折扣,屬于輸入合法性缺陷;c.level>10時無處理,屬于需求外未定義行為,魯棒性缺陷。(2)等價類:price:(0,1000]有效,(∞,0]無效level:[0,4]、[5,9]、{10}、(∞,1)、(10,+∞)邊界值:price=0.01,1,999,1000;level=0,4,5,9,10,11用例表:序號pricelevel期望折扣后備注11004100普通會員2100590黃金會員31001080鉆石會員410011拋異常或默認未定義5105拋異常無效價格(3)@ParameterizedTest@CsvSource({"100,4,100","100,5,90","100,10,80"})voidtestDiscount(doubleprice,intlevel,doubleexpected){doubleactual=newDiscount().calcDiscount(price,level);assertEquals(expected,actual,0.001);}42.性能測試分析與調優(yōu)(18分)某訂單接口壓測結果:并發(fā)用戶500,TPS穩(wěn)定在800,平均響應250ms,90%響應380ms,CPU75%,數據庫CPU30%,MQ隊列長度持續(xù)增長,錯誤率0.5%為“timeout”。(1)指出最可能的瓶頸點并給出兩條證據(4分)(2)列出三項深入診斷步驟(6分)(3)給出三項調優(yōu)建議并預測效果(8分)答案:(1)瓶頸:訂單服務線程池或下游依賴(庫存)處理慢;證據:MQ堆積說明消費速度低于生產;timeout錯誤集中在下游調用庫存接口。(2)診斷:a.jstack抓線程棧,查看WAITING或BLOCKED比例;b.打印Feign調用鏈路日志,確認庫存接口耗時;c.使用arthastrace命令追蹤“stockService.deduct”方法耗時分布。(3)調優(yōu):a.擴容訂單服務Pod副本數8→12,預計TPS可提升30%,MQ堆積下降;b.調整Hystrix超時500ms→800ms,降低timeout錯誤至0.1%;c.庫存接口加緩存Redis預扣,減少RT120ms→40ms,整體90%響應降至280ms。43.自動化框架設計(18分)公司采用微服務架構,技術棧SpringCloud+MySQL+Redis+RabbitMQ。請設計一套分層自動化測試框架,要求:a.覆蓋單元、接口、契約、UI、性能五層;b.各層工具選型與集成方式;c.統(tǒng)一報告與質量門禁;d.用例管理、版本控制、CI/CD流程圖(文字描述)。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論