Test Driven Cycle เป็นวงจรวิธีการเขียนโปรแกรมที่เริ่มต้นด้วยการเขียนคำสั่งเพื่อทดสอบว่าเมธอด (method), คลาส (class) หรือคำสั่งอื่นที่เขียนขึ้นมาเพื่อทำงานเฉพาะอย่าง ทำงานได้อย่างได้อย่างถูกต้องตามที่ควรจะเป็น ด้วยการสร้างสถานการณ์จำลอง (test case) เรียกใช้คำสั่งเหล่านั้น แล้วเปรียบเทียบผลลัพธ์ที่ได้ว่าเป็นไปอย่างคาดคิดไว้หรือไม่ รูปแบบการเขียนโปรแกรมแบบนี้มีประโยชน์มาก ซึ่งจะได้กล่าวต่อไปในเรื่องของ Unit Test ที่จะได้กล่าวต่อไป
ยกตัวอย่างเช่น ผมเขียนเมธอดที่ทำการบอกเลขสองตัว สถานการณ์จำลองที่ผมสร้างขึ้น อาจเป็นการบอกเลขสองตัวเช่น 2 + 5 ดังนั้นหากเมธอดนี้ทำงานได้อย่างถูกต้องผลลัพธ์ที่ได้ก็ควรจะเป็น 7
เขียนสถานการณ์จำลองหรือ test case ขึ้นมาราวกับว่าเมธอด คลาสหรือคำสั่งที่เราได้สร้างขึ้นมีอยู่แล้ว
ทำการ compile ก็จะพบว่าโปรแกรม complie ไม่ผ่าน
เขียนคำสั่งเพื่อสร้างให้โปรแกรม compile ผ่าน อย่างเช่น ในขั้นตอนที่หนึ่งเราต้องการจะทดสอบการทำงานของเมธอด แต่เมธอดที่เราเขียนไปยังไม่ได้ถูกสร้างไว้ แต่เราก็ไปเรียกใช้มัน โปรแกรมเลย compile ไม่ผ่าน ขั้นตอนนี้ก็คือเขียนคำสั่งที่ขาดไป อย่างในกรณีนี้คือเมธอด เพื่อให้โปรแกรม compile ผ่าน แต่เมธอดยังไม่ต้องมีส่วนของคำสั่งที่ทำงานได้ถูกต้อง ขอเพียงแค่ให้ compile ผ่านก็พอ
ทดลอง run test case สถานการณ์จำลองที่สร้างขึ้น เพื่อเห็นผลลัพธ์ว่าผลการทดสอบไม่ผ่าน
เขียนคำสั่งเพิ่มเติมเพื่อให้การ run test case ผ่าน
run test case เพื่อดูผลลัพธ์ว่าผ่านการทดสอบ
ปรับปรุงคำสั่งที่เขียนขึ้นให้มีความสมบูรณ์มากขึ้น
โดยความเห็นส่วนตัวของผม test driven cycle เป็น best practice ที่ดีที่โปรแกรมที่ดี ควรจะนำไปใช้ในการทำงานครับ