2008入搜狗,見證搜狗瀏覽器的誕生!說說我在搜狗做測試這些年…

博為峰網校發表於2022-10-09

歲月如梭,時光飛逝,一轉眼我已經在測試這一行業摸爬滾打7年了。作為一個工作7年的tester,我想說說成長,說說我在搜狗的成長,說說我在測試人生的成長。 加我VX:atstudy-js 回覆“測試”,進入 自動化測試學習交流群~~

講故事前先做一下自我介紹,我叫諸葛東明,31歲,搜狗瀏覽器測試組Leader。2006年開始北漂生活,2008年加入搜狗,見證了搜狗瀏覽器的誕生,然後陪著它一起走到今天。

7年之間,我已經數不清上線了多少個版本、執行了多少遍測試用例、提交了多少個BUG、奮戰了多少個通宵達旦,但是忘不了每次戰友離開時那淡淡的憂傷。

曾經多次有人問我,為什麼你還不跳槽?

因為一份堅持,從我的leader、從我的BOSS身上學到的那份堅持。也許它聽起來有點冠冕堂皇,但聽我慢慢道來。

故事之一:

時間大概是在2009年。在瀏覽器各項指標中,專案組上下一直極為重視瀏覽器的穩定性指標,也就是瀏覽器的崩潰率。為了改善這一崩潰率,只是透過常規的手工測試手段是保證不了的,這需要使用自動化技術。

起先,我們使用了BHO技術來完成瀏覽器核心的自動化測試,自動化指令碼可以使得瀏覽器自動地進行前進、後退、導航和重新整理等操作。但是這一技術的缺陷是無法進行瀏覽器核心以外功能的自動化操作,所以隨著新功能不斷地增多,BHO技術已經無法滿足。

之後,我們嘗試使用業界比較成熟的QTP進行自動化測試,透過控制元件識別+鍵盤快捷鍵等方式,核心之外的功能也逐步納入到穩定性測試之中。但是隨著瀏覽器2.0版本的釋出,核心變為Trident+Webkit雙核心,QTP無法有效識別Webkit核心的控制元件。

此外,更多的困難也隨著專案的行進不斷地暴露出來:

QTP 軟體體積龐大,隨著測試機由兩臺不斷擴充到幾十臺,每次部署到新環境非常耗時間。

QTP 自動化指令碼日積月累,已經龐大到幾十個組合動作,指令碼維護成本巨大。

QTP 所使用的 vbscript 指令碼無法支援多執行緒等功能,這使得自動化指令碼所能操作的物件比較有侷限性。

我個人的測試工作已經忙得沒日沒夜,同時還要維護自動化指令碼。

更為致命的一點,自動化指令碼的作用受到質疑。每次瀏覽器上線前,自動化測試沒有發現什麼問題,但是上線後仍然有大量的崩潰問題,這些崩潰問題在測試環境沒有被提前發現。

諸多的困難之下,我逐漸對自動化喪失信心,開始質疑這一方法的可行性。在我的學習經歷中,所接受到的知識是自動化技術是用於解決重複性的、有預期結果的測試用例迴歸,我們只能讓機器按照我們提前設定好的步驟去執行,然後對比實際結果是不是符合預期。而使用自動化技術進行隨機性的操作去發現未知的問題,這行不通。

因為這個問題,我和我的老大魯劍爭論了多次,我堅持認為證明自動化發現不了未知的問題,過去一年多的實踐就是最好證明。而魯劍始終堅信自動化可以發現影響瀏覽器的穩定性問題,未來可以作為評估瀏覽器的上線標準。

我放棄了,但是魯劍沒有放棄。

他後來做了兩件事:第一,讓測試開發林飛使用python重寫穩定性自動化指令碼,以此來克服QTP的諸多問題。第二,讓林飛每天檢視瀏覽器的崩潰棧,根據棧資訊分析可能的操作路徑,然後將這些操作路徑轉化為自動化指令碼。這項工作大概持續了一個月之久,林飛透過每天不斷地動作補充,建立了三百個龐大的瀏覽器動作組合指令碼。基於python物件導向的特性和更為高效的隨機演算法,穩定性指令碼在效率、問題發現能力和指令碼可維護性上都取得了進步。

透過這個指令碼,我們多次在測試階段就發現了潛在的崩潰問題,避免了問題的遺漏。這一透過隨機瀏覽自動化測試的方式,已經成為國內瀏覽器廠商必備的評估方法。

故事之二:

時間大概也是在2009年,距離搜狗瀏覽器第一個版本上線後的半年。有一天,公司突然發全員郵件,告知王小川已不再管理搜尋團隊,只負責桌面團隊的管理工作。這意味著什麼,小川管理的團隊攔腰砍半,原因可能是老張Charles和小川意見不合,不支援研發搜狗瀏覽器。

一般人遇到這種情況,自己努力工作卻不被上級老闆支援,也許就此放棄收拾收拾就走人了,但是在我眼裡的小川是這樣的:

他不但沒有消極應對,反倒在瀏覽器上加大了精力投入。他那時每天會花 2 小時對瀏覽器進行測試,經常會報一些路徑複雜的BUG給我們。作為測試你會懂那份壓力的,你的大BOSS掌管著一個上百人的公司,他不但每天要處理各個產品線的管理事務,而且每天都在測試你測試的產品,發現你發現不了的BUG!與小川共事多年的Better說,從未見過小川在瀏覽器上投入如此大的精力,他甚至已經不管那時的搜狗音樂盒專案了。

那時候我下班都很晚,基本上是晚上 11 點以後。工位上已經沒有多少人,只剩下瀏覽器的開發和測試。小川也沒走,他有時會走到我們的工位上轉轉聊聊,自郵件一事之後,我見他嘴角多了不少裂紋,那是著急上火的原因。

隱忍一年之後,搜狗瀏覽器 2.0 上線。上線當天還出現了一點小意外,小川在向Charles 演示瀏覽器的時候出現了 BUG,我們緊急趕到 Charles 的會議室來處理,我雖然難忘在大 BOSS 前處理 BUG 的窘境,但是更加難忘小川緊坐在 Charlse 旁,不斷地講解著瀏覽器的作用和價值,眼神中流露著那份渴求得到認可的期望。

最終瀏覽器被老闆認可,小川重新執掌搜尋部門,搜狗得到新生,分拆獨立之後,從200人的搜狐研發部門,一路擴充為今天 3000 人的搜狗公司。

逆境之下,堅持不懈,不忘初衷。這就是我在搜狗最大的收穫。

最後,我想分享一段摘文來結束今天所講的故事,希望對各位小夥伴們有所啟發。

“未來的某一天,他們會回顧這段共同度過的時光,對於那些痛苦的時刻,只是過眼雲煙,或者付之一笑,他們會把這段時光看做人生中奇妙的巔峰時刻。”

--摘錄自: [美]沃爾特·艾薩克森. “史蒂夫·賈伯斯傳

最後:

可以到我的個人V:atstudy-js,可以免費領取一份10G軟體測試工程師面試寶典文件資料。以及相對應的影片學習教程免費分享!其中包括了有基礎知識、Linux必備、Mysql資料庫、抓包工具、介面測試工具、測試進階-Python程式設計、Web自動化測試、APP自動化測試、介面自動化測試、測試高階持續整合、測試架構開發測試框架、效能測試等。

這些測試資料,對於做【軟體測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2917434/,如需轉載,請註明出處,否則將追究法律責任。

相關文章