TDD vs BDD
Test-Driven Development (TDD) is a programming approach that emphasizes writing tests before developing the code functionality.
| TDD | BDD | |
|---|---|---|
| Definition | Test-Driven Development (TDD) คือ วิธีการเขียนโปรแกรมที่เน้นการเขียนการทดสอบก่อนที่จะพัฒนาฟังก์ชันของโค้ด วิธีการนี้ช่วยให้มั่นใจได้ว่าโค้ดตรงตามข้อกำหนดที่ตั้งใจและช่วยป้องกันข้อผิดพลาด 📚 ต้นกำเนิด Test-Driven Development (TDD) ถูกพัฒนาโดย Kent Beck ในช่วงปลายทศวรรษ 1990 เป็นส่วนหนึ่งของ Extreme Programming | Behavior Driven Development (BDD) คือกระบวนการพัฒนาซอฟต์แวร์ที่มุ่งเน้นการร่วมมือกัน โดยมุ่งเน้นที่การกำหนดพฤติกรรมของระบบจากมุมมองของผู้ใช้ โดยใช้การเขียนข้อกำหนดในภาษาธรรมชาติ |
| Categories | BDD, development, software | BDD, Dev, Gherkin, IT, การทดสอบ, การพัฒนาซอฟต์แวร์, ความร่วมมือ |
What is Test Driven Development (TDD)?
Test-Driven Development (TDD) is a programming approach that emphasizes writing tests before developing the code functionality.
Test Driven Development (TDD)
Test-Driven Development (TDD) คือ วิธีการเขียนโปรแกรมที่เน้นการเขียนการทดสอบก่อนที่จะพัฒนาฟังก์ชันของโค้ด วิธีการนี้ช่วยให้มั่นใจได้ว่าโค้ดตรงตามข้อกำหนดที่ตั้งใจและช่วยป้องกันข้อผิดพลาด
📚 ต้นกำเนิด
Test-Driven Development (TDD) ถูกพัฒนาโดย Kent Beck ในช่วงปลายทศวรรษ 1990 เป็นส่วนหนึ่งของ Extreme Programming
กระบวนการวนซ้ำ
TDD ใช้วงจรในการเพิ่มการทดสอบ, ทำการทดสอบให้ล้มเหลว, เขียนโค้ดเพื่อทำให้ทดสอบผ่าน และจากนั้นปรับปรุงโค้ด
จุดมุ่งหมาย
TDD มุ่งเน้นในการทดสอบหน่วยของโค้ดทีละน้อยเพื่อให้แน่ใจว่าระบบจะถูกสร้างขึ้นทีละขั้นตอนและครอบคลุมการทดสอบสูง
BDD คืออะไร?
BDD ย่อมาจาก Behavior Driven Development
คำจำกัดความ
Behavior Driven Development (BDD) คือกระบวนการพัฒนาซอฟต์แวร์ที่มุ่งเน้นการร่วมมือกัน โดยมุ่งเน้นที่การกำหนดพฤติกรรมของระบบจากมุมมองของผู้ใช้ โดยใช้การเขียนข้อกำหนดในภาษาธรรมชาติ
บริบท
BDD ได้พัฒนามาจาก Test Driven Development (TDD) โดยมีแนวทางที่มุ่งเน้นไปที่ผู้ใช้มากขึ้น ช่วยให้การพัฒนาซอฟต์แวร์สอดคล้องกับความต้องการและคาดหวังของผู้ใช้
การพัฒนา
การเปลี่ยนแปลงจาก TDD มาสู่ BDD จะเน้นที่การทดสอบที่อิงพฤติกรรมของระบบจากมุมมองของผู้ใช้ แทนที่จะเป็นการทดสอบที่อิงจากโค้ด ซึ่งช่วยให้เข้าใจความต้องการของผู้ใช้ได้ลึกซึ้งขึ้น
ภาษา Gherkin
BDD ใช้ภาษา Gherkin ในการเขียนข้อกำหนดในลักษณะที่เข้าใจได้ทั้งสำหรับทีมงานทางเทคนิคและไม่ทางเทคนิค ซึ่งช่วยเพิ่มการสื่อสารและลดความเข้าใจผิด
การสอดคล้อง
BDD ส่งเสริมการทำความเข้าใจร่วมกันเกี่ยวกับพฤติกรรมที่คาดหวังของซอฟต์แวร์ โดยให้ทุกฝ่ายที่เกี่ยวข้อง รวมทั้งผู้มีส่วนได้ส่วนเสียที่ไม่ใช่ทางเทคนิค เข้าใจเป้าหมายของโครงการอย่างชัดเจน ซึ่งช่วยหลีกเลี่ยงความไม่ตรงกันระหว่างความต้องการทางธุรกิจและสิ่งที่ทีมพัฒนา