ผลตรวจ Test

ผลทดสอบแต่ละรอบ จัดเป็นหัวข้อตามเรื่องที่ตรวจ แต่ละข้อบอกเป็นประโยคว่าตรวจอะไร เลือกดูเฉพาะเรื่องของ BA หรือ Technical ได้

ผ่าน

Mockup workspace: Sitemap / Page flow / Screen Listing

31 ต.ค. 2569, ผ่าน 6 จาก 6 ข้อ

Mockup browser 43 ข้อ + regression 70/25/9 รวม 147 ข้อผ่าน พร้อม Go/race/vet และ artifact validation

1 หัวข้อที่ตรวจ

แบบหน้าจอและเส้นทาง

BA

ตรวจหน้าจออ้างอิงร่วมกันและไม่ตีความ mapping ร่างเป็นข้อยืนยัน

  • Screen Listing มี 164 screen IDs และ proposal references 6 ภาพ พร้อม detail/variants/provenance/component links ผ่าน
  • Sitemap ใช้ภาพ shape เรียงบนลงล่าง จำกัดความกว้างแถว และกรอง Module/Channel โดยไม่ลบข้อมูลที่ซ่อน ผ่าน
  • Page flow เลือกครบ 162 Use cases และรักษา Decision/label/เส้นทางจาก canonical source ผ่าน
  • W-41 แสดง A01 สร้างบัญชี A05 แนบหลักฐาน และทางข้ามผู้ปกครอง พร้อมภาพ state ของผลลัพธ์ ผ่าน
  • หน้าจอเดิมใช้หลาย occurrence ได้ แต่ละ occurrence เปลี่ยน state และ mapping แยกกัน ผ่าน
  • Editor และ detail แสดงผลได้บนมือถือ พร้อม grid/zoom/label/arrow editing ผ่าน
สำหรับ Technical: คำสั่งและผลดิบ
คำสั่ง
python3 mockups/tools/build_catalog.py --check; cd tracker && go test -race -count=1 ./... && go vet ./...; Playwright mockups-check/usecases-check/workflow-review-check/task-brief-check บน temporary data
ผลจากเครื่องมือทดสอบ
ผ่าน 147, ไม่ผ่าน 0, ข้าม 0
หมายเหตุ
147 คือ browser assertions 43+70+25+9; Go/data checks เพิ่มแยกกัน ทดสอบเขียนเฉพาะ /tmp/tnsu-mockup-final/data ไม่ approve Use cases จริง
ผ่าน

ทบทวน Use cases และ canonical decision diagrams

31 ต.ค. 2569, ผ่าน 6 จาก 6 ข้อ

ตรวจครบ 162 กรณี/47 decisions พร้อม browser 95 assertions โดยใช้ temporary data เท่านั้น

1 หัวข้อที่ตรวจ

พฤติกรรมและขอบเขต

BA

ตรวจข้อเสนอทางเลือกและไม่ข้ามเงื่อนไขที่มีผลต่อผู้เรียน

  • ผลตรวจครบ 162 ID และหมายเหตุสอดคล้องกับ canonical/generated catalog ผ่าน
  • W-41 ข้ามข้อมูลผู้ปกครองเมื่อไม่จำเป็นได้จริง ไม่บังคับ Parent Portal ทุกคน ผ่าน
  • W-77 ส่งเอกสารเพิ่มกลับไปตรวจใหม่ และทางปฏิเสธไม่ไปผลสำเร็จ ผ่าน
  • W-147 ต่อสัญญา/ย้ายห้องไม่ผ่านคืนมัดจำแบบย้ายออก ผ่าน
  • W-14 มีเส้นฉุกเฉินแยกก่อนสายอนุมัติปกติ; W-96 รอ EC ไม่ปิด milestone ผ่าน
  • W-163 ยืนยันซ้ำแล้วข้ามการหมดสิทธิ์ และไม่ตอบไม่เท่ากับสละโดยอัตโนมัติ ผ่าน
สำหรับ Technical: คำสั่งและผลดิบ
คำสั่ง
python3 docs/agent/tools/check_use_case_review.py; cd tracker && go test -race -count=1 ./... && go vet ./...; Playwright usecases-check.mjs + workflow-review-check.mjs บน temporary server
ผลจากเครื่องมือทดสอบ
ผ่าน 95, ไม่ผ่าน 0, ข้าม 0
หมายเหตุ
95 คือ browser assertions (70+25); Go และ data checks ตรวจเพิ่มแยกกัน การรันทดสอบก่อนหน้าพบ pointer นอก viewport และแก้ให้ scroll canvas ก่อนลากแล้วรันครบผ่าน ดู P-013
ผ่าน

