XP 測試先行

XP 的一個主要特色--測試先行的概念: 循環週期約數分鐘到數小時,不超過一天八小時的工時。
--> 先寫測試程式,然後寫(被測的)程式,然後不時進行重整。
這跟一般傳統的編程恰恰相反: 循環週期約數週到數月。
--> 做設計,寫程式,最後才是測試。

XP 洋蔥與 12 道核心做法整合

  1. 程式設計:
    簡單設計、測試先行、程式重整、編程標準。
  2. 團隊實務:
    程式共有、持續整合、善用隱喻、編程標準、四十工時、搭檔編程、頻繁改版。
  3. 軟體製程:
    客戶駐點、測試先行、頻繁改版、規劃遊戲。

XP coding 週期

  1. 寫一個測試程式
  2. 編譯該測試程式;應該不會過,因為你還沒寫測試程式要測的那個程式。
  3. 寫剛好夠測的程式,然後編譯它 (如果必要的話,先進行程式重整)。
  4. 執行測試程式,看著它不過。
  5. 寫『剛好讓測試程式能過』的程式量。
  6. 執行測試程式,看著它過。
  7. 重整程式,讓它的架構變得更清晰,並去除掉程式碼重複的部份。
  8. 重複整個過程

XP GUI coding 的一些方法

  1. 先寫測試程式再寫程式的方法可以運用在 GUI 的多方面,但不能涵蓋到所有層面。
  2. 即使螢幕的物件配置 (layout) 有所變動,GUI 的測試程式一樣可以罩得住。
  3. 在 JAVA 裡的一些元件,像是文字輸入欄位 (field) 以及按鈕 (button) 等,照樣可以用程式化的方式如 getText()、setText()、doClick() 等加以模擬。
  4. 在 Java 裡,相對位置也可以利用 getLocationOnScreen() 這種函式來測試。
  5. GUI 可以善用非視覺化模型 (即使其 methods 內容仍暫為空白),在測試上取得更為細密的控制能力。
  6. 但即使有這些技巧,你還是是沒有辦法測到 GUI 的每一個層面,特別是那種在對話框和多個螢幕之間互動的狀況更難測到。
  7. 在 GUI 的程式設計上,所有關於商業邏輯的部分,最好還是放在中間層的 model 裡。

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()