阿里軟體測試工程師手把手教學——談談對自動化測試的理解

阿里軟體測試工程師手把手教學——談談對自動化測試的理解

今天,讓我們來談談對自動化測試的理解?

假如你加入一家新公司,領導讓你進行自動化測試,那麼作為新人,你將如何進行自動化測試?

高階測試架構師來告訴你如何登陸

如何落地自動化測試

。本文主題主要分為以下幾個部分:

什麼是自動化?

什麼是分層自動化?

如何使用Python實現自動化測試?

RobotFramework自動化適合你的情況嗎?

自動著陸成功,日常如何維護?

阿里軟體測試工程師手把手教學——談談對自動化測試的理解

01什麼是自動化?

很多人做自動化已經很久了,但是他們甚至不知道自動化的概念。這樣的人也很可悲,但做這樣的工作,連最基本的概念都不懂。我會給你以下列表(引自“軟體測試人員”,第69頁):

自動化測試的定義:

自動化測試是根據測試工程師的預定計劃,透過測試工具或其他手段對軟體產品進行自動測試。它是軟體測試的重要組成部分,可以完成很多人工無法完成或難以實現的測試。正確合理地實施自動化測試可以快速全面地測試軟體,從而提高軟體質量,節約資金,縮短產品釋出週期。

如上所述,它是自動化測試的標準概念。一般來說,無非是用自動化代替人工,但並不是完全代替人工。在這裡,我必須指出一個誤解。有些人不理解自動化的含義,尤其是有些領導認為自動化是萬能的。只要自動化做好了,功能測試就可以完全解放了。即使自動化指令碼是智慧編寫的,也不可能完全替代手工工作,自動化所消耗的人力也是整個專案團隊的巨大支出。所以自動化測試不是萬能

在介紹了自動化測試的概念之後,我們還想介紹一下自動化的型別。市場上最流行的自動化包括以下型別:

使用者介面自動化

介面自動化

應用自動化

單元自動化

自動化測試工具(測試開發輔助工具)

有很多種。專案中是否要進行各種自動化?這讓我們有了新的觀點。什麼是分層自動化?

02什麼是分層自動化?

阿里軟體測試工程師手把手教學——談談對自動化測試的理解

讓我們談談我在工作中看到的對自動化測試的誤解:

1。自動化測試指令碼完成後,大量測試用例由於產品更新而失效。因為團隊忙於新功能的開發,當越來越多的無效測試用例積累起來,這些測試用例就會慢慢失去維護。如果你開發了這些用例,你的同學可能很容易就在你身邊。

2。在大量的自動化測試指令碼中沒有發現問題,問題在上線後還在繼續。在測試中,我們主要測試正常流程,但所有線上故障都是異常流程。

3。程式碼質量問題嚴重。很多人寫的單元測試只構造一個輸入,然後檢查返回值,結果是測試通過了,但是問題被忽略了。

4。重複車輪製造。大量的團隊都在開發自己的自動化測試框架,其實他們只是在剪裁和完善各種開源框架。

分層測試包括以下級別:

單元測試:由開發人員編寫的一小段程式碼,用於驗證被測程式碼的一個小而清晰的功能是否正確。一般來說,單元測試用於判斷特定功能在特定條件(或場景)下的行為。

整合測試:也稱為組裝測試或聯合測試。在單元測試的基礎上,將所有模組按照設計要求(如按照結構圖)組裝成子系統或系統進行整合測試。這裡我們可以把它看作是介面測試。

系統測試:被測軟體作為整個計算機系統的一個要素,與計算機硬體、外設、部分配套軟體、資料、人員等其他系統要素和環境一起進行測試。這裡我們可以把它理解為一個UI測試。需要另一個全面的規則。越早發現,修復成本越低。

03如何使用

如何使用Python實現自動化測試?

就語言而言,Python自動化無非是呼叫相應的打包API

在許多自動化測試框架中,有相應的語言包。然而,有許多型別的自動化測試。我分別指出了相應的自動化測試框架:

使用者介面自動化

網路自動化:硒

圖形使用者介面:自動設定

介面自動化

urllib2

要求

應用自動化

appium

單元自動化

語言相關。

看到上面的框架,大家一定會感受到學習的自動化。你不僅要熟悉基本的框架內容知識,還要對語言有很好的理解,這樣才能真正實現自動化測試。因此,引入了今天要介紹的自動化測試框架RobotFramework。

04合適嗎?

RobotFramework自動化適合你的情況嗎?自動化測試開發面臨的問題:

版本的迭代速度很快,迭代時間很短,自動化測試開發的時間太短。自動化測試開發框架的開發成本太高。尤其是對於初創團隊,開發框架的人工成本太高。

實際專案,尤其是大型專案,通常在功能上非常複雜,這也是構建自動化測試用例的一個挑戰。

綜上所述,部門的規模是有一定限制的,真正實現自動測試的方法和手段。

對於大規模的測試部門,可以考慮做一個開發能力強的自動化測試框架,但是對於小團隊,還是需要選擇一個輕量級的、成熟的自動化測試框架。

RF特點:

易於使用,採用表格語法,統一測試用例格式。

可以透過關鍵字驅動、資料驅動和行為驅動開發(BDD)來完成。

複用性好,可以用已有關鍵詞組合新關鍵詞;結果和日誌

收集HTML格式,便於閱讀。和平臺適用性。

易於整合,提供命令列介面和基於XML的輸出檔案。

易於與版本管理整合

關鍵詞單詞化,通俗易懂

RF實現的架構圖:

阿里軟體測試工程師手把手教學——談談對自動化測試的理解

RF程式碼示例:

阿里軟體測試工程師手把手教學——談談對自動化測試的理解

自動化測試只能透過射頻框架來解決。

射頻自動化測試框架是一個集成了關鍵詞驅動和資料驅動的自動化測試框架。從自動化的角度來看,這種整合的自動化測試框架是當前自動化框架發現的總體趨勢。尤其是單純的在工作中使用一個框架,並不能滿足工作的需要。

05日常如何保養?

在實際工作中,自動化測試如何落地的問題也是一大痛點。自動化往往做得很多,但解決不了工作中的實際問題。自動化的價值不外乎兩個方面:

一個是做測試資料的輔助功能。

二是做煙度測試和迴歸測試。

如果沒有做到這兩點,就不可能實現自動化測試真正應用,也不可能節省人力。在實際工作過程中。還有一點也很重要。自動化剛起步的時候,打基礎是非常重要的。基礎打不好,整個框架後期會暴露出很多問題,最後往往會被拋棄。框架的選擇和開發非常重要,這就要求自動化測試必須在短期內完成。可以想象,短期內無法做到自動化,架構設計不好,後期返工的可能性會更大。所以決定自動化前期不盲目,基礎要打好。

阿里軟體測試工程師手把手教學——談談對自動化測試的理解

這也引出了我們今天的重點,RobotFramework automatic Testing Framework,一個成熟的自動化測試框架,而Python語言作為一個擴充套件就在這個框架的背後,Python能夠實現的一切都可以在這個框架中實現。有很多框架。從選擇的角度來看,找到一個成熟的框架並專注於管理測試用例是自動化的最高水平。也是工作最合適的價值和意義。鼓吹高科技內容的東西都不貼近工作框架,這是浪費時間。