สเปกก่อนมี VIN
Sales เลือกรุ่นและสีก่อน แล้วส่งไปสถานะรอผู้จัดรถ ระบบระบุว่าสามารถทำข้อเสนอต่อได้โดยยังไม่มีเลขตัวถัง
UAT · 12 กันยายน 2569
งานขาย ข้อมูลรถ เงินจอง เอกสาร และการส่งมอบ
แก้ P1 ทั้ง 4 รายการ และยืนยันเส้นทางขายครบวงจรก่อนรับรอง
รวม 65 เคส · ผ่าน 40 จาก 55 เคสที่ตัดสินผลได้ (72.7%)
ผลจากการทดสอบผ่านหน้าจอ ยังไม่ใช่การรับรองจากเจ้าของธุรกิจ · ดูคำแนะนำพัฒนาระบบ →
ภาพรวมจากเมนูและข้อมูลที่สำรวจจริง
| ส่วนระบบ | หน้าที่และสิ่งที่สังเกตได้ |
|---|---|
| Admin · ภาพรวม | ดูยอดขาย Pipeline ผลงานสาขา และรายงานสถานะ ใช้ข้อมูลก่อนสร้างดีล UAT เป็น baseline 66 รายการ: Active 64, Completed 1, Cancelled 1 |
| Sales · งานขาย | ลูกค้า → เลือกรุ่น/สี → ข้อเสนอ → เช็คไฟแนนซ์ → ใบจอง → ยื่นไฟแนนซ์ → เตรียมรถ → ออกรถ/ปิดงาน |
| Sales · สต็อกและลูกค้า | ค้นหาสต็อกทั้งเครือตามรุ่น/สีและขุมพลัง ดูวงเงินต่อรุ่น จัดการข้อมูลลูกค้า และอ่านสถานะเตรียมรถ |
| Admin · Catalog | ลำดับข้อมูลแบรนด์ → รุ่น → รุ่นย่อย → คัน/VIN แยกสถานะพร้อมขาย จอง ขายแล้ว และคิวผลิต |
| Admin · เงื่อนไขขาย | แคมเปญ OEM/ดีลเลอร์ ผู้ให้บริการ ต้นทุนของแถม ผู้รับผิดชอบ และราคาหรือวงเงินจาก default/ล็อต |
| Admin · การจัดการ | ข้อมูลสาขา 3 แห่ง สิทธิ์ผู้ใช้ 5 บทบาท ประวัติแก้ไข ค่าเงินจองและบัญชีบริษัท |
| ส่งมอบและค่าตอบแทน | Admin ดูคิวรวม; Delivery ทำ PDI/ส่งมอบ/CSAT; Payroll อ้างอิงงานที่ปิด แต่ไม่พบรายการพร้อมทดสอบรอบนี้ |
| ห้องลูกค้า | ดูรุ่น ลูกค้า ยอดจอง QR และแนบสลิป; รอบนี้ตรวจการเปิดลิงก์และหน้าจอ โดยไม่แจ้งชำระ |
Sales เลือกรุ่นและสีก่อน แล้วส่งไปสถานะรอผู้จัดรถ ระบบระบุว่าสามารถทำข้อเสนอต่อได้โดยยังไม่มีเลขตัวถัง
Step 5 แสดงใบจองและยอดจอง 5,000 บาท พร้อมลิงก์แจ้งชำระ เมื่อยังรอเงินจอง ปุ่มปกติไปขั้นถัดไปถูกปิดไว้
มีแคมเปญตามช่วงเวลาและสิทธิ์พิเศษรายดีล เมื่อเข้าสู่ใบจองมี Audit บันทึกการล็อกวงเงิน/ต้นทุน
| บทบาท | สถานะการตรวจ | ขอบเขต |
|---|---|---|
| Admin | ทดสอบแล้ว | ภาพรวมทั้งเครือ Catalog ราคา ผู้ใช้ การตั้งค่า Audit และรายละเอียดดีล |
| Sales | ทดสอบแล้ว | งานของตนเอง สต็อก ลูกค้า ข้อเสนอ/ใบจอง และสถานะเตรียมรถ |
| Delivery | ทดสอบแล้ว | รายการงาน รายละเอียด PDI ส่งมอบ ประวัติ และหน้าคะแนน CSAT |
| Manager | ยังไม่ทดสอบ | พบในรายการบทบาท; ต้องมีบัญชีและเกณฑ์อนุมัติ |
| Allocator | ยังไม่ทดสอบ | พบในรายการบทบาท; ต้องมีบัญชีและชุดทดสอบจัด VIN |
| ลูกค้า | ทดสอบหน้า payment | เปิดผ่านลิงก์ดีลสังเคราะห์; ไม่ส่งข้อมูลชำระหรือเอกสารจริง |
| ส่วนระบบ | ผ่าน | ไม่ผ่าน | ติดเงื่อนไข | ยังไม่ทดสอบ |
|---|---|---|---|---|
| Access | 8 | — | 1 | 1 |
| Administration | 3 | — | — | 1 |
| Booking | 1 | 1 | 1 | 1 |
| Catalog | 3 | — | — | — |
| Customer | 2 | 2 | — | 1 |
| Delivery | 5 | 1 | 1 | — |
| Documents | 1 | 3 | — | — |
| Finance | 2 | 2 | 1 | — |
| Non-functional | — | — | — | 1 |
| Overview | 2 | 3 | — | — |
| Pricing | 6 | 1 | — | — |
| Responsive | 1 | 1 | — | — |
| Sales | 4 | — | — | — |
| Stock | 2 | — | — | — |
| Workflow | — | 1 | 1 | — |
คลิกชื่อเคสเพื่ออ่านวิธีทดสอบ ผลที่คาดหวัง ผลจริง และหลักฐาน
| รหัส | ส่วน / บทบาท | กรณีทดสอบและรายละเอียด | ผล |
|---|---|---|---|
| UAT-001 | Access ทุกบทบาท | ฟอร์มเข้าสู่ระบบว่างFunctional วิธีทดสอบเปิดหน้าแรกโดยยังไม่กรอกข้อมูล ผลที่คาดหวังปุ่มเข้าสู่ระบบยังไม่พร้อมใช้งาน ผลที่พบจริงปุ่มถูก disabled จนมีข้อมูลอีเมลและรหัสผ่าน | PASS · ผ่าน |
| UAT-002 | Access Admin | เข้าสู่ระบบ Demo AdminFunctional วิธีทดสอบเลือก Admin → กรอกรหัส Demo → เข้าสู่ระบบ ผลที่คาดหวังเห็นหน้า Dashboard และเมนู Admin ผลที่พบจริงเข้าสู่ /dashboard และแสดงบทบาท Admin | PASS · ผ่าน |
| UAT-003 | Access Admin | ปฏิเสธรหัสผ่านไม่ถูกต้องFunctional วิธีทดสอบเลือก Demo Admin → ใช้ รหัสผ่านที่ไม่ถูกต้อง → เข้าสู่ระบบ ผลที่คาดหวังไม่สร้างเซสชันและแจ้งข้อผิดพลาด ผลที่พบจริงแสดง Invalid email or password และยังอยู่หน้า Login | PASS · ผ่าน |
| UAT-004 | Access Admin | Logout และเปิด URL ที่ต้องมีสิทธิ์Functional วิธีทดสอบLogout → เปิด /users โดย URL ตรง ผลที่คาดหวังกลับหน้า Login ผลที่พบจริงไม่แสดงข้อมูลผู้ใช้และกลับหน้า / | PASS · ผ่าน |
| UAT-005 | Access Sales | เข้าสู่ระบบ Demo SalesFunctional วิธีทดสอบเลือก Demo Sales → เข้าสู่ระบบ ผลที่คาดหวังมีเมนูงานขาย สต็อก ลูกค้า และเตรียมรถ ผลที่พบจริงเข้าสู่ /stock พร้อมหัวข้อ Sales และเมนูของบทบาท | PASS · ผ่าน |
| UAT-006 | Access Delivery | เข้าสู่ระบบ Demo DeliveryFunctional วิธีทดสอบเลือก Demo Delivery → เข้าสู่ระบบ ผลที่คาดหวังแสดง Delivery Console และงานของผู้ใช้ ผลที่พบจริงเข้าสู่ /tasks และพบงานที่มอบหมาย | PASS · ผ่าน |
| UAT-007 | Access Sales | Sales เปิดหน้าผู้ใช้งานโดย URL ตรงFunctional วิธีทดสอบเข้าสู่ Sales → เปิด /users ผลที่คาดหวังปฏิเสธสิทธิ์โดยไม่ทำให้เซสชันหลุด ผลที่พบจริงไป /no-access?from=%2Fusers และกลับไปงานขายได้ | PASS · ผ่าน |
| UAT-008 | Access Delivery | PASS · ผ่าน | |
| UAT-009 | Access Sales | อ่านงานขายข้ามเจ้าของและข้ามสาขาสิทธิ์ที่ต้องยืนยัน วิธีทดสอบผู้ใช้ Sales → เปิด /deals/[ตัวอย่าง] ของผู้ขายอีกคน สาขารังสิต ผลที่คาดหวังเทียบกับตารางสิทธิ์ที่เจ้าของระบบรับรอง ผลที่พบจริงอ่านรายละเอียดรถ งานเตรียม และข้อมูลกำไร ได้จริง แต่ยังไม่มี RBAC matrix เพื่อฟันธงว่าเป็นสิทธิ์ที่ตั้งใจหรือไม่; ไม่ทดสอบแก้ไขดีลนี้ | BLOCKED · ติดเงื่อนไข |
| UAT-010 | Overview Admin | โหลด Dashboard และตัวชี้วัดหลักSmoke วิธีทดสอบเปิด /dashboard หลังเข้าสู่ระบบ ผลที่คาดหวังแสดงยอดขาย สต็อก Pipeline สาขา และการเงิน ผลที่พบจริงส่วนหลักโหลดได้; นับเฉพาะการแสดงผล ไม่รับรองแหล่งข้อมูล AI/ตลาด | PASS · ผ่าน |
| UAT-011 | Overview Admin | จำนวนงานเปิดตรงกันทุกหน้าFunctional วิธีทดสอบเทียบ Dashboard → Sales funnel → Reports ก่อนสร้างงานทดสอบ ผลที่คาดหวังตัวชี้วัด Active ใช้นิยามเดียวกัน ผลที่พบจริงDashboard/Reports = 64; ผลรวม 8 ขั้น = 64 แต่ Sales funnel ระบุ 66 งานที่เปิดอยู่ รวมงานจบและยกเลิกอย่างละ 1 D04 → ข้อบกพร่อง | FAIL · ไม่ผ่าน |
| UAT-012 | Overview Admin | ตัวกรองสาขาตรงกับข้อมูลสาขาFunctional วิธีทดสอบเปิด Sales → ดูตัวเลือกสาขา → เทียบ /branches ผลที่คาดหวังเลือกกรองได้ครบทุกสาขาที่เปิดใช้งาน ผลที่พบจริงตัวกรองมีพระราม 2 บางนา บางแค แต่ไม่มีรังสิต ทั้งที่รังสิตมีดีลและเปิดใช้งาน D05 → ข้อบกพร่อง | FAIL · ไม่ผ่าน |
| UAT-013 | Sales Admin | ค้นหาด้วยเลขงานขายFunctional วิธีทดสอบค้นหา SDP005-D04 บน /sales ผลที่คาดหวังแสดงเฉพาะงานที่ตรงเลข ผลที่พบจริงเหลืองาน SDP005-D04 ของสาขารังสิตหนึ่งรายการ | PASS · ผ่าน |
| UAT-014 | Sales Admin | ค้นหาที่ไม่พบข้อมูลFunctional วิธีทดสอบค้นหา ZZZ-UAT-NO-MATCH-260912 ผลที่คาดหวังมี empty state ที่ชัดเจน ผลที่พบจริงแสดง ไม่มีรายการที่ตรงกับเงื่อนไข | PASS · ผ่าน |
| UAT-015 | Documents Admin | เปิดรายละเอียดงานจากรายการFunctional วิธีทดสอบค้นหา SDP005-D04 → เปิด → ผลที่คาดหวังแสดงรายละเอียดงานเดียวกัน ผลที่พบจริงเปิด /sales/18 พร้อมลูกค้า รถ ตัวเลข และชุดเอกสารของ SDP005-D04 | PASS · ผ่าน |
| UAT-016 | Documents Admin | เปิด PDF ใบเสนอราคาFunctional วิธีทดสอบเปิด /sales/18 → คลิก ดู PDF แถวใบเสนอราคา ผลที่คาดหวังเปิดเอกสารหรือดาวน์โหลด PDF ผลที่พบจริงไม่มีการนำทาง แท็บใหม่ หรือเอกสาร; ตรวจ DOM พบ A ไม่มี href ในทั้งสามแถว PDF D03 → ข้อบกพร่อง | FAIL · ไม่ผ่าน |
| UAT-017 | Documents Admin | สถานะเอกสารตรงกับสิ่งที่ดำเนินการจริงFunctional วิธีทดสอบเปิดรายละเอียดดีลใหม่ /sales/76 หลังทดสอบและเทียบขั้นที่ทำจริง ผลที่คาดหวังเอกสารที่ยังไม่ออกไม่ควรแสดงยืนยันแล้ว ผลที่พบจริงระบบแสดงกรมธรรม์ ยืนยันแล้ว และสัญญา สร้างแล้ว ทั้งที่ไม่ได้ยื่นไฟแนนซ์/ออกประกัน; จำนวนครบ 4/7 ไม่อธิบายกับรายการที่มี 4 แถว D10 → ข้อบกพร่อง | FAIL · ไม่ผ่าน |
| UAT-018 | Overview Admin | รายงานแยกสถานะFunctional วิธีทดสอบเปิด /reports → เทียบจำนวนแต่ละสถานะกับ Dashboard ผลที่คาดหวังผลรวม Active ตรงกับสถานะที่ยังไม่ปิด ผลที่พบจริงReports Active 64 ตรงกับผลรวม 8 ขั้นก่อนสร้างดีลใหม่ | PASS · ผ่าน |
| UAT-019 | Delivery Admin | โหลดคิวส่งมอบและทีม SpecialistSmoke วิธีทดสอบเปิด /delivery ผลที่คาดหวังแสดงรายการ ผู้รับผิดชอบ และสถานะ ผลที่พบจริงแสดง 6 งาน โดยรอดำเนินการ/กำลังดำเนินการรวม 2; ความถูกต้องเชิงเดือนยังอยู่ในข้อสังเกต | PASS · ผ่าน |
| UAT-020 | Finance Admin | คำนวณและยืนยันรอบจ่ายค่าตอบแทนFunctional วิธีทดสอบเปิด /payroll เพื่อตรวจรายการที่พร้อมจ่าย ผลที่คาดหวังมีรายการทดสอบที่เชื่อมดีลปิดและตัวเลขคาดหวัง ผลที่พบจริงมีเพียงหัวตาราง ไม่มีข้อมูลสำหรับตรวจยอดหรือขั้นอนุมัติ ไม่ได้สั่งจ่าย | BLOCKED · ติดเงื่อนไข |
| UAT-021 | Catalog Admin | PASS · ผ่าน | |
| UAT-022 | Catalog Admin | PASS · ผ่าน | |
| UAT-023 | Catalog Admin | PASS · ผ่าน | |
| UAT-024 | Administration Admin | PASS · ผ่าน | |
| UAT-025 | Administration Admin | Audit Log ของรายการที่ทดสอบFunctional วิธีทดสอบหลังบันทึกข้อเสนอ/เปลี่ยนขั้น เปิด /audit-logs ผลที่คาดหวังมีผู้ทำ เวลา และข้อมูล before/after ผลที่พบจริงDEAL 76 มีบันทึกสเปก ส่วนลด 10,000 ของแถม [6,8] และ quotation → delivery; เวลาใน UI ต้องยืนยัน timezone | PASS · ผ่าน |
| UAT-026 | Administration Admin | PASS · ผ่าน | |
| UAT-027 | Stock Sales | กรองสต็อกตามขุมพลังFunctional วิธีทดสอบเปิด /stock → เลือก PHEV ผลที่คาดหวังแสดงเฉพาะรถ PHEV ผลที่พบจริงเหลือ HAVAL H6 และ Jaecoo 7 | PASS · ผ่าน |
| UAT-028 | Stock Sales | ล้างตัวกรองและค้นหาไม่พบFunctional วิธีทดสอบกดล้างตัวกรอง → ใส่ NO-MATCH-UAT-260912 ผลที่คาดหวังกลับทุกขุมพลัง แล้วแสดง empty state ตามคำค้น ผลที่พบจริงตัวเลือกกลับทุกขุมพลัง และแสดงไม่พบรุ่น/สีที่ตรงคำค้น | PASS · ผ่าน |
| UAT-029 | Overview Sales | ข้อความสรุปงานขายของฉันFunctional วิธีทดสอบเปิด /deals และเทียบ Funnel กับข้อความสรุปด้านล่าง ผลที่คาดหวังจำนวนงานเปิด/งานที่ควรเร่งต้องตรงกับข้อมูล ผลที่พบจริงFunnel เปิด 46 (หลังสร้างเป็น 47) แต่ข้อความระบุ งานเปิด 4 · ปิดแล้วเดือนนี้ 3 · ยื่นไฟแนนซ์ 2 ขณะที่ขั้นยื่นไฟแนนซ์มี 1 D07 → ข้อบกพร่อง | FAIL · ไม่ผ่าน |
| UAT-030 | Sales Sales | PASS · ผ่าน | |
| UAT-031 | Customer Sales | คำกำกับข้อมูลบังคับสอดคล้องกับ validationFunctional วิธีทดสอบดีลใหม่ ไม่กรอกเลขบัตร/เบอร์ → ไปเลือกรถ ผลที่คาดหวังข้อกำหนดบนฟอร์มตรงกับสิ่งที่ยอมให้ข้ามได้ ผลที่พบจริงฟอร์มติด * และบอกกรอกขั้นต่ำครบ 4 ช่อง แต่ข้ามเมื่อเลขบัตรว่าง/เบอร์ - ได้; ข้อความ error อีกแห่งระบุเว้นเลขบัตรไว้ก่อนได้ จึงเป็นข้อขัดแย้งของคำกำกับ ไม่สรุปว่าต้องห้าม draft D08 → ข้อบกพร่อง | FAIL · ไม่ผ่าน |
| UAT-032 | Customer Sales | เลขบัตรสั้นกว่า 13 หลักFunctional วิธีทดสอบStep 1 ใส่เลขบัตรสังเคราะห์ 123 → บันทึก ผลที่คาดหวังปฏิเสธและบอกวิธีแก้ ผลที่พบจริงแจ้งต้องเป็นตัวเลข 13 หลัก และยังอยู่ Step 1 | PASS · ผ่าน |
| UAT-033 | Customer Sales | เบอร์โทรที่เป็นตัวอักษรFunctional วิธีทดสอบStep 1 เว้นเลขบัตร ใส่เบอร์ abc → ไปเลือกรถ → Reload → กลับ Step 1 ผลที่คาดหวังปฏิเสธเบอร์ที่ไม่มีตัวเลข ผลที่พบจริงabc ถูกบันทึกและอ่านกลับหลัง reload ได้; เปลี่ยนเป็น [เบอร์ทดสอบ] หลังจบทดสอบเชิงลบ D06 → ข้อบกพร่อง | FAIL · ไม่ผ่าน |
| UAT-034 | Sales Sales | PASS · ผ่าน | |
| UAT-035 | Pricing Sales | วงเงินหลังส่วนลดและของแถมFunctional วิธีทดสอบวงเงิน 50,000 → ส่วนลด 10,000 → กันสาดต้นทุน 2,200 และสปอยเลอร์ OEM ผลที่คาดหวังรายได้ 37,800; OEM ไม่หักต้นทุนจากเซลล์ ผลที่พบจริง50,000 − 10,000 − 2,200 − 0 = 37,800 และมูลค่าของแถมฝั่งลูกค้า 17,000 | PASS · ผ่าน |
| UAT-036 | Pricing Sales | PASS · ผ่าน | |
| UAT-037 | Pricing Sales | ส่วนลดเกิน MSRPFunctional วิธีทดสอบใส่ส่วนลด 700,000 เมื่อ MSRP 669,900 ผลที่คาดหวังบล็อกบันทึกและแจ้งเหตุผล ผลที่พบจริงข้อความส่วนลดเกินราคาตั้ง ปุ่มบันทึก/ไปต่อ disabled; ไม่ได้บันทึกจำนวนนี้ | PASS · ผ่าน |
| UAT-038 | Pricing Sales | แจ้งเตือนเมื่อวงเงินต่ำกว่าเกณฑ์Functional วิธีทดสอบใส่ส่วนลด 45,000 พร้อมของแถมต้นทุน 2,200 ผลที่คาดหวังแสดงวงเงิน 2,800 ต่ำกว่าเกณฑ์ 10,000 ตามนโยบายแจ้งเตือน ผลที่พบจริงแสดงคำเตือนและยังให้บันทึกได้ สอดคล้องคำอธิบายว่าเซลล์ตัดสินใจเอง; เปลี่ยนกลับ 10,000 ก่อนบันทึก | PASS · ผ่าน |
| UAT-039 | Pricing Sales | PASS · ผ่าน | |
| UAT-040 | Pricing Sales | PASS · ผ่าน | |
| UAT-041 | Finance Sales | ประเภทพลังงานไหลจากสเปกสั่งจองFunctional วิธีทดสอบเลือก MG4 X BEV โดยยังไม่มี VIN → Step 4 ผลที่คาดหวังใช้ BEV กรองโปรและไม่แจ้งข้อมูลขาด ผลที่พบจริงกลับแจ้งไม่มีข้อมูลประเภทพลังงานและแสดงโปรทั้งหมด ทั้งที่หน้าเลือกโมเดลมี BEV D09 → ข้อบกพร่อง | FAIL · ไม่ผ่าน |
| UAT-042 | Finance Sales | ค่างวด 0% 48 เดือนFunctional วิธีทดสอบเลือกโปร 0% → ดาวน์ 20 → งวด 48 ผลที่คาดหวังเมื่อใช้ฐาน MSRP ตามที่จอคำนวณ: 669,900×80%÷48 = 11,165 ผลที่พบจริงยอดจัด 535,920; ค่างวด 11,165 ถูกตามฐาน MSRP; ฐานก่อน/หลังส่วนลดยังต้องให้ธุรกิจรับรอง (O02) | PASS · ผ่าน |
| UAT-043 | Finance Sales | ป้องกันงวดเกินเงื่อนไขโปรFunctional วิธีทดสอบโปรสูงสุด 48 → ใส่ 60 → พยายามไปต่อ ผลที่คาดหวังไม่บันทึกเงื่อนไขที่เกินโปร ผลที่พบจริงปุ่มล่าง disabled; ปุ่มด้านบนกดแล้วถูกปฏิเสธ ไม่ผ่านไปใบจอง | PASS · ผ่าน |
| UAT-044 | Finance Sales | ข้อความ error ของเงื่อนไขโปรFunctional วิธีทดสอบทำซ้ำ UAT-043 ด้วยปุ่ม ผ่านเกณฑ์ ไปทำใบเสนอราคา ผลที่คาดหวังบอกว่าเกิน 48 งวดและให้แก้จำนวนงวด ผลที่พบจริงกลับแจ้งคุณอาจไม่มีสิทธิ์แก้ไขงานขายนี้ ทำให้เข้าใจว่าเป็นปัญหาสิทธิ์ D11 → ข้อบกพร่อง | FAIL · ไม่ผ่าน |
| UAT-045 | Documents Sales | สีรถในใบจองตรงกับสเปกFunctional วิธีทดสอบเลือกดำ Pebble → บันทึกข้อเสนอ → ผ่านเงื่อนไขไฟแนนซ์ → เปิดใบจอง ผลที่คาดหวังใบจองระบุ MG4 X สีดำ Pebble ผลที่พบจริงใบจองกลับระบุ NEW MG4 ELECTRIC X · ขาว Arctic D02 → ข้อบกพร่อง | FAIL · ไม่ผ่าน |
| UAT-046 | Booking Sales | ปุ่มปกติไม่ไปต่อเมื่อยังไม่รับเงินจองFunctional วิธีทดสอบเปิด Step 5 โดยยังไม่แนบสลิป/ชำระเงิน ผลที่คาดหวังปุ่มไปยื่นไฟแนนซ์ปิดไว้ ผลที่พบจริงพบ รอชำระ และปุ่มรอเงินจองก่อนไปต่อ disabled; มีช่องโหว่เส้นทางอื่นใน UAT-049 | PASS · ผ่าน |
| UAT-047 | Booking ลูกค้า | ลิงก์แจ้งชำระรับสเปกรถครบFunctional วิธีทดสอบคัดลอกลิงก์ของดีล UAT → เปิดหน้า payment ผลที่คาดหวังแสดงรุ่นตามสเปกที่บันทึก ผลที่พบจริงชื่อลูกค้าและยอด 5,000 ถูก แต่ Model แสดง N/A D09 → ข้อบกพร่อง | FAIL · ไม่ผ่าน |
| UAT-048 | Booking ลูกค้า | BLOCKED · ติดเงื่อนไข | |
| UAT-049 | Workflow Sales | ป้องกันข้ามขั้นใบจองไปออกรถFunctional วิธีทดสอบดีลยังรอเงินจอง → คลิก 7 เตรียมรถ → ถึงวันนัด ไปส่งมอบ → Reload → ตรวจ Admin/Audit ผลที่คาดหวังห้ามเปลี่ยนสถานะจนผ่าน prerequisite ของเงินจอง ไฟแนนซ์ และงานเตรียม ผลที่พบจริงสถานะถูกบันทึก quotation → delivery จริง แม้ไม่ชำระเงิน ไม่มี VIN และไม่มีงานเตรียม; ยังไม่ได้ปิดดีล D01 → ข้อบกพร่อง | FAIL · ไม่ผ่าน |
| UAT-050 | Delivery Sales | รายการส่งมอบตรงกับของแถมจริงFunctional วิธีทดสอบเปิด Step 8 ของดีลที่เลือกกันสาดและสปอยเลอร์ ผลที่คาดหวังรายการมาจากของแถมที่บันทึก และยังไม่ถูกตรวจรับ ผลที่พบจริงแสดง wallbox (ติดตั้งแล้ว) และติ๊ก 3/5 ล่วงหน้า แม้ไม่มี VIN; ไม่ได้ติ๊กเอง D12 → ข้อบกพร่อง | FAIL · ไม่ผ่าน |
| UAT-051 | Delivery Sales | ปิดดีลเมื่อ checklist/ผู้ส่งมอบไม่ครบFunctional วิธีทดสอบเปิด Step 8 โดยยังไม่เลือกผู้ส่งมอบและ checklist 3/5 ผลที่คาดหวังปุ่มปิดงานไม่พร้อมใช้งาน ผลที่พบจริงปุ่มปิดงานขาย + ส่งมอบสมบูรณ์ disabled; ทดสอบเฉพาะสถานะปุ่ม ไม่ส่งคำขอปิด | PASS · ผ่าน |
| UAT-052 | Customer Sales | ข้อมูลลูกค้าจากดีลปรากฏในทะเบียนFunctional วิธีทดสอบเปิด /customers หลังสร้าง/แก้ดีล UAT ผลที่คาดหวังพบชื่อลูกค้า เบอร์ และจำนวนดีลที่ตรงกัน ผลที่พบจริงพบ [ลูกค้าทดสอบ] เบอร์สังเคราะห์ [เบอร์ทดสอบ] และ 1 ดีล | PASS · ผ่าน |
| UAT-053 | Delivery Sales | สถานะเตรียมรถแบบอ่านอย่างเดียวFunctional วิธีทดสอบเปิด /prep ผลที่คาดหวังอ่านงานและผู้รับผิดชอบได้ พร้อม empty state หากยังไม่กำหนดงาน ผลที่พบจริงดีล UAT แสดงยังไม่มีงานเตรียมและไม่มีปุ่มแก้สถานะสำหรับ Sales | PASS · ผ่าน |
| UAT-054 | Delivery Delivery | PASS · ผ่าน | |
| UAT-055 | Delivery Delivery | ยืนยันปิดงานเมื่อ checklist ยังว่างยังไม่ส่งคำสั่งปิด วิธีทดสอบเข้าหน้า CSAT ด้วย PDI 0/6 และส่งมอบ 0/5 ผลที่คาดหวังต้องตรวจ validation ของคำสั่งปิดบนงานทดสอบที่แยกไว้ ผลที่พบจริงพบปุ่มเสร็จสิ้นการส่งมอบ enabled แต่ไม่ได้กดกับงานเดิม จึงยังไม่สรุปว่า backend รับการปิดงานที่ไม่ครบ | BLOCKED · ติดเงื่อนไข |
| UAT-056 | Delivery Delivery | เปิดประวัติส่งมอบNavigation วิธีทดสอบจาก /tasks คลิกประวัติการส่งมอบ ผลที่คาดหวังเปิดหน้า history ผลที่พบจริงไป /history และเห็นรายการพร้อม CSAT; ยังไม่ตรวจว่ารายการตรงกับฐานข้อมูล | PASS · ผ่าน |
| UAT-057 | Responsive Sales | workspace บนมือถือ 390×844Functional วิธีทดสอบเปิด /deals/[ตัวอย่าง] บน 390×844 → ปิดเมนูด้านข้าง ผลที่คาดหวังอ่านเนื้อหาและสรุปงานครบในหน้าจอเล็ก ผลที่พบจริงแผงปิดงานด้านขวาถูกตัดออกจากจอ; layout ยังวางสองคอลัมน์ และหัวแอปตัดบรรทัดหลายชั้น D13 → ข้อบกพร่อง | FAIL · ไม่ผ่าน |
| UAT-058 | Responsive ลูกค้า | หน้า payment บนมือถือ 390×844Functional วิธีทดสอบเปิดห้องแจ้งชำระบน 390×844 ผลที่คาดหวังสรุปยอด/อัปโหลด/ปุ่มอยู่ภายในความกว้าง ผลที่พบจริงviewport=390 และ document width=390; ภาพแสดงองค์ประกอบครบ ไม่รับรองฟังก์ชัน QR | PASS · ผ่าน |
| UAT-059 | Pricing Admin / Sales | ตัวเลขรายได้ดีลเดียวกันข้ามบทบาทFunctional วิธีทดสอบเทียบ Sales /deals/[ตัวอย่าง] กับ Admin /sales/76 หลังบันทึก ผลที่คาดหวังรายได้/กำไรที่บอกว่าเป็นตัวเลขเดียวกันต้องตรงหรืออธิบายคนละนิยาม ผลที่พบจริงSales แสดงรายได้งานขาย 37,800 แต่ Admin กำไร (เซลล์) 0; รายการงานขายแสดง — D14 → ข้อบกพร่อง | FAIL · ไม่ผ่าน |
| UAT-060 | Workflow ทุกบทบาท | BLOCKED · ติดเงื่อนไข | |
| UAT-061 | Access Manager / Allocator | สิทธิ์และงานของ Manager/AllocatorFunctional วิธีทดสอบใช้บัญชีและเกณฑ์ของสองบทบาท ผลที่คาดหวังครอบคลุมอนุมัติ/จัดรถตาม role matrix ผลที่พบจริงพบชื่อบทบาทใน Users แต่ไม่มีบัญชี Demo สำหรับสองบทบาทนี้ จึงไม่ได้เข้าสู่ระบบหรือทดสอบแทน | NOT RUN · ยังไม่ทดสอบ |
| UAT-062 | Booking ลูกค้า / Sales | ไฟล์สลิปผิดประเภท ขนาดเกิน และส่งซ้ำFunctional วิธีทดสอบใช้สลิปสังเคราะห์ที่กำหนดบนงานแยก ผลที่คาดหวังตรวจชนิด ขนาด อัปโหลดซ้ำ และการเปลี่ยนสถานะ ผลที่พบจริงไม่ได้อัปโหลดไฟล์หรือแจ้งรับเงิน; ต้องทดสอบต่อเมื่อกำหนด fixture และผลที่คาดหวังชัดเจน | NOT RUN · ยังไม่ทดสอบ |
| UAT-063 | Administration Admin | NOT RUN · ยังไม่ทดสอบ | |
| UAT-064 | Customer Sales | ค้นหาลูกค้าเดิมด้วยเลขบัตรที่กำหนดFunctional วิธีทดสอบใช้เลขบัตรทดสอบที่มีและไม่มีในชุดข้อมูล ผลที่คาดหวังตรวจ autofill/ไม่สร้างข้อมูลซ้ำ/ขอบเขตสาขา ผลที่พบจริงตรวจเพียงความยาวผิดและช่องว่าง ไม่ใช้เลขบัตรจริงหรือสุ่มเลขที่อาจตรงบุคคล | NOT RUN · ยังไม่ทดสอบ |
| UAT-065 | Non-functional ทุกบทบาท | หลายเบราว์เซอร์ โหลดสูง และ security auditFunctional วิธีทดสอบทดสอบตามแผนเฉพาะด้านบนสภาพแวดล้อมที่เตรียมไว้ ผลที่คาดหวังมี SLA เกณฑ์ประสิทธิภาพ/การเข้าถึง/ความปลอดภัย ผลที่พบจริงใช้ เบราว์เซอร์เดียว เท่านั้น; ไม่มี load test, penetration test, WCAG audit เต็มรูปแบบ หรือ Safari/Firefox จริง | NOT RUN · ยังไม่ทดสอบ |
CSV ส่งออกเฉพาะเคสตามตัวกรองปัจจุบัน การพิมพ์จะขยายรายละเอียดและรวมทุกเคสโดยอัตโนมัติ
14 รายการ · Open ทั้งหมด · ยังไม่ได้แก้ไขหรือ Retest ในรอบนี้
สถานะขายและขั้นอนุมัติไม่สะท้อนความพร้อมจริง กระทบการจัดรถ ส่งมอบ และรายงาน
ใช้ [ดีลทดสอบ] ที่ Step 5 รอชำระ → กดแท็บ 7 เตรียมรถ → ถึงวันนัด ไปส่งมอบ → รีโหลด/เปิดรายการ → เปิด Audit
เปลี่ยนขั้นได้เมื่อ prerequisite ครบ และตรวจซ้ำที่ server ทุกช่องทาง
Audit บันทึก quotation → delivery; Admin ยืนยัน current stage delivery; ไม่มี VIN ไม่มีงานเตรียม ไม่ได้ชำระเงิน
ตรวจ transition จากสถานะที่บันทึกจริง พร้อมเงื่อนไขเงินจอง การจัด VIN และขั้นก่อนหน้า; เพิ่ม regression สำหรับการกดแท็บขั้นล่วงหน้า
บังคับเงื่อนไขเปลี่ยนขั้นที่จุดบันทึกข้อมูล
ค้นหาเส้นทางเปลี่ยน stage จากแท็บ ขั้นถัดไป และ endpoint ที่เกี่ยวข้อง รวมการอัปเดตแบบทั่วไป ใช้กฎ transition ร่วมกันที่ server ตรวจสถานะปัจจุบันและ prerequisite ภายใน transaction; UI ใช้กฎเดียวกันเพื่อสื่อสารเหตุผล ห้ามให้การเปิดแท็บเปลี่ยน stage เอง กฎเงินจอง VIN และไฟแนนซ์ต้องตรง workflow ที่เจ้าของธุรกิจรับรอง โดยแยกเส้นทางซื้อสดจากสินเชื่อ
ดีล quotation ที่ยังไม่ชำระต้องไป delivery ไม่ได้ผ่านทั้ง UI และ API; การอ่านแท็บไม่เปลี่ยนข้อมูล; คำขอซ้ำหรือพร้อมกันไม่ข้ามเงื่อนไข; happy path ที่ prerequisite ครบยังทำงาน; audit บันทึกเฉพาะ transition สำเร็จ
เอกสารลูกค้าไม่ตรงความต้องการ และอาจทำให้จัด/ส่งมอบรถผิดสี
เลือก MG4 ELECTRIC X สีดำ Pebble → บันทึก → Step 4 โปร 0%/48 งวด → เปิด Step 5
ใบจองแสดงสีดำ Pebble ของดีลนี้
ใบจองแสดง NEW MG4 ELECTRIC X · ขาว Arctic
ใช้สเปกรถของดีลทั้งแบบมี VIN และรอจัดรถในการสร้างเอกสาร พร้อมตรวจรุ่น สี และของแถมแบบ end-to-end
สร้างเอกสารจากสเปกที่บันทึกจริงและกำหนดช่วงล็อกข้อมูล
ตรวจ mapping สีจาก ordered specification และ VIN รวม template ใบจอง ลบ fallback สีที่ทำให้เอกสารดูเหมือนยืนยันข้อมูลจริง หากยังไม่ทราบให้แสดงสถานะข้อมูลขาด กำหนด snapshot/version ของใบจองเมื่อยืนยัน และไม่เปลี่ยนเอกสารที่ออกแล้วเงียบ ๆ
เลือก MG4 ELECTRIC X สีดำ Pebble แล้วบันทึก/รีโหลด/เปิดใบจอง ต้องเป็นสีเดียวกัน; ทดสอบสีอื่นและดีลไม่มี VIN; หากจัด VIN สีต่างจากสเปกต้องแจ้ง conflict
ผู้ตรวจและผู้ใช้งานดึงเอกสารที่ระบบบอกว่าออกแล้วไม่ได้
Admin → /sales/18 → คลิก ดู PDF แถวใบเสนอราคา
เปิดเอกสารจริงหรือแจ้งชัดว่ายังไม่พร้อม
ไม่เกิดเอกสาร/การนำทาง; A ของทั้งสามแถวไม่มี href
เชื่อมลิงก์หรือ handler กับเอกสารจริง รองรับ loading/error และแสดงสถานะยังไม่มีเอกสารแทนลิงก์ที่ใช้ไม่ได้
เชื่อมปุ่ม PDF กับเอกสารหรือการสร้างเอกสารที่ใช้งานได้
ตรวจว่าระบบมี PDF generator หรือ document storage อยู่แล้วหรือไม่ ผูกปุ่มกับเอกสารของดีลที่ถูกต้อง ตรวจสิทธิ์ตอนอ่านและสร้างเอกสาร แสดงสถานะกำลังสร้าง/ยังไม่พร้อม/ผิดพลาด อย่าแสดงลิงก์พร้อมใช้งานโดยไม่มีปลายทาง และอย่าแทน PDF ด้วยหน้าว่างหรือข้อมูล mock
คลิกแล้วเปิดหรือดาวน์โหลด PDF ที่อ่านได้ เนื้อหาและเลขดีลถูกต้อง; ทดสอบไม่มีเอกสาร การสร้างล้มเหลว และผู้ใช้ไม่มีสิทธิ์; ไม่มีลิงก์หมดอายุที่ UI ยังบอกว่าใช้ได้
ภาพรวมงานค้างคลาดเคลื่อนจาก Dashboard และ Reports
เทียบ /dashboard /sales /reports ก่อนสร้างดีลทดสอบ
Active count = ผลรวม 8 ขั้นที่ยังเปิด
64 เทียบกับหัว Funnel 66; ส่วนต่างเท่ากับงานจบ 1 และยกเลิก 1
ใช้ตัวกรองสถานะและนิยาม Active เดียวกันสำหรับยอดรวม สัดส่วน และตาราง
นิยาม Active ให้ตรงกันในทุกตัวชี้วัด
ตรวจนิยาม active/open และสถานะ terminal ตาม enum จริง สร้าง query หรือ selector ร่วมกันสำหรับ Dashboard, Funnel, Reports ใช้ตัวกรองสาขา เจ้าของ ช่วงเวลา และ timezone แบบเดียวกัน แยกจำนวนทั้งหมดจากจำนวนงานเปิดในคำกำกับ
fixture 66 งาน มี completed 1 cancelled 1 ต้องแสดง active 64 ตามนิยามที่ยืนยัน; ผลรวมขั้นเท่ากับ active หลังใช้ filter เดียวกัน; ตรวจกรณีไม่มีข้อมูล
กรองงานรังสิตไม่ได้ และมีสาขาบางแคที่ไม่อยู่ในข้อมูลสาขาปัจจุบัน
เปิดตัวกรองสาขา /sales → ค้นหา SDP005-D04 → เทียบ /branches
มีรังสิตเป็นตัวเลือกและชื่อสาขาตรงข้อมูลจริง
ตัวกรองมีบางแค แต่ไม่มีรังสิต แม้สาขารังสิตเปิดใช้งาน
อ่านตัวเลือกจากข้อมูลสาขาเดียวกับรายการงานขายและใช้ branch ID แทนการผูกชื่อคงที่
สร้างตัวเลือกสาขาจาก master data เดียวกัน
ตรวจรายการ dropdown ที่ hardcode หรือ mapping ไม่ครบ ใช้ branch ID และรายการสาขาที่ผู้ใช้มีสิทธิ์เข้าถึงจากแหล่งเดียวกับ master รักษาการแสดงชื่อสาขาเก่าที่ถูกปิดในข้อมูลย้อนหลังโดยไม่เปิดให้เลือกสร้างงานใหม่ผิดกฎ
ตัวกรองมีรังสิตและไม่มีบางแคที่ไม่อยู่ใน master ของรอบทดสอบ; filter รังสิตคืนงานที่ถูกต้อง; ตรวจ branch ที่ไม่มีงาน ปิดใช้งาน และสิทธิ์ต่างบทบาท
ข้อมูลติดต่อผิดไหลไปยังทะเบียนลูกค้าและเอกสาร
Step 1 ใส่ abc ในเบอร์โทร โดยเลขบัตรว่าง → ไปเลือกรถ → Reload → Step 1
แจ้งรูปแบบเบอร์ไม่ถูกต้องและไม่บันทึก
abc คงอยู่หลังรีโหลด; ยืนยันด้วยดีลที่สร้างในรอบนี้
ตรวจรูปแบบและความยาวทั้งหน้าเว็บและ server โดยอนุญาตรูปแบบเบอร์ที่ธุรกิจกำหนด
ตรวจรูปแบบโทรศัพท์ทั้งก่อนส่งและก่อนบันทึก
รับรองรูปแบบโทรศัพท์ที่ธุรกิจรองรับ เช่น ไทยและรหัสประเทศ แล้ว normalize อย่างชัดเจน ใช้ validation ฝั่ง client และ server ที่สอดคล้องกัน ปฏิเสธตัวอักษรอย่าง abc โดยคงค่าที่ผู้ใช้กรอกและอธิบายวิธีแก้ ไม่เติมเบอร์ปลอมหรือแก้ข้อมูลเดิมจำนวนมากอัตโนมัติ
abc ถูกปฏิเสธและไม่ persist; ตรวจค่าว่างตามกติกา draft, รูปแบบ valid, ช่องว่าง/ขีด/รหัสประเทศตามกติกาที่รับรอง; reload ไม่ทำให้ข้อมูล invalid กลายเป็นค่าที่บันทึกได้
คำแนะนำลำดับงานไม่น่าเชื่อถือ
เปิด /deals และเทียบ Funnel กับข้อความใต้แผนภาพ
จำนวนงานเปิดและขั้นที่ควรเร่งสัมพันธ์กับข้อมูลเดียวกัน
ข้อความ งานเปิด 4 / ยื่นไฟแนนซ์ 2 คงอยู่ ขณะที่ Funnel 46→47 และยื่นไฟแนนซ์ 1
คำนวณสรุปจาก dataset ปัจจุบัน หรือระบุว่าเป็นตัวอย่างและไม่นำมาใช้ตัดสินใจ
คำนวณข้อความสรุปจากชุดข้อมูลเดียวกับรายการ
ตรวจว่าข้อความงานเปิด ปิดเดือนนี้ และงานไฟแนนซ์เป็นค่า mock หรือ query คนละ scope ใช้ข้อมูลจริงร่วมกับ Funnel ระบุช่วงเวลาและเจ้าของเดียวกัน จัดการ refresh หลังสร้างหรือย้าย stage
จำนวนงานเปิด/ไฟแนนซ์ตรงกับรายการที่กรองด้วย owner และช่วงเวลาเดียวกัน; สร้างดีลใหม่แล้วตัวเลขเปลี่ยนถูกต้อง; ทดสอบต้นเดือน สิ้นเดือน และไม่มีข้อมูล
ผู้ใช้ไม่ทราบว่าต้องกรอกข้อมูลใดในขั้นนี้
เปิด Step 1 ว่าง → ไปเลือกรถ; ลองเลขบัตร 123 เพื่ออ่านข้อความ validation
ข้อความ * และคำว่าขั้นต่ำต้องสอดคล้องกับข้อมูลที่เว้นไว้ได้
ข้ามด้วยเลขบัตรว่างได้ และ error ระบุเว้นว่างก่อนได้ แต่หัวฟอร์มบอกเป็นข้อมูลขั้นต่ำบังคับ
ตกลงจุดที่ต้องบังคับข้อมูลกับธุรกิจ แล้วแก้คำกำกับให้แยกข้อมูลของ draft กับข้อมูลก่อนออกเอกสาร
แยกคำอธิบาย draft กับข้อมูลที่ต้องครบก่อนยืนยัน
ตรวจ flow ที่ยอมให้บันทึก draft โดยยังไม่มีเลขบัตร เปลี่ยนเครื่องหมายบังคับและคำอธิบายให้ตรงกับกฎจริง ระบุว่าข้อมูลใดต้องครบในขั้นใด ห้ามเพิ่มข้อบังคับเลขบัตรทุกขั้นจากการคาดเดา เพราะหน้าจอปัจจุบันระบุให้เว้นไว้ได้
ข้อความขั้นต่ำ/เครื่องหมาย * และ error ไม่ขัดกัน; draft ที่ถูกกฎยังบันทึกได้; เลขบัตร 123 ยังถูกปฏิเสธ; ขั้นที่ต้องใช้ข้อมูลครบตรวจได้ตาม requirement
เลือกรถแล้วแต่การกรองโปรและการระบุรุ่นในห้องลูกค้ายังใช้ข้อมูลไม่ครบ
บันทึกรุ่น MG4 X BEV โดยรอจัด VIN → เปิด Step 4, รายการ Sales และห้อง payment
ใช้ order specification เมื่อยังไม่มี VIN
Step 4 แจ้งไม่มีประเภทพลังงาน; รายการแสดงยังไม่ระบุ; payment แสดง Model N/A
รองรับข้อมูลรุ่น/สี/ขุมพลังจากสเปกสั่งจองก่อนจัดคันให้ครบทุก view; การยังไม่มี VIN ไม่ควรทำให้รุ่นหาย
ส่งต่อข้อมูลรถก่อนมี VIN ให้ครบทุกหน้าปลายทาง
ตรวจ resolver/view model ที่อ่านรุ่น รุ่นย่อย สี และขุมพลัง ปัจจุบันหน้าสเปกมีข้อมูลแต่ finance/payment/listing บางแห่งไม่มี กำหนดแหล่งข้อมูลสำหรับ ordered specification ก่อนมี VIN และใช้ VIN หลังจัดรถตามกฎที่รับรอง แสดง conflict เมื่อข้อมูลไม่ตรง และอย่าสร้างค่าขุมพลังจากชื่อรุ่นด้วยการเดา
ดีล MG4 ELECTRIC X ไม่มี VIN แสดงรุ่น/สี/BEV สอดคล้องบนข้อเสนอ finance payment และรายการ; หลังจัด VIN ข้อมูลถูกต้อง; missing specification แสดงข้อผิดพลาดที่เข้าใจได้แทน N/A เงียบ ๆ
ผู้ตรวจอาจเข้าใจว่าสัญญา/กรมธรรม์พร้อมใช้งานแล้ว
เปิด /sales/76 ของดีลใหม่ที่ยังไม่ยื่นไฟแนนซ์หรือออกประกัน
สถานะและจำนวนเอกสารอ้างอิงเอกสารที่มีจริง
ระบุสัญญา สร้างแล้ว กรมธรรม์ ยืนยันแล้ว และครบ 4/7 โดยยังไม่มีขั้นตอนเหล่านี้ในรอบทดสอบ
อ่านสถานะจาก document records พร้อมวันที่/รุ่นเอกสาร และไม่แสดงสำเร็จจาก placeholder
แสดงสถานะเอกสารจากเหตุการณ์หรือรายการเอกสารจริง
ตรวจ source ของสถานะกรมธรรม์ HP และตัวนับเอกสาร ไม่สรุป root cause ว่าเป็น mock จนกว่าจะเห็น code แยกสถานะยังไม่เริ่ม รอข้อมูล กำลังสร้าง ออกแล้ว และผิดพลาดตาม lifecycle จริง จำนวน numerator/denominator ต้องอธิบายชุดเอกสารที่ต้องมีได้
ดีลสังเคราะห์ที่ยังไม่ยื่นไฟแนนซ์/ประกันต้องไม่แสดงว่ายืนยันหรือสร้างสำเร็จ; หลังสร้างเอกสารจริงสถานะและจำนวนเปลี่ยนถูกต้อง; retry ล้มเหลวไม่แสดงสำเร็จ
ผู้ใช้แก้ปัญหาผิดจุดและอาจติดต่อ Admin โดยไม่จำเป็น
โปร 0% สูงสุด 48 งวด → ใส่ 60 → กดปุ่มไปใบเสนอราคาด้านบน
บอกว่าจำนวนงวดเกินโปรและคงค่าที่ให้แก้
แสดง คุณอาจไม่มีสิทธิ์แก้ไขงานขายนี้; ปุ่มล่างกลับ disabled ด้วยเหตุผลถูกต้อง
ใช้ validation และ error mapping เดียวกันทั้งปุ่มหลักและปุ่มล่าง แสดงสาเหตุจริงจากระบบ
แสดง validation error ตามสาเหตุและใช้กฎร่วมกันทุกปุ่ม
ตรวจ response เมื่อเลือก 60 งวดในโปรสูงสุด 48 งวด แยก validation error จาก permission/network error ให้ปุ่มบนและล่างใช้เงื่อนไขเดียวกัน พร้อมระบุจำนวนงวดสูงสุดโดยไม่ทำให้ server ยอมรับข้อมูลที่ผิด
60 งวดในโปร 48 ถูกปฏิเสธทั้งสองปุ่มด้วยเหตุผลเรื่องจำนวนงวด; 48 งวดผ่านเมื่อเงื่อนไขอื่นครบ; กรณีไม่มีสิทธิ์จริงยังแสดง permission error
อาจสร้างหลักฐานตรวจรับที่ไม่ตรงรถและของแถมจริง
ดีล UAT เลือกกันสาดและสปอยเลอร์ → เปิด Step 8 ก่อนมี VIN/งานเตรียม
ยังไม่ติ๊กตรวจรับ และรายการของแถมตรงใบจอง
ติ๊ก 3/5 ล่วงหน้า รวมตรวจ VIN และ wallbox ติดตั้งแล้ว ทั้งที่ไม่ได้เลือก wallbox
เริ่ม checklist ตามสถานะจริงและผูกของแถมกับดีล บันทึกผู้ตรวจ/เวลา ไม่ตั้งค่า checked ล่วงหน้า
สร้าง checklist จากรายการจริงและเริ่มสถานะตามหลักฐานงาน
ตรวจการสร้าง checklist และค่าเริ่มต้นของ VIN/ของแถม/wallbox ผูก item กับตัวเลือกของดีลและงานจริง ห้ามติ๊กสำเร็จเพียงเพราะสร้างดีล กำหนดผู้ยืนยันและเวลายืนยัน ตรวจข้อจำกัดก่อนปิดงานที่ server และรักษาประวัติเมื่อเปลี่ยนของแถม
ดีลไม่มี VIN และไม่ได้เลือก wallbox ต้องไม่มีรายการ wallbox ติดตั้งแล้วหรือ VIN ยืนยันแล้ว; dealer/OEM freebies ที่เลือกปรากฏถูกต้อง; ปิดงานไม่ได้เมื่อ required checklist ไม่ครบ; ตรวจว่าการอ่านหน้าไม่แก้สถานะ
ผู้ใช้มือถืออ่านแผงปิดงานด้านขวาไม่ได้ครบ
ตั้ง 390×844 → เปิด /deals/[ตัวอย่าง] → ปิดเมนูด้านข้าง
เนื้อหาปรับเป็นคอลัมน์เดียวและอ่านสรุปได้ครบ
แผงสรุปด้านขวาถูกตัดนอกจอ ขณะที่ document กว้าง 390; หัวแอปตัดบรรทัดซ้อน
เพิ่ม breakpoint สำหรับ layout workspace และสรุปด้านข้าง ตรวจ footer คงที่กับความสูงจริง และทดสอบอย่างน้อย 390/768/1280
จัด workspace ให้ใช้งานครบในความกว้างมือถือ
ตรวจ layout 390×844 โดยปิดเมนูแล้ว พิจารณาจัดสรุปข้อเสนอเป็นแถวเดียวหรือแผงขยายที่เข้าถึงได้ แก้ min-width/grid/overflow และหัวข้อที่ชนกัน ให้ข้อมูลและปุ่มหลักยังเข้าถึงได้ ไม่ซ่อนปัญหาด้วย overflow:hidden ทั้งหน้า
ที่ 390×844 และ 360px ข้อมูลรายได้/ยอดรวมและปุ่มสำคัญอ่านและกดได้; ตารางที่กว้างเลื่อนในกรอบได้; ไม่มี clipping; desktop 1280px ยังใช้งานได้และ keyboard focus ไม่หลุด
ผู้จัดการและพนักงานอ้างอิงตัวเลขต่างกัน
บันทึกดีล allowance ที่ส่วนลด 10,000 ของแถมต้นทุน 2,200 → เทียบ /deals/[ตัวอย่าง] และ /sales/76
ถ้าเป็นคนละนิยามต้องแสดงชื่อ/คำอธิบายให้ชัด หรือใช้ค่าเดียวกัน
Sales รายได้งานขาย 37,800; Admin กำไร (เซลล์) 0; คอลัมน์รายการแสดง —
ใช้สูตร allowance ของดีลเดียวกัน หรือแยกคำว่า commission กับรายได้จากวงเงินพร้อม reconciliation ที่ตรวจสอบได้
นิยามรายได้และกำไรให้ชัด ก่อนใช้ตัวเลขร่วมกัน
ตรวจ field และสูตรของ “รายได้งานขาย” ฝั่ง Sales กับ “กำไร(เซลล์)” ฝั่ง Admin ในดีลแบบ Allowance ถ้าเป็น metric เดียวกันให้คำนวณร่วมจากข้อมูลบันทึกจริง ถ้าต่างกันให้แก้ label/คำอธิบายและแสดงความหมาย ไม่บังคับค่าเท่ากันโดยไม่ตรวจนิยาม และห้าม backfill ข้อมูลการเงินจริงโดยพลการ
กรณี 50,000 − 10,000 − 2,200 = 37,800 แสดงตัวเลขหรือคำอธิบายที่สอดคล้องทุกบทบาท; ของแถม OEM ไม่ถูกหักซ้ำ; ทดสอบดีลมี VIN/ไม่มี VIN และค่า null ที่ต้องแยกจากศูนย์
ภาพต้นฉบับ 62 ภาพเก็บแยกจากเว็บฉบับเผยแพร่ เพื่อไม่แสดงข้อมูลบุคคลและรายละเอียดรายการ
ต้องรับรองสิทธิ์อ่านดีลข้ามเจ้าของและสาขา ก่อนตัดสินพฤติกรรมที่พบว่าอนุญาตหรือไม่
ต้องรับรองฐานราคาสำหรับคำนวณไฟแนนซ์ วิธีหักเงินจอง และการปัดเศษ ให้ทุกฝ่ายใช้นิยามเดียวกัน
ต้องเตรียมบัญชีรับเงิน QR และสลิปสำหรับสภาพแวดล้อมทดสอบก่อนทดสอบรับเงินครบวงจร
ต้องระบุเขตเวลาและนิยามวันที่ใช้ในรายงานรายเดือนให้ชัดเจน
ปุ่มจบงานเปิดอยู่ขณะที่ checklist ว่าง ยังไม่ได้ยืนยันว่า server ยอมรับ ต้องทดสอบบนงานสังเคราะห์
คงดีลสังเคราะห์ไว้เพื่อทดสอบซ้ำ ยังไม่ชำระเงิน จัด VIN ส่งมอบ หรือปิดงานจริง
ยังไม่ครอบคลุมธุรกรรมเงินจริง การเชื่อมต่อภายนอกครบวงจร การทดสอบโหลด ความปลอดภัยเชิงลึก และการเข้าถึงทั้งมาตรฐาน
Prompt รายข้ออยู่ใน D01–D14 · ใช้ข้อความด้านล่างสำหรับตรวจและแก้รวม