# Pipeline ทดสอบที่ซ่อมแซมตัวเอง SUMMARY: สร้าง pipeline ทดสอบที่เรียนรู้จากความล้มเหลวและปรับตัวอัตโนมัติโดยใช้ Synapse memory Pipeline ทดสอบที่ซ่อมแซมตัวเอง test suite แบบดั้งเดิมจะพังเมื่อ UI เปลี่ยน การทดสอบที่ซ่อมแซมตัวเองใช้ Synapse memory เพื่อเรียนรู้จากความล้มเหลวในอดีตและปรับตัว — ลด flaky test และภาระการบำรุงรักษา แนวคิด [CODE BLOCK] 1. ทดสอบรัน 2. หากล้มเหลว เก็บความล้มเหลว (อะไรผิด, ทำไม, วิธีแก้) 3. รันครั้งต่อไป: recall ความล้มเหลวที่เกี่ยวข้องก่อนปฏิบัติ 4. ปรับใช้วิธีแก้ที่รู้โดยอัตโนมัติ การ implement ขั้นตอนที่ 1: Test Wrapper ห่อหุ้มการทดสอบแต่ละครั้งด้วยการ recall/store memory: [CODE BLOCK] ขั้นตอนที่ 2: Adaptive Test Logic ภายในการทดสอบ ตรวจสอบความล้มเหลวที่รู้และปรับใช้วิธีแก้: [CODE BLOCK] ขั้นตอนที่ 3: กลยุทธ์การกู้คืน เก็บกลยุทธ์การกู้คืนเป็น memory: [CODE BLOCK] ขั้นตอนที่ 4: CI Integration [CODE BLOCK] ขั้นตอนที่ 5: Failure Analysis Dashboard [CODE BLOCK] แนวทางปฏิบัติที่ดีที่สุด > [!TIP] > - เก็บ traceback — มีบรรทัดที่ล้มเหลวที่แน่นอน > - tag ตามชื่อการทดสอบ — เปิดใช้งานการกรองที่รวดเร็ว > - ใช้ category — แยกจาก memory ปกติ > - ตั้ง priority — ความล้มเหลวไม่ควรถูกลืม > - ทำความสะอาดเป็นคาบ — ลบ memory สำหรับปัญหาที่แก้แล้ว > - อย่าเก็บข้อมูล sensitive — credential, PII รูปแบบความล้มเหลวทั่วไปที่ควรเก็บ | ประเภทความล้มเหลว | สิ่งที่ควรเก็บ | |--------------|---------------| | Element not found | selector ที่ลอง, สถานะหน้า, screenshot | | Timeout | เวลารอ, สิ่งที่กำลังรอ | | Assertion failed | ค่าที่คาดหวัง vs ค่าจริง | | Network error | URL, status code, response body | | Permission denied | permission ที่ต้องการ, role ผู้ใช้ปัจจุบัน | ขั้นตอนถัดไป - Automated iOS Testing - Memory Best Practices - Error Recovery Cookbook