ฉันต้องการเรียนรู้ (และอาจารย์) TDD อะไรที่ดีที่สุด:
- หนังสือ
- เว็บไซต์
- วิดีโอ
- รายการออกกำลังกาย
- คำพูดส่วนบุคคลของภูมิปัญญา
สำหรับการเรียนรู้การแข็งค่าและการใช้ TDD?
ฉันต้องการเรียนรู้ (และอาจารย์) TDD อะไรที่ดีที่สุด:
สำหรับการเรียนรู้การแข็งค่าและการใช้ TDD?
คำตอบ:
โดยส่วนตัวแล้วฉันพบว่าการอ่านบทความ JUnit หนึ่งหรือสองรายการที่เน้นว่า "คุณเขียนแบบทดสอบก่อนรหัส" ก็เพียงพอที่จะเริ่มต้นได้
ส่วนที่สำคัญที่สุดในการเรียนรู้เทคโนโลยีนี้คือการเขียนรหัสทดสอบจำนวนมากเพราะคุณจำเป็นต้องเปลี่ยนวิธีพื้นฐานที่สุดที่คุณคิดว่าจะเขียนโค้ด สิ่งที่ชอบ:
สถานที่ที่ดีที่สุดในการเริ่มต้นเล็ก ๆ ก็คือกิจวัตรของคุณ ครั้งต่อไปที่คุณต้องการแล้วแค่ออกแบบด้วยการทดสอบก่อนเขียนการทดสอบมากมายที่ครอบคลุม usecases อย่างเป็นทางการทั้งหมดของคุณ (รวมถึงสิ่งที่ควรเกิดขึ้นกับค่า null ที่ผ่านไปและอื่น ๆ ) และเมื่อทุกกรณีการใช้งานถูกนำมาใช้ มันโดยตรงในรหัสของคุณและมั่นใจว่ามันทำงานได้ตามที่คาดไว้
นอกจากนี้ยังเป็นประสบการณ์ของฉันที่การทดสอบที่ดีสามารถทำงานเพิ่มเติมเป็นเอกสารได้เนื่องจากคุณมีรหัสที่รัดกุมมากที่บอกว่ารหัสนั้นทำงานอย่างไรในสถานการณ์ต่าง ๆ ซึ่งสามารถพิสูจน์ได้อย่างง่ายดายว่าถูกต้อง (แถบสีเขียว) ด้วยความคิดเห็นที่รอบคอบคุณไม่ได้ดีไปกว่านี้
สำหรับ Java jUnit เวอร์ชัน 4 นั้นดีจริงๆ
ในความคิดของฉันTDD นั้นเกี่ยวกับการทำให้โค้ดทดสอบได้มากกว่าการเขียนแบบทดสอบ
แน่นอนว่าคุณสามารถเขียนการทดสอบก่อนการเขียนโค้ด แต่เหตุผลทั้งหมดที่เขียนนั้นมีไว้เพื่อให้คุณสามารถเขียนโค้ดได้ซึ่งจะไม่ทำให้คุณหยุดเขียนโค้ดที่ยากต่อการทดสอบ
ลองดูที่นี่เพื่อรับความรู้สึกที่ดีขึ้นในสิ่งที่ฉันหมายถึง: Unified Theory of Bugs
หากคุณสนใจแนวคิดนี้และต้องการเรียนรู้เพิ่มเติมเพียงแสดงความคิดเห็นและฉันจะชี้ให้คุณเห็นทิศทางการนำเสนอที่บันทึกไว้ในหัวข้อจาก Google
UPDATE:
วิธีการเขียนโค้ดที่สะอาดและสามารถทดสอบได้
Miško Hevery Presenting (โดยGoogleTechTalks ) ที่Google ใน NYCและได้รับการสนับสนุนจากกลุ่ม Google Engineering Engineering Group
นอกเหนือจากบางส่วนของหนังสือที่กล่าวมาแล้วจะสามารถแนะนำการเจริญเติบโตซอฟต์แวร์เชิงวัตถุแนะนำโดยการทดสอบ ฉันยังอ่านไม่เสร็จ แต่มันเป็นการอ่านที่มีค่ารวมถึงเรื่องราวของโครงการ TDD ที่เหมือนจริงทั้งหมดไม่ใช่แค่ตัวอย่างโค้ดที่ง่ายขึ้น
ฉันอ่านหนังสือสองเล่ม:
ทดสอบขับเคลื่อนการพัฒนา: ตามตัวอย่างโดยเคนท์เบ็คและ
กรอบการทดสอบหน่วยโดย Paul Hamil
หนังสือ Beck ได้รับการยกย่องอย่างดี แต่ฉันไม่ได้เริ่มต้นด้วยการทดสอบหน่วยจนกว่าฉันจะอ่าน "กรอบการทดสอบหน่วย" ฉันทำ TDD บางตัว แต่ฉันยังเพิ่มการทดสอบในรหัสเก่าที่ฉันต้องรักษาไว้ (เมื่อฉันทำได้)
แก้ไข: นอกจากนี้เมื่อคุณได้รับการจัดการกับมันฉันขอแนะนำให้ใช้มันในโครงการปัจจุบันทันที สำหรับฉันนั่นคือเมื่อการเรียนรู้จริงเกิดขึ้นและฉันคิดว่าหนังสือ "กรอบการทดสอบหน่วย" เป็นหนังสืออ้างอิงที่ดีกว่าสำหรับจุดประสงค์นี้ (ฉันใช้ nunit กับ C #)
แม้ว่าจะไม่ได้เกี่ยวกับ TDD เป็นหลัก (แม้ว่าจะสัมผัสกับมันรวมถึงการออกแบบเพื่อการทดสอบ), ศิลปะของการทดสอบหน่วยเป็นหนังสือที่ฉันอยากจะแนะนำเพราะมันสอนวิธีการเขียนการทดสอบที่ดี
โดยเฉพาะอย่างยิ่งมันสอนวิธีการสร้างการทดสอบที่เชื่อถือได้บำรุงรักษาและสามารถอ่านได้ ฉันคิดว่านี่เป็นส่วนที่สำคัญที่สุดของหนังสือนอกเหนือจากพื้นฐานการทดสอบหน่วยและกรอบการแยก เห็นได้ชัดว่าหากการทดสอบหน่วยเป็นจุดปวดหรือเพิ่มแรงเสียดทานให้กับงานของนักพัฒนาความสำเร็จหรือผลประโยชน์ใด ๆ จากพวกเขาจะถูก จำกัด หากมีการลงทุนเวลาและความพยายามในการสร้างแบบทดสอบเขาควรจะได้รับผลตอบแทนสูงสุดจากการลงทุนนั้น