ฉันเป็นแกนนำของวิธีการขับเคลื่อนการพัฒนาพฤติกรรม (BDD) ฉันใช้ BDD มาสองสามปีแล้วและได้ปรับใช้StoryQเป็นกรอบทางเลือกของฉันเมื่อพัฒนาแอพพลิเคชั่น DotNet แม้ว่าฉันได้ทำการทดสอบหน่วยมาหลายปีแล้วและก่อนหน้านี้ได้เปลี่ยนวิธีการทดสอบเป็นครั้งแรก แต่ฉันก็พบว่าฉันได้รับประโยชน์มากขึ้นจากการใช้กรอบการทำงานของ BDD เนื่องจากการทดสอบของฉันจับความต้องการของความต้องการค่อนข้าง ชัดเจนภาษาอังกฤษภายในรหัสของฉันและเนื่องจากการทดสอบของฉันสามารถดำเนินการยืนยันหลายโดยไม่สิ้นสุดการทดสอบครึ่งทาง - หมายถึงฉันสามารถดูว่าการยืนยันที่เฉพาะเจาะจงผ่าน / ล้มเหลวได้อย่างรวดเร็วโดยไม่ต้องแก้จุดบกพร่องเพื่อพิสูจน์มัน
นี่เป็นส่วนเล็ก ๆ ของภูเขาน้ำแข็งสำหรับฉันอย่างที่ฉันสังเกตเห็นว่าฉันสามารถดีบักทั้งรหัสทดสอบและการติดตั้งในลักษณะที่ตรงเป้าหมายมากขึ้นด้วยผลลัพธ์ที่ทำให้ประสิทธิภาพการทำงานของฉันเติบโตขึ้นอย่างมีนัยสำคัญ กำหนดได้อย่างง่ายดายว่ามีข้อผิดพลาดเกิดขึ้นที่ใดหากมีปัญหาเกิดขึ้นเพื่อให้สามารถสร้างการรวมได้เนื่องจากเอาท์พุทที่เข้าสู่บันทึกการสร้าง นอกจากนี้ StoryQ api มีไวยากรณ์ที่ไพเราะน่ารักซึ่งง่ายต่อการเรียนรู้และสามารถนำไปใช้ได้หลายวิธีโดยไม่ต้องพึ่งพาภายนอกเพื่อใช้งาน
ดังนั้นด้วยผลประโยชน์ทั้งหมดนี้คุณจะคิดว่ามันง่ายที่จะแนะนำแนวคิดให้กับทีมอื่น ๆ น่าเสียดายที่สมาชิกในทีมคนอื่น ๆ ยังลังเลที่จะดู StoryQ เพื่อประเมินมันอย่างถูกต้อง (ให้ความบันเทิงกับความคิดในการใช้ BDD) และเชื่อมั่นซึ่งกันและกันเพื่อลองและลบองค์ประกอบของ StoryQ ออกจากกรอบการทดสอบหลักของเราเอง แม้ว่าในตอนแรกพวกเขาจะสนับสนุนการใช้ StoryQ และแม้ว่ารหัสที่พวกเขาต้องการลบจะไม่ส่งผลกระทบต่อส่วนอื่น ๆ ของระบบการทดสอบของเรา การทำเช่นนั้นจะเป็นการเพิ่มปริมาณงานโดยรวมอย่างมีนัยสำคัญและขัดต่อธัญพืชจริง ๆ เพราะฉันเชื่อมั่นในประสบการณ์จริงว่าเป็นวิธีที่ดีกว่าในการทำงานในลักษณะการทดสอบครั้งแรกในสภาพแวดล้อมการทำงานเฉพาะของเราและสามารถนำไปสู่ การปรับปรุงคุณภาพของซอฟต์แวร์ของเราเนื่องจากฉัน เราพบว่าง่ายต่อการติดกับการทดสอบครั้งแรกโดยใช้ BDD เพื่อชี้แจงเพิ่มเติมส่วนใหญ่ของการทดสอบหน่วยที่เรามีแนวโน้มที่จะค่อนข้างเปราะบางและยากที่จะรักษาเป็นโฮลดิ้งจากปีของการทดสอบที่ใช้ไม่ดีที่ไม่เต็มใจที่จะยึดติดกับกระบวนการทดสอบขับเคลื่อนได้เห็นนักพัฒนาถอยกลับ ทำการทดสอบทั้งหมดเมื่อสิ้นสุดโครงการ (บุคคลเดียวกันนี้อ้างว่าเป็น Agile!)
ดังนั้นคำถามจริง ๆ มีดังต่อไปนี้:
- ฉันสามารถใช้ข้อโต้แย้งอะไรในการผลักดันจุดกลับบ้านจริง ๆ ว่ามันจะดีกว่าสำหรับทีมนี้ที่จะใช้ StoryQ หรืออย่างน้อยที่สุดก็เพื่อใช้ระเบียบวิธี BDD?
- คุณสามารถชี้ให้ฉันเห็นหลักฐานใด ๆ ที่ฉันสามารถใช้เพื่อสนับสนุนการโต้แย้งของฉันที่จะนำ BDD มาใช้เป็นวิธีมาตรฐานที่เราเลือกได้หรือไม่?
- คุณคิดว่าการโต้แย้งแย้งนั้นสามารถแนะนำว่าความปรารถนาของฉันในการสนับสนุนให้ทีมนำ BDD มาใช้อาจมีข้อผิดพลาดหรือไม่? ใช่ฉันมีความสุขที่จะได้รับการพิสูจน์ผิดหากอาร์กิวเมนต์เป็นเสียงหนึ่ง
หมายเหตุ : ฉันไม่ได้สนับสนุนให้เราเขียนการทดสอบของเราใหม่ทั้งหมด แต่ให้เริ่มต้นการทำงานในลักษณะที่แตกต่างกันสำหรับการทดสอบในอนาคตทั้งหมดและควรใช้วิธีที่เราดึงดูดลูกค้า
และสำหรับผู้ที่ต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ BDD ลิงก์ต่อไปนี้อาจมีประโยชน์:
- http://dannorth.net/introducing-bdd/
- http://en.wikipedia.org/wiki/Behaviour_driven_development
- http://behaviour-driven.org/Introduction
สำหรับผู้ที่สนใจรายละเอียดเพิ่มเติมเราเป็นทีมขนาดเล็ก 4 คนที่ทำงานเกี่ยวกับ 5 โครงการขนาดใหญ่ "การทดลองใช้นักบิน" สำหรับ BDD นั้นใช้เวลาประมาณ 2 เดือนในขั้นต้นและอีกประมาณ 4 เดือนหลังจาก ทีมยอมรับว่าฉันควรทำงานนี้ต่อไปและทำการทดลองด้วยตัวเอง ฉันใช้ BDD มาประมาณ 2 ปีแล้วตั้งแต่การทดลองสิ้นสุดลงในขณะที่คนอื่น ๆ ก็เก่งเรื่องการอ่าน แทนที่จะบังคับให้ "เผชิญหน้า" กับเรื่องนี้ฉันกำลังมองหาวิธีที่จะโน้มน้าวให้ทีมค่อยๆละทิ้งกลุ่มของพวกเขาและทำเวลาที่จะทำ