Re: [請益] 面試官問怎麼Debug,怎樣Debug/測試才對
※ 引述《jas1123kimo (傑森)》之銘言:
: 2. 要怎麼Debug及測試
: 因為小弟我之前都在學校,寫的程式不會這麼龐大?
: Debug就是設定很多的Pritf看運作的參數
: 或者丟各種測資,而且要每個Function都要跑到
: 但每次這樣回答完
: 面試官都露出應該還有其他的方法的臉看著我。
: 請問還可以怎樣測試或Debug呢
1. 測試
單元測試 集成測試 重點應該是要能自動化
測資從正常數值開始抓 接著抓極端值
對於可邏輯產生的數值 也會自動化產生測資
會考慮輸入記憶體配置失敗 或外部資源無效時的案例
如果是performance-critical的區段 還會加上時間測量
測試時會將bug的情況作為test case追加
講完要反問一下面試官 你們覆蓋率幾%
2. Debug
首要工作是是要確立重現的流程
並且將重現bug的流程做到最精簡
原因:過於繁複的重現步驟表示涉及的程式碼越多 則越難找到bug的出處
對於我不熟悉的專案,我會從操作步驟的UI層開始追蹤
且如果是資料的錯誤,我會利用watcher監看資料實體是在哪個時機點被改變
如果是偶發的錯誤,我會利用conditional breakpoint增進debug的效率
莫名的資源無效或記憶體錯誤 我會檢查有無多執行續或重複釋放、destruction
等可能的行為
如果是第三方library或dll的bug,我會先閱讀文件確認使用方式無誤,如還是
無法發現問題則會到官方的bug tracker查詢有無類似情況。若以上均無解且與
該公司無合作關係或狀況急迫,我會以組合語言的形式下斷點並觀察memory變化
試圖出可能的原因,並從input或使用方式解決此問題
解釋完自己如何進行debug
如果之前面試官說公司測試覆蓋率不高或根本答非所問打太極的話
記得要反問面試官 貴公司修正bug後
如何確保不會產生其他bug 以及如何落實code reivew
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.20.88 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1569592468.A.907.html
推
09/27 22:59,
6年前
, 1F
09/27 22:59, 1F
→
09/27 23:02,
6年前
, 2F
09/27 23:02, 2F
→
09/27 23:02,
6年前
, 3F
09/27 23:02, 3F
→
09/27 23:43,
6年前
, 4F
09/27 23:43, 4F
→
09/28 00:24,
6年前
, 5F
09/28 00:24, 5F
推
09/28 00:36,
6年前
, 6F
09/28 00:36, 6F
推
09/28 00:58,
6年前
, 7F
09/28 00:58, 7F
推
09/28 01:39,
6年前
, 8F
09/28 01:39, 8F
推
09/28 02:03,
6年前
, 9F
09/28 02:03, 9F
推
09/28 08:49,
6年前
, 10F
09/28 08:49, 10F
推
09/28 09:00,
6年前
, 11F
09/28 09:00, 11F
推
09/28 13:09,
6年前
, 12F
09/28 13:09, 12F
推
09/28 13:24,
6年前
, 13F
09/28 13:24, 13F
→
09/28 14:39,
6年前
, 14F
09/28 14:39, 14F
→
09/28 14:41,
6年前
, 15F
09/28 14:41, 15F
推
09/28 15:20,
6年前
, 16F
09/28 15:20, 16F
→
09/28 18:59,
6年前
, 17F
09/28 18:59, 17F
推
09/28 22:31,
6年前
, 18F
09/28 22:31, 18F
推
09/29 00:41,
6年前
, 19F
09/29 00:41, 19F
→
09/29 00:41,
6年前
, 20F
09/29 00:41, 20F
你沒有debug info的時候 你就沒有高階程式語言可讀
這時候你就只能從組合語言下手 要弄懂怎麼看暫存器跟callstack
除非真的很必要或很閒 不然是不會走到這步
推
09/29 10:14,
6年前
, 21F
09/29 10:14, 21F
※ 編輯: EricTCartman (36.231.20.88 臺灣), 09/29/2019 11:10:44
推
09/29 14:48,
6年前
, 22F
09/29 14:48, 22F
推
09/29 17:05,
6年前
, 23F
09/29 17:05, 23F
推
09/29 18:01,
6年前
, 24F
09/29 18:01, 24F
噓
09/29 21:20,
6年前
, 25F
09/29 21:20, 25F
推
09/30 04:24,
6年前
, 26F
09/30 04:24, 26F
推
10/01 17:36,
6年前
, 27F
10/01 17:36, 27F
討論串 (同標題文章)