- 移動App性能評測與優化
- TMQ專項測試團隊
- 1833字
- 2019-01-03 21:40:59
序
廖叔突然來找我,說要出版一本書,這本書已經整理完成,想讓我給作序一下,一看書名《移動App性能評測與優化》,好家伙!真有毅力把他們這幾年的實踐竟然總結出書了。對我來說,這肯定是盛情難卻也樂意之極的事情!看著這書的內容時,讓我也很感慨,因為整本書的結晶都來自我們騰訊內部一個很“特殊”、很“奇怪”的測試崗位,我們叫“專項技術測試”。初看名稱可能不明就里,這個崗位成立于2010年初,當時還是PC/Web一統互聯網時代,初衷是能在測試開展中深鉆安全、性能、協議等領域的難題,為研發和質量團隊及時輸送炮彈。我們內部要求這個崗位要能深入底層,系統全面地理解和掌握操作系統、網絡、安全等底層的技術原理,要具備足夠扎實和豐富的開發背景及技能,同時還要能自主調研和開發各類測試工具以便更加高效地開展測試工作。進入移動互聯網時代后,我們看到當初的“先見之明”為今天內部的測試領域積累了一大批優秀的攻堅性人才,極大地豐富了測試能力和支撐范疇,成為了研發團隊極其親密和信任的戰友,甚至于研發團隊在版本發布前,沒有看到這個團隊的測試數據和報告輸出,內心會非常忐忑不安。
回顧這5、6年的發展歷程,特別是近幾年移動互聯網浪潮席卷之下,專項技術測試已經從當初PC/Web的三個定點測試領域擴展到圍繞iOS/Android下的流暢度/卡頓、耗電/CPU、強弱網絡、內存泄露(OOM)、穩定性(Crash),數據庫(SQLite)、I/O、兼容性等多個維度上,涉及的技術要求更深、知識面也要更廣,針對性的測試開展難度同時也更高。在這個不斷摸索和研究的過程中,專項測試的同仁也許是第一次有機會和研發一起針對更多未知領域組織學習和彼此探討,掌握產品技術架構,理解各種問題的根因,逼著自己不斷加深對操作系統、網絡等底層實現的理解和學習,逼著自己熟練使用各種調試工具分析定位原因。這個過程是痛苦且非常快樂的,而團隊也是得以在這樣的經歷中摸索總結出了各方面的測試經驗。我們眾多膾炙人口的產品,都是內部有嚴格的前后版本評測,以及和競品的評測,指標更優后才允許發布,這其中的成果應該當之無愧的有專項測試的功勞。
針對專項測試的組織開展,我們內部在談論一個專項戰略地圖建設,概要來說,專項測試的組織開展和未來方向目標,應該從四個層面來梳理和規劃:1)第一層(最底層),涉及移動操作系統iOS/Android、網絡協議、安全、數據庫,以及相關的開發技術。專項測試的同仁必須得在一個或多個領域具備豐富的理解和掌握,看到一個表象的問題,可以很容易聯想到底層實施上可能的困難或問題點,這才能為具體問題定位帶來價值和高效。2)第二層,涉及穩定性(Crash)、內存泄露(OOM)、流暢度/卡頓、耗電/CPU、強弱網絡、兼容性等多個領域的原理理解,清楚不同領域的起因/導因,知道技術實現時的接口調用各種潛在問題,并能借助調試定位工具輕松地排查和問題定位。3)第三層,涉及不同領域的工具開發或改造封裝,能針對專項維度的各類問題,設計出自動化工具,更加容易地發現和跟蹤到問題。把第二層的理解體系的封裝在這些開發出的各種工具里,讓工具可以靈活地替代人的眼睛和大腦自動測試和發現各類問題。4)第四層,進一步封裝,把各類測試工具能納入持續集成和自動化測試平臺中,實現時刻在自動執行、自動統計分析和問題定位的能力。從紛雜的可能沒有任何頭緒的問題表象中,借助這個分層的Map設計和執行,我相信專項的攻堅將變得非常有針對性和目的性,同時我們也更容易衡量自己當前的進展。
上面談論了很多專項的建設,這些不同維度的測試開展和性能提升,歸根結底還是要落地到實踐以及具體的經驗總結提煉。這本書我想應該是一本研發和測試都特別需要認真研讀的寶貴教材,我用了接近2天時間快速通讀了一遍,雖然對很多的技術原理和問題定位步驟都是比較熟悉了解的,對很多工具的介紹也看著很親切,但能結合各種問題/案例,抽絲剝繭,不僅清楚透徹地講出原理,告知跟因,同時還把不同類型的問題提煉出了實施執行的步驟,一步步清晰展示在我們面前,為這個思路和行動必須要唱一曲! 這本書從內存、電量、流暢度、網絡、安裝包瘦身以及相關領域的一些工具給予了仔細講解,思路清晰,有足夠的技術深度和實踐案例講解,是測試領域里難得的一本基于優秀實踐總結出來的好書!
作為騰訊內部同樣從事測試領域的一員,為我們給同行貢獻出來的本書鼓掌和致敬!提升自己最好的途徑就是積極學習,善于總結,讓自己少走彎路,我想同樣作為同仁的你們,應該來閱讀這本書,也要認真地來學習這本書!