TDD ย่อมากจาก Test Driven Development คือ รูปแบบการพัฒนาซอฟต์แวร์ที่ช่วยลดความเสี่ยงของความผิดพลาด ทำให้ Code มีประสิทธิภาพมากขึ้น อีกทั้งยังเป็นการลดการเกิด Bug อีกด้วย
ในการทำ TDD มีขั้นตอนอะไรบ้าง?
- การสร้าง Test >> ในขั้นตอนการสร้าง Test นี้ อย่างแรกต้องทราบว่า Project นั้นทำอะไรได้บ้าง แล้วจึงสร้าง Test เพื่อเป็นการตรวจสอบว่าทำงานได้ถูกต้องหรือเปล่า
- Run test ที่สร้าง >> นำ Test ที่สร้างไว้จากขั้นตอนที่แล้วมา Run ซึ่งผลลัพธ์ที่ออกมาควรจะไม่ผ่าน เพราะยังไม่ได้เริ่มเขียน Code จริง
- การเขียน Code >> เป็นขั้นตอนการเขียน Code จริงของ Project นั้น
- Run Test อีกครั้ง >> นำ Test ที่ได้สร้างไว้ใน (ขั้นตอนที่ 1 ) มา Run อีกครั้งพร้อมกับ Code จริง หาก Test ผ่านหมดนั้นแสดงว่า Code ถูก แต่หากยังมี Test ไหนไม่ผ่าน จะต้องย้อนกลับไปทำขั้นตอนที่ 3 ใหม่
- Refactor code >> การ Refactor code เป็นการปรับ Code ที่ Run แล้วให้ดีขึ้น โดยจะเน้นการลบ Code ที่ซ้ำซ้อนกันออก ปรับ Code ให้อ่านง่ายมากขึ้น เพื่อความสะดวกต่อคนที่จะมาทำต่อในครั้งต่อไป และยังเป็นการปรับให้มีประสิทธิภาพมากยิ่งขึ้น
ทำไมถึงต้อง Test ก่อน Code ?
เพราะการ Test ก่อนจะเริ่ม Code เป็นการช่วยลดความเสี่ยงในการผิดพลาดที่จะตามมา และยังเป็นการตอบรับความคาดหวังอีกด้วย
TDD ช่วยอะไรเราได้บ้าง?
- ช่วยลดปัญหาการแก้ Code ที่ซ้ำซ้อนกัน ในกรณีที่ทำงานเป็นทีม
- ช่วยให้ Debug ง่ายขึ้น โดยสามารถรู้ได้ทันทีว่าส่วนใดที่ยัง Test ไม่ผ่าน ทำให้ไม่เสียเวลามาไล่ดู Code ทั้งหมด
- ช่วยให้ Requirement ไม่ตกหล่นหรือขาดหายไป เนื่องจากการทำ TDD จะต้องให้ความสำคัญกับ Requirement ของ Project นั้นๆเป็นอย่างดี เพราะฉะนั้นการเขียน Code ที่ไม่ตรง spec อาจทำให้ไม่ตอบโจทย์ของงานได้