自動化測試的10個注意事項,新手必看!

2021-10-24 11:14:13 字數 3599 閱讀 7826

當你成為一名自動化測試工程師並開始你的測試工作時,出現問題是很正常的。如果你還沒有深入研究selenium自動化的測試指令碼,就急於進行自動化**測試,也可能會出現這種情況。雖然從錯誤中學習是件好事,但通過向他人學習來預防肯定是更好的。

在處理自動化測試專案時,測試人員需要承擔巨大的責任。你的不恰當簽核可能會導致生產中斷,最終造成客戶和聲譽的損失。因此,作為一名自動化測試人員,你需要學習前輩的經驗,避免出現這種錯誤。卓碼測評總結了以下10個自動化測試人員需要重點關注的注意事項,可供參考。

1、定義好測試範圍

定義好要執行的測試範圍是非常必要的。當我還是乙個自動化測試新手時,我曾試圖測試所有的東西並使每個測試自動化。問題是,儘管你可以成功地自動化所有測試,但實際上既不實用也不可行。**中有很多部分不需要頻繁的測試,但我們卻可能需要投入大量的時間來開發乙個框架或指令碼來編寫這些**。

例如,在使用selenium測試**時,自動化**的每個元素在其上執行指令碼是無用的,只會浪費時間和金錢。其次,自動化所有的工作會增加自動化的佔比,這會讓你覺得你做了一件非常出色的工作,但其實並沒有,它可能看起來不錯,但不是必需的。定義和測試的範圍,並只考慮提供真正有價值的自動化測試的可行**。

2、明智的選擇你的自動化測試工具

作為一名自動化測試人員,另乙個需要格外注意的事情就是要選擇正確的自動化測試工具。乙個測試專案包含許多專注於不同測試目標的元件。這些目標應該被分成不同的工具,以幫助更有效地實現目標。例如,如果你想為你的**測試乙個api,那麼postman無疑是你最好的選擇,但是如果你想確保你的web應用程式在不同瀏覽器之間能夠完美呈現,那麼online selenium grid 就是你進行自動跨瀏覽器測試的最佳選擇。

對於這種情況,最簡單的方法是不直接跳到測試工具上,然後通過測試工具解決問題。而是要先找到問題,然後再去找合適的測試工具。

3、與其他測試人員協調好

乙個測試團隊中會有很多人,每個人都具備自己的優勢。例如,有人擅長業務測試,有人擅長功能測試。然而,這並不是你不與他們討論任務進展的理由。協調是加速產品交付的關鍵,確認誰在從事什麼工作,他們使用什麼工具,他們在進行測試自動化時使用哪種程式語言最順暢。

這都可以幫助你排除selenium自動化測試指令碼的故障,所以,如果出現問題,你會知道怎麼去解決,找誰幫忙解決。

同樣,了解你的團隊也能幫助你更好的與其他成員相處。正如在上一點中所討論的,乙個專案可能需要不同的工具來實現組合的目標,你最好讓你的測試人員使用他所熟悉的工具。

4、考慮無**自動化作為基礎

雖然無**的自動化測試工具有乙個統一的學習方法,並且很容易上手,但是它們不能幫助你構建自動化測試人員概要檔案所需的相關技能。作為乙個初學者,雖然它們對你的入門很有幫助,但是隨著你的測試自動化事業的發展,你會意識到它們並沒有你預期的那麼有幫助。

可靠性是這類工具的另乙個大問題。在一天結束時,你需要學習**以便除錯自動化測試套件執行出錯的地方。另外,如果你要處理乙個複雜的**,那麼你將不會發現無**的自動化測試工具像你希望的那樣靈活。所以建議不要逃避**,而是要熟練地掌握它。最重要的是,它會成為你簡歷上的一大亮點。所以作為乙個自動化測試人員,一定要注意這個問題。

5、避免假陽性和假陰性結果

當測試結果錯誤地表明測試通過,而實際上測試沒有通過時,就會出現假陽性結果。假陰性則相反。盲目地相信測試報告是測試人員中非常常見的錯誤,這也可以稱為測試元素的非驗證。例如,假設你正在用不同測試用例編寫的測試指令碼測試登入頁面,測試報告表明登入通過了,在這種情況下,你需要驗證登入是否成功。作為乙個自動化測試人員,不要因為警惕錯誤的出現而去犯這種錯誤。

6、關注**的可重用性

測試用例並不是它所應用的**所獨有的。在乙個專案中,會出現許多類似的元件,它們需要類似的測試設計和測試套件。例如,在使用selenium進行跨瀏覽器測試時,我們發現web頁面的四個元素都是輸入字段,並且需要類似的測試用例。在這裡,你可以通過只編寫第乙個元素的測試來複製貼上**,雖然這將給出預期的結果,但問題是將來開發人員可能會以某種方式更改元素。現在,要更改測試用例,你需要更改所編寫的每個測試套件中的**。所有的時間都將浪費在尋找和修改這些測試**上。

