我自己測試時點的那幾下,全被算成了真的使用者
Futari 是給兩個人一起過日子用的家計簿。做這種產品,我很想知道大家實際上怎麼用它:哪個按鈕常被按、哪一頁沒人去、哪個地方常出錯。所以 app 裡裝了兩種記錄工具,一種看大家怎麼使用,一種收集錯誤。
有一天我發現,這些記錄裡混進了一大堆我自己。
每次要改一個功能,我會先做一份試用版。它長得跟正式版一模一樣,只是只有我會打開。我在裡面點來點去、故意亂填、故意弄壞,確定沒問題了才換上正式版。
問題在於,記錄工具分不出這兩個版本。
它判斷「這是不是正式版」的方式,是看這份程式是用哪一種方式打包的。可是試用版為了跟正式版完全一樣,用的也是正式版的打包方式。於是在記錄工具眼裡,我每一份試用版都是正式版。我測試時點的每一下、故意弄出來的每一個錯,全都記進了真實使用者的資料裡。
這種錯最麻煩的地方是,它不會讓任何東西壞掉。圖表照常有數字,甚至看起來還挺熱鬧的。沒有錯誤訊息、沒有當機,只是你看到的數字裡,有一部分是你自己。
修法是改看另一個標示,那個標示才真正分得出是試用版還是正式版。只有正式版的資料會送出去。錯誤收集修好之後,我又去檢查使用記錄那邊,果然是同一種判斷,同樣的錯,於是再修一次。這次我也把「試用版不等於正式版」寫進了紀錄,免得下次又犯。
會想錯,是因為那個打包方式的名字,看起來就像在說「這是正式環境」。大部分時候它也真的是,只有在試用版跟正式版共用打包方式時,兩件事才會分開。
做產品的人很依賴數字做決定。我差一點就看著一份混了自己的數據,判斷大家喜歡哪個功能。
如果你也在做產品,你會怎麼確認自己看到的數字是乾淨的?歡迎來跟我聊。
先不說了,我得去查那段時間混進去的資料,看能不能把它們從報表裡篩掉。
這段 code 寫於 2026 年 9 月 13 日,文章整理於 2026 年 10 月。