原始碼如何在盤口模式飛鳥系統平臺從搭建第一行程式碼自動化端到端測試教程
盤口在搭建時,尤其是飛鳥這類的原始碼【電報TG-duotebb】版權所有,禁止轉載。質量都是至關重要的,無論是為了確保你的產品的出色體驗和最少的錯誤,甚至是出於安全原因,而且眾所周知,好的程式碼伴隨著好的測試。與質量保證相關的測試層次結構是從單元測試到 E2E 測試,所以我們在同一頁面上——我將簡要介紹每一個,以及為什麼最終目標是實現對你的 E2E 測試產品。
單元測試位於金字塔的底部,因為它們聽起來就像是最小的獨立測試單元。這意味著你獲取你編寫的元件或程式碼片段,並將其作為獨立單元進行測試。該程式碼與軟體堆疊和系統中的任何其他內容完全斷開連線,並且測試將檢查它是否按預期執行,作為一個獨立的實體。
一旦我們完成了對程式碼的基本測試,我們需要更深入地研究程式碼,並使用更多上下文來測試程式碼,瞭解程式碼在堆疊中實際存在的位置,這就是整合測試的用武之地。整合測試是我們開始將我們的程式碼與其他模組和服務整合,以瞭解它在更現實的生態系統中如何執行和運作。雖然這些可以提供一些上下文,但它們仍然需要快速,因此它們實際上並沒有涵蓋所有場景,也根本沒有涵蓋使用者如何與你的產品互動。
雖然有些人會爭辯說單元測試是最簡單的測試單元,但有時你需要實際編寫模擬模組以確保程式碼實際工作,而使用整合測試你可以插入實際的現有模組。此時,你驗證在模擬和注入單元測試依賴項時的假設是否成立。所以這是一個折騰 - 但是這兩種測試型別通常會帶來與端到端(E2E)測試完全不同的挑戰。
E2E 測試可能是你需要對產品執行的最重要的測試。確保實現你試圖為終端使用者提供的核心業務和價值對公司而言至關重要。它涉及儘可能地模擬終端使用者,並確保產品按預期工作——考慮到許多因素:可用性、效能、使用者體驗等等。
E2E 測試通常涉及模擬終端使用者旅程,例如登入、將其與使用者現有環境整合、與之互動等等。由於要做到這一點並提取現實結果涉及很多事情,因此許多公司選擇手動執行此操作。
公司通常僱傭 QA 團隊,其唯一目的是在測試環境中啟動產品,並像普通使用者一樣使用產品。然而,公司很快就會發現,他們需要以更快的速度和更大的規模來完成這項工作,而 QA 和工程團隊之間需要反覆來回打票,這是一個乏味且令人厭煩的過程這在很大程度上只會讓工程師感到沮喪。
所以他們決定通過建立一個測試自動化團隊來自動化測試。
在 Diversion,作為一家早期創業公司,我們需要我們所有的工程師都專注於編寫出色的程式碼,以快速實現我們的產品釋出目標。然而,我們知道我們不能在質量上妥協,所以我們從第一天開始就著手設計一個自動化 E2E 測試的解決方案。我們將向你介紹我們如何使用 Docker Compose、RPyC 和 Puppeteer 構建和自動化 E2E 測試框架。
自動化所有測試
開發人員應該快樂並享受他們的日常工作是我們理念的核心。然而,作為工程經理,開發人員最常見的痛苦來源之一是我們無法妥協的測試。
自動化是消除所有流程中的人為錯誤、簡化可重複流程並消除手動測試痛苦的好方法。我們明白,如果我們投資於測試自動化的技術設計,我們將能夠從我們的工程師那裡卸下這個負擔。此外,通過自動化我們的 E2E,我們的工程師對我們的產品產生了更高的滿意度和所有權,他們專注於打造出色的產品,並在最大限度地減少摩擦的同時內建質量護欄。
然而,自動化你的產品的端到端使用者體驗是相當具有挑戰性的。我們需要確保測試涵蓋端到端使用者流鏈中的所有關鍵部分以及他們將執行的典型操作,例如:
登入並在網頁中輸入憑據,檢查檔案系統操作,例如建立檔案、寫入檔案然後將其移動到某處,使這在多臺機器上並行發生,並使這些機器能夠相互通訊。最重要的是,我們需要能夠相信結果的準確性。
堆疊
在對我們需要設計和構建的內容進行了一些研究和理解之後,我們選擇了Docker Compose、RPyC和Puppeteer作為我們的測試自動化套件。我們的 E2E 測試的技術棧完全獨立於我們為我們的產品選擇的棧(我們將在另一篇文章中深入探討),它可以與任何能夠執行 Docker 和 Docker Compose 的產品一起執行他們的環境。
我們選擇了 Docker Compose,因為該服務需要啟動多個主機並相互通訊。Docker Compose 為此提供了一個方便的解決方案,因為它預設為你的應用程式設定一個單一的平面網路。這意味著服務的每個容器都加入預設網路,並且該網路上的其他容器可以通過與容器名稱相同的主機名訪問。Docker Compose 也是生態系統中非常流行的工具,因此很容易與其他流行的 CI 工具(如 Github Actions)整合和執行它。使自動化真正易於設定。
RPyC 使我們能夠從單個指令碼執行測試場景,因為一臺主機可以控制參與測試指令碼的其他主機。我們的大部分後端程式碼都是 Python,所以這對我們來說是一個明智的選擇,因為整個團隊都對此感到滿意。RPyC 還使我們能夠在測試場景中執行我們需要的任何隨機操作,例如執行任何二進位制檔案。
Puppeteer 是 Chrome 的自動化工具,可讓你控制網頁,並能夠單擊按鈕、填寫表單和執行其他基於 Web 的操作。當你開始使用Diversion CLI時,登入過程會將你從終端帶到網頁進行身份驗證。然後,它使用程式碼交換流程 ( RFC7636 ) 的證明金鑰從伺服器獲取憑據。Puppeteer 使我們能夠模擬執行 Web 登入過程的使用者。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70017861/viewspace-2899603/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux下搭建介面自動化測試平臺Linux
- PHP直播平臺原始碼搭建教程PHP原始碼
- 測試平臺後端優化後端優化
- 自動化測試平臺
- 淺談2022飛鳥盤口原始碼H5掃碼防封全新開發搭建加入USDT發展之路原始碼H5
- 【吐槽】低程式碼的介面自動化測試平臺不好用
- 從業務測試需求痛點到自動化測試平臺設計開發
- 如何進行遊戲陪玩系統原始碼中音視訊的自動化測試?遊戲原始碼
- UI 自動化測試平臺UI
- 盤口如使用微信掃碼H5飛鳥微投script在二開React中搭建自定義新聖HooH5React
- 自動化功能測試平臺TestComplete的分散式測試教程(三)分散式
- 自動化功能測試平臺TestComplete的分散式測試教程(二)分散式
- [opendx] 基於 appium 的移動端 UI 自動化測試平臺-介紹篇APPUI
- git 自動上傳程式碼到遠端倉庫Git
- Django 介面自動化測試平臺Django
- 移動自動化測試平臺,瞄準金融行業行業
- SVN原始碼版本控制系統平臺的搭建及使用原始碼
- 直播系統原始碼--搭建直播平臺的奠基石原始碼
- 數字藏品nft系統開發平臺搭建原始碼原始碼
- 【自動化測試】移動端測試輔助工具 - adb
- 【提測平臺】測試平臺開發練手專案原始碼和教程彙總原始碼
- appium uiautomator 移動端自動化測試工具APPUI
- 如何學習自動化測試?從手工測試到自動化測試的過程…
- 關於Web端-UI自動化測試WebUI
- 程式原始碼搭建遊戲直播系統軟體平臺,成本低原因原始碼遊戲
- 請問大家,自動化測試可以實現一個指令碼測試全部平臺嗎?指令碼
- selenium(web端)淘寶測試程式碼Web
- API自動化測試平臺,高效實現對API的自動化測試API
- 直播平臺原始碼,css移動端設定底部導航欄原始碼CSS
- 移動端 UI 自動化測試框架對比UI框架
- Helix QAC—原始碼級靜態自動化測試工具原始碼
- 從0開始搭建低程式碼平臺系列(系統設計與規劃)
- 請問自動化測試中如何自動開關 iPhone 飛航模式iPhone模式
- 短視訊系統原始碼,動態輸入文字到達行上限自動換行原始碼
- 碼棧搭建自動化應用(視覺化模式)視覺化模式
- All in one:如何搭建端到端可觀測體系
- 社交新零售模式小程式商城搭建(原始碼系統)模式原始碼
- NFT商城系統介紹|NFT模式系統原始碼搭建模式原始碼