為了避免這種情況,你應該始終關注**的可重用性。你應該用適當的引數構造乙個函式,並在每個元素上呼叫這個函式,而不是一次又一次地貼上**。這樣,如果將來有任何變化,只需要修改函式就可以了。

7、100%的自動化是乙個神話

不要相信這個神話,因為作為乙個自動化測試人員,這是乙個嚴重的錯誤。作為測試自動化領域的新手,對於將自動化引入到專案中,你可能會感到很興奮,可能會錯誤地認為自動化測試可以完全取代手工測試過程。隨著時間的推移,你會明白這是不可能的。完全(100%)用自動化測試代替手工測試是乙個神話,這是不現實的。作為這個領域的初學者,不要試圖達到這樣的目標,只在必要的時候自動化,只自動化那些需要自動化的事情才是合理的。

8、遵循自上而下的方法

在測試時,你會遇到不同型別的問題。你會被要求設定目標並對這些問題進行分類,有一種全新的方法是從較小的模組而不是較大的模組開始自動化測試。

作為自動化測試人員,最大的錯誤就是用更大更複雜的模組開始自動化。意味你可能缺乏對每個使用者互動中涉及的入站和出站流程的認識,你甚至可能缺乏處理棘手的測試用例的熟練程度,可能會浪費大量時間而沒有任何成果。因此,從小處著手,從乙個基礎的方法開始,慢慢增加你的自動化測試覆蓋率,才是切實可行的方法。

9、包括探索性測試

在你的每週例行工作中沒有包含探索性測試是自動化測試人員的常見錯誤之一。探索性測試是乙個偉大的冒險,它有助於發現新的測試用例。當我們進入自動化階段時,探索性測試是非常重要的。只使用測試指令碼可能會忽略自動化測試中一些意料之外的重要測試用例。作為乙個初學者,我們只想依賴指令碼和預先編寫的測試,這是應該避免的。

花點時間做探索性測試。你可能永遠都不知道在做探索性測試時會發現什麼bug !

10、編寫不受ui影響的測試指令碼

早期的版本跟現在相比,軟體的使用者介面發生了很大的變化,自動化測試可以幫助我們重複執行測試。在早期階段,作為自動化測試人員,可能會忽略這些型別的錯誤。使用者介面的變化迫使我們更改測試指令碼,有時候乙個元素在將來的構建中會改變它的位置,而指令碼會利用這個位置進行進一步的測試。由於測試所依賴的位置更改,所以整個測試會執行失敗。例如,在自動化瀏覽器測試時,如果某個影象的位置發生變化,selenium自動化測試指令碼將無法找到該位置,這將導致整個測試無法通過。這類依賴於使用者介面的測試指令碼應該盡可能少地編寫。

總結自動化測試是乙個蓬勃發展的行業,從小型junit測試到大型的selenium指令碼,每個人都在走向自動化。你可能會遇到新增了小補丁的相同**,並且必須再次執行相同的測試。隨著自動化的發展,重複任務的誤差率會降低到零,但這一階段只有經過一定的實踐和積累才能實現。

當你第一次嘗試自動化時,出現問題很正常,但也是可以避免的,畢竟出現問題就意味著損失,增加成本。所以,作為一名自動化測試新手,希望你能牢記這些注意事項,成為一名優秀的自動化測試工程師。

ps:卓碼軟體測評是一家[ 具備cma、cnas雙重資質 ]的專業做軟體測試的第三方軟體測試服務機構, 可根據您的需求提供各類軟體測試服務,並出具合格有效的軟體測試報告。有測試需求可找卓碼軟體測評

自動化測試注意事項

當乙個專案確定要引入自動化測試技術前,需要綜合考慮系統是否適合引入自動化測試技術,這裡講的自動化測試技術,沒有包括效能測試這一塊,單指功能測試這一塊,其實效能測試也是在專案開始前,就要考慮的 考慮的方面,如,專案週期時間是否夠,維護週期是否很長,是否頻繁回歸測試,重複任務是否多,專案需求變動是否頻繁...

自動化設計 注意事項

由於自動化測試作用主要體現在回歸測試,所以前期的測試主要都是依賴於手工測試,所以對於測試用例的生成目前還無法完成自動化的生成和控制.測試指令碼主要依賴於測試用例的設計,如果專案需求在前期比較穩定,那麼自動化的效率相對來說也會比較高,但也是由於這種聯動關係恰恰就嚴重影響了自動化測試指令碼的維護成本,似...

Unity自動化打包注意事項

使用unity手冊上介紹的程式啟動引數,在不開啟unity editor介面的情況下自動執行c 可以實現自動打包。如果是專門打包ios包的話,一切ok。但是一旦在android與ios之間切換,就會發現ios的postprocessbuild標記的後處理 沒有執行,造成打包流程出錯。出現該問題的原因...