沧海一声笑,移动应用的CRASH原因我找到! --记最新款数字化測试“星云測试“的使用攻略...
滄海一聲笑,移動應用的CRASH原因我找到!
--記最新款數字化測試“星云測試“的使用攻略
?
世界進步那么快,非常多新奇的點子層出不窮,于是我們創業。我們做最酷的手機應用,做最轟炸的應用推廣。不加國際友人,僅咱泱泱大中華14億人口,智能手機用戶眼下就已經超過5億人。并還在繼續瘋長中!據說到2015年1月,僅我們中國的主要應用商店APP應用累計超過400萬個。
感覺像我們一樣優秀的IT天才們的春天已經到來!就憑咱的腦子和實力。從各種大眾臉的App應用中脫穎而出那是必定的!我們肯定是笑到最后的那個團隊!
?
可是。近期我們澎湃的理想幾乎就被現實擊碎:我們耗盡心血開發的應用、精妙的設計思路。竟然被閃退、崩潰等看似低級的錯誤卡住了喉嚨。看著銀行卡中越耗越少的資金,我們心如刀割。
?
雖然我們有思想準備:Crash非常正常,62%的應用都有這種毛病,Bala。Bala……但我們也知道,假設Crash發生在首次啟動,21%的用戶會馬上卸載;Crash在使用過程中發生。70%的用戶會給應用差評。然后卸載。難道我們偉大的理想和情懷就真的要止步于殘忍的現實了嗎?我們就活該舉手投降了嗎?No,No。No,超級無敵研發攻城獅NEO的光榮稱號不同意我這么做!我要做的是:徹查BUG到底藏身何處,然后拉出來千刀萬剮,然后把它槍斃,然后和團隊一起昂首進入APP熱門下載排行榜!但是,世界有沒有一款稱心如意的軟件測試工具。能快點幫助我們直接復現崩潰時刻的運行邏輯路徑的具體信息?我們沒日沒夜的在國內外的測試工具庫中找尋。跟同行打聽。
在前天風大雨大極其神奇的夜晚,我假裝鎮靜卻又心急如焚的和伙伴們討論業務方案的時候,有如神助般的點到了一個站點:星云測試。那個站點貌似剛上線不久,好幾個模塊都在敬請期待。網址也有點怪:www.teststars.cc,Slogan巨大而醒目:“星云測試 開創數字化測試新旅程”。啥米?什么是“數字化測試”?!“實現代碼和測試用例的雙向追溯“。“數字化、可視化測試過程”。看起來非常牛叉的樣子!我。做為一位更牛叉的、超級的、無所不能的IT高手,須要了解和批準一下。IT界的最新信息。我不先知道。太反常了!
只是,還好他們好像還不算最正式的上線,平復了我傲嬌的小火苗。
?
眼光一瞥。看到免費下載個人高級版,哈哈,甚合朕意。能夠免費下載!
它邊上有幾行呆萌的小字說明(勸君拿放大鏡來看):“實現軟件測試過程與結果的全數字記錄與分析,高速的崩潰捕捉和代碼運行路徑分析“。朕心頭萬馬奔騰!
馬上點開,下載頁面資料還挺全:使用說明、部署說明、視頻啥的,還挺全的。
火速注冊,立刻開用!急我所急,天助我也!
?
感謝我的上帝之手!真的是不用則已,一用驚破天!這個免費的東東功能實在太強大了。它不僅在系統層面進行一些缺陷現場數據的搜集,還竟然能深入到代碼內部,非常直接的直接定位問題!。一下子就把我們的致命傷-Crash點的最后50個邏輯塊,條件、分支等就給我找出來了。太讓我震驚了!令人嘆為觀止的是:它竟然還真的支持測試用例到代碼執行邏輯的追溯,就是說。它把一個測試用例的整個執行期間的相應的代碼邏輯情況都回放出來了。簡直是一個超能全景Debug神器!另外。兄弟們,重點是:它比Debug更強大:Debug須要單步執行,通常只顯示當前狀態而不能非常好地記錄歷史執行數據。星測上的這個神器是完整的Debug調試鏈的完整展示!
神啊!太強了。!朕有天助啊,吉人自有天象啊!!我們的項目可算找著慈悲的上帝打開的還有一扇窗了!為了表達我的激動之情,也為了由衷的感謝這個神器。我。一個超級的、絕頂聰明的研發攻城獅必須做一個攻略。給大家分享一下,以示感謝與敬意!好貼不沉底啊!
(TIPS:因為俺們偉大的應用臨時不便公開,我索性就用一個開源程序來給大家做一個簡要的舉栗子,它來自于網絡上開心網移動端的一個版本號的代碼)
?
我在其代碼內部人為植入了一個缺陷。例如以下:
改動內容:
src/com/kaixin/android/activity/CheckInActivity.java
改動前:
改動后:
?
大家都知道,對源代碼的改動相當于引入了一個越界訪問的缺陷。以下我們看看這個神一樣的數字化測試工具,是怎樣在如果不知道這個缺陷的位置和原因的情況下,直接捕獲和分析BUG的。
?
第一步:通過工具編譯植入缺陷的程序,安裝進入手機。打開示波器。監控執行。
第二步:進入Home界面后。點擊左下角的紅色羽毛按鍵,彈出一個弧形菜單,點擊最上側位置button,程序崩潰。
然后停止TT示波器的搜集,回到TT的用例-代碼快照視圖。
第三步:查看最后錯誤的50塊,點擊最后一塊運行:
分析:return語句通常不會導致程序崩潰,由于其本身并沒有不論什么因此異常的計算(此語句事實上也未實際執行,問了下星云1號技術支持,給出的解釋是由于前面程序出了異常,TT眼下的一些記錄執行軌跡的信息和機制會覺得return最后執行了。未來的版本號會針對該問題進行修復)。
并且顯示點擊倒數第二塊為:
此為隱藏塊,不會導致程序崩潰。
點擊倒數第三塊:
此為隱藏塊。不會導致程序錯誤。
點擊倒數第四塊:
此時可能存在問題,由于正常情況塊664必定會運行。點擊倒數第五塊:
所以出錯可能這一句:
result= mKXApplication.mMyLocationResults.get(position);
分析:大家細致觀察這句代碼。我們能夠發現。在這個頁面position相應的mKXApplication.mMyLocationResults界面的position-1位置,找到錯誤。
然后我們在看下最后50個條件信息,最后一個條件能夠清晰的看到,出錯位置的推斷語句執行的結果為true,說明在缺陷發生的最后一刻進入了這個條件,而條件里面的代碼正是我們在崩潰塊分析結果里面的:
result =mKXApplication.mMyLocationResults.get(position);
結論:說明星測上的神器給我們的整個分析是準確無誤的。
?
別的也不多說,反正經過我的實際使用。神器還有很多其它令人吃驚的表現。我還在慢慢學習,大家自己也能夠用起來,咱們一起慢慢體會。
那個星云測試站點上有非常多使用指南。你們能夠下載去看看。好東西。總是須要大家去頂,我們頂了,人多了。他們團隊才更有信心和能力去做很多其它的事兒。咱獅子們可不希望這樣優秀的團隊由于沒錢散了,工具也沒辦法升級和維護了,雖然神器已經非常強大了。
兄弟們。將心比心。能夠想像這么復雜、強大的神器研發起來是多么的不easy!
跟他們的“星云1號客服“聊,他們已經堅持三年了。真是讓人肅然起敬!兄弟們。咱們一定要支持!!。由于,就連國外的一流軟件測試工具在他們面前也弱爆了!
!
?
我太激動了,我得平靜一下我激動的小心臟。
他們的站點:www.teststars.cc。依據我的經驗,流量上去了,注冊量上去了。使用量上去了,他們的機會就來了。咱們也就能一直享受這偉大的、免費的禮物了。再次向他們天才的研發團隊致以最崇高的敬禮!
?
PS:等咱有了錢,得用他們的企業版試試。看起來,那更令人心馳神往啊。
?
攻略撰寫人:一位天才的、壁咚的超級研發攻城獅:NEO
轉載于:https://www.cnblogs.com/mfrbuaa/p/5272838.html
總結
以上是生活随笔為你收集整理的沧海一声笑,移动应用的CRASH原因我找到! --记最新款数字化測试“星云測试“的使用攻略...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML和URL比较
- 下一篇: elk示例-精简版2