มีคำถามที่น่าสนใจคือ ATDD, BDD และ SbE มันคืออะไร ?
เหมือน หรือ แตกต่างกันอย่างไรบ้าง ?
มีเป้าหมายเพื่ออะไรบ้าง ?
จากนั้นจึงลองไปค้นหาคำตอบ
ก็พบว่าเรื่องนี้เขาคุยกันมาตั้งแต่ปี 2010 แล้ว
โดยทำการสรุปไว้ในบทความเรื่อง ATDD vs. BDD vs. Specification by Example vs ….
จึงทำการแปลและสรุปไว้นิดหน่อย
ATDD ย่อมาจาก Acceptance Test Driven Development BDD ย่อมาจาก Behaviour Driven Development SbE ย่อมาจาก Specification by Examples
โดยเริ่มจากการพูดคุยว่าจริง ๆ แล้วนั้น ATDD มันคืออะไรกันแน่ ?
ทุกคนรู้ว่า Acceptance tests นั้นถูกกำหนดมาจาก ความต้องการของลูกค้า หรือ ทาง business ซึ่งจะเป็นตัวขับเคลื่อนกระบวนการ Test Driven Development (TDD) เพื่อสร้างระบบงานที่ตรงตามความต้องการนั่นเอง แต่คำที่แต่ละคนใช้เรียกต่างกันอย่างมาก เช่น- Examples
- Scenarios
- Acceptance tests
- Customer tests
- Behaviour
- Business facing tests
- Story tests
- Functional tests
- Acceptance criteria
- Business rules
- Executable specification
- การเขียน examples
- การเขียน automated tests ทั้ง unit test และ integration test
- การ run automated test ให้ผ่านทั้งหมด
ผลจากพูดคุยใน workshop นี้ทำให้คุณ Declan Whelan และ Gojko Adzic และผองเพื่อน
ทำการสรุปขั้นตอนเพื่อสร้างความเข้าใจในเรื่อง Specification by Example (SbE) ขึ้นมาดังรูปต่อมาคุณ Dan North ทำการอธิบายเรื่อง Behaviour Driven Development (BDD)
ซึ่งอธิบายในบทความเรื่อง Introducing BDD โดยเน้นไปที่ behaviour หรือพฤติกรรมการทำงาน มากกว่า test หรือการทดสอบ ด้วยการใช้ Given, When, Then เพื่ออธิบายการทำงานต่าง ๆ เช่น- Precondition
- Action หรือ Trigger
- Post-condition