摘要:譯者按等待用戶反饋,一切都晚了實時監(jiān)控線上應(yīng)用才是王道。他們需要親自去發(fā)現(xiàn)問題的原因然后尋找解法,而不是依賴于用戶的截屏反饋。最終你會發(fā)現(xiàn)只有的用戶會反饋問題,然而事實上多得多。事后評估發(fā)現(xiàn)總共影響了名用戶,但是只收到個用戶反饋。
譯者按: 等待用戶反饋BUG,一切都晚了!實時監(jiān)控線上應(yīng)用才是王道。
原文: Why relying on your users to report errors is the dumbest thing you’ll ever do
譯者: Fundebug
為了保證可讀性,本文采用意譯而非直譯。另外,本文版權(quán)歸原作者所有,翻譯僅用于學(xué)習(xí)。
我們熱愛coding。
當(dāng)我們coding的時候,就如同從零建造一棟大樓。新的特性、新的功能、絕佳的設(shè)計都在每一次更新后被用戶所使用,期待他們的喜愛和贊美。這樣的一個過程讓我們感到心靈上的慰藉和擁有為數(shù)不多的成就感。
然而,現(xiàn)實并沒有想象中美好。
如果debug是移除bug的流程,那么編程就一定是將bug放進(jìn)去的流程。
軟件工程師將大量時間花在了其它事情上。他們需要參加各種會議、討論需求、制定計劃、將現(xiàn)有的冗余代碼重構(gòu),以及還有一項花費時間很多的工作:修復(fù)bug。
我還沒有遇到過一位喜歡在代碼中去找bug的工程師,大概因為查找和復(fù)現(xiàn)一個bug往往要花費很多時間。
一直以來,debug就像大海撈針一樣。他們需要親自去發(fā)現(xiàn)問題的原因然后尋找解法,而不是依賴于用戶的截屏反饋。
用戶的截屏并不能告訴你足夠的信息,往往你會問更多。
你用的哪個瀏覽器,什么版本,操作系統(tǒng)是哪個,可以具體一點告訴我剛剛你是怎么操作的嗎,你之前在哪個頁面,你是怎么到這個頁面的?
就算問了用戶這么多問題,也不一定能解決問題。
Debug總是要花很多時間,然而還是一頭霧水。
坐等用戶反饋真的好嗎?很多開發(fā)團(tuán)隊依然依靠用戶反饋來改進(jìn)產(chǎn)品,這其實是很荒謬的。
在快餐連鎖店,客戶用餐完畢之后,需要自己將沒吃完的食物和用過的餐巾紙扔到垃圾桶。快餐店的食物可能一點也不好吃,客戶沒吃幾口就扔到垃圾桶然后直接走掉。除非客戶真的是一個愛抱怨的人而且恰好有時間,才會如實評價。否則,你只會認(rèn)為一個客戶吃完飯滿意的離開了。
然而,他再也不會來這里吃了!
一些開發(fā)者會這么認(rèn)為:如果沒有用戶反饋問題,那就代表我們的產(chǎn)品棒棒噠,對不對?認(rèn)為“如果用戶使用產(chǎn)品遇到問題,用戶就會反饋”是比較局限的。最終你會發(fā)現(xiàn)只有1%的用戶會反饋問題,然而事實上多得多。
開發(fā)者依靠很有限的信息去嘗試debug一個問題,往往不能解決。
你開發(fā)的軟件并沒有你想象的那么完美!
一個在大型線上零售店工作的朋友跟我聊過他們解決公司線上訂單系統(tǒng)的一個重大問題的故事。他們經(jīng)過好幾天的排查,都沒有發(fā)現(xiàn)問題所在。最后決定使用一個專用工具來監(jiān)控和診斷應(yīng)用錯誤。
最終的發(fā)現(xiàn)令人驚恐!
八個服務(wù)器中的一個內(nèi)存不足然后報錯,導(dǎo)致用戶的訂單流程失敗。也就是說:“每八個用戶中有一個收到影響”。
發(fā)現(xiàn)和解決這個問題使得一個月的銷售額提高了2萬美元。事后評估發(fā)現(xiàn)總共影響了5000名用戶,但是只收到2個用戶反饋。雖然解決了bug大家都很開心,但這個錯誤導(dǎo)致了10萬美元損失。
不建議這么做:一出錯就給自己發(fā)郵件報警你可以坐在電腦面前盯著錯誤日志流。當(dāng)你休息的時候,可以雇一個小伙伴這么做。或則,當(dāng)異常出現(xiàn)的時候,給自己發(fā)報警郵件(貌似是個不錯的主意)。直到你真的這么做了,你就不會這么想了!
你需要意識到:對于小的個人項目,一有錯誤就通過郵件報警還可以。但如果業(yè)務(wù)量起來了,訪問量打了,事情就會變得一團(tuán)糟:
由于版本以及兼容性,很多錯誤信息不完整
很難去指定一個報警規(guī)則,報警變成噪音
如果一個錯誤剛好在循環(huán)里面,可能一晚上給你發(fā)5萬封郵件
錯誤沒有優(yōu)先級或則嚴(yán)重性區(qū)別,混在一起
當(dāng)你查看了超過100封郵件以后,你再也不回去讀它們了
你會開始忽略這些郵件,甚至把它們歸類到一個多帶帶的文件夾然后發(fā)現(xiàn)無從下手而很少去碰。畢竟,從幾千封郵件中找到嚴(yán)重的問題并解決很不容易。
ELMAH - 記錄程序異常ELMAH (Error Logging Modules and Handlers) 是一個錯誤記錄服務(wù)。它可以動態(tài)地加入到一個ASP.NET項目中,而不需要重新編譯或則重新部署。ELMAH不支持所有的程序語言,他提供的功能也有點局限。ELMAH適用于小型的個人項目。
專業(yè)BUG監(jiān)控如果你想認(rèn)真對待應(yīng)用BUG,可以使用一個專業(yè)的BUG監(jiān)控服務(wù),比如國外的Raygun(或則我們Fundebug)。一個專業(yè)的BUG監(jiān)控服務(wù)可以幫你:
通過過濾和排序來定位嚴(yán)重錯誤
配置多種報警方式,比如郵件、Slack、或則HipChat
使用一個監(jiān)控服務(wù)來追蹤多語言多平臺
相似錯誤自動聚合
團(tuán)隊協(xié)作齊力解決BUG
如果你使用簡單的方案(直接郵件報警),那么你需要停下手頭的工作,花費兩三個小時去復(fù)現(xiàn)一個bug。這是非常浪費時間,非常低效的做法!如果一個團(tuán)隊注重快速迭代,那么他們會愿意為開發(fā)者節(jié)省花費的debug上的時間,去開發(fā)產(chǎn)品的新功能、新特性。
總結(jié)我們希望技術(shù)實現(xiàn)自動修復(fù)軟件BUG。不過,軟件自愈依然還有一段距離。你可以使用一些錯誤監(jiān)控服務(wù)來使得整個debug更加簡單和高效。
在你的用戶發(fā)現(xiàn)問題之前發(fā)現(xiàn),并且不要單純依賴用戶反饋問題!
版權(quán)聲明:
轉(zhuǎn)載時請注明作者Fundebug以及本文地址:
https://blog.fundebug.com/201...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/88410.html
摘要:另一方面,可穿戴設(shè)備的迅速火熱,離不開大數(shù)據(jù)與云計算的普及。本次活動將由果殼高通等親自講述可穿戴設(shè)備與云計算的那些事。 到目前為止,雖然三星、索尼、Pebble等廠商推出了智能手表;耐克、Fitbit等廠商占據(jù)了約90%的健身設(shè)備市場份額,但仍沒有一家廠商獨大。即便是三星推出了Galaxy Gear,并試圖將其作為智能手表先驅(qū)在市場中推廣,但由于產(chǎn)品自身的不足,依然難獲用戶認(rèn)可。sho...
摘要:本次活動中,我簡單介紹了一下開發(fā)中的測試。今天和清風(fēng)聊了聊北京的圈的線下活動。這也是清風(fēng)堅持做北京用戶組和支持活動。營造更好的環(huán)境對于一個社會人而言,更好的生態(tài)環(huán)境往往更為有利。更多更好的就業(yè)機(jī)會能夠直接的刺激生態(tài)環(huán)境向著更好的方向發(fā)展。 本次活動中,我簡單介紹了一下web開發(fā)中的測試。張教主介紹了一下Docker的相關(guān)知識,外國友人麥博特分享了他們的項目:http://wid.gy/...
摘要:運行得十分好,總是使用并且返回消息。這個問題的提出意味著通過實施你自己的函數(shù)來使用原套,從回應(yīng)到讀取。額外的緩沖是因為請求使用的是原始套接字的生成文件方法從中讀取數(shù)據(jù)。手動進(jìn)行所以如何從使用通過自己發(fā)出請求和處理響應(yīng)。 Kubernetes有一個之前系統(tǒng)用來做很多工作的REST-ish HTTP API。這個API是開放的,而且文檔十分齊全,很容易整合,可以從代碼方面管理集群。然而這個...
摘要:龔先生是一位在當(dāng)?shù)胤浅S忻麣獾膹N師,但他對自己用的鍋一直不太滿意,于是打算自己造一個龔先生想好了。 1.什么是面向?qū)ο?面向?qū)ο笫且环N思維方式[與語言無關(guān)],教你如何思考代碼Object Oriented Programmingorient 的英文意思 是 使朝向那么,面向?qū)ο蟛蝗缯f成是以對象為目標(biāo)的一種編程思維方式 2.面向?qū)ο蟮闹饕拍顪\析 好了,現(xiàn)在讓我們進(jìn)入正題 面向?qū)ο蟮碾y點...
摘要:如果使用的是完整的標(biāo)準(zhǔn)服務(wù)器這種,重啟的時候需要重啟很多服務(wù),會浪費大量時間。但是,天下沒有白吃的午餐,這么強(qiáng)大的東西,并不是免費的。注冊完成之后,就可以獲得免費的使用權(quán)。 在我們開發(fā)Java Web程序的時候,調(diào)試就是一個麻煩事情,每次更改類, 就需要重啟服務(wù)器。對于Tomcat這樣的小巧服務(wù)器來說,重啟就重啟吧,反正也就是幾秒鐘的事情。如果使用的是完整的Java EE標(biāo)準(zhǔn)服務(wù)器(G...
閱讀 1211·2023-04-26 02:20
閱讀 3337·2021-11-22 14:45
閱讀 4111·2021-11-17 09:33
閱讀 971·2021-09-06 15:00
閱讀 1479·2021-09-03 10:30
閱讀 3837·2021-07-26 22:01
閱讀 990·2019-08-30 15:54
閱讀 530·2019-08-30 15:43