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