從開發轉測試:我從零開始,一干就是6年的自動化測試歷程

博為峰網校發表於2022-07-26

自動化初識

作為一個測試人,我們或多或少都聽過或用過自動化,我們都曾在初入測試行業時,滿懷期待的以為測試的盡頭是不用測試員點點了,專案一提測,小手點下自動化的開關,瞬間測試的工作就完成了。 加我VX:atstudy-js 回覆“測試”,進入 自動化測試學習交流群~~

這就是我一開始從開發轉向測試時最好奇的地方,帶著這個好奇心,我激情滿滿地加入了公司剛成立的自動化組,一探測試到底是如何擺脫手工勞動而完成測試的,一干就是6年。

接下來,把我們的自動化在公司的使用程式一一介紹給大家,希望它能對你有所啟發,有所幫助。

自動化啟動

我相信每一個搭建起自動化團隊的公司,無疑不是想透過自動化來提高工作效率、節省時間、節省人力。

但有一個致命的地方,很多初次起草做自動化的人,他可能根本不瞭解自動化的本質和特點,僅僅知道“做了自動化就可以像其他公司一樣提高效率”,這是我們做了3年自動化之後覺悟出來的道理。

這不是在批評、埋怨誰,我很感謝感激走過那3年,人生每一段路都沒有虛度,它讓我深刻認識到什麼樣的做法是可以的什麼樣是行不通的。

我在這裡說出來,只是想後來者可以不用花這麼長時間來明白,希望你們在做出決策之前對自動化有更全面的認識。

2016年,領導決定測試部要做自動化,當時我才從開發轉到測試沒多久,還在做功能測試(體驗功能測試階段),做了一段時間便感覺挺繁瑣的,加上自己平常也在查閱相關自動化領域的資料。

所以,當領導說要成立自動化組時,我特別興奮,決定要加入自動化組,心想終於有真正的機會來嘗試自動化這個新玩意了。

雖然我有一些蹩腳的開發功底,但畢竟沒有實戰過自動化,於是我們從外面招來了一個自動化方向的大牛。

技術大牛就是不一樣,僅用2周就搭建起了我們的自動化專案架構,並進行了相關封裝抽取。那個時候我真正知道了Selenium、Webdriver、TestNg、Jenkins整合起來的一套自動化系統的工作流程及用法。

寫到這裡,你大概已經知道,我們實現的是一套UI自動化方案。框架搭建完了,剩下的就開始收集用例、轉化指令碼了,也是在寫指令碼的過程中,我慢慢知道了所謂的自動化測試是如何實現自動的。

自動化初期,我們並沒有什麼經驗,我們只知道至少要把公共主流程性的用例給自動化了。

於是,便以我功能測試幾個月對業務的瞭解開始抽取了某一模組這種型別的用例,技術大牛和我分工把這些用例都給轉化出來了,這個過程,對於我來說學到了很多,知道了PO模式、資料驅動、元素定位以及裡面的一些坑等。

寫指令碼對於我來說上手很容易,很快我倆就完成了一期自動化用例,然後又把這些用例整合到Jenkins上,至此,自動化就算初步運作起來了。

探索自動化的意義

完成一期指令碼轉化以後,馬不停蹄地開始做二期的指令碼開發規劃。有很長一段時間,我覺得我們做自動化好像失去了做它的意義,我們完成了指令碼開發,為啥不用呢?怎麼才能把它用到工作中去呢?

當自己做的東西沒有在工作中發揮它的價值的時候,做的人就會逐漸喪失對這份工作的熱情,因為他沒有得到反饋,他不知道接下來奮鬥的目標在哪裡。當然,也依然會持續做著一些可有可無的工作。

次年,也就是2017年,領導開始跟我們一起想辦法,一開始的辦法是跟功能測試人員說,我們哪些模組一些什麼樣的用例已經實現自動化了,讓他們在測試的過程中,如果需要執行那種型別的用例的時候,就去Jenkins上執行。

試執行了一段時間證明,靠自由自願的方式就別想把工作幹好。

大部分人都不選擇用自動化,即使他的專案可以用。還有一部分有心用的同學,由於不懂開發相關技術,不會分析出錯時的問題,常常需要找自動化開發者去幫忙看,加之,前期UI自動化指令碼確實沒那麼穩定,執行錯誤的機率又更高了。

那不用自動化的原因就出來了:

1、不感興趣,覺得手工測測挺好的;

2、想用,奈何自己技術有欠缺,不會分析指令碼問題,加大使用難度;

3、想用,但指令碼穩定性太差,喪失對自動化的信任度。

相比其他同事,自認為算是一個自動化的狂熱者,不太相信自動化不能在工作中發揮作用。心想,一定是你們自己不會用才這樣。於是,我申請了做一段時間適合自動化應用模組的測試。

我是怎麼做的呢?以下,是一個正常專案測試中自動化應用流程圖,直到今天我也依然使用的這個思路。

按照這樣的流程,磕磕絆絆地應用了幾個專案。真實的效果是:

1、使用了自動化以後確實發現了一些問題,但分析定位出那是一個bug確實不是肉眼一下就能看出的;

2、效率上看,若考慮投入成本/產出,這談不上提高了我多少測試效率,但若是一份指令碼開發維護,多人使用,那又是不一樣的;

3、Jenkins上執行用例並沒有那麼方便,常常看得頭昏眼花。

也只有在我真正參與使用了我們的自動化以後才認識到,我們們這個自動化確實有很多不完美的地方,那我也總算清楚了,下一步也知道調整的方向在哪。

最後:

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

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

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

相關文章