ปิดงานจัดทำ Role/Security Matrix ฉบับร่าง

31 ต.ค. 2569, ผ่าน 4 จาก 4 ข้อ

ตรวจหลักฐานฉบับร่างและเปลี่ยนสถานะ Done เฉพาะ T-201/T-202 โดยคงรายการรอ BA/Security ยืนยัน

1 หัวข้อที่ตรวจ

สถานะและหลักฐาน

BA และ Technical

ปิดงาน Agent ที่เสร็จแล้วโดยไม่อนุมัติข้อกำหนดแทนผู้ตรวจ

  • Role/Security Matrix draft v0.1 มีไฟล์และหัวข้อครบตาม checkpoint C-004 ผ่าน
  • เปลี่ยนเป็น Done เฉพาะ T-201/T-202 และเวลา finished อ้างอิง C-004 ผ่าน
  • ข้อมูล review และ task อื่นทุก field คงเดิม ผ่าน
  • go test -count=1 ./... ผ่าน ผ่าน
สำหรับ Technical: คำสั่งและผลดิบ
คำสั่ง
ตรวจ artifacts/status diff และ cd tracker && go test -count=1 ./...
ผลจากเครื่องมือทดสอบ
ผ่าน 4, ไม่ผ่าน 0, ข้าม 0
หมายเหตุ
Done คือจัดทำฉบับร่างเสร็จ ไม่ใช่ยืนยัน business/security requirements; review.todo คงไว้
ผ่าน

ตรวจส่งมอบงานที่ Reviewed แล้ว

31 ต.ค. 2569, ผ่าน 9 จาก 9 ข้อ

Go race/vet ผ่าน Browser 70+9 รวม 79 assertions ผ่าน ใช้ข้อมูลชั่วคราวเพื่อปิดชุดงาน T-408–T-417

2 หัวข้อที่ตรวจ

Use cases และ diagram

BA และ Technical

ตรวจฟีเจอร์ที่ผ่านรีวิวทั้งชุดก่อนเก็บ Git

  • ตารางแบ่ง module/tabs/filter/collapse และ editor ทั้งชุดผ่าน 70 assertions ผ่าน
  • Save/revision history/rollback และ approval invalidation ทำงานครบ ผ่าน
  • PNG ส่งออกครบและ background White/Transparent ถูกต้องจริง ผ่าน
  • UI review panels, dark mode, mobile และ unsaved edits ผ่าน ผ่าน

Task briefs และคุณภาพโค้ด

BA และ Technical

รักษาผลรีวิวและรายละเอียดงานที่ตรวจแล้ว

  • Task briefs ผ่าน 9 assertions รวม T-303 และคำถาม 39 ข้อ ผ่าน
  • Go test -race -count=1 ./... ผ่าน ผ่าน
  • go vet ./... ผ่าน ผ่าน
  • JSON ทุกไฟล์ JavaScript syntax และ git diff --check ผ่าน ผ่าน
  • สถานะ T-408–T-417 ยังเป็น Reviewed และไม่มี Reject/Hold ค้าง ผ่าน
สำหรับ Technical: คำสั่งและผลดิบ
คำสั่ง
cd tracker && go test -race -count=1 ./... && go vet ./...; node tracker/e2e/usecases-check.mjs <chrome> <temporary-server> <shots> <playwright> <temporary-data>; node tracker/e2e/task-brief-check.mjs <chrome> <temporary-server> <shots> <playwright>
ผลจากเครื่องมือทดสอบ
ผ่าน 79, ไม่ผ่าน 0, ข้าม 0
หมายเหตุ
79 คือจำนวน browser assertions; Go suite ตรวจแยก ไม่มีการอนุมัติหรือแก้ diagram จริงใน repository
ผ่าน

Task briefs และ stakeholder questions

30 ต.ค. 2569, ผ่าน 8 จาก 8 ข้อ

Go race/vet ผ่าน และ browser read-only 9 ข้อผ่าน ครอบคลุม task brief, T-303, questions, mobile และ SQL Server decision

1 หัวข้อที่ตรวจ

ความครบถ้วนของแผนงาน

BA

