軟體測試、自動化測試極容易產生的誤區

傷心的辣條發表於2020-10-08

目前,有些人對自動化測試的認識存在一定的誤區,因此有必要對自動化測試樹立正確的認識,以防止對其有過高的期望。

在這裡插入圖片描述
1、自動化的軟體測試與手工的軟體測試過程一樣

自動化測試所需要的技巧與手工測試所需要的技巧是不一樣的。通常,你的專案經理會被那些測試工具銷售們迷惑,認為自動化的軟體測試就是簡單地按一個錄製的按鈕,產生測試指令碼。而事實上並沒有那麼簡單。

區分自動化測試所需要的技巧與手工測試所需要的技巧是非常重要的。最重要的是,自動化測試工程師需要掌握軟體開發技巧,沒有接受任何培訓的手工測試人員,或者沒有程式設計背景的手工測試人員,在實施自動化測試時會碰到很多困難。

2、自動化測試一定會馬上大量減少測試人員數量

自動化測試不會馬上大量減少測試人員數量。因為開展自動化測試初期需要投入一定的人力進行自動化測試指令碼開發,並逐漸將自動化測試指令碼用於日常的測試中,逐步減少手工測試人員從事重複勞動的時間和人數。為了縮短自動化測試指令碼的開發時間,可以考慮將自動化測試指令碼的開發工作藉助外包的力量來早日實現大規模的自動化測試。

3、測試自動化就是錄製和回放

僅僅錄製得到的不是有效的自動化指令碼。很多專案經理仍然把測試自動化等同於使用錄製回放工具。而事實上,錄製得到的指令碼通常是不可重用的指令碼,指令碼中充滿了硬編碼的值,這些值應該被引數化,否則指令碼僅僅適用於一個測試情況,指令碼還應該加入條件判斷、迴圈等結構,以便增強測試指令碼的靈活性。

在這裡插入圖片描述
4、自動化測試找不到bug

自動化測試不直接找bug,而是通過解放有經驗的測試工程師的生產力,讓其從重複的迴歸測試中解放出來,從事新的測試方法和測試手段的研究。通過自動化測試解放出測試人員的時間和精力來間接地找到更多、更深層次的新bug,將產品質量再提高一個檔次。

5、自動化測試工具是“萬能”的?

很多人一聽到自動化測試,就認為自動化測試工具可以完成一切測試工作,從測試計劃到測試執行再到測試結果分析,都不需要任何人工干預。顯然,這是一種理想狀態,現實中還沒有哪個測試工具有這個能力,並且將來也不會有。在現實中有關的測試設計、測試案例,以及一些關鍵的測試任務還是需要人工參與的,即自動化測試是對手工測試的輔助和補充,它永遠也不可能完全取代手工測試。

在這裡插入圖片描述

6、自動化測試工具容易使用

對於這一點,很多測試工程師有同樣的錯誤觀點,認為測試工具可以簡單地通過捕獲(錄製)客戶端操作生成指令碼,且指令碼不加編輯就可用於回放使用。事實上,自動化測試不是那麼簡單的,捕獲的操作是否正確,以及指令碼編輯是否合理都會影響測試結果。因此,自動化測試需要更多的技能,也需要更多的培訓。

7、自動化能提供100%的測試覆蓋率

並非所有內容都可以被自動化地測試到。不可能覆蓋所有可能的輸入,所有可能的組合和路徑。

自動化測試可以增加測試的廣度和深度,但是仍然無法達到100%的測試覆蓋率,因為沒有足夠的時間或資源。

在這裡插入圖片描述
8、忘記了測試的最終目標:找到BUG

在自動化測試中,同樣要注意把邊界值分析、等價類分析、基於風險的測試方法、挑選最合適的測試用例等技術應用起來。

通常在自動化測試過程中,我們都忙著搭建自動化框架和編寫測試指令碼,但是我們往往忘記了測試的本來目的:找bug。

專案經理可能僱傭了最好的自動化開發人員來搭建框架,使用了最新最好的自動化開發技術,建立了成千上萬的自動化測試指令碼。但是如果BUG仍然被遺漏了,那些本該被自動化測試指令碼捕捉到的BUG,結果沒有被捕捉到,那麼你的自動化測試仍然會被認為是失敗的。

在這裡插入圖片描述
9、所有測試用例都可以自動化

不是所有的測試用例和測試步驟都可以轉化為自動化測試。在自動化測試投入較多的行業,領先企業的自動化測試率有的能達到80%左右,但仍有20%左右的測試用例需要手工來進行。在國外,通常從開發第一版測試用例時,就同步進行自動化測試指令碼的開發,所以自動化測試率普遍比中國企業高。

10、只有效能測試才需要自動化

自動化測試不光進行效能測試,更被大量應用於功能測試驗證,在國外超過半數的自動化測試指令碼都是用於功能驗證測試的。

在這裡插入圖片描述
11、測試工具可適用於所有的測試

每種自動化測試工具都有它的應用範圍和可用物件,所以不能認為一種自動化測試工具能夠滿足所有測試的需求。針對不同的測試目的和測試物件,應該選擇合適的測試工具來對它進行測試。在很多情況下,需要利用多種測試工具或者開發自動化測試框架才能達到自動化測試的目的。商業和開源的測試工具能夠用來進行自動化測試,但是我們需要根據自身產品的特點,開發自動化測試框架,在框架中提供常用的測試用例,加快測試速度,達到測試用例複用,這是今後測試自動化發展的道路。

12、自動化測試能發現大量新缺陷

發現更多的新缺陷應該是手工測試的主要目的,不能期望自動化測試去發現更多新缺陷。事實上,自動化測試主要用於發現原來的缺陷。自動化測試用於迴歸測試,而大量的新業務測試更多地還是依賴手工測試。

在這裡插入圖片描述
除了以上列舉的常見誤區外,還有其他不同的認識誤區。自動化測試認識誤區的產生,歸根到底最本質的原因是由於對自動化測試不現實的期望,也就是期望過高造成的。

如果沒有建立一個正確的軟體測試自動化的觀念,認為測試自動化可以完全代替手工測試,或者認為測試自動化可以發現大量新缺陷,或者不願在初期投入比較大的開支等,則自動化測試一定會讓我們大失所望。

相信通過這樣的解答,明白了什麼時候用手工測試,什麼時候用自動化測試,並且知道了自動化測試的侷限性,這樣就不會對做自動化測試的意義產生質疑了。

在這裡插入圖片描述
上面是我收集的一些視訊資源,在這個過程中幫到了我很多。如果你不想再體驗一次自學時找不到資料,沒人解答問題,堅持幾天便放棄的感受的話,可以加入我們扣扣群【313782132 】,裡面有各種軟體測試資源和技術討論。

在這裡插入圖片描述
當然還有面試,面試一般分為技術面和hr面,形式的話很少有群面,少部分企業可能會有一個交叉面,不過總的來說,技術面基本就是考察你的專業技術水平的,hr面的話主要是看這個人的綜合素質以及家庭情況符不符合公司要求,一般來講,技術的話只要通過了技術面hr面基本上是沒有問題(也有少數企業hr面會刷很多人)
我們主要來說技術面,技術面的話主要是考察專業技術知識和水平,上面也是我整理好的精選面試題。

趕快進來學習瞭解與交流吧,我是一包傷心的辣條。

相關文章