การทดสอบการถดถอย
มันเป็นเรื่องของการทดสอบการถดถอย
ลองนึกภาพนักพัฒนาคนต่อไปที่ดูวิธีการของคุณและสังเกตว่าคุณกำลังใช้ตัวเลขเวทย์มนตร์ เขาบอกว่าตัวเลขเวทย์มนตร์ชั่วร้ายดังนั้นเขาจึงสร้างค่าคงที่สองอันหนึ่งอันสำหรับหมายเลขสองอีกอันหนึ่งสำหรับหมายเลขสาม - ไม่มีอะไรผิดปกติในการเปลี่ยนแปลงนี้ ไม่ใช่ว่าเขากำลังแก้ไขการใช้งานที่ถูกต้องของคุณ
เมื่อถูกวอกแวกเขากลับค่าคงที่สองค่า
เขายอมรับรหัสและทุกอย่างดูเหมือนจะทำงานได้ดีเพราะไม่มีการทดสอบการถดถอยทำงานหลังจากการกระทำแต่ละครั้ง
วันหนึ่ง (อาจเป็นสัปดาห์ต่อมา) มีบางอย่างหยุดพักที่อื่น และที่อื่น ๆ ฉันหมายถึงที่ตั้งตรงข้ามกับฐานรหัสซึ่งดูเหมือนจะไม่มีส่วนเกี่ยวข้องกับpolynominal
ฟังก์ชั่น ชั่วโมงแห่งการแก้จุดบกพร่องอันเจ็บปวดนำไปสู่ผู้ร้าย ในช่วงเวลานี้แอปพลิเคชันยังคงล้มเหลวในการผลิตทำให้เกิดปัญหามากมายกับลูกค้าของคุณ
การรักษาแบบทดสอบดั้งเดิมที่คุณเขียนไว้สามารถป้องกันความเจ็บปวดได้ ผู้พัฒนาที่ฟุ้งซ่านจะส่งรหัสและเกือบจะในทันทีเห็นว่าเขาทำอะไรบางอย่างผิดปกติ รหัสดังกล่าวจะไม่ถึงขั้นตอนการผลิตด้วยซ้ำ การทดสอบหน่วยนอกจากนี้จะแม่นยำมากเกี่ยวกับสถานที่ของข้อผิดพลาด การแก้มันคงไม่ยาก
ผลข้างเคียง ...
ที่จริงแล้วการปรับโครงสร้างส่วนใหญ่ขึ้นอยู่กับการทดสอบการถดถอยอย่างมาก ทำการเปลี่ยนแปลงเล็กน้อย ทดสอบ. ถ้ามันผ่านไปทุกอย่างก็โอเค
ผลข้างเคียงคือถ้าคุณไม่มีการทดสอบดังนั้นการปรับโครงสร้างใด ๆ จะกลายเป็นความเสี่ยงอย่างมากในการทำลายรหัส เนื่องจากมีหลายกรณีจึงเป็นการยากที่จะอธิบายให้ผู้บริหารทราบว่าควรทำการปรับโครงสร้างซ้ำแล้วซ้ำอีกจะทำได้ยากขึ้นหลังจากความพยายามในการปรับโครงสร้างครั้งก่อนของคุณแนะนำข้อบกพร่องหลายข้อ
เมื่อมีชุดการทดสอบที่สมบูรณ์คุณจะได้รับการกระตุ้นการสร้างใหม่และรหัสที่ดีกว่า ปราศจากความเสี่ยงจะดึงดูดให้มีการปรับโครงสร้างมากขึ้นอย่างสม่ำเสมอ
การเปลี่ยนแปลงข้อกำหนด
อีกแง่มุมที่สำคัญคือความต้องการที่เปลี่ยนแปลง คุณอาจถูกขอให้จัดการตัวเลขที่ซับซ้อนและทันใดนั้นคุณต้องค้นหาบันทึกการควบคุมเวอร์ชันของคุณเพื่อค้นหาการทดสอบก่อนหน้าเรียกคืนพวกเขาและเริ่มเพิ่มการทดสอบใหม่
ทำไมความวุ่นวายทั้งหมดนี้? เหตุใดจึงต้องลบการทดสอบเพื่อเพิ่มในภายหลัง คุณสามารถเก็บมันไว้ตั้งแต่แรก