# รายงานผลทดสอบ Edge Case — PowerTools Competitor Monitor

> ทดสอบโดยทีม AICE ก่อนส่งมอบ · เกณฑ์ผ่าน = พฤติกรรมตรงกับที่ออกแบบ

| # | กรณีทดสอบ | ผลที่คาดหวัง | ผล |
|---|---|---|---|
| 1 | ราคาปกติ scrape ได้ | บันทึก Results · Status=Success | ✅ ผ่าน |
| 2 | price selector หาย (selector drift) | Status=Selector Error + alert "scraper มีปัญหา" | ✅ ผ่าน |
| 3 | เว็บล่ม / timeout | tenacity retry 3 ครั้ง → ถ้ายังไม่ได้ Status=Timeout + alert | ✅ ผ่าน |
| 4 | ราคามีสัญลักษณ์ "฿1,290.00" | _parse_price → 1290.0 | ✅ ผ่าน |
| 5 | คู่แข่งถูกกว่าเรา ≥10% | Telegram alert "คู่แข่งตัดราคา" | ✅ ผ่าน |
| 6 | คู่แข่ง restock (Out→In) | StockChanged=YES + alert "เติมของ" | ✅ ผ่าน |
| 7 | เว็บเดียวล่ม | run ไม่ abort · เว็บอื่น scrape ต่อ | ✅ ผ่าน |
| 8 | ยิงถี่เกินไป (anti-ban) | REQUEST_DELAY_SEC หน่วงระหว่าง request | ✅ ผ่าน |
| 9 | Google Sheets API quota | batch append_rows ครั้งเดียวต่อ run | ✅ ผ่าน |
| 10 | run แรก (ยังไม่มี Results เก่า) | _prev_stock_map ไม่ error · ข้าม restock detection | ✅ ผ่าน |
| 11 | ส่ง Telegram ไม่ได้ | log error ลง Cloud Logging · ไม่ crash ทั้ง run | ✅ ผ่าน |

**สรุป:** ผ่าน 11/11 — ออกแบบให้ "เว็บเดียวล่มไม่ทำให้ทั้งระบบพัง" และ "ความผิดปกติถูกแจ้งเสมอ ไม่เงียบหาย"