ให้ task อ่านแล้วเริ่มงานและรู้ว่าจะถามใครได้

  • งานรอดำเนินการ 13 งานแสดงรายละเอียด outputs และคำถาม 39 ข้อ ผ่าน
  • T-303 แสดงคำถาม hosting 5 ข้อ และสถานะยังรอข้อมูล ผ่าน
  • คำถามระบุผู้ที่ควรตอบและผลต่อการตัดสินใจ ผ่าน
  • dependencies เป็นลิงก์กดไปงานที่เกี่ยวข้องได้ ผ่าน
  • ผู้รับผิดชอบที่เสนอมีป้ายรอยืนยัน ไม่ถูกตั้งเป็นผู้ได้รับมอบหมายจริง ผ่าน
  • คำถามบนมือถือโหมดมืดไม่ทำให้หน้าล้น ผ่าน
  • summary T-302 แสดงผลเลือก SQL Server ที่ยืนยันแล้ว ผ่าน
  • งานเสร็จแล้วมีบริบทให้อ่านโดยยังรักษาสถานะเดิม ผ่าน
สำหรับ Technical: คำสั่งและผลดิบ
คำสั่ง
cd tracker && go test -race -count=1 ./...; go vet ./...; node e2e/task-brief-check.mjs <headless-shell> <base-url> <output-dir> <playwright-module>
ผลจากเครื่องมือทดสอบ
ผ่าน 9, ไม่ผ่าน 0, ข้าม 0
หมายเหตุ
passed 9 คือ browser assertions; งาน hosting/data model/scope ยังคง todo ตามเดิม การเติม brief ไม่ใช่การปิดงานเหล่านั้น
ผ่าน

Review panels UI และ PNG export

30 ต.ค. 2569, ผ่าน 4 จาก 4 ข้อ

Browser 70 ข้อผ่าน รวมไฟล์ PNG จริง และ UI Approval/History ทั้งจอเล็กและโหมดมืด

1 หัวข้อที่ตรวจ

Review panels

BA

อ่านสถานะและประวัติได้ง่าย

  • Approval ที่อนุมัติแล้วแสดงผู้ตรวจและหมายเหตุแทนฟอร์มว่าง ผ่าน
  • Revision history มี empty state และ Current version ที่ชัดเจน ผ่าน
  • Refresh ประวัติล้มเหลวแล้วยังเก็บรายการเดิมไว้ ผ่าน
  • Review panels บนมือถือไม่ทำให้หน้าล้น และ screenshot สว่าง/มืดอ่านได้ ผ่าน
สำหรับ Technical: คำสั่งและผลดิบ
คำสั่ง
node tracker/e2e/usecases-check.mjs <headless-shell> <temporary-server> <screenshots> <existing-playwright> <temporary-data>
ผลจากเครื่องมือทดสอบ
ผ่าน 70, ไม่ผ่าน 0, ข้าม 0
หมายเหตุ
ทดสอบการ Save/Approve เฉพาะ /tmp; ตรวจ PNG ที่ดาวน์โหลดจริง ไม่ใช้ screenshot แทนการส่งออก
ผ่าน

Horizontal workflow, revision history, approval และ module groups

30 ต.ค. 2569, ผ่าน 8 จาก 8 ข้อ

Browser 59 ข้อผ่าน Go race suite และ vet ผ่าน ทดสอบการเขียน/Approve เฉพาะข้อมูล /tmp

1 หัวข้อที่ตรวจ

Workflow และรายการ Use cases

BA

จัดและค้นหากระบวนการได้ง่าย พร้อมตรวจยืนยันเป็นราย Use case

  • ร่างใหม่ไหลซ้ายไปขวาและเว้นช่องตามขนาด shape ผ่าน
  • Arrange horizontally เก็บ shape/connection เดิมครบและ Undo คืนตำแหน่งได้ ผ่าน
  • Toolbar ใช้ปุ่มอังกฤษที่ชัดเจน ผ่าน
  • กลุ่ม Module แสดงชื่อเต็ม หุบ/ขยาย และ Expand all / Collapse all ได้ ผ่าน
  • หุบ Module แล้ว reload ยังจำสถานะ ใช้กับ channel tabs และ filters ได้ ผ่าน
  • Approve เก็บชื่อ เวลา หมายเหตุ และแสดงสถานะในตาราง ผ่าน
  • แก้/Save/Restore แล้วสถานะอนุมัติต้องยืนยันใหม่และไม่ล้าง approval history ผ่าน
  • Restore คืนเนื้อหาจาก revision เดิมเป็น revision ใหม่ เก็บ intermediate revisions ครบ ผ่าน
สำหรับ Technical: คำสั่งและผลดิบ
คำสั่ง
cd tracker && go test -race -count=1 ./...; go vet ./...; node e2e/usecases-check.mjs <headless-shell> <temporary-server> <screenshots> <existing-playwright> <temporary-data>
ผลจากเครื่องมือทดสอบ
ผ่าน 59, ไม่ผ่าน 0, ข้าม 0
หมายเหตุ
59 คือจำนวน browser assertions; tests ของ approval ไม่เคยเขียนข้อมูลจริงใน repo
ผ่าน

