前言
這篇是記錄我在看鐵人賽 Python 與自動化測試的敲門磚 的過程
主題
主題 | 日程 |
---|---|
簡介 | day 01 |
Pytest | day 02 ~ 10 |
TDD | day 11 ~ 12 |
Selenium | day 13 ~ 17 |
Appium | day 18 ~ 21 |
CI/CD | day 22 ~ 26 |
Jenkins | day 27 ~ 29 |
結語 | day 30 |
Pytest
Pytest 是一種使用在 Python 語言裡面的一中單元測試框架,而 Pytest 基本上就是由 Python 原生自帶的單元測試框架 Unittest 衍生出來的,所以可以看到有些範例可以和 Unittest 的套件互相兼容混用。
Pytest 和 Unittest 相比,有下列幾項優點:
- 更易於上手,撰寫 testcase 時較為直覺
- 擴展性高,可以兼容許多外掛套件
- 可以標註某些 testcase 為失敗是正常的
- 測試程式撰寫起來相較於 unittest 較為簡潔
TDD
TDD 完整名稱為 Test-driven development,中譯為 “測試驅動開發”,是一種軟體開發的方式,以這種模式開發的軟體,會需要在開發程式的同時一併撰寫測試程式,簡單來說就是一個 function 產出就要產出一個相對應的 testcase,好處是可以快速的檢查各項功能有沒有發生錯誤,也可以避免在開發完成後再回來補血測試程式,造成某些功能遺漏沒有測到。
Selenium
相信很多人對於 Selenium 並不陌生,近年來很常被應用在網路爬蟲上,可以比較簡單的對動態網頁進行爬取,Selenium 最初被開發出來的時候,其實是拿來進行網頁自動化測試的
Appium
Appium 顧名思義,適用於測試手機 APP 的一個自動化測試的工具,是一個 Open Source 的專案,Appium 提供跨平台的操作,亦即它可以同時測試 IOS 以及 Android 甚至是 Desktop 的 API
Jenkins
除了 Gitlab、Github 之外,Jenkins 也是目前主流的 CI/CD 工具之一,由於 Jenkins 也是開源專案,因此發展速度非常快,也非常容易上手,這邊將花幾天的時間來介紹該如何進行 Jenkins 的操作以及環境的建置
接話來會將以上五個項目分別記錄文章