###### tags: `課程調整公告` # 【課程更新】餐廳論壇測試檔案更新與優化 非常感謝同學們對 AC 的支持。同學們透過平台留言、郵件來信、問卷填寫給予的回饋,一直都是 AC 持續進步,嘗試更多不同方法的動力。 在根據同學們的學習行為、成果觀察中,內容團隊更新了課程內容,希望透過以下調整,協助同學們有更好的學習效果: #### 為什麼 AC 作業要設計測試環節? 根據團隊與業界的訪談,在較有規模、對程式碼品質有要求的開發團隊中,常採用 [TDD(Test-Driven Development)](https://tw.alphacamp.co/blog/tdd-test-driven-development-example) 的開發流程,為程式碼品質與功能把關。 然而撰寫測試並不容易,Junior 工程師通常也較難參與測試的開發,但在實務上需要能夠理解與使用。 AC 作為人才培育機構,在「測試」這門主題上我們期待從 AC 畢業的學生「可能尚未有機會自主撰寫出測試,但必須有能力正確理解、使用測試檔,對所撰寫的程式碼把關」。 因此教案設計特別將後端的「餐廳論壇教案」與「Twitter 專案」,融入自動化測試的元素,希望同學能藉此累積「使用測試」的經驗。 #### 為什麼測試檔需要更新與優化? 經過課程團隊深度研究同學們學習、使用測試檔案的行為,我們觀察到: - 大多數同學對於「測試的使用」方式並不符合期待,仍然以傳統的「先開發,再測試」的方式思考 - 大多數同學在「餐廳論壇的作業提交時,未曾實質理解測試文件與測試思維」,因此到 Twitter 專案實作時,大量發生「先開發,再測試」,因而功能需多次修改,在極大的時間壓力下才完成專案驗收 - 測試設計包含大量的分析(決定測試的案例通過還是失敗),也連帶在測試程式碼的文件理解上,有一定的門檻 因此,內容團隊希望可以從餐廳論壇的提交作業開始,透過「降低測試文件閱讀的門檻」,建立同學「以測試驅動開發」的行為與能力。 希望及早培養同學和測試的互動能力,也幫助後續再 Twitter 專案開發過程中能更順暢。 #### 測試檔案更新與優化了什麼? <h5 style="font-size: 1.2rem;">1. 餐廳論壇作業的測試檔 100% 覆蓋「白話文註解」</h5> 內容團隊為所有測試檔案加上白話文註解,幫助同學理解: - 該段程式碼在測試什麼功能 - 指定的測試資料是什麼 - 如果完成功能,理論上程式會有什麼行為 <div style="width: 100%; text-align: center;"> <img style="width: 95%;" src="https://assets-lighthouse.alphacamp.co/uploads/image/file/17748/___2021-11-10___6.57.32.png"> </div> <h5 style="font-size: 1.2rem;">2. 新增引導型 Quiz</h5> 在每次作業實作前,加入引導型 Quiz ,幫助同學面對測試程式碼,可以更精準的找到閱讀起手式,也更能理解「測試紅綠燈」和「個人實作的程式碼」的關聯性 <div style="width: 100%; text-align: center;"> <img style="width: 95%;" src="https://assets-lighthouse.alphacamp.co/uploads/image/file/17749/Untitled.png"> </div> <h5 style="font-size: 1.2rem;">3. 提升測試穩定度升級</h5> 將測試環境設定改成模擬資料庫,降低同學因 migration 使用邏輯的不同,而造成測試環境中資料庫衝突的風險 。 #### 如何使用本次優化,幫助學習? <h5 style="font-size: 1.2rem;">如果你目前正在學習餐廳論壇,並尚未使用過本次更新的測試檔案</h5> - 尚未下載過舊版測試檔案:請跟著教材「[下載 AC 指定專案](https://lighthouse.alphacamp.co/courses/118/units/25544)」的腳步 fork AC 新專案,跟著教案從頭開始學習。並依照 [第一次提交作業](https://lighthouse.alphacamp.co/courses/118/units/25569) 章節引導,下載並使用測試檔案 - 曾經有 fork 過舊專案,想接續實作:技術上直接使用同一個專案實作較為複雜,建議同學 fork 新的專案,透過檔案搬移的方式,可較為快速完成專案遷徙。詳細的搬移步驟說明,內容團隊將於 11/11 17:00 前發布。 <h5 style="font-size: 1.2rem;">如果你過去已經完成餐廳論壇的學習</h5> 過去的你是否有「先讀過測試檔,再開發」?若沒有,現在你可以運用白話註解 & 引導 Quiz,再次理解「測試的設計邏輯,以及測試如何檢驗功能開發」 <h5 style="font-size: 1.2rem;">如果你過去已經完成 Twitter 專案</h5> 在看過教材註解的版本後,你可以重新打開 Twitter 專案的測試,比照教案的註解的方式,試著自己詮釋每個段落的測試內容,確認你是否建立「看懂測試」的能力
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up