關於課程
課程中將會教大家如何使用 python 結合 pytest 進行測試程式的撰寫,並學習如何利用 Github 以及 GitLab 搭建自動化測試的環境。最後老師也將介紹如何結合 pytest 與 selenium 來進行前端自動化測試,期待與大家在課堂上相見!
課程緣起
公司推出新產品了!更新、維護時,要如何測試?
沒錢建立測試部門,該怎麼辦?
身為產品工程師,我該如何快速優化產品、確認上線沒問題呢?
隨著科技的發展,越來越多家公司都有屬於自己的產品,然而這些產品在進行更新或是維護時,時常遇到很多問題。因此「測試」環節便越來越被重視,無論是日常的單元測試、整合測試甚至是回歸測試,都可以幫助產品上線後運行的更加穩定。
然而,許多公司通常不太可能花費許多的資金單獨創立一個測試部門,因此開發者甚至是產品經理往往都會需要負責測試的工作。
在這堂課當中會藉由 Python 這個相對比較容易上手的語言,將日常瑣碎的測試使用程式用自動化的方式進行,甚至是一種新的開發模式,讓我們不再為了測試而煩惱。
課程核心特色
除了會寫程式,也要會做測試 - TDD(Test-Driven Development)開發模式
一個好的程式設計師不僅要會寫程式,也必須知道該如何檢查自己寫出來的程式碼哪裡有問題,才不會導致產品上線後漏洞百出。
這門課會帶領大家使用 TDD(Test-Driven Development)的方式來進行程式的開發,其倡導的理念就是先寫測試再寫程式,透過這個模式寫出來的程式可以最大地確保你寫的每個程式都可以被測試,讓你不僅學會寫測試,也可以學習到一個新的開發流程。
使用最熱門的程式語言與測試框架 - Python x Pytest
這門課使用目前當紅的程式語言 - Python 來進行教學。Python 有易於理解的語法且跨平台的特性,並搭配目前熱門的 Python 測試框架,進行測試程式的開發,讓你不論在哪個平台進行開發都可以對你的程式碼進行測試。
結合常用的版本控制網站,進行自動化測試 - GitHub、GitLab
最大化減少工作才是我們撰寫測試程式的最終目的。因此,有了測試後,一定會需要進行自動化測試。
這堂課成會帶領大家使用 GitHub 以及 GitLab 兩個目前最熱門的版控軟體來進行自動化測試。不論你是自由工作者亦或是在職的工程師,只要你有使用這兩個網站來存放你的程式碼,一定都受用。
課程單元規劃
章節一、環境架設
這個章節會帶領大家安裝 Pycharm 以及 Git 工具的安裝,前者為目前撰寫 Python 主流的程式編輯器後者則為常見的版本控制工具。
Pycharm 是時下開發 Python 專案主流的工具之一,它可以很好地整合 python 與虛擬環境,並且同時也可以安裝許多第三方套件,讓程式碼的開發更為順利。
Git 為版本控制的工具,本次課程中利用 Git 結合 GitHub 及GitLab 進行程式碼的推送,不會著重在版本控制的介紹。
單元 1:Pycharm 安裝
單元 2:Git 工具安裝 章節二、Pytest 基礎應用 這個章節會帶領大家快速認識 Pytest 以及該如何利用 Pytest 來撰寫測試程式,並且會分別介紹 SQL 以及 NoSQL 兩大陣營的虛擬資料庫的操作,幫助我們可以更加快速地進行測試程式環境的準備以及開發。 單元 1:利用 Pytest 撰寫測試程式 單元 2:如何利用指令執行 pytest 單元 3:Pytest 的 setup 和 teardown 單元 4:Pytest fixture 的使用 單元 5:常用來測試的虛擬資料庫 單元 6:Pytest 與 conftest.py 設定檔 章節三、Pytest 延伸應用 這個章節會帶領大家學習有關 Pytest 的延伸應用,包含如何驗證錯誤、利用參數化的方式進行測試以及如何使用第三方套件進行報表的產出。 單元 1:驗證錯誤的測試程式 單元 2:用不同參數測試同個測試案例 單元 3:利用 Pytest-Mock 抽換函式 單元 4:如何利用 Pytest 產出測試報告 章節四、TDD(Test-Driven Development)開發模式 這個章節會帶領大家學習 TDD(Test-Driven Development)開發模式,TDD 倡導先寫測試程式再寫程式,這樣不僅可以最大化保證我們的程式都有對應的測試程式可以進行測試,也可以不用擔心程式寫完後才來進行測試程式的補寫。 單元 1:基本概念 單元 2:概念實作 章節五、前端與自動化測試 這個章節會帶領大家快速入門 Selenium 以及如何使用 Pytest 搭配 Selenium 進行測試程式的開發,這個部分除了可以讓我們測試使用 Selenium 開發的爬蟲是否正常之外,也可以協助前端工程師們對寫出來的網站進行自動化測試。 單元 1:快速入門 單元 2:元素定位 單元 3:瀏覽器基本操作 單元 4:與 Pytest 結合前端測試 章節六、CI/CD 與自動化測試 這個章節會帶領同學使用目前最常被工程師們用來存放以版控程式碼的網站,分別為 GitHub 以及 GitLab。這個章節會分別介紹該如何在這兩個網站上進行自動化測試以及簡單地帶領大家認識 CI/CD 這個觀念。 CI/CD 總共分為兩個概念,分別為 Continuous Integration 以及 Continuous Deployment,中文對照為「持續整合」及「持續部屬」。本章節會著重在 CI 的部分,透過撰寫測試程式搭配 GitHub 以及 GitLab 來達到專案的整合以及自動化測試,可以及時發現錯誤並且修正,確保產品在進入部屬階段前可以被完整測試 單元 1:概念簡介 單元 2:GitHub Actions 與自動化測試 單元 3:GitLab CI/CD 與自動化測試
關於講師
大家好,我是陳柏翰,是現役的 Python 資料工程師,日常負責的工作內容有爬蟲系統的開發與維護、網頁後端 API 的開發與維護、以及一些資料的處理流程,並且曾經擔任過軟體測試工程師,目前有在 ithelp 這個平台上經營自己的技術文章部落格,希望能將實用的技術分享給大家。
未來預計會陸續開設有關各種資料處理的技術課程,希望大家可以多多支持
講師作品
回覆與作業設計
- 回答問題的頻率:最晚一周內會回覆
- 批改作業的頻率:最晚一周內會批改
- 作業繳交的方式:程式碼的部分會有兩種,一種為推上類似 github 公開站台,或是將程式碼直接貼在作業區上,並搭配螢幕截圖展現效果。
課程費用
購買單堂課
售價NT$1,600