ทำไมเราถึงต้องใช้ TDD ?

ณัฐธิดา  หมวดเพ็ชร

[17 พฤษภาคม 2558]

 

TDD คืออะไร?

TDD ย่อมากจาก Test Driven Development คือ รูปแบบการพัฒนาซอฟต์แวร์ที่ช่วยลดความเสี่ยงของความผิดพลาด ทำให้ Code มีประสิทธิภาพมากขึ้น อีกทั้งยังเป็นการลดการเกิด Bug อีกด้วย

 

ในการทำ TDD มีขั้นตอนอะไรบ้าง?

  1. การสร้าง Test >> ในขั้นตอนการสร้าง Test นี้ อย่างแรกต้องทราบว่า Project นั้นทำอะไรได้บ้าง แล้วจึงสร้าง Test เพื่อเป็นการตรวจสอบว่าทำงานได้ถูกต้องหรือเปล่า
  2. Run test ที่สร้าง >> นำ Test ที่สร้างไว้จากขั้นตอนที่แล้วมา Run ซึ่งผลลัพธ์ที่ออกมาควรจะไม่ผ่าน เพราะยังไม่ได้เริ่มเขียน Code จริง
  3. การเขียน Code >> เป็นขั้นตอนการเขียน Code จริงของ Project นั้น
  4. Run Test อีกครั้ง >> นำ Test ที่ได้สร้างไว้ใน (ขั้นตอนที่ 1 ) มา Run อีกครั้งพร้อมกับ Code จริง หาก Test ผ่านหมดนั้นแสดงว่า Code ถูก แต่หากยังมี Test ไหนไม่ผ่าน จะต้องย้อนกลับไปทำขั้นตอนที่ 3 ใหม่
  5. Refactor code >> การ Refactor code เป็นการปรับ Code ที่ Run แล้วให้ดีขึ้น โดยจะเน้นการลบ Code ที่ซ้ำซ้อนกันออก ปรับ Code ให้อ่านง่ายมากขึ้น เพื่อความสะดวกต่อคนที่จะมาทำต่อในครั้งต่อไป และยังเป็นการปรับให้มีประสิทธิภาพมากยิ่งขึ้น

 

ทำไมถึงต้อง Test ก่อน Code ?

เพราะการ Test ก่อนจะเริ่ม Code เป็นการช่วยลดความเสี่ยงในการผิดพลาดที่จะตามมา และยังเป็นการตอบรับความคาดหวังอีกด้วย

 

TDD ช่วยอะไรเราได้บ้าง?

  1. ช่วยลดปัญหาการแก้ Code ที่ซ้ำซ้อนกัน ในกรณีที่ทำงานเป็นทีม
  2. ช่วยให้ Debug ง่ายขึ้น โดยสามารถรู้ได้ทันทีว่าส่วนใดที่ยัง Test ไม่ผ่าน ทำให้ไม่เสียเวลามาไล่ดู Code ทั้งหมด
  3. ช่วยให้ Requirement ไม่ตกหล่นหรือขาดหายไป เนื่องจากการทำ TDD จะต้องให้ความสำคัญกับ Requirement ของ Project นั้นๆเป็นอย่างดี เพราะฉะนั้นการเขียน Code ที่ไม่ตรง spec อาจทำให้ไม่ตอบโจทย์ของงานได้