「丟給客戶自己測」是工程失格
我們自己電商的第一張正式訂單,金額是錯的。單元測試全綠、測試環境跑過無數次,結果正式環境的第一筆真實交易,兩個 bug 剛好互相掩護,一路綠燈滑到了客人的信用卡帳單上。那天我們學到一件事,而且是用最丟臉的方式學的:測試環境的綠燈,只能證明測試環境會動。
從那天起,「上線」在我們團隊有了新的定義:不是程式部署完成,而是我們自己用真實的錢、真實的發票、真實的物流,把整條鏈路從頭到尾走完一遍之後,才叫上線。
「丟給客戶自己測」到底哪裡失格
這個行業有一句很常見的話:「功能都做完了,請客戶驗收測試。」聽起來很正常,但拆開看,它的意思其實是——我做的東西能不能用,請付錢的人自己去發現。
客戶不是 QA。他不知道要測金額變更後發票有沒有作廢重開、不知道要在手機上用 4G 而不是辦公室 Wi-Fi 開頁面、不知道超商取貨改金額之後單號不能重用。這些是工程團隊的專業知識,把驗證責任推給沒有這些知識的人,等於讓 bug 去找最沒有能力處理它的人。而 bug 最喜歡出現的時機,就是第一個真實用戶、第一筆真實訂單——也就是最傷信任的那一刻。
交付前,自己當第一個用戶;不然你的客戶就是你的 QA,而他付你錢不是來做這個的。
我們的上線前文化,長什麼樣子
具體來說,任何專案在交付前,我們自己要走完這些——不分案子大小,形象官網跟電商系統用同一套標準:
- 端對端測試寫進 CI。不是「有測試」,而是模擬真實用戶從進站到完成目標的完整流程,每次改動自動跑。人會忘記測,機器不會。
- 真實金流至少刷一筆。用自己的信用卡,付真的錢,看發票有沒有開、通知有沒有發、後台數字對不對。測試金流跟正式金流是兩個世界,這是我們付過學費才懂的。
- 行動裝置拿實機檢查。不是開瀏覽器的模擬器,是拿起手機,在行動網路下打開來用。字級、熱區、載入速度,模擬器全都會騙你。
- 把每個連結點一遍。這條有專文:我們為什麼規定「連結不准 404」。
這套紀律不是為接案發明的。我們自己的產品線——每天收單的電商、雙平台上架的 App、支撐加盟體系的進銷存系統——每一次改版都走同一套。正因為出過事的是自己的錢、自己的客人,我們才把它焊死在流程裡,而不是寫在牆上好看。
紀律很貴,但事故更貴
老實說,這些檢查很花時間,而且大部分時候「什麼都沒發現」,看起來像白做。但工程紀律的本質就是這樣:它的價值只在出事的那一次顯現,而你永遠不知道是哪一次。
第一筆訂單不該是除錯現場,第一個用戶不該是測試人員。如果你在評估開發團隊,不妨直接問:「上線前,你們自己會測到什麼程度?」答案含糊的,將來含糊的就是你的訂單。想看我們實際交付過的東西,作品在這裡——每一個,我們都先當過它的第一個用戶。
這類問題,我們每天都在自己的產品上解
免費 30 分鐘線上諮詢・先釐清方向,不推銷・一個工作天內回覆