寫在前面
大家好,我是測試君。(六哥也行)
時間過得好快,不知不覺已經在這個行業摸爬滾打八年多了,也算是測試圈的一枚老兵了。
回想自己在自動化求知路上的種種,依然歷歷在目,看着自己一步步的走來,真的是很不容易...
如果沒看過《剛做測試工作一年的時候,我是怎樣的?》,可能在故事的銜接上有些困難,感興趣可以看第一篇,會看哭的哦。沒錯這是個真實的故事:
結緣自動化測試
入職新公司後,和我一起入職的新同事(簡稱DJ),一起到樓下一個運營中的項目進行「業務熟悉、學習及考覈」。
在樓下一個月業務學習的過程中,每天真的沒那麼多活,一天最多一個bug,讓你驗證下,也沒寫過測試用例。一個bug,快的話幾分鐘驗證完了,業務和基線文檔也看了很多遍,已經是很熟悉了。
閒不住的我,就自己找點東西學學和研究。後來被測試組長偶然發現,後來和我說,接觸過自動化測試嗎?給你發個文檔,回頭有時間研究下。
對我而言,從未接觸過自動化測試,但是直覺告訴我,這個東西應該很“炸”,感覺就是高大上,有搞頭。
週末休息,花了一天時間,研究了下文檔內容,就以公司項目爲例寫了一個登錄的Demo。週一給測試組長看了下,並得到測試組長的肯定,說我上手很快呢。
沒想到還不錯,自己不是太笨。
勸退邊緣
可是好景不長,一切看似很美好,但挑戰也隨之而至。面試我的副總說我們在樓下的業務學習已經結束,要回到自己的部門了,先讓我和DJ寫一個我們部門項目測試用例,一人一個模塊。
當然,我是不知道測試用例該怎麼寫及正確的標準。結果,用例交上去後,可想而知了。
副總找我談話,說我寫的測試用例不合格,並說再給我一次機會,如果寫的還是不行,給我七天找工作的時間,其實就是要被勸退了。
我深深的知道問題的嚴重性,這是我最後一次機會了,一股強烈的生存慾望,在心裏燃起來。心想一定要留下來,必須要。
真的留了下來
我先基於自己的理解,按照原型圖,設計編寫用例。整理後把原型圖和用例打包,發給老宋「和我同一個培訓機構早一期的學員」。她又幫我過了一遍並在用例裏加批註和標識,並指出有哪些不足。
按照她的指導建議,我又把用例優化整合,再次求助、發給我樓下實習時的測試組長姐姐,查看是否有遺漏。
在她的幫助下,我再次將用例整合修改,發給副總後,一次就通過了。
在這次的設計編寫、測試用例過程中,我收穫了設計、編寫測試用例的標準及思路,真的很感謝這兩個朋友,在我最危難的時候幫我度過難關…
人員緊張
考覈通過後,回到了自己組幹活。我和DJ,共同組成了部門的測試組。也就是一共倆人。由於公司業務很忙,根本忙不過來,996基本是常態了。
領導從樓下借了一個測試同學上來一起幹活,是一個帥氣的大男孩,長的很乾淨,技術和業務都很棒。
重點是開發同事總誇他細心、定位問題快,尤其在測試用例編寫和業務測試方面,我很是羨慕。
用例編寫強化
有時崇拜,也許將會是你進步的巨大助力。
成長一般都是從“copy”開始。
一旦在不太忙的情況下,就去禪道看他寫的用例和提的bug,並在認真記錄遺漏的點,業務不懂得地方就整理好去找產品經理反覆確認。
很快,我的用例部分和業務短板就得到了改善。
再次得到認可
當然這不是重點,當時的我,就是很乖巧的幹活,一有時間就學習。
一次公司意外斷網,沒記錯的話大約有三個小時左右,其他同事基本都在玩手機。
我自己習慣性的打開IDE,編寫、調試着腳本。我愉快的在代碼的世界裏遨遊,並不知道副總在我身後站了有一會。
突然副總說,以後拿我們的系統來寫,迴歸測試也用得上,一會讓XX給你找下之前某XX寫的自動化框架代碼來熟悉下,以後用這個來寫。
我這時才注意到副總在身後也許有一會,再次得到認可,真的是無比開心。
跨語言的學習之路比想象中更難
拿到代碼後,自己還是猶豫了下的。
爲什麼?
剛開始接觸自動化測試那會,給我的PDF文檔是基於JAVA語言的。雖然,自己可以寫個登錄的Demo,但並沒有那麼順利。
越看到後面,發現自己存在很嚴重的代碼知識斷層,也就是說後面代碼完全看不懂了。
我也是第一次,遇到代碼不會,被無視的情況。
當時我在樓下學習業務期間,我旁邊坐的是據說是當時公司裏比較厲害的,性能測試大神。
我看到他辦公桌上,放着一本名叫《鋒利的jquery》這本書。就斗膽向他請教了一個關於for each遍歷的問題,對方看了我一眼,然後就嗯了一聲,沒在說話了。
我覺得好像被無視了,當然也可能對方沒聽清楚。
我在懷疑,咋就那麼難,內心也在搖擺,是不是要繼續堅持下去。
自學之路開啓
逃避心理驅使下,偶然在一個技術羣中,聽說基於Python的自動化測試,特別好上手,我便開始了新的嘗試。
我在羣共享裏找到了蟲師的寫的基於Python的自動化測試第二版(上手超級簡單)來學習,當時的感覺,猶如拿到。武功祕籍的感覺,特別開心。
一個多月我就把這個文檔學的差不多了,其實也就是自動化的API比較熟悉,至於可維護性、穩定性、健壯性還是欠考慮的。
副總給我前同事框架是基於JAVA的語言。拿到後,是完全看不懂的。再有一個更嚴重的問題就是,代碼報錯,我沒人問,也不知道問誰,開發都是JAVA,根本無從下手。
後來一咬牙,心裏想了想,這個框架也許可以學到更多東西,便開啓了Java學習之路。
再次被警告勸退
樓上的問題很嚴重,日益暴露,沒有測試組長。所以測試的工作及流程呈現出相對被動的狀態。
副總讓我們部門的一個大姐來負責測試組的管理,大姐並不懂測試,經常會因爲功能未開發完(預留功能)給開發提bug,和開發相處很不愉快。
測試組陷入一個“怪圈”,給人亂提bug的現象。
996節奏的常態,可能會使得每個人變得煩躁。
每次測試組例會,氛圍凝重,都只有大姐在說話。除非必要,我們三個基本一句話沒有,每次開會都和追悼大會一樣沉寂,尷尬無比。
也許我和這個大姐天生氣場不和,無論我做什麼大姐都要給些指導性的“建議”,重點是對我沒用,而且工作效率並未得到提升,而且有時時間成本會更多,後來我就不聽了。
一次偶然,大姐用了同樣的句式(勸退)說,說我工作態度不好,再給我一週時間觀察,不行就找人事勸退我之類的話。
我當時立即就服軟,慫了,連忙藉口說和女朋友吵架(我哪裏TM有女朋友,每天連個說話的人都沒有,吵個毛線),並表態說好好調整。
理論上說,我服軟了,應該會好些了吧。但是我發現了,你越是軟弱,人家越欺負你,也就是老人說的話,欺負人,總拿軟柿子捏。
成功轉型專職自動化測試
有一次分配完測試任務,我有一處沒太清楚,我就多問了一句。大姐說我說話層次不清晰,不知道怎麼問問題,要學會提問的流程和方式。這明顯是找茬嘛!
我沒有說話,回到工位上,我整理了下情緒。真的就畫了一個提問問題的流程圖。然後,先給DJ看了下,詢問是否有問題。
大姐見勢,馬上把我叫出去談話了,問我什麼意思,說我給他上眼藥呢,說了又要勸退我之類的話,我沒說什麼,只是隨聲附和。
第二天上午,我去找了副總,詢問是否可以轉部門,並表示出和這個大姐相處不愉快的事,但並沒有說她要勸退我的事。
我意外的是副總,問的都是自動化測試的事一些情況和進度。我說可以熟練使用了,副總聽完,就說以後你的工作和我對接,只做自動化測試,不做功能測試了。
聽完後,我愣了幾秒,並連忙表示感謝,這對我而言無疑更是一種認可。
成長蛻變
借用王耳朵先生的一段話:
給自己設定一個強烈要實現的目標,立刻行動起來,鑽研學習;
找到一個利於自己發展和精進的環境,保持自律;
重視量的積累,階段性地記錄、審視自己的成長;
刻意練習、耐心覆盤;
修正錯誤,長久堅持;
雖以渺小啓程,願以偉大結尾。
往更好的自己奔跑,去迎接一個牛逼哄哄的人生。
作爲一名畢業於一所普通大專院校的大學生,學的不是計算機專業,靠着自學編程,變成了現在半個“程序員”。
非科班出生的我,當時在公司只是個菜鳥。
北京很大,比我優秀的人比比皆是,我只能說普通的不能再普通了。
生活、工作的機械性會很快磨滅了內心的鬥志和野心。如果不嘗試改變,走出舒適區,那和求穩定,坐等領工資,混喫等死沒什麼區別,顯然,不適合我。
內心是如此的渴望,自己變強,爲什麼我這麼弱,爲什麼?
內心深處一個聲音,很清晰的告訴我,一定要成爲公司獨當一面的自動化測試工程師,果斷開幹。
《一萬小時天才理論》這本書裏,作者丹尼爾·科伊爾走訪了世界上最成功的足球運動員、小提琴手、戰鬥機飛行員、藝術家、作家……最後挖掘出一項真理:
多數結果都在於刻意練習。
從環境搭建、java面向對象、maven、Javaweb等等技術開始學起開始,一個知識點一個知識點的攻克。
每天除了完成日常工作之外,就是地鐵上各種看java視頻,閱讀源碼,擼官方文檔。
晚上回家接着擼代碼,每天學到凌晨兩三點是常態。
當然,期間也加入了很多QQ技術羣,和很多小白一樣,問一些很low的問題。而且,每次我都是問題最多的那個 。
從QQ羣問問題到硬磕框架,讓我的自學能力得到了很大的提升,同時也養成了很多自律的好習慣,不知不覺形成了自己的一套自學體系。
這世上最美好的事情,就是所有的一切都在你的努力之下變成了你想要的樣子。
很快框架對我而言,不再神祕。而是特別親切、熟悉。突然感覺上來就能自己寫了,再到後面一點點進行重構,後來這個框架成了我自己的風格。慢慢的也從一個菜鳥成長爲公司的獨當一面的自動化測試人員。
爲什麼寫這本書
我沒有什麼名氣,也沒有在大廠工作的經驗,是個測試草根出身,一路摸爬滾打,我更懂得作爲新人想過渡到自動化測試人員的心理。
在自動化測試求知的路上,我也曾無數次彷徨和迷茫:
想學習自動化測試,而不知道該怎麼學?
想轉型自動化測試及技術提升,卻不知道該怎麼做?
自學自動化測試過程中遇到問題,卻無處可問,始終停滯不前?
想找個大佬(老師)帶,但大佬卻很忙,遲遲未出現?
請教同事礙於面子或同事有所保留,導致學習被動?
想系統地瞭解和學習自動化測試,卻無從下手?
想系統瞭解Web自動化測試在企業中如何落地使用,卻不清楚自動化測試流程?
沒有傘的孩子,必須努力奔跑!
作爲一個自學黨,我深深的體會到沒人帶,沒人問的感覺,所以我決定寫下這本書。想把自己所學,實際工作中使用的技術、自學方法、心得及踩過的一些坑,寫到書中。
更希望想自學的你一樣,通過這本書可以少走一些彎路,並通過閱讀本書可以形成一條自己的體系,並應用到實際中。當然,也真心的希望你們升職加薪,或許這纔是最實際的吧。
如果你也有類似的困惑,那麼本書將會是你的良師益友,或許可以給你帶來一些實際性的幫助與突破。
本書適用對象
本書適用人羣廣泛,對自動化測試技術感興趣或正在做自動化測試的同學,如手工測試、自動化測試、測試管理人員等等,都可以閱讀。
本書採用大量實戰案例,由淺入深,且圖文並茂,通俗易懂,書中對很多代碼案例加了註釋,方便讀者理解,本書不但適合自動化測試的初學者,而且也適合中、高級測試工程師及準備帶領團隊轉型自動化測試的管理者,可以說是自動化測試學習過程中的必備參考書。
本書主要內容
全書圍繞Selenium3.0展開,循序漸進地介紹了自動化測試理論及涉及主流技術,通過大量實戰案例與實踐,使讀者能夠得到技術能力的提升及知識體系的完善。
本書能學到什麼
爲了幫助讀者更好地把自動化測試在企業中落地實現,本書不僅介紹了自動化測試理論和自動化測試流程,還介紹了Maven與GIt的實際應用、單元測試框架TestNg、主流設計模式Page Object與Page Factory的應用、自動化測試框架的開發與搭建、CI 持續集成、測試報告ExtentReports的使用、行爲驅動框架的Cucumber的使用及分佈式並行測試Selenium Grid的使用。
本書特色
- 快速掌握主流自動化測試技術。
- 揭開企業中自動化測試的神祕面紗,使得自動化測試在企業中真正的落地應用起來。
- 提高綜合技術能力、增強實戰性,完善知識體系,完成從入門到獨當一面的完美蛻變。
如何購買
目前新書已在噹噹、京東、拼多多、淘寶、天貓商城上線,讀者可以通過網上商城訂購,也可以通過下方鏈接進行訂購。
京東半價、淘寶半價
溫馨提示: 讀者訂購後,可通過下方二維碼聯繫作者,由作者邀請加入到本書讀者羣。
購書後如有疑問,請及時加入讀者羣,記得給五星好評哦,麻煩大家幫忙點一下【好看】或轉發朋友圈,更多驚喜請關注我們。
點擊左下角【閱讀原文】可直達購書頁面。