天天看點

Selenium自動化最佳實踐技巧(中)确定自動化的内容自動化用例選擇選擇Selenium測試工具消除Selenium測試自動化不确定性招聘專業團隊確定集體硒測試自動化所有權自動化測試期間的努力複查Selenium測試自動化的有效性選擇适合的自動化工具

書接上文:- Selenium自動化最佳實踐技巧(上)

确定自動化的内容

自動化測試的最佳實踐之一是明确知道要自動化的内容。在開始實施自動化浏覽器測試之前,重要的是要知道首先要自動化什麼内容。自動化背後的主要原因是避免重複和搬磚的任務。是以,堅持明确自動化測試内容是非常有意義的。

例如,自動化涉及視覺場景(包括字型,顔色和布局結構)的測試并不是一個好主意。自動測試可以檢查靜态内容,例如标題、文案和狀态等。當然,前提是我們知道它們很少更改,可以輕松地使它們自動化。

自動化用例選擇

在前一點要點的基礎上,有一些特定的測試用例與自動化非常比對。那麼,下一步應該是什麼?您可以選擇頻繁發生且可以預測的測試用例。

例如:單擊一個頁籤時,一個應用程式開始啟動。這是帶有條件的通用測試。換句話說,當我們知道某個事件肯定會發生時,結果是可以預測的。是以,為避免重複執行,可以自動化這些測試用例。

在開始自動化測試之前,需要考慮到在自動化測試上投入的時間、精力和資源後,看看自動化測試可以帶來什麼好處。以下是确定哪些手動測試應該或不應該自動化應該考慮的問題。俗話說,僅僅因為您可以使某些東西自動化并不一定意味着應該這樣做。

  • 簡單>優先級>穩定性>重複性。

選擇Selenium測試工具

切換到自動化浏覽器測試時,每個公司都有不同的考慮因素。即使市場上有各種各樣的

Selenium

測試自動化工具,選擇工具也不是很容易的方法。必須根據公司的需求選擇正确的

Selenium

測試自動化工具。

例如,檢查該工具是否支援公司所使用的現有平台。要問的其他一些問題包括以下内容:需要該工具來執行移動應用程式測試嗎?使用什麼架構設計?工具是否支援記錄和回放測試?可以手動建立自動化測試嗎?

以下是選擇

Selenium

測試工具的考慮因素:

  • 記錄和重放:此類别中的工具為自動腳本提供了記錄選項。螢幕上的每個互動(例如點選,滾動或鍵入)都将被記錄并轉換為自動化步驟。可以重播已錄制的腳本以執行操作并驗證。
  • 基于坐标的識别:此類工具在x/y坐标的幫助下與被測應用程式互動,以自動化和驗證應用程式。
  • 本機對象識别:使用本機對象識别的工具可檢測給定元素樹上的UI或控件元素。該樹由XPATH,XML或CSS建構,以辨別元素,驗證和自動化腳本。
  • 文字識别:文本識别:文本識别或(OCR)光學字元識别工具可根據其文本識别元素。這些工具使用可見文本來推動自動化并驗證應用程式。
  • 圖像識别:這些工具會擷取産品中UI元素的螢幕截圖,以将其添加到自動化腳本中。這些螢幕截圖将幫助AUT自動執行。

消除Selenium測試自動化不确定性

如前文中提到的,作為測試人員,

Selenium

自動化測試存在一些常見的障礙。有時,即使沒有

BUG

,測試用例也會失敗。另一方面,如果存在

BUG

,則測試可能會通過。這是阻礙

Selenium

自動化測試成功的重要原因。

當存在任何不一緻或誤報時,這會增加我們分析結果和排查問題所花費的時間。是以,在涉及回歸包時,重點是要消除不穩定的測試用例,甯可放棄掉,也要保證測試用例的高品質。

招聘專業團隊

一個成功的測試團隊包括手動測試人員和自動化測試人員。現在,不少公司最大錯誤是認為一個人實體可以完成兩項任務。但是自動化測試本身就是一項全職工作,手動測試亦是如此。期望手動測試人員執行

Selenium

測試自動化是不合理的。

但是,如果企業不願雇用新員工進行自動化測試,而将任務留給有經驗的手動測試人員,則首先讓他們減輕或者解除手動測試和相關職責。他們應該将主要精力集中在自動化測試,而不是其他事情上。

否則,企業需要照片自動化工程師來完成這項工作。假設公司規模較大。在這種情況下,甚至可以照片一名自動化架構師。然後可以監督和指導的自動化工程師工作。

確定集體硒測試自動化所有權

有時候單獨任命一名自動化工程師會被證明是錯誤的。通常在這種情況下,團隊的其他成員并不真正知道發生了什麼。但是如果團隊在此領域的集體知識是不斷更新的,則成功實施

Selenium

測試自動化的機會就會增加。

保持所有團隊成員的平等參與,友善以後在的工作中推行自動化測試。這樣,自動化測試人員也有機會将他們的知識傳授給團隊的其他成員。是以,當團隊每個人都知道發生了什麼事時,他們都可以為項目的成功做出貢獻。

自動化測試期間的努力

正如我們已經讨論的那樣,自動浏覽器測試是基于團隊的任務。根據不同員工的技能水準,必須劃分與自動化相關的任務。例如,自動化測試工程師應該編寫自動化測試腳本。另一方面,不熟悉腳本語言的團隊成員可以利用工具錄制或者導出測試用例。

甚至非技術人員也可以使用關鍵字驅動測試架構來建立的自動化測試用例。是以,當團隊中的每個人都根據自己的技能做出貢獻時,發現缺陷變得容易得多。

複查Selenium測試自動化的有效性

團隊無法在實施自動化之前進行良好的計劃。這可能會對整個軟體測試造成負面影響。有時候,自動化測試無法檢查某些驗證,其背後的主要原因是這些驗證方式可能已過時。

是以,還有一點至關重要,測試團隊必須檢查所有自動化測試用例的有效性。換句話說就是要始終需要確定測試用例是最新的。最好讓固定的人員負責自動化測試的有效性和合理性。

選擇适合的自動化工具

假設團隊資源偏向某種的程式設計語言,例如

Java

或者

Python

。是以,要在

Java

或者

Python

語言環境中測試的應用程式很有意義。在這種情況下,如果選擇了不支援用該語言的腳本工具,那實際上就沒有意義。我們知道學習一種新語言需要大量的努力并且非常耗時。但是,如果選擇與團隊資源相容的工具,則可以完全避免學習上的麻煩。