วิศวกรรมซอฟต์แวร์
วินิจฉัยบั๊กซอฟต์แวร์ด้วยสมมติฐานคู่แข่ง
บั๊กที่ทำซ้ำได้ พร้อมคำอธิบายสาเหตุรากที่รองรับ และการแก้เล็กที่ตรวจแล้ว หรือการสอบสวนถัดไปที่ขอบชัด
กระบวนการ
ทำตามลำดับนี้
- จับอาการ พฤติกรรมที่คาด สภาพแวดล้อม เวลา และการทำซ้ำที่เล็กที่สุดที่ทราบ โดยไม่เปลี่ยนระบบ
- รวบรวมบันทึก รอย อินพุตที่ล้มเหลว การเปลี่ยนล่าสุด และกรณีควบคุม แยกข้อเท็จจริงที่สังเกตจากการตีความ
- เขียนรายการสาเหตุที่น่าเชื่อสั้นที่จัดอันดับ และระบุการทดสอบแยกหนึ่งอย่างต่อข้อ
- รันการทดลองรุกล้ำน้อยที่สุดที่ตัดหรือรับสมมติฐาน โดยเปลี่ยนตัวแปรทีละอย่าง
- ย่อการทำซ้ำและระบุส่วนที่ผิด แล้วเพิ่มการทดสอบถดถอยที่ล้มเหลวก่อนแก้
- ใช้การแก้ที่เล็กที่สุด รันการทดสอบถดถอยและชุดรอบข้าง และบันทึกสาเหตุราก หลักฐาน และความเสี่ยงคงเหลือ
เตรียมสิ่งนี้
ข้อมูลที่แมวจะขอ
- รายงานข้อบกพร่องหรืออาการ
- สิทธิโค้ดและหลักฐานรันไทม์ที่เกี่ยวข้อง
- พฤติกรรมที่คาด
- สภาพแวดล้อมทำซ้ำที่ปลอดภัย
เราเตอร์ + playbook เดียว
จัดเส้นทางก่อน เลือกอันเดียว
Cat Paw โหลด playbook เดียวต่องาน ไม่ผสมหลายอัน เริ่มที่เราเตอร์นี้ เส้นทางที่เหลือเป็นตัวเลือกเฉพาะ workflow
- เราเตอร์:
engineering-pack skills/engineering/mattpocock/diagnosing-bugs/SKILL.md
เส้นเขต
ขอบเขตเดินทางไปกับพรอมต์
- อย่าแก้ระบบผลิตขณะยังเก็บหลักฐานเส้นฐาน เว้นแต่การลดได้รับอนุญาตชัด
- ถือความสัมพันธ์เป็นสมมติฐาน ไม่ใช่สาเหตุราก
- ปกปิดความลับและข้อมูลส่วนตัวจากบันทึกและรายงาน
เสร็จหมายถึง
จุดจบที่ตรวจได้
ข้อบกพร่องทำซ้ำได้ การทดสอบถดถอยแสดงให้เห็น สาเหตุที่ระบุมีหลักจากการทดลอง และการแก้ผ่านชุดที่เกี่ยวข้อง หรือสิ่งขวางที่บันทึกตั้งชื่อการทดสอบแยกถัดไป
แหล่งที่มา
กระบวนการนี้มาจากไหน
แหล่งที่มาตั้งรูปแบบของ workflow โพสต์ Reddit และชุมชน ถ้ามี ให้ถือเป็นเรื่องเล่าจากผู้ปฏิบัติ ไม่ใช่ข้อเท็จจริงสากล