ฉันต้องการเริ่มใช้ TDD มีเคล็ดลับสำหรับผู้เริ่มต้นไหม? [ปิด]


27

ฉันไม่เคยใช้กลไกทดสอบอัตโนมัติในโครงการใด ๆ ของฉันและฉันรู้สึกว่าขาดอะไรมากมาย ฉันต้องการปรับปรุงตัวเองดังนั้นฉันจึงต้องเริ่มแก้ไขปัญหาบางอย่างที่ฉันละเลยไปเช่นนี้และลองใช้ Git แทนที่จะติดอยู่ที่ SVN

เป็นวิธีที่ดีในการเรียนรู้ TDD อะไร ฉันอาจจะใช้ Eclipse เพื่อเขียนโปรแกรมใน Java ฉันเคยได้ยิน JUnit แล้ว แต่ฉันไม่รู้ว่าควรพิจารณาเรื่องอื่นอีกไหม

คำตอบ:


15

คุณสามารถเริ่มต้นด้วยการทำงานบนกาตะเข้ารหัส เลือกอัลกอริทึม (เช่นการแปลงตัวเลขทศนิยมเป็นโรมันการให้คะแนนเกมโบว์ลิ่งเกมชีวิตของคอนเวย์ ฯลฯ ) และลองใช้ TDD เพื่อแก้ปัญหา

โครงสร้างโซลูชันของคุณน่าจะง่ายมาก (ง่ายกว่ารหัสการผลิตในโลกแห่งความเป็นจริงของคุณ): คลาสหนึ่งสำหรับฟิกซ์เจอร์ทดสอบและอีกหนึ่งคลาสที่มีอัลกอริทึมภายใต้การทดสอบ และชั้นภายใต้การทดสอบไม่มีการอ้างอิงที่เป็นบวกอีก คุณสามารถใช้ความเรียบง่ายของการตั้งค่านี้เพื่อหยุดการวนลูปสีแดง - เขียว - refactor อย่างรวดเร็ว

เครื่องมือใดที่คุณใช้สำหรับ katas TDD ของคุณไม่สำคัญตราบใดที่คุณยึดติดกับหลักการ อย่างไรก็ตามปลั๊กอิน JUnit สำหรับ Eclipse นั้นใช้งานง่ายมากดังนั้นจึงเป็นตัวเลือกที่ยอดเยี่ยม


8

ทำความคุ้นเคยกับAAAอ่านเกี่ยวกับเรื่องนี้อ่านเกี่ยวกับปัญหาที่มาพร้อมกับการพัฒนาแบบทดสอบ ( การออกแบบเพื่อความสามารถในการทดสอบเทียบกับเครื่องมือที่มีราคาสูงเพื่อให้การออกแบบไม่สำคัญ) เรียนรู้การพึ่งพาการฉีดเพื่อให้การลบการอ้างอิงภายนอกสำหรับการทดสอบกลายเป็นเรื่องง่าย

นี่เป็นภาพรวมที่ดีของบันทึกย่อที่ฉันได้รับขณะอ่านศิลปะการทดสอบหน่วย

http://imaginarydevelopment.blogspot.com/2010/01/unit-testing-reference.html


1
+1 สำหรับการแนะนำศิลปะแห่งการทดสอบหน่วย ในความคิดของฉันหนึ่งในหนังสือที่ดีที่สุดที่จะอธิบายการทดสอบหน่วยโดยไม่ทำให้ผู้อ่านกลัว
Anne Schuessler

6

ไม่มีอะไรทดแทนได้เพียงแค่จับสายรัดทดสอบ (เช่น NUnit) อ่านหนังสือบางเล่มแล้วทำให้มือของคุณสกปรก

ดังที่เจมส์ตันเคิร์กเคยกล่าวไว้ว่า "เราเรียนรู้ด้วยการทำ"


4

ฉันขอแนะนำหนังสือเล่มนี้: การพัฒนาซอฟต์แวร์เชิงวัตถุแนะนำโดยการทดสอบ

มันมีตัวอย่างการทำงานที่วิ่งผ่านหนังสือเล่มนี้และให้มุมมองที่สอดคล้องกันมากว่าเมื่อใดควรสร้างการทดสอบสิ่งที่พวกเขาควรจะมีและวิธีที่พวกเขาควรจะสร้างและปรับโครงสร้าง


-3

ตรวจสอบลิงค์นี้ มันเป็นบล็อกของ Bob Martin ใน TDD - สิ่งที่ยอดเยี่ยมที่จะทำให้คุณเข้าใจ


2
บรรทัดแท็กของบล็อกในคำพูดของลุงบ็อบคือ "งานเขียนเกี่ยวกับ Clean Code, การออกแบบและซอฟต์แวร์ทุกอย่าง" เนื้อหาของบล็อกนั้นกว้างกว่าของ "เคล็ดลับใด ๆ สำหรับผู้เริ่มต้น [ใน TDD]"
azheglov
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.