回覆列表
  • 1 # 千鋒頭號粉絲

    如何學習自動化測試呢?

    首先要了解什麼是自動化測試?自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程。通常,在設計了測試用例並透過評審之後,由測試人員根據測試用例中描述的規程一步步執行測試,得到實際結果與期望結果的比較。在此過程中,為了節省人力、時間或硬體資源,提高測試效率,便引入了自動化測試的概念。

    那麼做自動化測試有什麼要求呢?

    實施自動化測試之前需要對軟體開發過程進行分析,以觀察其是否適合使用自動化測試。通常需要同時滿足以下條件:

    1) 需求變動不頻繁

    測試指令碼的穩定性決定了自動化測試的維護成本。如果軟體需求變動過於頻繁,測試人員需要根據變動的需求來更新測試用例以及相關的測試指令碼,而指令碼的維護本身就是一個程式碼開發的過程,需要修改、除錯,必要的時候還要修改自動化測試的框架,如果所花費的成本不低於利用其節省的測試成本,那麼自動化測試便是失敗的。

    專案中的某些模組相對穩定,而某些模組需求變動性很大。我們便可對相對穩定的模組進行自動化測試,而變動較大的仍是用手工測試。

    2) 專案週期足夠長

    自動化測試需求的確定、自動化測試框架的設計、測試指令碼的編寫與除錯均需要相當長的時間來完成,這樣的過程本身就是一個測試軟體的開發過程,需要較長的時間來完成。如果專案的週期比較短,沒有足夠的時間去支援這樣一個過程,那麼自動化測試便成為笑談。

    3) 自動化測試指令碼可重複使用

    如果費盡心思開發了一套近乎完美的自動化測試指令碼,但是指令碼的重複使用率很低,致使其間所耗費的成本大於所創造的經濟價值,自動化測試便成為了測試人員的練手之作,而並非是真正可產生效益的測試手段了。

    另外,在手工測試無法完成,需要投入大量時間與人力時也需要考慮引入自動化測試。比如效能測試、配置測試、大資料量輸入測試等。

    如何學習自動化測試?

    首先要有一些自動化基礎方面的學習的,除了要有一門語言的程式設計基礎,那在3.0的大框架下怎麼樣去做自動化測試呢?在真正的開展自動化測試前,我們要學習一些基礎,如果想對頁面有更深入的瞭解,那麼要了解一些前端頁面的編寫方法,比如HTML、JS、CSS,這三個叫做前端開發三部曲。

    當我們用一些開源工具去做一些定位的時候,我們需要依賴於元素的一些屬性,這是HTML給我們的,有些難以操作的要做JS的一些自動化處理,有些定位可能比較難,用元素屬性找不到要用CSS,還有進行自動化測試要進行一些校驗,這些校驗涉及到頁面樣式、頁面顏色、圖示顏色、背景顏色、文字字型等等,這些還是CSS,所以瞭解學習一定程度上的前端開發是很重要的,但是在自動化學習基礎階段不需要學習那麼深,瞭解HTML一些標籤的意義能夠讀懂一個頁面各種各樣的表示含義就可以了,JS也是,只要知道它的原理和使用方法,能夠寫出一個簡單的JS語句和指令碼來就可以了,CSS只需要瞭解不需要熟知,在自動化測試裡對於CSS是比較簡潔的,只要知道它的一些顏色、屬性就可以了。

    接下來就是瀏覽器除錯工具,像IE、Chrome用的是F2來除錯的,像Firefox既有F2也有FireBug,來幫助我們進行自動化元素的一些定位設定。

    其實自動化是分為多個方向的,簡單的一個方向就是介面自動化,介面方向有一些常用的工具也可以自己寫一些框架來完成,比如PostMan、SoapUI、Jmeter都可以完成介面測試的功能,需要了解一些這些工具的基礎使用,那如果想自己寫程式碼來完成介面測試,JAVA裡有兩個通用框架,一個是HttpClient一個是UrlConnection,如果用Python的話,就用Requests來進行http請求它的一些編寫。

    再有就是Web測試,再成為框架前我們會有一些基礎的API學習,包括瀏覽器的操作、元素的定位、點選 輸入值 清空 選擇下拉框等動作、特殊控制元件的操作、JS的一些處理,可能還有一些包括超時的處理、邏輯判斷的處理、包括我們怎麼樣進行Web自動化裡面使用現有的API來進行相應的校驗點。

    那學習完以上的知識後,又該怎麼學習呢,給大家提供一個繼續深化的自動化測試框架學習。

    市面上常用的是selenium工具,Selenium是一款使用Apache License 2.0協議釋出的開源框架。Selenium也是一套完整的Web應用程式測試系統工具。

    自動化測試步驟 :

    定位元素→操作元素→驗證操作結果→記錄測試結果

    透過這三個步驟, 我們可以完成一個頁面元素的操作, 找到頁面元素是很重要的一個步驟。 找不到頁面元素,後面就沒法做了,Web頁面技術的現實複雜性, 造成大量的頁面元素很難定位。經常有人不知道怎麼定位。

    定位方法大全

    使用WebDriver物件的findElement函式定義一個Web頁面元素

    使用findElements函式可以定位頁面的多個元素

    定位的頁面元素需要使用WebElement物件來儲存,以便後續使用

    常用的定位頁面元素方法如下,

    id 定位

    name定位

    連結的全部文字定位link text

    連結的部分文字定位 partid link text

    css 方式定位

    xpath 方式定位

    Class 名稱定位

    TagName 標籤名稱定位

    如何定位?

    在使用selenium webdriver進行元素定位時,通常使用findElement或findElements方法結合By類返回元素控制代碼來定位元素

    findElement() 方法返回一個元素, 如果沒有找到,會丟擲一個異 NoElementFindException()

    findElements()方法返回多個元素, 如果沒有找到,會返回空陣列, 不會丟擲異常

    如何選擇定位方法?

    策略是,選擇簡單,穩定的定位方法。

    當頁面元素有 id屬性的時候,儘量使用 id來定位。沒有的話,再選擇其他定位方法

    cssSelector 執行速度快,推薦使用。

    定位超連結的時候,可以考慮 linkText或 partialLinkText:但是要注意的是,文字經常發生改變,所以不推薦用。

    xpath 功能最強悍。當時執行速度慢,因為需要查詢整個DOM, 所以儘量少用。實在沒有辦法的時候,才使用 xpath。

    然後知道了如何定位接下來就是挑選測試用例,進行自動化指令碼的編寫了。

  • 中秋節和大豐收的關聯?
  • 職場中不宜深交的人群,如何處理職場人際關係?