Behavior Driven Development (ฺBDD)

ต่อเนื่องจากบทของ Software Tester ในส่วนที่ว่าทำไมต้อง BDD บางคนอาจเคยได้ยินแต่ไม่เคยได้ทำ บางคนอาจทำจนเซียนแล้วก็ว่ากันไป…

BDD คือ รูปแบบการพัฒนาซอฟต์แวร์ที่มีการสร้าง test ขึ้นมาก่อนการ coding เหมือนกับ TDD ครับ เพียงแต่จะมีการบิดมุมมองเพื่อที่จะแก้ปัญหาของ TDD บางประการ ได้แก่

  • ไม่สามารถตอบคำถามได้ว่าควรเริ่ม test จาก case ไหนก่อน?
  • Tester สร้าง test case ไม่ถูก/ไม่ครอบคลุม/มากเกินความจำเป็น เนื่องจากไม่รู้ Behavior(พฤติกรรม) ของผู้ใช้
  • ในการ test ครั้งหนึ่ง จะต้อง test ละเอียดขนาดไหน?
  • ชื่อ test case และ test script ของ TDD ยากแก่การเข้าใจ หากไม่ใช่ Tester/Programmer (เช่น stakeholders, PM, BA, SME) เพราะภาษาที่ใช้มีความสอดคล้องกับ User story น้อย
  • และเมื่อเกิดความผิดพลาด จะเข้าใจยากว่าทำไมผลถึงออกมาผิดพลาด

Dan North ซึ่งเป็นคนมองเห็นปัญหาเหล่านี้ ได้พยายาม ปรับ TDD ให้ดีและเข้ากับ Agile มากยิ่งขึ้น (จนบางคนมองว่า BDD ก็คือ TDD done well หรือ TDD ที่ทำออกมาได้ดีนั่นเอง) เค้ามองว่าทำไมเราถึงไม่เอา Acceptance Testing ซึ่งเป็นสิ่งที่ลูกค้าเข้าใจง่ายๆ อยู่แล้ว มารวมกับ Unit Testing หล่ะ!! เพราะ Acceptance Testing จะเป็นตัวบอกอยู่แล้วว่าควรจะ test แค่ไหนลูกค้าถึงจะพอใจ และยอมปล่อย release แรกออกไป

Like what you read? Give OffOnePoint a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.

Responses
The author has chosen not to show responses on this story. You can still respond by clicking the response bubble.