Use cases tabs / full descriptions / Ctrl-wheel และ Overview order

30 ต.ค. 2569, ผ่าน 5 จาก 5 ข้อ

Browser regression ผ่าน 41 ข้อ พร้อม Go race suite และ vet ผ่าน ตรวจหน้า 8099 แบบอ่านอย่างเดียวผ่าน

1 หัวข้อที่ตรวจ

การอ่านและค้นหา Use cases

BA

อ่านรายการตามช่องทางและอ่านเนื้อหา diagram ครบ

  • แท็บทั้งหมด Frontend Backoffice และ Integration ใช้ร่วมกับ filters ได้ ผ่าน
  • ตารางแสดงยาวลงมาตามหน้าโดยไม่มีความสูงจำกัด ผ่าน
  • description จากต้นฉบับแสดงครบ ตัดเป็นบรรทัดสั้น และร่างใหม่ไม่ซ้อนกัน ผ่าน
  • description ยาวหลายบรรทัดอยู่ภายใน Start End Process และ Decision ครบทุกตัวอักษร ผ่าน
  • Current Task อยู่ก่อน Milestone ทั้งหมดบนหน้าภาพรวมจริงพอร์ต 8099 ผ่าน
สำหรับ Technical: คำสั่งและผลดิบ
คำสั่ง
cd tracker && go test -race -count=1 ./...; go vet ./...; node e2e/usecases-check.mjs <headless-shell> <temporary-server> <screenshots> <existing-playwright> <temporary-data>; main read-only smoke
ผลจากเครื่องมือทดสอบ
ผ่าน 41, ไม่ผ่าน 0, ข้าม 0
หมายเหตุ
passed 41 หมายถึง browser regression; ยังตรวจ main 8099 แบบอ่านอย่างเดียวและ Go suite แยกต่างหาก
ผ่าน

Diagram Snap to grid และเส้นเชื่อมหักมุม

30 ต.ค. 2569, ผ่าน 4 จาก 4 ข้อ

Browser ผ่าน 24 ข้อหลังปรับ Snap to grid และเส้น orthogonal บนข้อมูล /tmp

1 หัวข้อที่ตรวจ

การจัดตำแหน่งและเส้นเชื่อม

BA และ Technical

จัด diagram ให้อยู่แนวเดียวกันและอ่านทางเดินของเส้นได้ง่าย

  • ลาก shape แล้วพิกัดขยับตรงกริด 20 หน่วย ผ่าน
  • ทุกช่วงของเส้นเชื่อมเป็นแนวนอนหรือแนวตั้ง หักมุม 90° ผ่าน
  • shape ที่เพิ่มและพิกัดหลังลากยังตรงกริดหลังบันทึกและเปิดใหม่ ผ่าน
  • Regression browser ทั้ง 24 ข้อผ่าน รวม Fit/กึ่งกลาง ซูม ลากเส้น สองผู้ใช้ SSE undo/redo โหมดมืดและมือถือ ผ่าน
สำหรับ Technical: คำสั่งและผลดิบ
คำสั่ง
node tracker/e2e/usecases-check.mjs <headless-shell> <temporary-server> <screenshots> <existing-playwright> <temporary-data>
ผลจากเครื่องมือทดสอบ
ผ่าน 24, ไม่ผ่าน 0, ข้าม 0
หมายเหตุ
การลากทดสอบใช้จุดที่ไม่อยู่กึ่งกลางระหว่างสองช่องกริด เพื่อไม่ผูก assertion กับทศนิยมจาก SVG zoom
ผ่าน

Use cases Table view และ Diagram editor

30 ต.ค. 2569, ผ่าน 8 จาก 8 ข้อ

Go suite พร้อม race detector และ go vet ผ่าน Browser ผ่าน 23 ข้อบนข้อมูลสำเนา รวมการจัดกึ่งกลางและ Fit ทั้งหมดตามคำขอล่าสุด

1 หัวข้อที่ตรวจ

Catalog และการแสดงผล

BA

ใช้ Use cases เดิมเพื่ออ่านและแก้ workflow ได้สะดวก

  • ตารางแสดงครบ 162 Use cases และกรอง Module / คำค้นหาได้ ผ่าน
  • Diagram ฉบับร่างเก็บขั้นตอนต้นฉบับครบและมีข้อมูลผู้เกี่ยวข้อง ผ่าน
  • เปิด diagram แล้วเห็นทุก shape อยู่กึ่งกลางทั้งสองแนว ผ่าน
  • ผู้ใช้ซูมเข้าและกลับมาดูพอดีทั้งหมดได้ ผ่าน
  • เพิ่ม shape 4 แบบ แก้ข้อความ และลาก shape กับเส้นเชื่อมได้ ผ่าน
  • แก้ข้อความและหัวลูกศรต้น–ปลายของเส้นเชื่อมได้ ผ่าน
  • ลบ shape พร้อมเส้นที่เกี่ยวข้อง และ undo/redo คืนได้ ผ่าน
  • ข้อมูลบันทึกส่วนกลางยังอยู่หลังเปิดใหม่ โหมดมืดและจอมือถือใช้งานได้ ผ่าน
สำหรับ Technical: คำสั่งและผลดิบ
คำสั่ง
cd tracker && go test -race -count=1 ./...; go vet ./...; node e2e/usecases-check.mjs <headless-shell> <temporary-server> <screenshots> <existing-playwright> <temporary-data>
ผลจากเครื่องมือทดสอบ
ผ่าน 23, ไม่ผ่าน 0, ข้าม 0
หมายเหตุ
passed 23 คือ browser assertions; Go suite ผ่านทุกข้อด้วย ใช้ Playwright ที่มีอยู่แล้ว ไม่ได้เพิ่ม dependency ให้ tracker ทดสอบการเขียนบนข้อมูล /tmp เท่านั้น
ผ่าน

Tracker โหลดช้าเมื่อเปิดหลาย tab

30 ต.ค. 2569, ผ่าน 5 จาก 5 ข้อ

ตรวจว่า tab ที่ไม่ได้ดูคืนช่องเชื่อมต่อ, กลับมาแล้ว live update ทำงานต่อ และ CSS/JS โหลดจาก cache ผ่านทุกข้อ

1 หัวข้อที่ตรวจ

Browser (E2E)

BA

เปิดหลาย tab แล้วไม่ช้า

  • tab ที่ถูกซ่อนปิดการเชื่อมต่อ live updateการเชื่อมต่อลดลง 1 ผ่าน
  • กลับมาที่ tab แล้วป้ายเป็น "อัปเดตแบบเรียลไทม์" อีกครั้ง ผ่าน
  • เปิดหน้าที่สองแล้ว CSS/JS มาจาก cache ทั้งหมด ผ่าน
  • Live update ยังทำงาน (live-check บนข้อมูลสำเนา)32 → 33 task โดยไม่ reload ผ่าน
  • Timeline (timeline-check)9 ข้อ ผ่าน
ผ่าน

Timeline เต็มจอและเส้นแบ่ง

30 ต.ค. 2569, ผ่าน 9 จาก 9 ข้อ

ตรวจว่า Timeline ใช้พื้นที่เต็มจอ, chart ยืดถึงขอบขวา, ลากเส้นแบ่งได้และจำค่า, ย่อ/ขยายแถวได้ และตำแหน่งแถบยังถูกต้องหลังเปลี่ยนเป็น % ผ่านทุกข้อ

3 หัวข้อที่ตรวจ

Full width (E2E)

BA

chart ใช้พื้นที่จอได้เต็ม

  • หน้า Timeline กว้างถึงขอบ browsermain 1348 + เมนู 252 = 1600 px ผ่าน
  • chart ยืดถึงขอบขวา ไม่มีที่ว่าง ผ่าน

เส้นแบ่งรายละเอียด / chart (E2E)

BA

ปรับความกว้างช่องรายละเอียดได้ตามต้องการ

  • ลากที่หัวตารางแล้วช่องรายละเอียดกว้างขึ้น380 → 540 px ผ่าน
  • ลากที่ขอบแถวแล้วช่องรายละเอียดแคบลง540 → 440 px ผ่าน
  • กดลูกศรขวาแล้วขยับ 20 px ผ่าน
  • reload แล้วจำความกว้างไว้ ผ่าน
  • กด Home แล้วกลับค่าเดิม380 px ผ่าน

ย่อ / ขยาย (E2E)

BA

ซ่อนแถวข้างใน Milestone / Epic ได้จริง

  • กดย่อ Epic แล้ว task ข้างในหายจากจอ32 → 25 แถว (7 task) ผ่าน
  • กดขยายแล้วกลับมาครบ ผ่าน
ผ่าน

Timeline (Gantt chart)

30 ต.ค. 2569, ผ่าน 14 จาก 14 ข้อ

ตรวจหน้า Timeline: คำนวณช่วงเวลาและตำแหน่งแถบถูกต้องทุกระดับเวลา, ย่อ/ขยาย, เลื่อนไปที่ตอนนี้ และ Live update ไม่ทำให้ตำแหน่ง scroll หาย ผ่านทุกข้อ

3 หัวข้อที่ตรวจ

Timeline layout

BA

ความยาวของแถบตรงกับเวลาที่ใช้จริง

  • Task 1 วันกว้าง 1 วันพอดีในมุมมองวัน44 px ผ่าน
  • Task ที่ In Progress / Wait for review ยืดถึงตอนนี้ ผ่าน
  • แผน (start → due) แสดงเป็นกรอบเส้นประ ผ่าน
  • Task ที่ไม่มีวันขึ้นว่า "ยังไม่ได้กำหนดวัน" และนับเป็น Unscheduled ผ่าน
  • แถบ Epic / Milestone ครอบทุก task ข้างใน และแสดง % ที่เสร็จ ผ่าน
  • Milestone target แสดงเป็น ◆ ผ่าน

Scales (Hour / Day / Week)

BA และ Technical

สลับระดับเวลาได้และหน้าไม่หนักเกินไป

  • ทั้ง 3 scale เปิดได้ (HTTP 200) และ scale ที่ไม่รู้จักกลับเป็น Day ผ่าน
  • Week เริ่มวันจันทร์ ผ่าน
  • Hour view จำกัด 21 วันรอบตอนนี้เมื่อแผนยาว ผ่าน
  • Minimum span: Day 21 วัน, Week 12 สัปดาห์, Hour 48 ชม. ไม่ให้ chart แคบเกินไป ผ่าน

Interaction (E2E)

BA และ Technical

ใช้งานใน browser จริง

  • เปิดหน้าแล้วเส้น "ตอนนี้" อยู่ในจอ ผ่าน
  • ย่อ Milestone แล้วซ่อนแถวลูกทั้งหมด และจำค่าหลัง reload ผ่าน
  • Live update ไม่ทำให้ตำแหน่ง scroll แนวนอนหาย120 → 120 px ในมุมมองชั่วโมง ผ่าน
  • Light / Dark / Mobile แสดงผลถูกต้อง ผ่าน
สำหรับ Technical: คำสั่งและผลดิบ
คำสั่ง
go test -count=1 -v ./... ; timeline browser check
ผลจากเครื่องมือทดสอบ
ผ่าน 30, ไม่ผ่าน 0, ข้าม 0 ใช้เวลา 0.3s (go test) + 20s (E2E)
หมายเหตุ
go test: 26 ผล (20 test + 6 subtest), E2E timeline 4 checks
ผ่าน

File viewer, Reviewed status และ Done สีเขียว

30 ต.ค. 2569, ผ่าน 14 จาก 14 ข้อ

ตรวจว่าไฟล์แนบเปิดเป็นหน้า HTML ในแท็บใหม่ได้ และปลอดภัย, สถานะ Reviewed ทำงานตามที่ตกลง และทุก flow เดิมยังผ่านหลังเปลี่ยน ผ่านทุกข้อ

3 หัวข้อที่ตรวจ

File viewer (refs)

BA

กดไฟล์แนบแล้วเปิดเป็นหน้าที่อ่านง่ายในแท็บใหม่

  • Refs ในหน้า Wait for review เปิด /files/... ในแท็บใหม่ ผ่าน
  • Role Matrix แสดงเป็น HTML: 10 ตาราง, 115 แถว, TOC 13 หัวข้อ ผ่าน
  • Row filter: พิมพ์ "การเงิน" แล้วเหลือแถวที่เกี่ยวข้องพบ 2 แถว ผ่าน
  • Anchor link ไปหัวข้อถูกจุด#3-approval-authority-matrix ผ่าน
  • Mermaid diagram render ครบ13 จาก 13 diagram ใน 05-workflows.md ผ่าน
  • Path ใน code span ของข้อความรีวิวกดเปิดไฟล์ได้ ผ่าน
  • โฟลเดอร์แสดงรายการไฟล์ และ /files/tracker redirect ไป /files/tracker/ ผ่าน

Task status: Reviewed

BA

Done = Agent ทำเสร็จและทดสอบผ่าน, Reviewed = ผู้รีวิว Approve แล้ว

  • กด Approve แล้ว task เป็น Reviewed ผ่าน
  • Progress % นับทั้ง Done และ Reviewed ผ่าน
  • Done สีเขียว, Reviewed สีน้ำเงินพร้อม ✓ ทั้ง Light และ Dark ผ่าน
  • Task ที่ Approve ก่อนหน้านี้ 4 งานย้ายเป็น ReviewedT-302, T-401, T-403, T-404 ผ่าน

Regression (E2E)

BA และ Technical

flow เดิมยังทำงานหลังเปลี่ยน

  • Live update: browser เห็น task count เปลี่ยนเองโดยไม่ reload ผ่าน
  • Theme: Light / Dark / System ผ่าน 5 กรณี ผ่าน
  • Review form: Reject + Checklist + Save ผ่าน 7 checks บนข้อมูลสำเนา ผ่าน
สำหรับ Technical: คำสั่งและผลดิบ
คำสั่ง
go test -count=1 -v ./... ; node e2e/{live,theme,review}-check.mjs ; viewer check
ผลจากเครื่องมือทดสอบ
ผ่าน 43, ไม่ผ่าน 0, ข้าม 0 ใช้เวลา 0.3s (go test) + ~40s (E2E)
หมายเหตุ
go test: 25 ผล (19 test + 6 subtest). E2E: live 1, theme 5, review form 7, viewer 5 checks
ผ่าน

Review form: Approve / Reject / Hold

30 ต.ค. 2569, ผ่าน 15 จาก 15 ข้อ

ตรวจ Review form ที่ให้กรอกผลรีวิวแล้วกด Save ได้จากหน้าเว็บ: บันทึกลง milestones.json ถูกต้อง, กัน CSRF และไม่ทับข้อความที่กำลังพิมพ์ตอนมี Live update ผ่านทุกข้อ

3 หัวข้อที่ตรวจ

Review workflow

BA

กด Approve / Reject / Hold แล้วสถานะงานเปลี่ยนตามที่ตกลงกัน

  • Approve: review เป็น Done และ task เป็น Done พร้อมวันที่ Finished ผ่าน
  • Reject: review เป็น Rejected และ task กลับไปเป็น In Progress ผ่าน
  • Hold: review เป็น Hold และ task ยังอยู่ใน Wait for review ผ่าน
  • Checklist ที่ติ๊กถูกบันทึกไว้ ผ่าน
  • ทุกครั้งที่ Save จะต่อท้ายใน Review history ไม่ทับของเดิม ผ่าน
  • หลัง Save กลับไปที่ tab ตามผล พร้อม notice ว่าบันทึกแล้ว ผ่าน

Form validation

BA

ผู้รีวิวรู้ทันทีว่ากรอกอะไรไม่ครบ และไม่ต้องพิมพ์ใหม่

  • Reject / Hold โดยไม่เขียนรายละเอียด ระบบไม่ยอมบันทึก ผ่าน
  • ฟอร์มแสดงซ้ำพร้อมข้อความและชื่อที่กรอกไว้ ผ่าน
  • Task ที่ยังไม่ได้ส่งรีวิว บันทึกผลไม่ได้ ผ่าน

Browser (E2E)

BA และ Technical

ทดสอบใน headless Chrome กับข้อมูลชุดสำเนา ไม่แตะข้อมูลจริง

  • Live update ไม่ทับข้อความที่กำลังพิมพ์ในฟอร์ม ผ่าน
  • เลือก Reject, ติ๊ก Checklist, กรอกชื่อ แล้ว Save ได้ ผ่าน
  • Redirect ไป tab Rejected พร้อม notice ผ่าน
  • Decision แสดงผลเป็น Markdown ผ่าน
  • ไฟล์ข้อมูลบันทึกผลและชื่อผู้รีวิว ผ่าน
  • Browser จำชื่อผู้รีวิวไว้ใช้ครั้งต่อไป ผ่าน
สำหรับ Technical: คำสั่งและผลดิบ
คำสั่ง
go test -count=1 -v ./... ; node e2e/review-check.mjs <chrome> http://localhost:8098 <copy>/milestones.json T-201
ผลจากเครื่องมือทดสอบ
ผ่าน 29, ไม่ผ่าน 0, ข้าม 0 ใช้เวลา 0.3s (go test) + 12s (E2E)
หมายเหตุ
go test: 22 ผล (16 test + 6 subtest), E2E review form: 7 checks บน server แยกที่ port 8098 กับข้อมูลสำเนา ข้อมูลจริงไม่ถูกแก้
ผ่าน

Tracker รอบ 2: หน้าย่อย, Checkpoint, Test แบบจัดกลุ่ม, Review tabs

30 ต.ค. 2569, ผ่าน 27 จาก 27 ข้อ

ตรวจว่าข้อมูลงานถูกต้อง หน้าเว็บทุกหน้าเปิดได้ การรีวิวแยกตามสถานะ และการอัปเดตสดยังทำงาน หลังเพิ่มหน้าย่อย Milestone / Epic / Task, ประวัติ Checkpoint จาก Agent, หน้าผลทดสอบแบบจัดกลุ่ม และ tab การรีวิว ผ่านทุกข้อ

7 หัวข้อที่ตรวจ

Data validation

BA

ถ้ามีคนแก้ไฟล์ข้อมูลผิด ระบบต้องไม่แสดงข้อมูลเพี้ยน และบอกได้ว่าผิดตรงไหน

  • JSON เสีย: หน้าเว็บยังแสดงข้อมูลชุดก่อนหน้า พร้อม error message ผ่าน
  • ไม่รับ status ที่สะกดผิดใช้ได้เฉพาะ todo, in_progress, review, done ผ่าน
  • ไม่รับ ID ซ้ำ (task / epic / milestone) ผ่าน
  • ไม่รับ milestone / epic / task ที่ไม่มี ID ผ่าน
  • ไม่รับ review state ที่ไม่รู้จักใช้ได้เฉพาะ todo, rejected, hold, done ผ่าน
  • tests.json / problems.json / checkpoints.json เป็น optional ผ่าน

Progress calculation

BA

ตัวเลขบนหน้าภาพรวมต้องตรงกับงานจริง

  • Task count ตาม status ถูกต้องทุกระดับ (project / milestone / epic) ผ่าน
  • Current Task: แยก steps done / remaining และ % ถูกต้อง ผ่าน
  • Epic code สร้างอัตโนมัติเช่น E0.1, E1.2 ผ่าน
  • Review queue เรียงตาม requested date (เก่าสุดก่อน) ผ่าน
  • Date format เป็นปี พ.ศ.30 ต.ค. 2569 ผ่าน

Pages & Routing

BA และ Technical

ทุกหน้าเปิดได้ และไปถึงรายละเอียดของงานได้ทุกระดับ

  • ทุก page ได้ HTTP 200 จากข้อมูลจริงทดสอบกับ server ที่รันอยู่ด้วย 11 หน้า ได้ 200 ทุกหน้า ผ่าน
  • Milestone / Epic / Task page มี breadcrumb ผ่าน
  • Multi-milestone: sidebar แสดงทุก milestone, epic code เป็น E1.x ผ่าน
  • URL ที่ไม่มีจริงได้ 404milestone / epic / task ที่ไม่มี และ epic ที่อยู่ผิด milestone ผ่าน

Review tabs & Checklist

BA

ผู้รีวิวเห็นงานแยกตามผลการรีวิว และรู้ว่าต้องทำอะไรเป็นขั้นตอน

  • Tab Todo / Rejected / Hold / Done แยกถูกต้องค่าที่ไม่รู้จักกลับไปที่ Todo ผ่าน
  • Overview นับเฉพาะ Todo เป็น Review ผ่าน
  • Decision render เป็น Markdown ผ่าน

Test results view (BA / Technical)

BA และ Technical

แต่ละฝ่ายเลือกดูเฉพาะหัวข้อที่เกี่ยวกับงานของตัวเองได้

  • Filter BA / Technical แสดง group และ count ถูกต้อง ผ่าน
  • มี case fail แล้ว run เป็น "ไม่ผ่าน" ผ่าน

Checkpoint log

BA

บันทึกสรุปจาก Agent เรียงถูกและไม่มีรายการเสีย

  • เรียงล่าสุดก่อน รองรับทั้ง timestamp และ date ผ่าน
  • ไม่รับ checkpoint ที่ไม่มี ID, ID ซ้ำ หรือ timestamp ผิด ผ่าน

Theme (Light / Dark / System)

BA และ Technical

เลือกธีมได้และจำค่าที่เลือก

  • ระบบตั้งเป็นโหมดมืด + เลือก "ตามระบบ" ได้ธีมมืด ผ่าน
  • ระบบตั้งเป็นโหมดสว่าง + เลือก "ตามระบบ" ได้ธีมสว่าง ผ่าน
  • กด "มืด" แล้วเปลี่ยนเป็นธีมมืดทันที ผ่าน
  • reload แล้วยังเป็นธีมมืด ผ่าน
  • กลับไป "ตามระบบ" แล้วลบค่าที่จำไว้ ผ่าน
สำหรับ Technical: คำสั่งและผลดิบ
คำสั่ง
go test -count=1 -v ./... ; node e2e/live-check.mjs ; node e2e/theme-check.mjs
ผลจากเครื่องมือทดสอบ
ผ่าน 25, ไม่ผ่าน 0, ข้าม 0 ใช้เวลา 0.5s (go test) + 15s (e2e)
หมายเหตุ
go test: 19 ผล (13 test + 6 subtest), e2e อัปเดตสด 1 ชุด, e2e ธีม 5 กรณี และตรวจ 11 หน้าบน server ที่รันอยู่