移動互聯網發展至今,無論是技術還是流程都已經有了長足進步,其中軟件測試人員的工作內容、定位也發生了很大變化。《大話APP測試2.0:移動互聯網產品測試實錄》延續了上一版技術與思想并存的風格,但是內容全部更新,解讀了近兩年技術的飛速變化,將新測試技術與理念展現給讀者。本書核心亮點有幾個:關于移動應用專項測試的落地實踐和技術細節,經過實踐和解讀之后的Appium測試內容,集中介紹行業中常用的工具平臺,縱深剖析UI自動化……全書自始至終都貫徹了一個理念——高度,讓測試人員深刻理解自己在IT鏈條中所處的位置,并引以為豪。
《大話APP測試2.0:移動互聯網產品測試實錄》兩位作者都是多年戰斗在行業一線的工程師,也是App測試領域公認的專家。
《大話APP測試2.0:移動互聯網產品測試實錄》適合于擁有一定技術基礎和自學能力的測試人員和團隊,同時也能夠幫助讀者真正跳出“測試”,站在“質量”這個高度上來看待和分析問題。
本書雖然叫《大話APP測試2.0》,但絕非暢銷書《大話移動APP測試》的升級版,《大話APP測試2.0 : 移動互聯網產品測試實錄》是徹頭徹尾的一本APP測試全新書。經過了兩年多的沉淀,原作者聯合業內另外一位測試大牛一起為大家獻上這本含金量極高的測試技術書,希望能為測試領域做出一定貢獻。
距《大話移動APP測試》出版已經過去兩年了,我也收到了很多朋友的支持和吐槽,無論好壞你們都是我最大的動力,在這里要給所有人說聲謝謝。在這一年多的時間內實在發生了太多的事情,可以說轟轟烈烈,也許什么時候能夠將這些作為一個一個的故事說給大家聽,相信每個人都能夠看到很多,想到很多,體會到很多。在這一年多內,也有很多朋友知道了我,但卻不了解我,其實不了解我沒有關系,我這里引用諾蘭的《蝙蝠俠黑暗騎士三部曲》中我很喜歡的一句話來說明。“It's not who I am underneath but what I do that defines me.”
在這一年多的時間里,測試行業也發生了很大變化,越來越多的人開始接觸移動互聯網,越來越多的人發現也許測試已經不是當初想的那么容易的一份工作了,也有越來越多的人開始從事副業或轉行。當然,無論你屬于哪一種,生活和工作都要繼續,我們都要面對這一切的變化。我可以得出這樣一個結論:測試行業并沒有在進步,而是在進化,但僅僅是屬于符合中國國情的進化。這一年多相信大家感觸都很深,我在前言里幫大家總結下。
1)測試一定要會代碼。前幾年討論的問題終于不用再花費口舌去討論了,事實印證了測試要寫代碼這個事實。所以現在對在“知乎”上問我問題的人,我也終于可以很有底氣地說:“先學會代碼,再來學做測試。”
2)行業要求越來越高。當然,我不想聽到“我的圈子不是這樣的,我看到的不是這樣的”這種話,我不關心,因為我可以很有信心地說我接觸的圈子肯定比你們大,那么,我看到的肯定是所謂的大方向和趨勢,所以請各位讀者靜下心來看下去。進入這個行業的門檻依然沒有變高,但要往上爬以及進入一家不錯的公司中擁有不錯業務的部門,在這一年多里變得異常困難。(再三強調下,看到BAT就覺得是好公司的人不在我討論范圍內,哦對了,我在BAT里做著日活不過萬的項目,你覺得是不是不錯呢?)是的,在這樣一個飛速發展的行業,討論要會什么已經不再那么重要了,重要的是多久能夠學會一項新技術并落地,這才是我們關心的。
3)技術棧太多,眼花繚亂。很多測試人員看到移動APP的UI自動化框架就已經傻眼了,更不要談接口、單元、專項、安全、大數據等。測試所接觸到的技術棧、工具棧的擴展如火山爆發一樣一發不可收拾。很多測試會混亂,到底學什么呢?答案上面已給出。很多測試覺得這只不過是一種過渡階段,不久的將來肯定會出現一種穩定的兼容性很高的工具,比如以前的QTP和LR,首先我不說有多少人真正用過正版軟件了,從短期來講,將來測試行業肯定會越來越成熟,肯定會統一很多技術和工具。但長期來講,現在這種變化、這種痛以后會越來越頻繁,因為這是宇宙規律,這是發展和進步的需要。所以從長遠來看僅僅追求工具永遠都是遠遠落后于行業的,同時被替代性也是最高的。
4)從測試到質量的變化。這點在正文中會有詳細的說明。這幾年的大會,與大家交流的確發現如今很多測試已經開始跳出測試,真正開始關注質量。(當然,如果看到這本書的你覺得沒有進入狀態,請多多看TesterHome或者加我微信進行交流,你就明白了)當測試只關注測試時,大家的關注點在于以下幾點:
(1)測試是不是比開發輕松。
(2)測試能賺多少錢。
(3)測試到底用什么工具。
(4)測試到底用什么框架。
(5)測試都看什么書。
(6)其他公司里測試都怎么做的。
(7)UI自動化到底做得怎么樣。
……
放眼整個項目,如果只關注測試,關注點真的實在太窄,同時也會阻礙我們進入更高的高度。所以大家更多地開始關注質量,質量在項目中無處不在,可以說貫穿了整個項目,相比于測試,質量的關注點會很不同,比如:
(1)工程效率,項目流程。
(2)代碼規范,文檔傳承。
(3)應用架構,耦合性怎么樣。
(4)各種線上線下,實時或者T+1的監控機制。
(5)Hotfix機制。
(6)打包、持續集成、匯報bug等工具平臺。
……
其實這樣一來就能一目了然地明白測試其實在質量面前是一個很小很小的點。為什么要說那么多呢,因為幾乎每天都會有人來問我“××公司測試怎么做的?”“××公司持續集成怎么做的?”“××公司測試開發比多少?”“××公司用什么工具?”,其實我每次面臨這些問題都很尷尬。先不討論這些人員會不會問問題吧,就算知道了用什么工具,什么框架,測試開發比多少就能夠做出好測試了嗎?就能提升產品質量了嗎?明顯不可能。在一個企業中要提升產品質量絕對是一件大家共同努力的事情,而不是一個測試人員或者一個測試團隊就能夠搞定的,如果不明白這點,即使你操著賣白粉的心,結果你賣的還是白菜啊。再來說《大話APP測試2.0》這本書,這本書并非是第一本書的加強版或者擴展版,可以說是一本全新的書。我對第一本書的定義和感覺可能和所有人都不同。現在回過頭去看當初的自己,我覺得自己的確夠狂,夠年輕氣盛,竟然在當初那種一知半解的情況下就有勇氣出書。但我依然認同我當初的一個觀點——《大話APP測試2.0》這本書可能因為我當初才疏學淺導致技術層面的高度不高,但對于測試的理解,對于行業的認識,對于測試的態度這點上我是永遠不變的,所以我認為只有當整個國內的測試行業真正步入正軌,大家真正都愿意去好好學習測試,好好重視測試的時候,本書才會真正發揮它的價值,一種精神上的價值。我并不是什么圣人,但是我認為人活著就應該有價值,這種價值自我認可就可以了。人一生就那么多的時間,每個人都很公平,那為什么我們不用這些時間盡可能地去挑戰自己的極限呢?去發揮更大的光熱呢?去影響更多的人呢?否則多沒有意思啊。之前看過一部電影《絕命海拔》,這是由真實的故事改編而來,很推薦大家去看,無論生死如果都是為了去追求自己所愛、自己的極限,那么這一切就是值得的。我在第一本書中也說過,書這種形態的東西,尤其是技術書,讓你看到它的時候,其中內容肯定已經落后1~2年了,希望大家明白這個道理。寫書是一個非常累的活兒,是一件挑戰自己毅力的事情,需要去記錄很多的案例以及當時的感受。所以希望大家不要太過苛刻,抱著空杯心態來看書最好。行業中無一本技術書的寫作風格與我的相似,也沒有任何一本測試書比我所記載的更“落地”。這并不是驕傲,而是自信和自豪,我愿意100%地分享。通過這本書大家可以明顯感覺從《大話移動APP測試》出版至今這一年多的時間內我到底成長了多少,我到底進步了多少,我又到底改變了多少。毫不夸張地說,這本書將會讓整個行業上升一個層面。那些抱怨《大話移動APP測試1.0》對自己技術沒有幫助的讀者,我在這里也向你們致歉,這本書算是對你們的彌補。同時也希望不要抱有太大的期望,畢竟書這個東西落后很多,不過你們可以隨時微信和我交流。那讓我們一起進入一場有技術、有故事、有吐槽的測試之旅吧。
前 言(恒溫版)
亞馬遜雨林一只蝴蝶偶爾振動翅膀,也許兩周后就會引起美國得克薩斯州的一場龍卷風。2012年,Dan Cuellar編寫了Appium,他沒有想過2016年的今天,Appium已經成為移動測試領域的一方霸主。這是軟件測試技術的蝴蝶效應。
在2014年,我還在寫WebDriver自動化,而今天我在寫Appium自動化。在UI自動化這個領域,我跨了整整一個年代,成了傳統互聯網到移動互聯網的見證者,相信所有身在其中的人都深有體會。Appium作為WebDriver的繼承者和開拓者,目前看來是非常合格和稱職的。
我接觸Appium比較早,TesterHome上線不久,我們就引入了這個框架,進行布道并堅持到現在。可以自豪地說,目前來看,TesterHome是最專業的民間Appium論壇。當然民間還有很多高手,尤其是這兩年,各種解決方案、衍生框架百花齊放,TesterHome作為這些內容的載體,也受益匪淺。
我一直想寫一本有關Appium的書,其實也在TesterHome發起過眾寫項目,可惜因為各種原因未能成品。如今市場上已經有幾本關于Appium的書,質量……,所以這里不推薦任何書籍,學習Appium還是需要熟讀官方文檔和深讀源碼。
受Monkey邀請,我有幸在本書中寫一章Appium,我沒有想翻譯文檔,我只是把自己的理解寫出來,和大家分享,希望大家喜歡。