我手上有一台x998的手機。當前軟體版本為370,算是比較新的了。一天我在電信營業廳買了張100元的充值繳費卡,準備充值。結果在充值的自助語音提示下操作時,語音提示我輸入的賬號不正確。我仔細看了看螢幕上的數字,和賬號一模一樣的。
第乙個念頭是,充值卡有問題?後來很快就排除了這個可能性,因為畢竟是在電信營業廳購買的,應該不會是假冒的。x998手機軟體的bug?我不敢確認。畢竟發布了這麼多版本了,這種基本問題應該早就驗證過的。為了確認這一點,我找了西研所的手機測試。同樣的充值卡,能正常充值。那麼很顯然就是我們軟體的bug了。
首先考慮這個充值過程按鍵較多,是否是因為按鍵較多引起的?我在公司看了一下**,按鍵陣列長度為32。而我充值輸入的數字只有21個,應該不會是這個原因。那麼就只可能是和上層應用處理相關了。我把問題描述和充值卡都交給了專案經理,專案經理找人去處理去了,剩下就沒我什麼事了。
後來上層應用的人經過分析**後發現:x998是全鍵盤手機。數字鍵和字母鍵有重合的。而數字0對應的按鍵同時也是乙個caps的功能鍵。而數字鍵1同時也是字母鍵w。w在撥號的時候據說可以當做來電轉駁的有效鍵。於是當輸入數字的時候,如果先輸入0再輸入1,就會被認為是先按了caps鍵,在按了w鍵。另外,實際撥號傳送的鍵值和手機介面上顯示的數字並不一致,是兩個陣列變數。因此,儘管介面上顯示我輸入正確,但實質上呼出去的號碼少了0後面的1。所以就提示我輸入的賬號錯誤了。
這個問題的技術原因找到了。那相關責任人的原因呢?
之前測試人員曾經發現過類似的原因,但他們改用簡訊充值可以成功就忽略了這個問題。導致該問題一直遺留到現在——馬上就要發貨的時候。幸好我買了一張充值卡,幸好這種充值卡的賬號特殊,幸好我及時向專案經理反饋該問題。但是市場沒有這麼多幸好。我們需要保持一顆敏銳的心,以便分析和應對各種問題,否則只會給自己埋下更多的陷阱。想想還真是可怕,還有幾天就要發貨了。如果這個問題沒有在發貨前暴露出來,等到大批量投入市場後,由客戶投訴反饋的話。那麼,那些辛辛苦苦加班一年的軟體工程師,在出現這種批量事故後又會被扣績效,士氣會受到極大打擊。從這個事情可以看出,分析故障現象一定要找到根源,且不能隨意就忽略任何的小故障現象。否則出來混遲早要還的。
由解乙個bug想到的
最近花費了很久時間去解決乙個bug,在我手裡有乙個月了。今天同事出手幫忙解決掉了,分外感激。這個bug如果按照我的思路,再過乙個月也不一定能夠解決掉。三人行,必有我師。同事身上有許多值得我學習的地方。比如,我是從程式碼執行機制方面找尋產生bug的原因,可是程式碼數量龐大。很難發現其中的某一處問題所在...
由乙個網域名稱想到的
花了 大價錢 買了乙個網域名稱 zzm.hk,夠短了,其實沒有什麼含義,但沒有其它選擇。這樣的網域名稱,好像只能指向個人部落格站點,或者用qq郵箱體系裡的網域名稱郵箱功能設定乙個如 i zzm.hk 記得給我發郵件 的個人email。記得 phpdragon 以前還註冊過乙個 phpdragon.c...
由strcpy想到的乙個小問題
關於這個strcpy,經歷過筆試的人都知道 實在是太頻繁了。以前都是直接寫網上的標準答案,昨天忽然想起來這個函式卻又忘了網上怎麼寫的,只好自己動手寫了寫,還真發現點問題。及問題如下 char strcpy char dst,const char src 網上一般都是寫的 while p src 0 ...