1. 程式人生 > 實用技巧 >自動化測試踩坑記錄(企業中如何實施自動化測試)

自動化測試踩坑記錄(企業中如何實施自動化測試)

企業中如何實施自動化測試

在我們讀高中的時候, 是不是經常聽老師說:學好數理化,走遍天下都不怕。

作為軟體測試這個行業,在當下,你學好自動化,你去哪面試都不怕。

說是這麼說,但是你想提前下班,自動化測試解放勞動力、提高效率,讓程式指令碼在不需要看守的情況下“起飛”如果你的程式碼、指令碼掉到了坑裡,你覺得你還能提前下班嗎?

有可能,你甚至不如別人做功能測試的。別人一個功能都測試完好久了,你的自動化指令碼報了一堆錯,還不知道找這個錯誤的原因。自然你的自動化做不起來,自動化的價值體現不出來。

所以,我針對我們Python自動化測試中基礎容易遇到的一些坑,進行一些實戰的案例講解。

在講這一些坑之前,先給大家分享一下我對自動化測試概念的理解。

在做自動化測試之前,我們要思考一個問題。自動化不是說你會寫一點簡單的自動化指令碼,你就能來實施。你要有一個規劃,再去慢慢的推進落地。

我總結了幾點:

1.根據業務特點,選擇自動化測試方案。

⒉.根據業務側重點確認自動化覆蓋範圍和粒度。

3.根據自動化測試用例範圍,選擇實現框架和語言。

4.根據用例用途,選擇執行策略。

(1)你在一個公司,你的產品是什麼樣子的,根據你產品的業務特點,你去選擇確定一個自動化測試方案,這個很重要。比如說你們公司主要注重業務特點是資料庫或者後端的一些內容(有些產品注重前端的介面)

所以你要選擇一個方案,是先做UI自動化還是介面自動化。

自動化主要分為兩大塊:UI與介面

UI:Selenium

app:Appium / uiautomator2/airtest

介面:Http Postman Requests

websockets/dubbo

比如說你先做UI自動化,你確定了這個方案,然後你可以根據業務側重點確認自動化覆蓋範圍和粒度。

比如說你們公司做UI自動化,你不可能看著一個頁面就去寫自動化測試用例。從登入到註冊再到忘記密碼等等,你不需要所有的東西去覆蓋,你要根據你們公司的一個核心流程,哪些是必須要覆蓋的,哪些是有技術難點的,你可以放到第二期。

然後根據這個範圍和方案,你去選擇合適的測試框架和語言。

比如說你做UI自動化,建議你首選的框架 Selenium,那當然如果你是APP(安卓)推薦你使用 uiautomator2 這是Python的一個第三方庫,它環境依賴非常簡單,當然現在市面上最為主流的還是Appium,它的環境依賴複雜,它的唯一一個優勢可能就是支援IOS,它是跨平臺的。如果你是做遊戲的,推薦你用 airtest

如果對軟體測試、介面、自動化、效能測試、測試開發、面試經驗交流。感興趣可以313782132,群內會有不定期的發放免費的資料連結,這些資料都是從各個技術網站蒐集、整理出來的,如果你有好的學習資料可以私聊發我,我會註明出處之後分享給大家。

介面:Http Postman

現在大部分企業,用的都是Http介面協議。工具可以用Postman

如果你介面自動化,用Python的一個庫,Requests

Python為什麼這麼好用,它有非常豐富的第三方庫。就是拿來即用,裡面封裝了很多很好的API

當然還有websockets/dubbo,像這一型別協議的介面。

做測試離不開一個關鍵字,就是自動化,現在不管你在企業中或者你去面試,你和同行一聊到一個關鍵詞肯定是自動化。就算你現在去面試一個功能,不是做自動化,面試官也會問你自動化的內容。因為自動化這幾年是一個必備技能了,而不是你會一點點自動化就是一個加分項了。

前面幾年大家都知道用的比較多的是QTP、LoadRunner這樣一些工具。

畢竟由於歷史的原因,大家一開始接觸的都是功能層面的測試,所以你要確定適合的框架。

不管是哪個協議的介面,用Python全部都能搞定,Python是一個語言,去驅動以上任何一個框架都可以。當然也有其他的選擇,比如JAVA、JS等等。

當然最適合剛學習自動化的朋友來說,可能還是Python。而且Python可以做很多的東西,比如說你公司要做爬蟲,要做一些資料整理,Execl表格操作,這些東西你如果在公司工作範圍之外,你能幫助到這些東西,那麼這個都是你的加分項,你的價值就體現了。

回顧一下我的第一份工作,我當時第一個在公司貢獻的點就是說,我去用Python去寫了一個爬蟲指令碼,當時幫我們的售後部門收集了幾十萬條的資料。Python做爬蟲提供了非常方便的庫。

然後我們假設前面的內容都確定好了,可以根據自動化測試用例的一些用途,去選擇執行策略。

你可能去做上線前的驗證,上線之後迴歸,觸發性的驗證(當某些業務它只有在某個特定的條件下才觸發這個功能),持續整合。

觸發性的驗證:舉一個很簡單的例子,我今年身份證2020年到期了,那麼很多繫結的銀行卡,是不是銀行會提示你及時跟換。

常見的坑

找不到驅動:Message : ‘chromedriver’ executable needs to be in PATH

找不到元素:指令碼報“NoSuchElementException: Unable to find element”,或者"定位到了,不能操作,點選無效”

敬請期待!

然後這一次我沒有一次性給大家全部分享完,因為太多了。大家學習的時候呢,可能也比較的迷,學習資源一多的話呢,你也不知道從來哪裡開始學了,所以我決定一點一點的給大家來。就比如說這次我分享給大家這麼多,大家可以利用這麼多學習資源去做好好的消化玩轉吃透,嗯,對,就是這樣。如果你對我發出來的學習資源有什麼疑問或者是困惑。你都可以在評論區留言,或者來公眾號【傷心的辣條】私信我,我都會看到。我下一期會分享更多,所以大家記得關注!我們下期再見!