在 Mac OS X 上搭建 Selenium 測試環境
在開發網站的過程中,因為需要測試介面以模擬使用者的操作,最理想的工具就是 Selenium 了。
現在我是用 Mac 來當做開發環境,所以簡單記錄一下如何在 OS X 上建立 Selenium 測試環境。
Selenium 的簡單原理與應用可以參考:自動測試與 TDD 實務開發 - 上課心得 (中)
在開發網站的過程中,因為需要測試介面以模擬使用者的操作,最理想的工具就是 Selenium 了。
現在我是用 Mac 來當做開發環境,所以簡單記錄一下如何在 OS X 上建立 Selenium 測試環境。
Selenium 的簡單原理與應用可以參考:自動測試與 TDD 實務開發 - 上課心得 (中)
第三週是這門課程的最後一堂課,上完課的我心裡其實有很大的衝擊,一直不知道該怎麼整理這最後的心得;就好像美妙的音樂感動了你的心靈,但自己一時之間卻很難重現那樣的弦律。
前兩週講師介紹了單元測試基礎以及如何重構舊有程式之後,但我們依舊面臨了一個很大的問題,那就是:「我們寫出來的程式,不見得就是我們所想的;而就算符合我們想的,也不見得是需求要的。」
|
如果這種戲碼常常在辦公室上演的話,浪費的可不只是開發人員的時間呀!面對不清不楚的需求,或是雙方對需求的認知上有所誤解,甚至開發人員「善意地」加入根本不在需求裡的程式碼,這些問題都將可能拖垮整個專案的進度!
所以最後一週,講師為我們帶來了整套課程的高潮:不僅僅是以規格來完成程式碼,更能用規格來自動驗證你的程式碼!
曾經有個工程師對著已經上線的網站說:「別說使用者不曉得這個系統是怎麼運作的,其實已經接手那麼久的我也不知道。」
如果你對這句話心有戚戚焉的話,那你真的不孤單。其實有很多維護維護前人程式碼的工程師在在接到新的需求而去修改程式碼時,常常是很戰戰競競的,然後辦公室裡就會響起這樣的聲音:
|
假設今天有時間讓你調整這個系統,在不知道線上系統整體如何運作的狀況下,你會怎麼讓它容易被維護與增添新功能呢?
上週所介紹的單元測試其實還沒辦法可以讓我們立刻套用在這樣的系統上,所以本週課程的重點就在:如何為已經上線的 legacy code 加上測試。
為了達成這個目標,講師介紹了兩個招式: Web Testing 與 Refactoring 。以下我就以我的方式來介紹我所學到的心得。
測試一直以來是很多開發者心中的痛,當被老闆問到:「你的程式碼是否都測試過了?」你是否能摸著自己的良心,並且拿出證據來說自己真的做過測試讓所有功能都符合需求了?我相信絕大多數的開發者這時一定都是面有難色,因為其實你不但騙了老闆,還騙了你自己。
從我自己開始研究測試後,其實一直覺得自己還是沒有真正把測試當成是開發的一部份,更別說坊間很多程式書籍和教學課程能把這兩者真真實實地融合在一起,傳授給廣大的開發人員。
這次正好有機會去聽 Joey (91 哥) 在 SkillTree 開的 TDD 課程,我心想這實在是太棒了! Joey 是業界在 TDD 領域相當有研究,而且也已經在實務上經過千錘百鍊的高手,如果能親眼見到他是如何把測試融入開發中的話,一定能大大提升自己的經驗值!
不過課程中精采的部份太多了,恕我無法一一介紹;而且我也不覺得我能在這篇心得中,表達出講師在實務面的深厚功力。以下就讓我來為大家介紹這個課程為什麼值得你去聽的心得。
現代較新的 Web Framework 都強調自己有 Dependency Injection (以下簡稱 DI ) 的特色,只是很多人對它的運作原理還是一知半解。
所以接下來我將用一個簡單的範例,來為各位介紹在 PHP 中如何實現簡易的 DI 。
註:本文為作者發表於 OpenFoundry 之 CSS3 動畫基礎一文的備份。
在 JSConf.Asia 2013 , Lea Verou 介紹了 CSS in the 4th dimension (影片) ,引發了整個 Web 界對 CSS 動畫的期盼;在 CSS動畫簡介一文也已經把重點整理好了。
以下我們將會介紹主要兩個 CSS3 在動畫的屬性: Transition 與 Animation ,並配合實例來練習這些技術,後面我也會介紹一些不錯的相關開發工具。
原文連結: 20 Useful Docs and Guides for Front-End Developers
看到上面的文章收集了許多前端開發參考資訊,覺得非常實用,故將重點整理如下: