docs(sdlc): record real test results, open defects ISS-029–032, conditional acceptance

This commit is contained in:
Thanakorn
2026-10-02 17:12:47 +07:00
parent 5d3a7a655b
commit 1a065013b0
138 changed files with 406 additions and 326 deletions
@@ -27,7 +27,7 @@
| Actor | คำอธิบาย | การใช้งานหลัก |
| --- | --- | --- |
| Owner | เจ้าของบริษัท สิทธิ์สูงสุดภายในบริษัท | ตั้งค่าบริษัท จัดการผู้ใช้ และใช้งานทุกโมดูล |
| Admin | ผู้ดูแลระบบภายในบริษัท | จัดการข้อมูลหลัก ผู้ใช้ สิทธิ์ และใช้งานทุกโมดูลปฏิบัติการ |
| Admin | ผู้ดูแลระบบภายในบริษัท | จัดการข้อมูลหลักและใช้งานทุกโมดูลปฏิบัติการ (การจัดการผู้ใช้และสิทธิ์เป็นของ Owner) |
| Staff | ผู้ปฏิบัติงาน | บันทึกรายการคลังสินค้า ขาย จัดซื้อ และการเงินตามสิทธิ์ |
| Viewer | ผู้ใช้แบบอ่านอย่างเดียว | ดูหน้าจอและรายงานที่ได้รับสิทธิ์ |
| System Scheduler | ผู้กระทำอัตโนมัติ (Node.js) | สรุปยอดสต๊อก/GL และแจ้งเตือนตามกำหนดเวลา |
@@ -126,7 +126,7 @@ Wireframe แสดงโครงร่างหน้าจอหลักท
| UN01.001 | Identity – Register & Onboarding | ลงทะเบียนเจ้าของบริษัท, ยืนยันอีเมล, เชิญผู้ใช้และรับคำเชิญเข้าบริษัทที่ถูกต้อง | SR03:001, SR08:001 | app/login/, UserManager.php |
| UN01.002 | Identity – Login & Role Guard | เข้าสู่ระบบด้วย Username/Password, ตรวจบทบาทและสิทธิ์แอปพลิเคชันฝั่งเซิร์ฟเวอร์ก่อนเข้าทุกหน้า | SR03:001, SR04:001, SR07:005 | app/login/, UserManager.php, app/assets/utils/ |
| UN01.003 | Identity – Password Recovery / OTP / Session | ลืมรหัสผ่านผ่านอีเมล, OTP, Hash รหัสผ่าน bcrypt, บล็อก Concurrent Login | SR03:001, SR01:004, SR07:003 | PasswordManager.php, PasswordResetManager.php |
| UN01.004 | Identity – User & App-Access Administration | เพิ่ม/แก้ไข/ปิดใช้ผู้ใช้, กำหนดบทบาทและสิทธิ์การเข้าถึงแอปพลิเคชัน | SR03:001, SR08:001 | app/setting/, UserManager.php |
| UN01.004 | Identity – User & App-Access Administration | Owner เชิญ/แก้ไขบทบาทและสิทธิ์แอปพลิเคชัน/ลบผู้ใช้ และส่งคำเชิญซ้ำ | SR03:001, SR08:001 | app/setting/api/engine/manage_users.php, UserManager.php |
| UN02 — ตั้งค่าบริษัท (Company Settings) | | | | |
| UN02.001 | Company – Profile & System Settings | แก้ไขข้อมูลบริษัท, โลโก้, ค่าตั้งค่าระบบต่อบริษัท | SR03:002 | CompanyProfileManager.php, CompanySettingManager.php |
| UN02.002 | Company – SMTP & Mail Dispatch | ตั้งค่า SMTP ต่อบริษัท และส่งอีเมล Onboarding/กู้คืนรหัสผ่าน/แจ้งเตือน | SR03:002, SR06:004 | SmtpManager.php |
@@ -137,7 +137,7 @@ Wireframe แสดงโครงร่างหน้าจอหลักท
| UN03.004 | Master – Warehouse Layer Configuration | สลับโครงสร้างคลังแบบชั้นเดียว/หลายชั้นต่อบริษัท | SR03:003 | CompanySettingManager.php, WarehouseManager.php |
| UN04 — ควบคุมสินค้าคงคลัง (Inventory Control) | | | | |
| UN04.001 | ICS – Stock-in | รับสินค้าเข้าตามสินค้า จำนวน ตำแหน่ง เอกสารอ้างอิง สร้างความเคลื่อนไหวและยอดคงเหลือ | SR03:004, SR08:003 | app/ics/, StockManager.php, StockTablesTrait.php |
| UN04.002 | ICS – Stock-out | จ่ายสินค้าออกโดยตรวจสิทธิ์และยอดคงเหลือ ปฏิเสธจำนวนเกิน | SR03:004, SR09:003 | StockManager.php |
| UN04.002 | ICS – Stock-out | จ่ายสินค้าออกทั้งยอดของช่องจัดเก็บโดยตรวจสิทธิ์ ยอดคงเหลือไม่ติดลบ | SR03:004, SR09:003 | StockManager.php, OrderManager.php |
| UN04.003 | ICS – Stock Transfer | โอนย้ายระหว่างตำแหน่ง ต้นทาง/ปลายทางผูกเป็นรายการเดียว | SR03:004 | StockManager.php |
| UN04.004 | ICS – Lot / Serial / Expiry | บันทึกและสอบกลับ Lot, Serial Number, วันหมดอายุ | SR03:004, SR08:002 | StockSourceManager.php, md_lot |
| UN04.005 | ICS – Barcode Label & Scan | พิมพ์ฉลากบาร์โค้ด SKU/ตำแหน่ง และรับค่าจากเครื่องสแกน | SR03:004 | BarcodeManager.php, location_barcode_label.php |
@@ -150,36 +150,36 @@ Wireframe แสดงโครงร่างหน้าจอหลักท
| UN06 — จัดซื้อ (Purchasing) | | | | |
| UN06.001 | Purchasing – Purchase Request | สร้างและอนุมัติใบขอซื้อ | SR03:006 | app/po/, PurchaseRequestManager.php |
| UN06.002 | Purchasing – Purchase Order | แปลงใบขอซื้อเป็นใบสั่งซื้อ และติดตามสถานะ | SR03:006, SR04:002 | PurchaseOrderManager.php |
| UN06.003 | Purchasing – Purchase Invoice | บันทึกใบแจ้งหนี้ซื้อ รับสินค้าเข้า และบันทึก GL | SR03:006, SR04:002 | PurchaseOrderManager.php, StockManager.php |
| UN06.003 | Purchasing – Purchase Invoice | รับสินค้าตามใบสั่งซื้อ และบันทึกใบแจ้งหนี้ซื้อพร้อมผ่าน GL | SR03:006, SR04:002 | PurchaseOrderManager.php, app/expense/purchase_invoice.php, PurchaseInvoicePosting.php |
| UN06.004 | Purchasing – Supplier Return | คืนสินค้าผู้ขาย พร้อมปรับสต๊อก/บัญชี | SR03:006, SR04:002 | SupplierReturnManager.php |
| UN07 — การเงิน (Finance) | | | | |
| UN07.001 | Finance – Receipt Billing & Receipt | วางบิลรับและบันทึกใบเสรจรับเงินผูกกับใบแจ้งหนี้ | SR03:007, SR04:002 | app/finance/, ReceiptBillingManager.php, ReceiptManager.php |
| UN07.002 | Finance – Payment Billing & Payment | วางบิลจ่ายและบันทึกใบสำคัญจ่ายผูกกับใบแจ้งหนี้ซื้อ | SR03:007, SR04:002 | PaymentBillingManager.php, PaymentManager.php |
| UN08 — บัญชี (Accounting) | | | | |
| UN08.001 | Accounting – Chart of Accounts / Departments / Formulas | จัดการผังบัญชี แผนก และสูตรบัญชีอัตโนมัติ | SR03:008, SR08:002 | app/accounting/, PostingManager.php |
| UN08.002 | Accounting – Journal & GL Posting | บันทึกสมุดรายวันและผ่านรายการ GL แบบสมดุลภายใน Transaction | SR03:008, SR09:003 | app/journal/, PostingManager.php |
| UN08.001 | Accounting – Chart of Accounts / Departments / Formulas | จัดการผังบัญชี แผนก และสูตรบัญชีอัตโนมัติ | SR03:008, SR08:002 | app/accounting/, GlManager.php |
| UN08.002 | Accounting – Journal & GL Posting | บันทึกสมุดรายวันและผ่านรายการ GL ตามช่วงเวลาที่เปิดผ่านรายการ | SR03:008, SR09:003 | app/accounting/api/engine/save_manual_journal.php, GlManager.php, BasePosting.php, PostingWindowGuard.php |
| UN09 — รายงานและแดชบอร์ด (Reports & Dashboard) | | | | |
| UN09.001 | Reports – Dashboard & Aggregates | แดชบอร์ดคลังสินค้าและบัญชีจากตารางสรุปยอด | SR03:009, SR05:001, SR05:002 | app/dashboard/, app/ac_dashboard/, EtlStockManager.php |
| UN09.002 | Reports – Stock Reports | ภาพรวมสต๊อก, ความเคลื่อนไหว, ความจุ, สินค้าใกล้หมด, หมดอายุ, Lot | SR03:009 | app/reports/, ReportManager.php |
| UN09.003 | Reports – Financial Reports | งบทดลอง, งบกำไรขาดทุน, งบดุล, VAT, สมุดรายวัน, ความเคลื่อนไหว GL | SR03:009 | ReportManager.php |
| UN09.003 | Reports – Financial Reports | งบทดลอง, งบกำไรขาดทุน, งบดุล, VAT, สมุดรายวัน, ความเคลื่อนไหว GL | SR03:009 | app/accounting/ (trial_balance, pl_statement, balance_sheet, vat_report, journal_listing, gl_movement) |
| UN09.004 | Reports – Filter / Print / Export | กรอง ดู พิมพ์ และส่งออกรายงานตามขอบเขตสิทธิ์ | SR03:009, SR04:003 | app/reports/ |
| UN10 — ควบคุมเอกสาร (Document Control) | | | | |
| UN10.001 | Document – Numbering | ออกเลขที่เอกสารตามลำดับที่กำหนด (document_number_sequences) | SR03:010, SR04:005, SR08:004 | DocumentNumberManager.php |
| UN10.002 | Document – Lifecycle & Status | ควบคุมสถานะเอกสาร ปฏิเสธการเปลี่ยนสถานะที่ไม่ถูกต้อง พร้อม Confirm Dialog และข้อความข้อผิดพลาด | SR03:010, SR09:001, SR09:002 | BatchActionManager.php, Manager classes |
| UN10.003 | Document – Audit Fields & History | บันทึกผู้สร้าง ผู้แก้ไข วันที่ และประวัติรายการ | SR03:010, SR09:001 | td_* tables, td_bin_log |
| UN10.003 | Document – Audit Fields & History | บันทึกผู้ทำรายการ วันเวลา และข้อมูลที่ส่งในคอลัมน์ log ของรายการ และประวัติช่องจัดเก็บ | SR03:010, SR09:001 | db_auth.php (log), td_* tables, td_bin_log |
| UN11 — แจ้งเตือนและงานตามกำหนดเวลา (Notification & Scheduler) | | | | |
| UN11.001 | Node – Socket.IO Notification Server | รับเหตุการณ์จาก PHP ผ่าน Endpoint ที่ป้องกันด้วย Secret และส่งต่อไปยัง Browser ของผู้ใช้ที่เกี่ยวข้อง | SR03:011, SR04:004, SR06:004, SR06:005 | nodejs/server.js |
| UN11.002 | Node – Scheduler (ETL & Alerts) | สรุปยอดสต๊อก/GL, แจ้งเตือนสินค้าใกล้หมดและใบแจ้งหนี้ค้างชำระ ตามกำหนดเวลา Asia/Bangkok | SR03:011, SR05:002, SR01:006 | nodejs/scheduler.js, app/cron/ |
| UN12 — ความปลอดภัยและการแยกข้อมูล (Security & Tenant Scope) | | | | |
| UN12.001 | Security – Tenant Scope Guard | จำกัดทุก Query และ Action ให้อยู่ในบริษัท/คลังที่ผู้ใช้ได้รับอนุญาต | SR04:001, SR04:003, SR07:002 | StockTablesTrait.php, Manager classes |
| UN12.002 | Security – Server-side Validation | ตรวจสอบข้อมูลนำเข้า, Prepared Statements, Escape Output ป้องกัน SQLi/XSS | SR07:002, SR07:004 | Manager classes, app/assets/utils/ |
| UN12.003 | Security – Operation Lock & Usage Guard | ล็อกช่วงเวลาผ่านรายการ และจำกัดโควตารายการต่อบริษัท | SR07:002, SR09:003 | OperationLockManager.php, UsageGuard.php |
| UN12.003 | Security – Posting Window & Usage Guard | ปฏิเสธการผ่านรายการนอกช่วงเวลาที่เปิด และล็อกแดชบอร์ด/รายงานเมื่อใช้งานเกินแพ็กเกจ | SR07:002, SR09:003 | PostingWindowGuard.php, UsageGuard.php |
| UN12.004 | Security – TLS & Secret Configuration | ค่าตั้งค่า TLS, NODE_EMIT_SECRET และ Secrets ที่สร้างตอนติดตั้ง | SR07:001, SR01:005 | docker/php/config.php.template, .env |
| UN13 — ติดตั้งและสำรองข้อมูล (Deployment & Backup) | | | | |
| UN13.001 | Deploy – setup.php Schema Installer | สร้างฐานข้อมูล wms/wms2 และตารางทั้งหมดในขั้นตอนเดียว | SR01:003, SR08:005, SR06:001 | setup.php, docker/mariadb/init-wms2.sql |
| UN13.002 | Deploy – Docker Compose Stack | Container php-apache, mariadb, node/pm2 พร้อม Entrypoint สร้าง config.php | SR02:005, SR01:003 | docker-compose.yml, docker/ |
| UN13.002 | Deploy – Docker Compose Stack | Service db, php, node พร้อม Entrypoint สร้าง config.php | SR02:005, SR01:003 | docker-compose.yml, docker/ |
| UN13.003 | Deploy – .env Generator | สร้าง .env และความลับอัตโนมัติ ไม่เก็บใน Git | SR01:005 | docker/init-env.sh, .env.example |
| UN13.004 | Deploy – Backup & Restore | สำรอง Git 2 Remote, mysqldump รายวัน, ขั้นตอนกู้คืน | SR01:003 | Product Operation Guide, backup remote |
| UN13.004 | Deploy – Backup & Restore | สำรอง Git 2 Remote, สำรองฐานข้อมูลด้วย mysqldump และขั้นตอนกู้คืน | SR01:003 | Product Operation Guide, backup remote |
## ผู้จัดทำเอกสาร (Secretary)
@@ -67,7 +67,7 @@
| CR06: Security Considerations | | | | | | |
| CR06:001 | การเชื่อมต่อในสภาพแวดล้อมใช้งานจริงต้องเข้ารหัสด้วย HTTPS/TLS | SR07:001 | การเชื่อมต่อในสภาพแวดล้อมใช้งานจริงต้องผ่าน HTTPS/TLS | UN12.004 | Security – TLS & Secret Configuration | TC-UN12.004 |
| CR06:002 | ค่าตั้งค่าและความลับของระบบต้องไม่ถูกเก็บใน Source Control และไม่เข้าถึงได้จากเว็บสาธารณะ | SR01:005 | ค่าตั้งค่าและความลับ (app/config.php, .env) ต้องถูกยกเว้นจาก Source Control และสร้างขึ้นตอนติดตั้ง | UN13.003, UN12.004 | Deploy – .env Generator / Security – TLS & Secret Configuration | TC-UN13.003, TC-UN12.004 |
| CR06:003 | การทำงานฝั่งเซิร์ฟเวอร์ต้องตรวจสอบข้อมูลนำเข้า ยืนยันตัวตน ตรวจสิทธิ์ และจำกัดขอบเขตบริษัท/คลัง | SR07:002 | การทำงานฝั่งเซิร์ฟเวอร์ต้องตรวจสอบข้อมูลนำเข้า ยืนยันตัวตน ตรวจสิทธิ์ และจำกัดขอบเขตบริษัท/คลัง | UN12.002 | Security – Server-side Validation | TC-UN12.002 |
| CR06:003 | การทำงานฝั่งเซิร์ฟเวอร์ต้องตรวจสอบข้อมูลนำเข้า ยืนยันตัวตน ตรวจสิทธิ์ และจำกัดขอบเขตบริษัท/คลัง | SR07:002 | การทำงานฝั่งเซิร์ฟเวอร์ต้องตรวจสอบข้อมูลนำเข้า ยืนยันตัวตน ตรวจสิทธิ์ และจำกัดขอบเขตบริษัท/คลัง | UN12.002, UN12.003 | Security – Server-side Validation / Security – Posting Window & Usage Guard | TC-UN12.002, TC-UN12.003 |
| CR06:004 | ระบบต้องจำกัดสิทธิ์การเข้าถึงตามบทบาท (Role-based Access Control) ทั้งใน UI และฝั่งเซิร์ฟเวอร์ | SR07:005 | RBAC (Owner/Admin/Staff/Viewer) ต้องบังคับใช้ที่ฝั่งเซิร์ฟเวอร์ ไม่ใช่เพียงการซ่อนเมนู | UN01.002 | Identity – Login & Role Guard | TC-UN01.002 |
| CR06:005 | ระบบต้องป้องกัน SQL Injection และ Cross-Site Scripting | SR07:004 | ระบบต้องป้องกัน SQL Injection และ Cross-Site Scripting ทั้งด้านรับข้อมูลและแสดงผล | UN12.002 | Security – Server-side Validation | TC-UN12.002 |
| CR06:006 | ระบบต้องบล็อกการเข้าสู่ระบบซ้ำซ้อน (Concurrent Login) ของบัญชีเดียวกัน | SR07:003 | ระบบต้องอนุญาต Session ที่ใช้งานอยู่เพียงหนึ่งต่อบัญชี (บล็อก Concurrent Login) | UN01.003 | Identity – Password Recovery / OTP / Session | TC-UN01.003 |
@@ -65,7 +65,7 @@
| แจ้งเตือนและงานตามกำหนดเวลา (Notification & Scheduler) | UN11.002 | Node – Scheduler (ETL & Alerts) | พัฒนาแล้ว |
| ความปลอดภัยและการแยกข้อมูล (Security & Tenant Scope) | UN12.001 | Security – Tenant Scope Guard | พัฒนาแล้ว |
| ความปลอดภัยและการแยกข้อมูล (Security & Tenant Scope) | UN12.002 | Security – Server-side Validation | พัฒนาแล้ว |
| ความปลอดภัยและการแยกข้อมูล (Security & Tenant Scope) | UN12.003 | Security – Operation Lock & Usage Guard | พัฒนาแล้ว |
| ความปลอดภัยและการแยกข้อมูล (Security & Tenant Scope) | UN12.003 | Security – Posting Window & Usage Guard | พัฒนาแล้ว |
| ความปลอดภัยและการแยกข้อมูล (Security & Tenant Scope) | UN12.004 | Security – TLS & Secret Configuration | พัฒนาแล้ว |
| ติดตั้งและสำรองข้อมูล (Deployment & Backup) | UN13.001 | Deploy – setup.php Schema Installer | พัฒนาแล้ว |
| ติดตั้งและสำรองข้อมูล (Deployment & Backup) | UN13.002 | Deploy – Docker Compose Stack | พัฒนาแล้ว |
@@ -31,7 +31,7 @@
| 1 | TC-UN01.001 | UN01.001 Identity – Register & Onboarding | ลงทะเบียนเจ้าของบริษัทใหม่ → ยืนยันอีเมล → เชิญผู้ใช้ → ผู้ใช้กดลิงก์เชิญ | สร้างบริษัท/บัญชีเจ้าของสำเร็จ ผู้ใช้ที่ถูกเชิญเข้าบริษัทที่ถูกต้อง | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, SMTP ทดสอบ | ต้องส่งอีเมลได้จริง | - | Ready | ตามแผน 10–14 ส.ค. 69 |
| 2 | TC-UN01.002 | UN01.002 Identity – Login & Role Guard | เข้าสู่ระบบด้วยบัญชี Owner/Admin/Staff/Viewer แล้วเรียกหน้าและ Action ที่ไม่ได้รับสิทธิ์ | แต่ละบทบาทเข้าถึงได้เฉพาะหน้าจอ/คำสั่งที่อนุญาต คำสั่งที่ไม่ได้รับสิทธิ์ถูกปฏิเสธฝั่งเซิร์ฟเวอร์ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | ต้องมีบัญชีทดสอบครบ 4 บทบาท | TC-UN01.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 3 | TC-UN01.003 | UN01.003 Identity – Password Recovery / OTP / Session | ขอรีเซ็ตรหัสผ่าน → กรอก OTP → ตั้งรหัสใหม่; เข้าสู่ระบบบัญชีเดิมจาก 2 อุปกรณ์ | รีเซ็ตสำเร็จโดยไม่เปิดเผยรหัสผ่านเดิม Session ที่สองถูกปฏิเสธ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, SMTP ทดสอบ | - | TC-UN01.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 4 | TC-UN01.004 | UN01.004 Identity – User & App-Access Administration | Admin เพิ่มผู้ใช้ เปลี่ยนบทบาท และปิดสิทธิ์แอปพลิเคชัน; Staff ลองทำรายการเดียวกัน | การเปลี่ยนแปลงของ Admin ถูกบันทึก Staff ถูกปฏิเสธ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN01.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 4 | TC-UN01.004 | UN01.004 Identity – User & App-Access Administration | Owner เชิญผู้ใช้ แก้ไขบทบาทและสิทธิ์แอปพลิเคชัน และลบผู้ใช้; Admin และ Staff ลองทำรายการเดียวกัน | การเปลี่ยนแปลงของ Owner ถูกบันทึก สิทธิ์แอปพลิเคชันไม่เกินสิทธิ์ของ Owner Admin และ Staff ถูกปฏิเสธ (HTTP 403) | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | บัญชี Owner, Admin, Staff ในบริษัทเดียวกัน | TC-UN01.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 5 | TC-UN02.001 | UN02.001 Company – Profile & System Settings | แก้ไขข้อมูลบริษัทและค่าตั้งค่าระบบ | ค่าใหม่ถูกบันทึกและมีผลกับบริษัทนั้นเท่านั้น | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN01.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 6 | TC-UN02.002 | UN02.002 Company – SMTP & Mail Dispatch | ตั้งค่า SMTP แล้วส่งอีเมลทดสอบ/คำเชิญ | อีเมลถูกส่งผ่าน SMTP ของบริษัทและได้รับที่ปลายทาง | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, SMTP ทดสอบ | ต้องมีบัญชี SMTP ทดสอบ | TC-UN02.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 7 | TC-UN03.001 | UN03.001 Master – Warehouse / Storage / Bin | เพิ่ม/แก้ไข/ปิดใช้ คลังสินค้า พื้นที่ และช่องจัดเก็บ; กรอกความจุไม่ถูกต้อง | รายการถูกต้องถูกบันทึก ข้อมูลผิดถูกปฏิเสธพร้อมข้อความ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN01.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
@@ -39,7 +39,7 @@
| 9 | TC-UN03.003 | UN03.003 Master – Contact | เพิ่มประเภทผู้ติดต่อ ลูกค้า และผู้ขาย | ผู้ติดต่อเลือกใช้ในเอกสารขาย/ซื้อได้ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN01.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 10 | TC-UN03.004 | UN03.004 Master – Warehouse Layer Configuration | ตั้งบริษัท A เป็นคลังชั้นเดียว บริษัท B เป็นคลัง/พื้นที่/ช่อง แล้วรับสินค้าเข้า | ทั้งสองบริษัททำรายการได้ถูกต้องตามโครงสร้างของตน | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, 2 บริษัททดสอบ | - | TC-UN03.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 11 | TC-UN04.001 | UN04.001 ICS – Stock-in | รับสินค้าเข้า ระบุสินค้า จำนวน ตำแหน่ง เอกสารอ้างอิง; กรอกจำนวนติดลบ | สร้างความเคลื่อนไหวและยอดคงเหลือถูกต้อง จำนวนติดลบถูกปฏิเสธ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN03.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 12 | TC-UN04.002 | UN04.002 ICS – Stock-out | จ่ายสินค้าออกภายในยอดคงเหลือ และจ่ายเกินยอด | ยอดลดลงถูกต้อง การจ่ายเกินยอดถูกปฏิเสธ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN04.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 12 | TC-UN04.002 | UN04.002 ICS – Stock-out | จ่ายสินค้าออกจากช่องจัดเก็บที่มียอด; ยืนยันใบสั่งขายที่จำนวนเกินยอดคงเหลือ | ยอดช่องจัดเก็บลดเป็นศูนย์และบันทึกความเคลื่อนไหว ยอดไม่ติดลบ ใบสั่งขายที่เกินยอดถูกปฏิเสธพร้อมข้อความ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN04.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 13 | TC-UN04.003 | UN04.003 ICS – Stock Transfer | โอนย้ายระหว่าง 2 ตำแหน่งที่ได้รับอนุญาต | ต้นทางลด ปลายทางเพิ่ม ผูกเป็นรายการโอนเดียวและสอบกลับได้ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN04.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 14 | TC-UN04.004 | UN04.004 ICS – Lot / Serial / Expiry | รับสินค้าเข้าพร้อม Lot, Serial Number, วันหมดอายุ แล้วเปิดรายงาน Lot/หมดอายุ | ข้อมูลติดตามคงอยู่และแสดงในรายงานที่เกี่ยวข้อง | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN04.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 15 | TC-UN04.005 | UN04.005 ICS – Barcode Label & Scan | พิมพ์ฉลาก SKU/ตำแหน่ง แล้วสแกน (หรือป้อนค่า) ในหน้าจอรับเข้า | ฉลากมีรหัสที่ใช้งานได้ ค่าที่สแกนถูกยอมรับ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, เครื่องสแกนหรือจำลอง | เครื่องพิมพ์/สแกน (ถ้ามี) | TC-UN03.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
@@ -56,23 +56,23 @@
| 26 | TC-UN07.002 | UN07.002 Finance – Payment Billing & Payment | วางบิลจ่ายและบันทึกใบสำคัญจ่ายกับใบแจ้งหนี้ซื้อ | ยอดค้างจ่ายลดลง เอกสารเชื่อมโยงกันและมีประวัติ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN06.003 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 27 | TC-UN08.001 | UN08.001 Accounting – Chart of Accounts / Departments / Formulas | เพิ่มผังบัญชี แผนก และสูตรบัญชี | โครงสร้างบัญชีถูกบันทึกและใช้กับการผ่านรายการได้ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN01.004 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 28 | TC-UN08.002 | UN08.002 Accounting – Journal & GL Posting | บันทึกสมุดรายวันแบบสมดุลและแบบไม่สมดุล; จำลองความล้มเหลวระหว่างผ่านรายการ | รายการสมดุลถูกผ่าน GL รายการไม่สมดุลถูกปฏิเสธ ความล้มเหลวถูก Rollback ทั้งชุด | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | ต้องจำลองความล้มเหลวบน Testing Server | TC-UN08.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 29 | TC-UN09.001 | UN09.001 Reports – Dashboard & Aggregates | เปิดแดชบอร์ดคลังสินค้าและบัญชีหลังรันงานสรุปยอด | ตัวเลขตรงกับตารางสรุปยอดและแสดงผลภายในเวลาที่ใช้งานได้ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN11.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 29 | TC-UN09.001 | UN09.001 Reports – Dashboard & Aggregates | รันงานสรุปยอดแล้วเปิดแดชบอร์ดคลังสินค้าและบัญชี | ตัวเลขตรงกับตาราง etl_stock_summary และ etl_gl_summary และหน้าแดชบอร์ดแสดงผลภายใน 3 วินาที | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN11.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 30 | TC-UN09.002 | UN09.002 Reports – Stock Reports | เปิดรายงานภาพรวมสต๊อก ความเคลื่อนไหว ความจุ สินค้าใกล้หมด หมดอายุ และ Lot พร้อมตัวกรอง | รายงานแสดงข้อมูลที่ได้รับสิทธิ์ตามตัวกรอง | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN04.001–TC-UN04.004 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 31 | TC-UN09.003 | UN09.003 Reports – Financial Reports | เปิดงบทดลอง งบกำไรขาดทุน งบดุล VAT สมุดรายวัน และความเคลื่อนไหว GL | ยอดรวมสอดคล้องกันในงวดที่เลือก | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN08.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 31 | TC-UN09.003 | UN09.003 Reports – Financial Reports | เปิดงบทดลอง งบกำไรขาดทุน งบดุล VAT สมุดรายวัน และความเคลื่อนไหว GL ของงวดเดียวกัน | งบทดลองเดบิตเท่ากับเครดิต สินทรัพย์เท่ากับหนี้สินรวมส่วนของเจ้าของ และยอดในรายงานตรงกับสมุดรายวัน | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN08.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 32 | TC-UN09.004 | UN09.004 Reports – Filter / Print / Export | กรอง ดู พิมพ์ และส่งออกรายงาน | ผลลัพธ์ตรงกับขอบเขตและตัวกรองที่เลือก | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN09.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 33 | TC-UN10.001 | UN10.001 Document – Numbering | สร้างเอกสารควบคุมหลายฉบับติดต่อกัน | เลขที่เอกสารเรียงตามลำดับที่ตั้งค่า ไม่ซ้ำ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN05.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 34 | TC-UN10.002 | UN10.002 Document – Lifecycle & Status | พยายามเปลี่ยนสถานะเอกสารข้ามขั้น; ลบเอกสารควบคุม | การเปลี่ยนสถานะที่ไม่ถูกต้องถูกปฏิเสธพร้อมข้อความ การลบต้องยืนยันก่อน | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN10.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 35 | TC-UN10.003 | UN10.003 Document – Audit Fields & History | สร้างแล้วแก้ไขรายการ แล้วเปิดดูประวัติ | ผู้สร้าง ผู้แก้ไข วันที่ และสถานะถูกบันทึกครบ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN03.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 35 | TC-UN10.003 | UN10.003 Document – Audit Fields & History | สร้างแล้วแก้ไขรายการ แล้วเปิดดูประวัติรายการ | คอลัมน์ log บันทึกผู้ทำรายการ วันเวลา และข้อมูลที่ส่งครบทุกครั้ง | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN03.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 36 | TC-UN11.001 | UN11.001 Node – Socket.IO Notification Server | เปลี่ยนสถานะเอกสารที่ต้องแจ้งเตือน; เรียก Endpoint แจ้งเตือนโดยไม่มี Secret | ผู้ใช้ที่เกี่ยวข้องได้รับแจ้งเตือน Real-time เท่านั้น การเรียกโดยไม่มี Secret ถูกปฏิเสธ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, Node.js + pm2, Internal Testing Server | บริการ Node.js ทำงานอยู่ | TC-UN01.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 37 | TC-UN11.002 | UN11.002 Node – Scheduler (ETL & Alerts) | รันงานสรุปยอดสต๊อก/GL และแจ้งเตือนสินค้าใกล้หมด/ใบแจ้งหนี้ค้างชำระ; ตรวจเวลาบันทึกเทียบ Asia/Bangkok | งานเสร็จโดยไม่ซ้ำ ผลลัพธ์อยู่ในขอบเขตสิทธิ์ เวลาถูกต้องตามเขตเวลา | Node.js + pm2, Internal Testing Server | Scheduler ทำงานอยู่ | TC-UN04.001, TC-UN07.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 37 | TC-UN11.002 | UN11.002 Node – Scheduler (ETL & Alerts) | รันงานสรุปยอดสต๊อก/GL และแจ้งเตือนสินค้าใกล้หมด/ใบแจ้งหนี้ค้างชำระสองรอบติดกัน; ตรวจเวลาบันทึกเทียบ Asia/Bangkok | แถวสรุปยอดของงวดเดียวกันไม่เพิ่มซ้ำในรอบที่สอง แจ้งเตือนส่งเฉพาะบริษัทเจ้าของข้อมูล เวลาตรงกับ Asia/Bangkok | Node.js + pm2, Internal Testing Server | Scheduler ทำงานอยู่ | TC-UN04.001, TC-UN07.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 38 | TC-UN12.001 | UN12.001 Security – Tenant Scope Guard | ผู้ใช้บริษัท A เรียกข้อมูล/รายการของบริษัท B และคลังที่ไม่ได้รับสิทธิ์ ทั้งผ่าน UI และ URL/ API โดยตรง | ถูกปฏิเสธทุกช่องทาง ไม่มีข้อมูลรั่วไหลหรือถูกแก้ไข | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, 2 บริษัททดสอบ | - | TC-UN01.002, TC-UN03.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 39 | TC-UN12.002 | UN12.002 Security – Server-side Validation | ส่งข้อมูลนำเข้าที่มี SQL/Script และค่าที่ไม่ถูกต้องไปยัง Action ฝั่งเซิร์ฟเวอร์ | ถูกปฏิเสธหรือ Escape โดยไม่มีข้อมูลเปลี่ยนแปลงหรือ Script ทำงาน | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, เครื่องมือทดสอบ API | - | TC-UN01.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 40 | TC-UN12.003 | UN12.003 Security – Operation Lock & Usage Guard | ผ่านรายการในงวดที่ล็อก; ทำรายการเกินโควตาบริษัท | รายการถูกปฏิเสธพร้อมข้อความ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN08.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 40 | TC-UN12.003 | UN12.003 Security – Posting Window & Usage Guard | ผ่านรายการลงวันที่นอกช่วงเวลาที่เปิด; ใช้งานเกินจำนวนรายการของแพ็กเกจแล้วเปิดแดชบอร์ด/รายงาน | การผ่านรายการนอกช่วงถูกปฏิเสธพร้อมข้อความ แดชบอร์ด/รายงานถูกล็อก (HTTP 402) พร้อมข้อความให้ปรับแพ็กเกจ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | ตั้งช่วงเวลาผ่านรายการและแพ็กเกจทดสอบ | TC-UN08.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 41 | TC-UN12.004 | UN12.004 Security – TLS & Secret Configuration | ตรวจ Repository และสภาพแวดล้อมที่ติดตั้งว่ามีความลับหรือไฟล์ตั้งค่าเปิดเผยหรือไม่; เรียกผ่าน HTTPS | ไม่พบความลับใน Git หรือเข้าถึงได้จากเว็บ การเชื่อมต่อผ่าน TLS | Repository, Deployed Environment | - | - | Ready | ตามแผน 10–14 ส.ค. 69 |
| 42 | TC-UN13.001 | UN13.001 Deploy – setup.php Schema Installer | ติดตั้งบนเครื่องใหม่ด้วย setup.php | ฐานข้อมูลและตารางครบตาม SR08 โดยไม่แก้ Schema ด้วยมือ | Fresh Linux Server, PHP 8, MariaDB | ต้องใช้เครื่องว่าง | - | Ready | ตามแผน 10–14 ส.ค. 69 |
| 43 | TC-UN13.002 | UN13.002 Deploy – Docker Compose Stack | รัน docker compose up -d --build | Container php-apache, mariadb, node ทำงานและเข้าใช้ระบบได้ | Docker Host | - | TC-UN13.003 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 43 | TC-UN13.002 | UN13.002 Deploy – Docker Compose Stack | รัน docker compose up -d --build | Service db, php, node ทำงานและเข้าใช้ระบบได้ | Docker Host | - | TC-UN13.003 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 44 | TC-UN13.003 | UN13.003 Deploy – .env Generator | รัน docker/init-env.sh โดยเว้นค่าความลับว่าง | .env ถูกสร้างพร้อมความลับสุ่ม และไม่ถูก Git ติดตาม | Docker Host | - | - | Ready | ตามแผน 10–14 ส.ค. 69 |
| 45 | TC-UN13.004 | UN13.004 Deploy – Backup & Restore | สำรองฐานข้อมูล กู้คืนสู่สภาพแวดล้อมทดสอบ และ Clone จาก Backup Remote | ข้อมูลและ Source Code กู้คืนได้ครบตามขั้นตอนในคู่มือ | Testing Server, Backup Remote | ตาม Product Operation Guide | TC-UN13.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
| 45 | TC-UN13.004 | UN13.004 Deploy – Backup & Restore | สำรองฐานข้อมูลด้วย mysqldump กู้คืนสู่สภาพแวดล้อมทดสอบ และ Clone จาก Backup Remote | ข้อมูลและ Source Code กู้คืนได้ครบตามขั้นตอนในคู่มือ | Testing Server, Backup Remote | ตาม Product Operation Guide | TC-UN13.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
## Summary
@@ -23,90 +23,67 @@
| 2 | Non-Functional Test | ประสิทธิภาพ, ความปลอดภัย (สิทธิ์/TLS/การเข้ารหัสรหัสผ่าน), การแยกข้อมูล, การสำรองและกู้คืน |
| 3 | Environment | Internal Testing Server (PHP 8, MariaDB, Node.js) |
| 4 | ช่วงเวลา | รอบทดสอบระบบ 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 5 | Baseline ที่ใช้ทดสอบ | สถานะ Repository ที่ใกล้เคียงที่สุด Commit `dd48a8b` |
| 5 | Build ที่ใช้ทดสอบ | Commit `b2c4374` บน Branch main (การแก้ไขโค้ดล่าสุดก่อนรอบทดสอบ) |
## สรุปผลการทดสอบ
| รายการ | จำนวน |
| --- | ---: |
| Test Case ที่กำหนดทั้งหมด | 45 |
| ดำเนินการทดสอบ | 45 |
| ผ่าน (Passed) | 45 |
| ไม่ผ่าน (Failed) | 0 |
| ค้าง (Blocked / Pending) | 0 |
| ดำเนินการทดสอบ | 43 |
| ผ่าน (Passed) | 38 |
| ไม่ผ่าน (Failed) | 5 |
| ยังไม่ได้ทดสอบ (ฟังก์ชันส่งมอบหลังรอบทดสอบ) | 2 |
## Verification Items
| No | Test Case | Software Testing | Customer Req. ID | Customer Req. Topic | Status | Test Date |
| :---: | :---: | --- | :---: | --- | :---: | :---: |
| 1 | TC-UN01.001 | ตรวจสอบ Identity – Register & Onboarding | CR01:001 | ระบบต้องรองรับการลงทะเบียนเจ้าของบริษัทและการเชิญผู้ใช้งานเข้าร่วมบริษัท (Onboarding) | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 2 | TC-UN01.002 | ตรวจสอบ Identity – Login & Role Guard | CR01:002 | ระบบต้องยืนยันตัวตนผู้ใช้และบังคับสิทธิ์ตามบทบาท Owner, Admin, Staff และ Viewer | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 3 | TC-UN01.003 | ตรวจสอบ Identity – Password Recovery / OTP / Session | CR01:003 | ระบบต้องรองรับการกู้คืนรหัสผ่าน การควบคุม Session และการยืนยัน OTP ตามที่กำหนด | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 4 | TC-UN01.004, TC-UN02.001, TC-UN02.002 | ตรวจสอบ Identity – User & App-Access Administration / Company – Profile & System Settings / Company – SMTP & Mail Dispatch | CR01:004 | ระบบต้องให้ผู้ดูแลจัดการข้อมูลบริษัท, SMTP, การตั้งค่าระบบ, ผู้ใช้งาน และสิทธิ์การเข้าถึงแอปพลิเคชัน | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 5 | TC-UN03.001, TC-UN03.002, TC-UN03.003 | ตรวจสอบ Master – Warehouse / Storage / Bin / Master – Product & Category / Master – Contact | CR01:005 | ระบบต้องจัดการข้อมูลคลังสินค้า, พื้นที่/ช่องจัดเก็บ, หมวดสินค้า, สินค้า, ประเภทผู้ติดต่อ และผู้ติดต่อ | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 6 | TC-UN03.004 | ตรวจสอบ Master – Warehouse Layer Configuration | CR01:006 | ระบบต้องรองรับโครงสร้างตำแหน่งจัดเก็บทั้งแบบคลังเดียวและแบบหลายชั้น (คลัง/พื้นที่/ช่อง) | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 7 | TC-UN04.001 | ตรวจสอบ ICS – Stock-in | CR01:007 | ระบบต้องบันทึกการรับสินค้าเข้า (Stock-in) ระบุสินค้า จำนวน ตำแหน่ง เอกสารอ้างอิง และข้อมูลติดตาม | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 8 | TC-UN04.002 | ตรวจสอบ ICS – Stock-out | CR01:008 | ระบบต้องบันทึกการจ่ายสินค้าออก (Stock-out) โดยตรวจสอบสิทธิ์และยอดคงเหลือก่อนจ่าย | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 9 | TC-UN04.003 | ตรวจสอบ ICS – Stock Transfer | CR01:009 | ระบบต้องโอนย้ายสินค้าระหว่างตำแหน่งจัดเก็บที่ได้รับอนุญาตโดยยอดต้นทาง/ปลายทางสมดุลกัน | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 10 | TC-UN04.004 | ตรวจสอบ ICS – Lot / Serial / Expiry | CR01:010 | ระบบต้องติดตาม Lot, Serial Number และวันหมดอายุของสินค้าที่เกี่ยวข้อง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 11 | TC-UN09.002 | ตรวจสอบ Reports – Stock Reports | CR01:011 | ระบบต้องแสดงภาพรวมสต๊อก, ประวัติความเคลื่อนไหว, ความจุ/การใช้พื้นที่, สินค้าใกล้หมด, สินค้าหมดอายุ และข้อมูล Lot | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 12 | TC-UN04.005 | ตรวจสอบ ICS – Barcode Label & Scan | CR01:012 | ระบบต้องพิมพ์บาร์โค้ดสินค้า (SKU) และตำแหน่งจัดเก็บ และรองรับการสแกนในหน้าจอที่กำหนด | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 13 | TC-UN05.001, TC-UN05.002, TC-UN05.003, TC-UN05.004 | ตรวจสอบ Sales – Quotation / Sales – Sales Order / Sales – Invoice / Sales – Return / Credit Note | CR01:013 | ระบบต้องสร้างและจัดการใบเสนอราคา, ใบสั่งขาย, ใบแจ้งหนี้, ใบรับคืน และใบลดหนี้ | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 14 | TC-UN06.001, TC-UN06.002, TC-UN06.003, TC-UN06.004 | ตรวจสอบ Purchasing – Purchase Request / Purchasing – Purchase Order / Purchasing – Purchase Invoice / Purchasing – Supplier Return | CR01:014 | ระบบต้องสร้างและจัดการใบขอซื้อ, ใบสั่งซื้อ, ใบแจ้งหนี้ซื้อ และใบคืนสินค้าผู้ขาย | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 15 | TC-UN07.001, TC-UN07.002 | ตรวจสอบ Finance – Receipt Billing & Receipt / Finance – Payment Billing & Payment | CR01:015 | ระบบต้องสร้างและจัดการใบวางบิลรับ, ใบเสร็จรับเงิน, ใบวางบิลจ่าย และใบสำคัญจ่าย | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 16 | TC-UN08.001, TC-UN08.002 | ตรวจสอบ Accounting – Chart of Accounts / Departments / Formulas / Accounting – Journal & GL Posting | CR01:016 | ระบบต้องจัดการผังบัญชี, แผนก, สูตรบัญชี, สมุดรายวัน และบัญชีแยกประเภท | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 17 | TC-UN09.003 | ตรวจสอบ Reports – Financial Reports | CR01:017 | ระบบต้องจัดทำรายงานงบทดลอง, งบกำไรขาดทุน, งบดุล, ภาษีมูลค่าเพิ่ม, สมุดรายวัน และความเคลื่อนไหว GL | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 18 | TC-UN10.001, TC-UN10.002 | ตรวจสอบ Document – Numbering / Document – Lifecycle & Status | CR01:018 | ระบบต้องออกเลขที่เอกสารอัตโนมัติและควบคุมสถานะ/วงจรชีวิตของเอกสาร | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 19 | TC-UN04.006 | ตรวจสอบ ICS – File Attachment | CR01:019 | ระบบต้องรองรับการแนบไฟล์ที่อนุญาตกับรายการที่กำหนด | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 20 | TC-UN09.004 | ตรวจสอบ Reports – Filter / Print / Export | CR01:020 | ระบบต้องให้ผู้ใช้กรอง ดู พิมพ์ และส่งออกรายงานปฏิบัติการและรายงานผู้บริหาร | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 21 | TC-UN11.001 | ตรวจสอบ Node – Socket.IO Notification Server | CR01:021 | ระบบต้องแจ้งเตือนผู้ใช้ที่เกี่ยวข้องเมื่อสถานะเอกสารเปลี่ยนหรือมีเหตุการณ์ปฏิบัติการ | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 22 | TC-UN11.002 | ตรวจสอบ Node – Scheduler (ETL & Alerts) | CR01:022 | ระบบต้องสรุปยอดสต๊อก/GL และแจ้งเตือนสินค้าใกล้หมดและใบแจ้งหนี้ค้างชำระตามกำหนดเวลา | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 23 | TC-UN10.003 | ตรวจสอบ Document – Audit Fields & History | CR01:023 | ระบบต้องเก็บผู้สร้าง ผู้แก้ไข สถานะ และประวัติรายการเพื่อการตรวจสอบ | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 24 | TC-UN12.001 | ตรวจสอบ Security – Tenant Scope Guard | CR01:024 | ระบบต้องจำกัดข้อมูลบริษัทและคลังสินค้าให้เฉพาะผู้ใช้ที่ได้รับอนุญาตในบริบทปัจจุบัน | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 25 | TC-UN09.001 | ตรวจสอบ Reports – Dashboard & Aggregates | CR02:001 | ระบบต้องตอบสนองงานประจำวัน (เปิดหน้าจอ, ค้นหา, สร้างเอกสาร) ภายในเวลาที่ใช้งานได้จริงบนสภาพแวดล้อมที่ตกลง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 26 | TC-UN09.001, TC-UN11.002 | ตรวจสอบ Reports – Dashboard & Aggregates / Node – Scheduler (ETL & Alerts) | CR02:002 | ระบบต้องมีตารางสรุปยอด (Aggregate) เพื่อให้แดชบอร์ดและรายงานแสดงผลได้โดยไม่ต้องคำนวณใหม่ทุกครั้ง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 27 | TC-UN09.001 | ตรวจสอบ Reports – Dashboard & Aggregates | CR02:003 | ระบบต้องรองรับปริมาณข้อมูลและผู้ใช้พร้อมกันในระดับที่ตกลงสำหรับสภาพแวดล้อมใช้งานจริง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 28 | TC-UN13.001 | ตรวจสอบ Deploy – setup.php Schema Installer | CR03:001 | ระบบต้องเชื่อมต่อฐานข้อมูล MySQL/MariaDB 2 ฐาน (wms สำหรับผู้ใช้/บริษัท และ wms2 สำหรับคลัง/บัญชี) | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 29 | TC-UN01.002 | ตรวจสอบ Identity – Login & Role Guard | CR03:002 | ระบบต้องใช้งานผ่าน Web Browser มาตรฐาน (Chrome, Edge, Firefox) ได้ | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 30 | TC-UN11.001 | ตรวจสอบ Node – Socket.IO Notification Server | CR03:003 | ระบบต้องส่งเหตุการณ์ไปยังบริการ Node.js ผ่าน Endpoint ภายในที่ป้องกันด้วย Secret | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 31 | TC-UN11.001 | ตรวจสอบ Node – Socket.IO Notification Server | CR03:004 | Browser ต้องเชื่อมต่อ Socket.IO Endpoint สาธารณะเพื่อรับการแจ้งเตือนแบบ Real-time | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 32 | TC-UN02.002 | ตรวจสอบ Company – SMTP & Mail Dispatch | CR03:005 | ระบบต้องส่งอีเมล Onboarding, กู้คืนรหัสผ่าน และแจ้งเตือนผ่าน SMTP ที่ตั้งค่าต่อบริษัท | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 33 | TC-UN01.002 | ตรวจสอบ Identity – Login & Role Guard | CR04:001 | ระบบต้องพัฒนาบนสถาปัตยกรรม Web-based Application | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 34 | TC-UN13.001 | ตรวจสอบ Deploy – setup.php Schema Installer | CR04:002 | ระบบต้องเก็บข้อมูลแบบ Relational Database และรักษา Referential Integrity | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 35 | TC-UN01.002 | ตรวจสอบ Identity – Login & Role Guard | CR04:003 | ระบบต้องรองรับการเข้าสู่ระบบด้วย Username/Password และกำหนดบทบาทผู้ใช้ | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 36 | TC-UN13.001 | ตรวจสอบ Deploy – setup.php Schema Installer | CR04:004 | ระบบต้องทำงานบน PHP 8 ขึ้นไป, MySQL/MariaDB และ Node.js | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 37 | TC-UN01.002 | ตรวจสอบ Identity – Login & Role Guard | CR05:001 | UI ต้องเป็น Responsive ใช้งานได้ทั้งบน Desktop และอุปกรณ์หน้าคลังสินค้า (Tablet/Mobile) | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 38 | TC-UN01.002 | ตรวจสอบ Identity – Login & Role Guard | CR05:002 | เมนูและปุ่มคำสั่งต้องแสดงตามบทบาทและสิทธิ์การเข้าถึงของผู้ใช้ | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 39 | TC-UN10.002 | ตรวจสอบ Document – Lifecycle & Status | CR05:003 | ระบบต้องแสดงผลการตรวจสอบข้อมูล สถานะ ความสำเร็จ และข้อผิดพลาดอย่างชัดเจน | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 40 | TC-UN10.002 | ตรวจสอบ Document – Lifecycle & Status | CR05:004 | ระบบต้องมีขั้นตอนยืนยันก่อนลบ ยกเลิก หรือทำรายการที่ย้อนกลับไม่ได้ | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 41 | TC-UN04.005 | ตรวจสอบ ICS – Barcode Label & Scan | CR05:005 | ระบบต้องพิมพ์เอกสารธุรกิจและฉลากบาร์โค้ดในรูปแบบที่ใช้งานได้ | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 42 | TC-UN12.004 | ตรวจสอบ Security – TLS & Secret Configuration | CR06:001 | การเชื่อมต่อในสภาพแวดล้อมใช้งานจริงต้องเข้ารหัสด้วย HTTPS/TLS | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 43 | TC-UN13.003, TC-UN12.004 | ตรวจสอบ Deploy – .env Generator / Security – TLS & Secret Configuration | CR06:002 | ค่าตั้งค่าและความลับของระบบต้องไม่ถูกเก็บใน Source Control และไม่เข้าถึงได้จากเว็บสาธารณะ | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 44 | TC-UN12.002 | ตรวจสอบ Security – Server-side Validation | CR06:003 | การทำงานฝั่งเซิร์ฟเวอร์ต้องตรวจสอบข้อมูลนำเข้า ยืนยันตัวตน ตรวจสิทธิ์ และจำกัดขอบเขตบริษัท/คลัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 45 | TC-UN01.002 | ตรวจสอบ Identity – Login & Role Guard | CR06:004 | ระบบต้องจำกัดสิทธิ์การเข้าถึงตามบทบาท (Role-based Access Control) ทั้งใน UI และฝั่งเซิร์ฟเวอร์ | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 46 | TC-UN12.002 | ตรวจสอบ Security – Server-side Validation | CR06:005 | ระบบต้องป้องกัน SQL Injection และ Cross-Site Scripting | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 47 | TC-UN01.003 | ตรวจสอบ Identity – Password Recovery / OTP / Session | CR06:006 | ระบบต้องบล็อกการเข้าสู่ระบบซ้ำซ้อน (Concurrent Login) ของบัญชีเดียวกัน | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 48 | TC-UN13.001, TC-UN13.002 | ตรวจสอบ Deploy – setup.php Schema Installer / Deploy – Docker Compose Stack | CR07:001 | ระบบต้องทำงานบน Linux Server ในรูปแบบติดตั้งเอง (LAMP) หรือ Docker Compose | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 49 | TC-UN11.002 | ตรวจสอบ Node – Scheduler (ETL & Alerts) | CR07:002 | ระบบต้องใช้เขตเวลา Asia/Bangkok อย่างสม่ำเสมอทั้งแอปพลิเคชันและงานตามกำหนดเวลา | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 50 | TC-UN01.002 | ตรวจสอบ Identity – Login & Role Guard | CR07:003 | ระบบต้องใช้งานได้บนอุปกรณ์ Desktop และอุปกรณ์พกพาผ่าน Web Browser | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 51 | TC-UN13.001 | ตรวจสอบ Deploy – setup.php Schema Installer | CR07:004 | ระบบต้องแยกข้อมูลสาธิต/ทดสอบออกจากข้อมูลใช้งานจริงได้ | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 52 | TC-UN13.004 | ตรวจสอบ Deploy – Backup & Restore | CR08:001 | ระบบต้องมีการสำรองฐานข้อมูลอัตโนมัติรายวัน | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 53 | TC-UN13.004 | ตรวจสอบ Deploy – Backup & Restore | CR08:002 | ระบบต้องกู้คืนข้อมูลจากชุดสำรองได้ตามขั้นตอนที่จัดทำเป็นเอกสาร | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 54 | TC-UN12.001 | ตรวจสอบ Security – Tenant Scope Guard | CR08:004 | ระบบต้องรองรับหลายบริษัท (Multi-company) และหลายคลังสินค้าภายใต้การแยกข้อมูล | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 55 | TC-UN11.002 | ตรวจสอบ Node – Scheduler (ETL & Alerts) | CR08:005 | งานตามกำหนดเวลาต้องทำงานสำเร็จโดยไม่สร้างผลลัพธ์ซ้ำหรือเกินสิทธิ์ | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 56 | TC-UN13.003 | ตรวจสอบ Deploy – .env Generator | CR09:002 | ระบบต้องมีแม่แบบค่าตั้งค่า (Configuration Template) และควบคุมเวอร์ชันด้วย Git | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 57 | TC-UN13.001 | ตรวจสอบ Deploy – setup.php Schema Installer | CR09:004 | การเปลี่ยนแปลงโครงสร้างฐานข้อมูลต้องสะท้อนใน setup.php และตาราง schema_migrations | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 58 | TC-UN13.001 | ตรวจสอบ Deploy – setup.php Schema Installer | CR10:001 | ระบบต้องติดตั้งฐานข้อมูลได้ในขั้นตอนเดียวผ่าน setup.php | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 59 | TC-UN13.002 | ตรวจสอบ Deploy – Docker Compose Stack | CR10:002 | ระบบต้องติดตั้งแบบ Container ได้ด้วยคำสั่ง docker compose up -d --build | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 60 | TC-UN13.003 | ตรวจสอบ Deploy – .env Generator | CR10:003 | ระบบต้องมีสคริปต์สร้างไฟล์ .env และค่าความลับอัตโนมัติ (docker/init-env.sh) | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 61 | TC-UN13.001, TC-UN13.002 | ตรวจสอบ Deploy – setup.php Schema Installer / Deploy – Docker Compose Stack | CR10:004 | ระบบต้องมีเอกสารขั้นตอนการติดตั้งและตั้งค่า | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 62 | TC-UN13.001 | ตรวจสอบ Deploy – setup.php Schema Installer | CR12:001 | ระบบต้องพัฒนาด้วย PHP, MariaDB และ Node.js ตามที่องค์กรอนุมัติ | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 63 | TC-UN01.003 | ตรวจสอบ Identity – Password Recovery / OTP / Session | CR12:003 | รหัสผ่านผู้ใช้ต้องเข้ารหัสด้วย bcrypt และไม่เก็บหรือบันทึกเป็นข้อความธรรมดา | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 64 | TC-UN08.002 | ตรวจสอบ Accounting – Journal & GL Posting | CR13:001 | การเปลี่ยนแปลงฐานข้อมูลที่เกี่ยวข้องกัน (เอกสาร + สต๊อก + GL) ต้องเป็น Transaction เดียวกัน | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 65 | TC-UN04.002 | ตรวจสอบ ICS – Stock-out | CR13:002 | ระบบต้องป้องกันยอดสต๊อกติดลบและความเคลื่อนไหวซ้ำซ้อน | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 66 | TC-UN13.004 | ตรวจสอบ Deploy – Backup & Restore | CR13:003 | ระบบต้องรองรับการสำรองและกู้คืน (Backup & Recovery) ทั้ง Source Code และฐานข้อมูล | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 67 | TC-UN10.002 | ตรวจสอบ Document – Lifecycle & Status | CR13:004 | ระบบต้องจัดการข้อผิดพลาดโดยแสดงข้อความที่เข้าใจได้แทน Fatal Error | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 68 | TC-UN12.001, TC-UN12.002 | ตรวจสอบ Security – Tenant Scope Guard / Security – Server-side Validation | CR14:004 | ต้องไม่มีข้อบกพร่องระดับวิกฤตค้างอยู่ในด้านความปลอดภัย การแยกข้อมูล และความถูกต้องของสต๊อก/บัญชี | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| No | Test Case | Software Unit | Customer Req. ID | Actual Result | Status | Test Date |
| :---: | :---: | --- | --- | --- | :---: | :---: |
| 1 | TC-UN01.001 | Identity – Register & Onboarding | CR01:001 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 2 | TC-UN01.002 | Identity – Login & Role Guard | CR01:002, CR03:002, CR04:001, CR04:003, CR05:001, CR05:002, CR06:004, CR07:003 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 3 | TC-UN01.003 | Identity – Password Recovery / OTP / Session | CR01:003, CR06:006, CR12:003 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 4 | TC-UN01.004 | Identity – User & App-Access Administration | CR01:004 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 5 | TC-UN02.001 | Company – Profile & System Settings | CR01:004 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 6 | TC-UN02.002 | Company – SMTP & Mail Dispatch | CR01:004, CR03:005 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 7 | TC-UN03.001 | Master – Warehouse / Storage / Bin | CR01:005 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 8 | TC-UN03.002 | Master – Product & Category | CR01:005 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 9 | TC-UN03.003 | Master – Contact | CR01:005 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 10 | TC-UN03.004 | Master – Warehouse Layer Configuration | CR01:006 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 11 | TC-UN04.001 | ICS – Stock-in | CR01:007 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 12 | TC-UN04.002 | ICS – Stock-out | CR01:008, CR13:002 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 13 | TC-UN04.003 | ICS – Stock Transfer | CR01:009 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 14 | TC-UN04.004 | ICS – Lot / Serial / Expiry | CR01:010 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 15 | TC-UN04.005 | ICS – Barcode Label & Scan | CR01:012, CR05:005 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 16 | TC-UN04.006 | ICS – File Attachment | CR01:019 | อัปโหลดและตรวจชนิด/ขนาดไฟล์ถูกต้อง แต่ไฟล์แนบอยู่ใต้ app/uploads/ ที่เว็บเปิดให้เรียกโดยตรง ผู้ที่ทราบ URL เปิดไฟล์ได้โดยไม่ตรวจ Session และบริษัท | Failed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 17 | TC-UN05.001 | Sales – Quotation | CR01:013 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 18 | TC-UN05.002 | Sales – Sales Order | CR01:013 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 19 | TC-UN05.003 | Sales – Invoice | CR01:013 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 20 | TC-UN05.004 | Sales – Return / Credit Note | CR01:013 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 21 | TC-UN06.001 | Purchasing – Purchase Request | CR01:014 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 22 | TC-UN06.002 | Purchasing – Purchase Order | CR01:014 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 23 | TC-UN06.003 | Purchasing – Purchase Invoice | CR01:014 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 24 | TC-UN06.004 | Purchasing – Supplier Return | CR01:014 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 25 | TC-UN07.001 | Finance – Receipt Billing & Receipt | CR01:015 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 26 | TC-UN07.002 | Finance – Payment Billing & Payment | CR01:015 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 27 | TC-UN08.001 | Accounting – Chart of Accounts / Departments / Formulas | CR01:016 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 28 | TC-UN08.002 | Accounting – Journal & GL Posting | CR01:016, CR13:001 | สมุดรายวันที่ไม่สมดุลถูกปฏิเสธ แต่เมื่อการผ่าน GL ล้มเหลว เอกสารที่บันทึกแล้วไม่ถูก Rollback เพราะการผ่าน GL แยก Transaction จากเอกสาร | Failed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 29 | TC-UN09.001 | Reports – Dashboard & Aggregates | CR02:001, CR02:002, CR02:003 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 30 | TC-UN09.002 | Reports – Stock Reports | CR01:011 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 31 | TC-UN09.003 | Reports – Financial Reports | CR01:017 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 32 | TC-UN09.004 | Reports – Filter / Print / Export | CR01:020 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 33 | TC-UN10.001 | Document – Numbering | CR01:018 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 34 | TC-UN10.002 | Document – Lifecycle & Status | CR01:018, CR05:003, CR05:004, CR13:004 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 35 | TC-UN10.003 | Document – Audit Fields & History | CR01:023 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 36 | TC-UN11.001 | Node – Socket.IO Notification Server | CR01:021, CR03:003, CR03:004 | การเรียก Endpoint แจ้งเตือนโดยไม่มี Secret ถูกปฏิเสธ แต่ Socket.IO รับ company_id, user_id และ role จาก Browser โดยไม่ตรวจกับ Session ผู้ที่ปลอมค่าได้รับแจ้งเตือนของบริษัทอื่น | Failed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 37 | TC-UN11.002 | Node – Scheduler (ETL & Alerts) | CR01:022, CR02:002, CR07:002, CR08:005 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 38 | TC-UN12.001 | Security – Tenant Scope Guard | CR01:024, CR08:004, CR14:004 | หน้าจอและ API ปฏิเสธการเข้าถึงข้ามบริษัทถูกต้อง แต่ช่องทาง Socket.IO ยังรับการแจ้งเตือนของบริษัทอื่นได้ | Failed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 39 | TC-UN12.002 | Security – Server-side Validation | CR06:003, CR06:005, CR14:004 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 40 | TC-UN12.003 | Security – Posting Window & Usage Guard | CR06:003 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 41 | TC-UN12.004 | Security – TLS & Secret Configuration | CR06:001, CR06:002 | ไม่พบไฟล์ .env หรือรหัสผ่านใน Git แต่แม่แบบค่าตั้งค่ากำหนดกุญแจเข้ารหัสและ IV คงที่ เชื่อมต่อฐานข้อมูลด้วยผู้ใช้ root และไม่มีหลักฐานการตั้งค่า HTTPS/TLS | Failed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 42 | TC-UN13.001 | Deploy – setup.php Schema Installer | CR03:001, CR04:002, CR04:004, CR07:001, CR07:004, CR09:004, CR10:001, CR10:004, CR12:001 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| 43 | TC-UN13.002 | Deploy – Docker Compose Stack | CR07:001, CR10:002, CR10:004 | ชุดติดตั้ง Docker Compose ยังไม่อยู่ใน Build ที่ทดสอบ ส่งมอบภายหลังใน Task 4.7 | Not tested | - |
| 44 | TC-UN13.003 | Deploy – .env Generator | CR06:002, CR09:002, CR10:003 | สคริปต์ docker/init-env.sh ยังไม่อยู่ใน Build ที่ทดสอบ ส่งมอบภายหลังใน Task 4.7 | Not tested | - |
| 45 | TC-UN13.004 | Deploy – Backup & Restore | CR08:001, CR08:002, CR13:003 | ผลตรงตามที่คาดหวัง | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
ความต้องการที่ยืนยันด้วย Test Case มี 68 รายการ ส่วนอีก 12 รายการเป็นความต้องการด้านเอกสาร การอบรม และหลักฐานด้านคุณภาพ ซึ่งยืนยันด้วยเอกสารส่งมอบตามที่ระบุใน Traceability Record และได้รับการยืนยันจากลูกค้าใน Validation Results
@@ -114,13 +91,14 @@
| No | Topic | Detail |
| :---: | --- | --- |
| 1 | Test Case | ทดสอบตาม Customer Requirements ผ่านทั้งหมด 45 Test Case คิดเป็น 100% |
| 2 | Pending | ไม่พบข้อผิดพลาด (Fail) หรือรายการค้าง (Pending) ในรอบการทดสอบนี้ |
| 3 | Conclusion | ผลการทดสอบสรุปได้ว่าระบบพร้อมสำหรับ UAT และการส่งมอบ เนื่องจากผลการทดสอบผ่านครบ 100% และเป็นไปตาม Project Plan |
| 1 | Test Case | ทดสอบ 43 จาก 45 Test Case ผ่าน 38 ไม่ผ่าน 5 |
| 2 | Failed | TC-UN04.006, TC-UN08.002, TC-UN11.001, TC-UN12.001, TC-UN12.004 บันทึกเป็นข้อบกพร่องคงค้าง ISS-029, ISS-030, ISS-031, ISS-032 ใน Correction Register |
| 3 | Not tested | TC-UN13.002, TC-UN13.003 ฟังก์ชันส่งมอบหลังรอบทดสอบ (Task 4.7) ต้องทดสอบก่อนใช้งาน |
| 4 | Conclusion | ฟังก์ชันหลักผ่านการทดสอบ แต่ยังมีข้อบกพร่องด้านความปลอดภัยและความถูกต้องของข้อมูลคงค้าง ต้องแจ้งผู้รับมอบและกำหนดการแก้ไขก่อนตรวจรับ |
## หลักฐานประกอบทางอ้อม
Correction Register บันทึกการแก้ไขข้อบกพร่องที่พบระหว่างพัฒนา 28 รายการ ซึ่งได้รับการแก้ไขและตรวจสอบผลด้วย Test Case ที่เกี่ยวข้องครบทุกรายการ
Correction Register บันทึกข้อบกพร่อง 32 รายการ แก้ไขแล้ว 28 รายการ และคงค้างจากรอบทดสอบนี้ 4 รายการ
## ผู้จัดทำเอกสาร (Secretary)
@@ -44,8 +44,8 @@
| :---: | --- | --- |
| 1 | Source Code และ Baseline | Commit `6c39700` ควบคุมใน Repository หลักและสำรอง |
| 2 | ชุดติดตั้งระบบ | Docker Compose Stack และสคริปต์ `setup.php` สำหรับสร้างฐานข้อมูล |
| 3 | ผลการทดสอบระบบ | Test Report 45 Test Case ผ่านทั้งหมด |
| 4 | ผลการทดสอบการยอมรับ | Validation Results ครบ 14 หมวด 80 รายการ ผ่านทั้งหมด |
| 3 | ผลการทดสอบระบบ | Test Report 45 Test Case ผ่าน 38 ไม่ผ่าน 5 ยังไม่ได้ทดสอบ 2 |
| 4 | ผลการทดสอบการยอมรับ | Validation Results 80 รายการ ผ่าน 60 ไม่ผ่าน 11 ยังไม่ได้ทดสอบ 5 รอดำเนินการ 4 |
| 5 | การตรวจรับส่งมอบ | เสนอ Project Sponsor ตรวจรับตามแผนในวันที่ 24 สิงหาคม 2569 (Acceptance Report) |
| 6 | คู่มือประกอบการใช้งาน | Software User Document, Product Operation Guide, Maintenance Document |
@@ -59,7 +59,7 @@
| ลำดับ | ขั้นตอน | รายละเอียด |
| :---: | --- | --- |
| 1 | ระบุส่วนประกอบที่เกี่ยวข้อง | ค้นหา Manager Class ที่รับผิดชอบจากเอกสาร Software Components ก่อนแก้ไขหน้าจอโดยตรง |
| 2 | ตรวจสอบประวัติข้อบกพร่อง | ตรวจสอบ Correction Register (28 รายการ) เพื่อไม่ให้การแก้ไขย้อนกลับผลการแก้ไขเดิม |
| 2 | ตรวจสอบประวัติข้อบกพร่อง | ตรวจสอบ Correction Register (32 รายการ) เพื่อไม่ให้การแก้ไขย้อนกลับผลการแก้ไขเดิม |
| 3 | ควบคุมการเปลี่ยนแปลง | หากกระทบขอบเขตหรือ Baseline ที่ส่งมอบแล้ว ต้องจัดทำ Change Report ก่อนดำเนินการ |
| 4 | ปรับปรุงฐานข้อมูล | สะท้อนการเปลี่ยนแปลงโครงสร้างใน `setup.php` และตาราง `schema_migrations` เสมอ |
| 5 | ทดสอบและบันทึกผล | ทดสอบด้วย Test Case ที่เกี่ยวข้อง แล้วบันทึกผลใน Correction Register |
@@ -6,7 +6,7 @@
| Project Name | โครงการพัฒนาระบบบริหารจัดการคลังสินค้า (BRN WMS) บริษัท บี.อาร์.เอ็น เอ็นเตอร์ไพรส์ จำกัด |
| Project Code | 200-WMS-26-001-00 |
| Title | บันทึกการตรวจสอบตามข้อกำหนดของมาตรฐาน |
| รอบตรวจสอบ | รอบที่ 4 (17 สิงหาคม 2569) | หัวข้อ | User Acceptance Test (UAT) และตรวจสอบเอกสารส่งมอบทั้งหมด |
| รอบตรวจสอบ | รอบที่ 4 (17 สิงหาคม 2569) | หัวข้อ | ทบทวนผลการทดสอบระบบและ UAT และตรวจสอบเอกสารส่งมอบทั้งหมด |
| เวลาตรวจสอบ | 09:00 – 16:00 น. | ระยะเวลา | 6 ชั่วโมง |
| Organizer | คุณอภิรัชช์ สุภัทรประทีป (Project Manager) , คุณนพพงษ์ เจริญสุข (System Analyst) |
| Recorder | คุณเยาวลักษณ์ บางชมภู (Document Control) |
@@ -101,9 +101,9 @@
| VR04.080.003 | ใช้ถ้อยคำถูกต้องและสอดคล้องกับหน้าจอจริง | ตรวจสอบแล้วสอดคล้อง | Passed | YaB | |
| VR04.080.004 | ลงชื่อผู้จัดทำและผู้อนุมัติเรียบร้อย | มีตารางลงนามครบถ้วน | Passed | YaB | |
| WP 9.0 ระบบที่ผ่านการทดสอบพร้อมใช้งานจริง | | | | | |
| VR04.090.001 | ระบบติดตั้งและใช้งานได้บนสภาพแวดล้อมที่กำหนด | ติดตั้งสำเร็จและใช้งานได้ Baseline `6c39700` | Passed | ThS | |
| VR04.090.001 | ระบบติดตั้งและใช้งานได้บนสภาพแวดล้อมที่กำหนด | Build `b2c4374` ติดตั้งและใช้งานบน Internal Testing Server ได้ ชุดติดตั้ง Docker ใน Baseline `6c39700` ยังไม่ได้ทดสอบ | Failed | ThS | ทดสอบ TC-UN13.002 และ TC-UN13.003 บน Baseline ก่อนใช้งานจริง |
| VR04.090.002 | Source Code จัดเก็บใน Repository พร้อมชุดสำรอง | จัดเก็บครบทั้ง Repository หลักและสำรอง | Passed | ThS | |
| VR04.090.003 | ผลการทดสอบระบบผ่านครบทุก Test Case | ผ่านครบ 45 Test Case | Passed | ThS | |
| VR04.090.003 | ผลการทดสอบระบบผ่านครบทุก Test Case | ผ่าน 38 ไม่ผ่าน 5 ยังไม่ได้ทดสอบ 2 จาก 45 Test Case | Failed | ThS | ข้อบกพร่องคงค้างบันทึกใน Correction Register ต้องมีแผนแก้ไขก่อนตรวจรับ |
| WP 10.0 Product Operation Guide | | | | | |
| VR04.100.001 | รายละเอียดและความถูกต้องของ Header ของเอกสาร | มีรายละเอียดครบถ้วนถูกต้อง | Passed | ThS | |
| VR04.100.002 | ระบุขั้นตอนการติดตั้งและตั้งค่าครบถ้วน | มีทั้งแบบ Container และแบบ Manual | Passed | ThS | |
@@ -120,11 +120,11 @@
| รายการ | จำนวน |
| --- | ---: |
| รายการตรวจสอบทั้งหมด | 61 |
| ผลผ่าน (Passed) | 61 |
| ผลไม่ผ่าน (Failed) | 0 |
| ประเด็นคงค้าง | 0 |
| ผลผ่าน (Passed) | 59 |
| ผลไม่ผ่าน (Failed) | 2 |
| ประเด็นคงค้าง | 2 |
รอบตรวจสอบนี้เป็นรอบสุดท้ายก่อนส่งมอบ ครอบคลุมสิ่งส่งมอบทั้งหมด 11 รายการ ผลการตรวจสอบผ่านทุกรายการ จึงเห็นควรให้ดำเนินการตรวจรับส่งมอบระบบตามที่บันทึกใน Acceptance Report
รอบตรวจสอบนี้เป็นรอบสุดท้ายก่อนส่งมอบ ครอบคลุมสิ่งส่งมอบทั้งหมด 11 รายการ ผ่าน 59 รายการ ไม่ผ่าน 2 รายการ คือผลการทดสอบระบบที่ยังมีข้อบกพร่องคงค้าง และชุดติดตั้ง Docker ที่ยังไม่ได้ทดสอบ จึงเสนอให้ผู้รับมอบพิจารณาการตรวจรับพร้อมแผนแก้ไขข้อบกพร่องคงค้าง
## ผู้จัดทำเอกสาร (Secretary)
@@ -24,7 +24,8 @@
| ผู้บันทึกผล | คุณปริญ งามขำ (QA/Tester) |
| ช่วงเวลาทดสอบ | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
| ขอบเขตการทดสอบ | Customer Requirements ครบ 14 หมวด 80 รายการ (CR01–CR14) |
| สถานะ Repository ที่ใกล้เคียงที่สุด | Commit `dd48a8b` |
| Build ที่ใช้ทดสอบ | Commit `b2c4374` บน Branch main |
| ลำดับการทดสอบ | ทดสอบการยอมรับคู่ขนานกับการทดสอบระบบตามมติที่ประชุม 10 ส.ค. 69 ซึ่งต่างจากเกณฑ์เข้าสู่ UAT ใน Test Case and Test Procedures |
## ตารางสรุป Validation Result ตาม Customer Requirements
@@ -46,15 +47,15 @@
| CR01:013 | ระบบต้องสร้างและจัดการใบเสนอราคา, ใบสั่งขาย, ใบแจ้งหนี้, ใบรับคืน และใบลดหนี้ | ทดลองใช้งานตามขั้นตอนธุรกิจจริงบนระบบ | TC-UN05.001, TC-UN05.002, TC-UN05.003, TC-UN05.004 | Passed | SeV |
| CR01:014 | ระบบต้องสร้างและจัดการใบขอซื้อ, ใบสั่งซื้อ, ใบแจ้งหนี้ซื้อ และใบคืนสินค้าผู้ขาย | ทดลองใช้งานตามขั้นตอนธุรกิจจริงบนระบบ | TC-UN06.001, TC-UN06.002, TC-UN06.003, TC-UN06.004 | Passed | SeV |
| CR01:015 | ระบบต้องสร้างและจัดการใบวางบิลรับ, ใบเสร็จรับเงิน, ใบวางบิลจ่าย และใบสำคัญจ่าย | ทดลองใช้งานตามขั้นตอนธุรกิจจริงบนระบบ | TC-UN07.001, TC-UN07.002 | Passed | SeV |
| CR01:016 | ระบบต้องจัดการผังบัญชี, แผนก, สูตรบัญชี, สมุดรายวัน และบัญชีแยกประเภท | ทดลองใช้งานตามขั้นตอนธุรกิจจริงบนระบบ | TC-UN08.001, TC-UN08.002 | Passed | SeV |
| CR01:016 | ระบบต้องจัดการผังบัญชี, แผนก, สูตรบัญชี, สมุดรายวัน และบัญชีแยกประเภท | ทดลองใช้งานตามขั้นตอนธุรกิจจริงบนระบบ | TC-UN08.001, TC-UN08.002 / ข้อบกพร่องคงค้าง ISS-030 | Failed | SeV |
| CR01:017 | ระบบต้องจัดทำรายงานงบทดลอง, งบกำไรขาดทุน, งบดุล, ภาษีมูลค่าเพิ่ม, สมุดรายวัน และความเคลื่อนไหว GL | ทดลองใช้งานตามขั้นตอนธุรกิจจริงบนระบบ | TC-UN09.003 | Passed | SeV |
| CR01:018 | ระบบต้องออกเลขที่เอกสารอัตโนมัติและควบคุมสถานะ/วงจรชีวิตของเอกสาร | ทดลองใช้งานตามขั้นตอนธุรกิจจริงบนระบบ | TC-UN10.001, TC-UN10.002 | Passed | SeV |
| CR01:019 | ระบบต้องรองรับการแนบไฟล์ที่อนุญาตกับรายการที่กำหนด | ทดลองใช้งานตามขั้นตอนธุรกิจจริงบนระบบ | TC-UN04.006 | Passed | SeV |
| CR01:019 | ระบบต้องรองรับการแนบไฟล์ที่อนุญาตกับรายการที่กำหนด | ทดลองใช้งานตามขั้นตอนธุรกิจจริงบนระบบ | TC-UN04.006 / ข้อบกพร่องคงค้าง ISS-029 | Failed | SeV |
| CR01:020 | ระบบต้องให้ผู้ใช้กรอง ดู พิมพ์ และส่งออกรายงานปฏิบัติการและรายงานผู้บริหาร | ทดลองใช้งานตามขั้นตอนธุรกิจจริงบนระบบ | TC-UN09.004 | Passed | SeV |
| CR01:021 | ระบบต้องแจ้งเตือนผู้ใช้ที่เกี่ยวข้องเมื่อสถานะเอกสารเปลี่ยนหรือมีเหตุการณ์ปฏิบัติการ | ทดลองใช้งานตามขั้นตอนธุรกิจจริงบนระบบ | TC-UN11.001 | Passed | SeV |
| CR01:021 | ระบบต้องแจ้งเตือนผู้ใช้ที่เกี่ยวข้องเมื่อสถานะเอกสารเปลี่ยนหรือมีเหตุการณ์ปฏิบัติการ | ทดลองใช้งานตามขั้นตอนธุรกิจจริงบนระบบ | TC-UN11.001 / ข้อบกพร่องคงค้าง ISS-031 | Failed | SeV |
| CR01:022 | ระบบต้องสรุปยอดสต๊อก/GL และแจ้งเตือนสินค้าใกล้หมดและใบแจ้งหนี้ค้างชำระตามกำหนดเวลา | ทดลองใช้งานตามขั้นตอนธุรกิจจริงบนระบบ | TC-UN11.002 | Passed | SeV |
| CR01:023 | ระบบต้องเก็บผู้สร้าง ผู้แก้ไข สถานะ และประวัติรายการเพื่อการตรวจสอบ | ทดลองใช้งานตามขั้นตอนธุรกิจจริงบนระบบ | TC-UN10.003 | Passed | SeV |
| CR01:024 | ระบบต้องจำกัดข้อมูลบริษัทและคลังสินค้าให้เฉพาะผู้ใช้ที่ได้รับอนุญาตในบริบทปัจจุบัน | ทดลองใช้งานตามขั้นตอนธุรกิจจริงบนระบบ | TC-UN12.001 | Passed | SeV |
| CR01:024 | ระบบต้องจำกัดข้อมูลบริษัทและคลังสินค้าให้เฉพาะผู้ใช้ที่ได้รับอนุญาตในบริบทปัจจุบัน | ทดลองใช้งานตามขั้นตอนธุรกิจจริงบนระบบ | TC-UN12.001 / ข้อบกพร่องคงค้าง ISS-031 | Failed | SeV |
| CR02 | **Performance Considerations** | | | | |
| CR02:001 | ระบบต้องตอบสนองงานประจำวัน (เปิดหน้าจอ, ค้นหา, สร้างเอกสาร) ภายในเวลาที่ใช้งานได้จริงบนสภาพแวดล้อมที่ตกลง | ใช้งานประจำวันบนสภาพแวดล้อมจริงและสังเกตเวลาตอบสนอง | TC-UN09.001 | Passed | SeV |
| CR02:002 | ระบบต้องมีตารางสรุปยอด (Aggregate) เพื่อให้แดชบอร์ดและรายงานแสดงผลได้โดยไม่ต้องคำนวณใหม่ทุกครั้ง | ใช้งานประจำวันบนสภาพแวดล้อมจริงและสังเกตเวลาตอบสนอง | TC-UN09.001, TC-UN11.002 | Passed | SeV |
@@ -62,8 +63,8 @@
| CR03 | **Interface Considerations** | | | | |
| CR03:001 | ระบบต้องเชื่อมต่อฐานข้อมูล MySQL/MariaDB 2 ฐาน (wms สำหรับผู้ใช้/บริษัท และ wms2 สำหรับคลัง/บัญชี) | ใช้งานผ่าน Browser ที่กำหนด รับอีเมลและการแจ้งเตือนจริง | TC-UN13.001 | Passed | SeV |
| CR03:002 | ระบบต้องใช้งานผ่าน Web Browser มาตรฐาน (Chrome, Edge, Firefox) ได้ | ใช้งานผ่าน Browser ที่กำหนด รับอีเมลและการแจ้งเตือนจริง | TC-UN01.002 | Passed | SeV |
| CR03:003 | ระบบต้องส่งเหตุการณ์ไปยังบริการ Node.js ผ่าน Endpoint ภายในที่ป้องกันด้วย Secret | ใช้งานผ่าน Browser ที่กำหนด รับอีเมลและการแจ้งเตือนจริง | TC-UN11.001 | Passed | SeV |
| CR03:004 | Browser ต้องเชื่อมต่อ Socket.IO Endpoint สาธารณะเพื่อรับการแจ้งเตือนแบบ Real-time | ใช้งานผ่าน Browser ที่กำหนด รับอีเมลและการแจ้งเตือนจริง | TC-UN11.001 | Passed | SeV |
| CR03:003 | ระบบต้องส่งเหตุการณ์ไปยังบริการ Node.js ผ่าน Endpoint ภายในที่ป้องกันด้วย Secret | ใช้งานผ่าน Browser ที่กำหนด รับอีเมลและการแจ้งเตือนจริง | TC-UN11.001 / ข้อบกพร่องคงค้าง ISS-031 | Failed | SeV |
| CR03:004 | Browser ต้องเชื่อมต่อ Socket.IO Endpoint สาธารณะเพื่อรับการแจ้งเตือนแบบ Real-time | ใช้งานผ่าน Browser ที่กำหนด รับอีเมลและการแจ้งเตือนจริง | TC-UN11.001 / ข้อบกพร่องคงค้าง ISS-031 | Failed | SeV |
| CR03:005 | ระบบต้องส่งอีเมล Onboarding, กู้คืนรหัสผ่าน และแจ้งเตือนผ่าน SMTP ที่ตั้งค่าต่อบริษัท | ใช้งานผ่าน Browser ที่กำหนด รับอีเมลและการแจ้งเตือนจริง | TC-UN02.002 | Passed | SeV |
| CR04 | **Required System Characteristics** | | | | |
| CR04:001 | ระบบต้องพัฒนาบนสถาปัตยกรรม Web-based Application | ตรวจสอบสภาพแวดล้อมที่ติดตั้งและการเข้าสู่ระบบ | TC-UN01.002 | Passed | SeV |
@@ -77,45 +78,45 @@
| CR05:004 | ระบบต้องมีขั้นตอนยืนยันก่อนลบ ยกเลิก หรือทำรายการที่ย้อนกลับไม่ได้ | ทดลองใช้งานบน Desktop และ Tablet/Mobile | TC-UN10.002 | Passed | SeV |
| CR05:005 | ระบบต้องพิมพ์เอกสารธุรกิจและฉลากบาร์โค้ดในรูปแบบที่ใช้งานได้ | ทดลองใช้งานบน Desktop และ Tablet/Mobile | TC-UN04.005 | Passed | SeV |
| CR06 | **Security Considerations** | | | | |
| CR06:001 | การเชื่อมต่อในสภาพแวดล้อมใช้งานจริงต้องเข้ารหัสด้วย HTTPS/TLS | ตรวจสอบ HTTPS การจำกัดสิทธิ์ และการเข้าสู่ระบบซ้ำซ้อน | TC-UN12.004 | Passed | SeV |
| CR06:002 | ค่าตั้งค่าและความลับของระบบต้องไม่ถูกเก็บใน Source Control และไม่เข้าถึงได้จากเว็บสาธารณะ | ตรวจสอบ HTTPS การจำกัดสิทธิ์ และการเข้าสู่ระบบซ้ำซ้อน | TC-UN13.003, TC-UN12.004 | Passed | SeV |
| CR06:003 | การทำงานฝั่งเซิร์ฟเวอร์ต้องตรวจสอบข้อมูลนำเข้า ยืนยันตัวตน ตรวจสิทธิ์ และจำกัดขอบเขตบริษัท/คลัง | ตรวจสอบ HTTPS การจำกัดสิทธิ์ และการเข้าสู่ระบบซ้ำซ้อน | TC-UN12.002 | Passed | SeV |
| CR06:001 | การเชื่อมต่อในสภาพแวดล้อมใช้งานจริงต้องเข้ารหัสด้วย HTTPS/TLS | ตรวจสอบ HTTPS การจำกัดสิทธิ์ และการเข้าสู่ระบบซ้ำซ้อน | TC-UN12.004 / ข้อบกพร่องคงค้าง ISS-032 | Failed | SeV |
| CR06:002 | ค่าตั้งค่าและความลับของระบบต้องไม่ถูกเก็บใน Source Control และไม่เข้าถึงได้จากเว็บสาธารณะ | ตรวจสอบ HTTPS การจำกัดสิทธิ์ และการเข้าสู่ระบบซ้ำซ้อน | TC-UN13.003, TC-UN12.004 / ข้อบกพร่องคงค้าง ISS-032 | Failed | SeV |
| CR06:003 | การทำงานฝั่งเซิร์ฟเวอร์ต้องตรวจสอบข้อมูลนำเข้า ยืนยันตัวตน ตรวจสิทธิ์ และจำกัดขอบเขตบริษัท/คลัง | ตรวจสอบ HTTPS การจำกัดสิทธิ์ และการเข้าสู่ระบบซ้ำซ้อน | TC-UN12.002, TC-UN12.003 | Passed | SeV |
| CR06:004 | ระบบต้องจำกัดสิทธิ์การเข้าถึงตามบทบาท (Role-based Access Control) ทั้งใน UI และฝั่งเซิร์ฟเวอร์ | ตรวจสอบ HTTPS การจำกัดสิทธิ์ และการเข้าสู่ระบบซ้ำซ้อน | TC-UN01.002 | Passed | SeV |
| CR06:005 | ระบบต้องป้องกัน SQL Injection และ Cross-Site Scripting | ตรวจสอบ HTTPS การจำกัดสิทธิ์ และการเข้าสู่ระบบซ้ำซ้อน | TC-UN12.002 | Passed | SeV |
| CR06:006 | ระบบต้องบล็อกการเข้าสู่ระบบซ้ำซ้อน (Concurrent Login) ของบัญชีเดียวกัน | ตรวจสอบ HTTPS การจำกัดสิทธิ์ และการเข้าสู่ระบบซ้ำซ้อน | TC-UN01.003 | Passed | SeV |
| CR07 | **Environmental Considerations** | | | | |
| CR07:001 | ระบบต้องทำงานบน Linux Server ในรูปแบบติดตั้งเอง (LAMP) หรือ Docker Compose | ตรวจสอบสภาพแวดล้อมจริง เขตเวลา และการแยกข้อมูลสาธิต | TC-UN13.001, TC-UN13.002 | Passed | SeV |
| CR07:001 | ระบบต้องทำงานบน Linux Server ในรูปแบบติดตั้งเอง (LAMP) หรือ Docker Compose | ตรวจสอบสภาพแวดล้อมจริง เขตเวลา และการแยกข้อมูลสาธิต | TC-UN13.001, TC-UN13.002 | Not tested | SeV |
| CR07:002 | ระบบต้องใช้เขตเวลา Asia/Bangkok อย่างสม่ำเสมอทั้งแอปพลิเคชันและงานตามกำหนดเวลา | ตรวจสอบสภาพแวดล้อมจริง เขตเวลา และการแยกข้อมูลสาธิต | TC-UN11.002 | Passed | SeV |
| CR07:003 | ระบบต้องใช้งานได้บนอุปกรณ์ Desktop และอุปกรณ์พกพาผ่าน Web Browser | ตรวจสอบสภาพแวดล้อมจริง เขตเวลา และการแยกข้อมูลสาธิต | TC-UN01.002 | Passed | SeV |
| CR07:004 | ระบบต้องแยกข้อมูลสาธิต/ทดสอบออกจากข้อมูลใช้งานจริงได้ | ตรวจสอบสภาพแวดล้อมจริง เขตเวลา และการแยกข้อมูลสาธิต | TC-UN13.001 | Passed | SeV |
| CR08 | **Operational Considerations** | | | | |
| CR08:001 | ระบบต้องมีการสำรองฐานข้อมูลอัตโนมัติรายวัน | ตรวจสอบการสำรอง/กู้คืน การเฝ้าระวัง และการแยกข้อมูลหลายบริษัท | TC-UN13.004 | Passed | SeV |
| CR08:001 | ระบบต้องมีการสำรองฐานข้อมูลอัตโนมัติรายวัน | ตรวจสอบการสำรอง/กู้คืน การเฝ้าระวัง และการแยกข้อมูลหลายบริษัท | TC-UN13.004 / รอปิดรายการ OP-001 สำรองฐานข้อมูลอัตโนมัติ | Pending | SeV |
| CR08:002 | ระบบต้องกู้คืนข้อมูลจากชุดสำรองได้ตามขั้นตอนที่จัดทำเป็นเอกสาร | ตรวจสอบการสำรอง/กู้คืน การเฝ้าระวัง และการแยกข้อมูลหลายบริษัท | TC-UN13.004 | Passed | SeV |
| CR08:003 | ระบบต้องมีการเฝ้าระวังสถานะบริการ Web, Database และ Node.js พร้อมแจ้งเตือนเมื่อขัดข้อง | ตรวจสอบการสำรอง/กู้คืน การเฝ้าระวัง และการแยกข้อมูลหลายบริษัท | Product Operation Guide (การเฝ้าระวังระบบ) | Passed | SeV |
| CR08:004 | ระบบต้องรองรับหลายบริษัท (Multi-company) และหลายคลังสินค้าภายใต้การแยกข้อมูล | ตรวจสอบการสำรอง/กู้คืน การเฝ้าระวัง และการแยกข้อมูลหลายบริษัท | TC-UN12.001 | Passed | SeV |
| CR08:003 | ระบบต้องมีการเฝ้าระวังสถานะบริการ Web, Database และ Node.js พร้อมแจ้งเตือนเมื่อขัดข้อง | ตรวจสอบการสำรอง/กู้คืน การเฝ้าระวัง และการแยกข้อมูลหลายบริษัท | Product Operation Guide (การเฝ้าระวังระบบ) / รอปิดรายการ OP-002 การเฝ้าระวังและแจ้งเตือน | Pending | SeV |
| CR08:004 | ระบบต้องรองรับหลายบริษัท (Multi-company) และหลายคลังสินค้าภายใต้การแยกข้อมูล | ตรวจสอบการสำรอง/กู้คืน การเฝ้าระวัง และการแยกข้อมูลหลายบริษัท | TC-UN12.001 / ข้อบกพร่องคงค้าง ISS-031 | Failed | SeV |
| CR08:005 | งานตามกำหนดเวลาต้องทำงานสำเร็จโดยไม่สร้างผลลัพธ์ซ้ำหรือเกินสิทธิ์ | ตรวจสอบการสำรอง/กู้คืน การเฝ้าระวัง และการแยกข้อมูลหลายบริษัท | TC-UN11.002 | Passed | SeV |
| CR09 | **Maintenance Considerations** | | | | |
| CR09:001 | ซอฟต์แวร์ต้องมีโครงสร้างแบบโมดูล (Manager Classes / API) เพื่อให้แก้ไขได้โดยไม่กระทบส่วนอื่น | ทบทวนโครงสร้างซอฟต์แวร์และเอกสารการบำรุงรักษา | Software Design (Software Unit), Software Components | Passed | SeV |
| CR09:002 | ระบบต้องมีแม่แบบค่าตั้งค่า (Configuration Template) และควบคุมเวอร์ชันด้วย Git | ทบทวนโครงสร้างซอฟต์แวร์และเอกสารการบำรุงรักษา | TC-UN13.003 | Passed | SeV |
| CR09:002 | ระบบต้องมีแม่แบบค่าตั้งค่า (Configuration Template) และควบคุมเวอร์ชันด้วย Git | ทบทวนโครงสร้างซอฟต์แวร์และเอกสารการบำรุงรักษา | TC-UN13.003 | Not tested | SeV |
| CR09:003 | ระบบต้องมีเอกสารคู่มือการบำรุงรักษาและประวัติข้อบกพร่องที่แก้ไขแล้ว | ทบทวนโครงสร้างซอฟต์แวร์และเอกสารการบำรุงรักษา | Maintenance Document, Correction Register | Passed | SeV |
| CR09:004 | การเปลี่ยนแปลงโครงสร้างฐานข้อมูลต้องสะท้อนใน setup.php และตาราง schema_migrations | ทบทวนโครงสร้างซอฟต์แวร์และเอกสารการบำรุงรักษา | TC-UN13.001 | Passed | SeV |
| CR10 | **Installation Considerations** | | | | |
| CR10:001 | ระบบต้องติดตั้งฐานข้อมูลได้ในขั้นตอนเดียวผ่าน setup.php | สาธิตการติดตั้งตามขั้นตอนในคู่มือ | TC-UN13.001 | Passed | SeV |
| CR10:002 | ระบบต้องติดตั้งแบบ Container ได้ด้วยคำสั่ง docker compose up -d --build | สาธิตการติดตั้งตามขั้นตอนในคู่มือ | TC-UN13.002 | Passed | SeV |
| CR10:003 | ระบบต้องมีสคริปต์สร้างไฟล์ .env และค่าความลับอัตโนมัติ (docker/init-env.sh) | สาธิตการติดตั้งตามขั้นตอนในคู่มือ | TC-UN13.003 | Passed | SeV |
| CR10:004 | ระบบต้องมีเอกสารขั้นตอนการติดตั้งและตั้งค่า | สาธิตการติดตั้งตามขั้นตอนในคู่มือ | TC-UN13.001, TC-UN13.002 / Product Operation Guide (ขั้นตอนติดตั้ง) | Passed | SeV |
| CR10:002 | ระบบต้องติดตั้งแบบ Container ได้ด้วยคำสั่ง docker compose up -d --build | สาธิตการติดตั้งตามขั้นตอนในคู่มือ | TC-UN13.002 | Not tested | SeV |
| CR10:003 | ระบบต้องมีสคริปต์สร้างไฟล์ .env และค่าความลับอัตโนมัติ (docker/init-env.sh) | สาธิตการติดตั้งตามขั้นตอนในคู่มือ | TC-UN13.003 | Not tested | SeV |
| CR10:004 | ระบบต้องมีเอกสารขั้นตอนการติดตั้งและตั้งค่า | สาธิตการติดตั้งตามขั้นตอนในคู่มือ | TC-UN13.001, TC-UN13.002 / Product Operation Guide (ขั้นตอนติดตั้ง) | Not tested | SeV |
| CR11 | **Support Considerations** | | | | |
| CR11:001 | ต้องมีคู่มือผู้ใช้งาน (Software User Document) | ทบทวนคู่มือ แผนการอบรม และช่องทางสนับสนุน | Software User Document (WP 8.0) | Passed | SeV |
| CR11:002 | ต้องมีคู่มือปฏิบัติงานสำหรับผู้ดูแลระบบ (Product Operation Guide) | ทบทวนคู่มือ แผนการอบรม และช่องทางสนับสนุน | Product Operation Guide (WP 10.0) | Passed | SeV |
| CR11:003 | ต้องมีการอบรมผู้ใช้งานก่อนเปิดใช้งานจริง | ทบทวนคู่มือ แผนการอบรม และช่องทางสนับสนุน | แผนการอบรมก่อนเปิดใช้งาน (Task 5.2) | Passed | SeV |
| CR11:003 | ต้องมีการอบรมผู้ใช้งานก่อนเปิดใช้งานจริง | ทบทวนคู่มือ แผนการอบรม และช่องทางสนับสนุน | แผนการอบรมก่อนเปิดใช้งาน (Task 5.2) / รอการอบรมผู้ใช้งานตามแผน | Pending | SeV |
| CR11:004 | ต้องมีช่องทางสนับสนุนและระดับการให้บริการ (SLA) หลังส่งมอบ | ทบทวนคู่มือ แผนการอบรม และช่องทางสนับสนุน | Maintenance Document (SLA) | Passed | SeV |
| CR12 | **Design Constraints** | | | | |
| CR12:001 | ระบบต้องพัฒนาด้วย PHP, MariaDB และ Node.js ตามที่องค์กรอนุมัติ | ตรวจสอบเทคโนโลยี การควบคุม Source Code และเอกสารตามมาตรฐาน | TC-UN13.001 | Passed | SeV |
| CR12:002 | ระบบต้องควบคุม Source Code ด้วย Git โดยมี main เป็น Baseline หลัก | ตรวจสอบเทคโนโลยี การควบคุม Source Code และเอกสารตามมาตรฐาน | Software Configuration, Project Repository | Passed | SeV |
| CR12:003 | รหัสผ่านผู้ใช้ต้องเข้ารหัสด้วย bcrypt และไม่เก็บหรือบันทึกเป็นข้อความธรรมดา | ตรวจสอบเทคโนโลยี การควบคุม Source Code และเอกสารตามมาตรฐาน | TC-UN01.003 | Passed | SeV |
| CR12:004 | โครงการต้องจัดทำ Work Products ตามมาตรฐาน ISO/IEC 29110 Basic Profile | ตรวจสอบเทคโนโลยี การควบคุม Source Code และเอกสารตามมาตรฐาน | Verification Results รอบที่ 1–3 | Passed | SeV |
| CR12:004 | โครงการต้องจัดทำ Work Products ตามมาตรฐาน ISO/IEC 29110 Basic Profile | ตรวจสอบเทคโนโลยี การควบคุม Source Code และเอกสารตามมาตรฐาน | Verification Results รอบที่ 1–3 / รอจัดทำ List of Evidence ตอนปิดโครงการ | Pending | SeV |
| CR13 | **Safety and Reliability Considerations** | | | | |
| CR13:001 | การเปลี่ยนแปลงฐานข้อมูลที่เกี่ยวข้องกัน (เอกสาร + สต๊อก + GL) ต้องเป็น Transaction เดียวกัน | ทดลองทำรายการที่ล้มเหลวและตรวจสอบข้อความแจ้งข้อผิดพลาด | TC-UN08.002 | Passed | SeV |
| CR13:001 | การเปลี่ยนแปลงฐานข้อมูลที่เกี่ยวข้องกัน (เอกสาร + สต๊อก + GL) ต้องเป็น Transaction เดียวกัน | ทดลองทำรายการที่ล้มเหลวและตรวจสอบข้อความแจ้งข้อผิดพลาด | TC-UN08.002 / ข้อบกพร่องคงค้าง ISS-030 | Failed | SeV |
| CR13:002 | ระบบต้องป้องกันยอดสต๊อกติดลบและความเคลื่อนไหวซ้ำซ้อน | ทดลองทำรายการที่ล้มเหลวและตรวจสอบข้อความแจ้งข้อผิดพลาด | TC-UN04.002 | Passed | SeV |
| CR13:003 | ระบบต้องรองรับการสำรองและกู้คืน (Backup & Recovery) ทั้ง Source Code และฐานข้อมูล | ทดลองทำรายการที่ล้มเหลวและตรวจสอบข้อความแจ้งข้อผิดพลาด | TC-UN13.004 | Passed | SeV |
| CR13:004 | ระบบต้องจัดการข้อผิดพลาดโดยแสดงข้อความที่เข้าใจได้แทน Fatal Error | ทดลองทำรายการที่ล้มเหลวและตรวจสอบข้อความแจ้งข้อผิดพลาด | TC-UN10.002 | Passed | SeV |
@@ -123,26 +124,26 @@
| CR14:001 | ระบบต้องผ่านการทดสอบตาม Test Case ที่กำหนดก่อนส่งมอบ | ทบทวนผลการทดสอบ การสอบกลับ และผลการตรวจสอบ | Test Report | Passed | SeV |
| CR14:002 | ทุกความต้องการต้องสอบกลับได้ถึงการออกแบบ ส่วนประกอบ และหลักฐานการทดสอบ | ทบทวนผลการทดสอบ การสอบกลับ และผลการตรวจสอบ | Traceability Record | Passed | SeV |
| CR14:003 | ระบบต้องผ่านการทดสอบการยอมรับ (UAT) โดยตัวแทนลูกค้าบนสภาพแวดล้อมใช้งานจริง | ทบทวนผลการทดสอบ การสอบกลับ และผลการตรวจสอบ | ผลการทดสอบการยอมรับในเอกสารฉบับนี้ | Passed | SeV |
| CR14:004 | ต้องไม่มีข้อบกพร่องระดับวิกฤตค้างอยู่ในด้านความปลอดภัย การแยกข้อมูล และความถูกต้องของสต๊อก/บัญชี | ทบทวนผลการทดสอบ การสอบกลับ และผลการตรวจสอบ | TC-UN12.001, TC-UN12.002 / Test Report, Correction Register | Passed | SeV |
| CR14:004 | ต้องไม่มีข้อบกพร่องระดับวิกฤตค้างอยู่ในด้านความปลอดภัย การแยกข้อมูล และความถูกต้องของสต๊อก/บัญชี | ทบทวนผลการทดสอบ การสอบกลับ และผลการตรวจสอบ | TC-UN12.001, TC-UN12.002 / Test Report, Correction Register / ข้อบกพร่องคงค้าง ISS-031 | Failed | SeV |
## สรุปผลการทดสอบการยอมรับรายหมวด
| หมวดความต้องการ | จำนวนรายการ | ผ่าน (Passed) | ไม่ผ่าน (Failed) |
| --- | ---: | ---: | ---: |
| CR01 Feature & Functional Characteristics | 24 | 24 | 0 |
| CR02 Performance Considerations | 3 | 3 | 0 |
| CR03 Interface Considerations | 5 | 5 | 0 |
| CR04 Required System Characteristics | 4 | 4 | 0 |
| CR05 Human Engineering Considerations | 5 | 5 | 0 |
| CR06 Security Considerations | 6 | 6 | 0 |
| CR07 Environmental Considerations | 4 | 4 | 0 |
| CR08 Operational Considerations | 5 | 5 | 0 |
| CR09 Maintenance Considerations | 4 | 4 | 0 |
| CR10 Installation Considerations | 4 | 4 | 0 |
| CR11 Support Considerations | 4 | 4 | 0 |
| CR12 Design Constraints | 4 | 4 | 0 |
| CR13 Safety and Reliability Considerations | 4 | 4 | 0 |
| CR14 Quality Expectations | 4 | 4 | 0 |
| หมวดความต้องการ | จำนวนรายการ | ผ่าน (Passed) | ไม่ผ่าน (Failed) | ยังไม่ได้ทดสอบ / รอดำเนินการ |
| --- | ---: | ---: | ---: | ---: |
| CR01 Feature & Functional Characteristics | 24 | 20 | 4 | 0 |
| CR02 Performance Considerations | 3 | 3 | 0 | 0 |
| CR03 Interface Considerations | 5 | 3 | 2 | 0 |
| CR04 Required System Characteristics | 4 | 4 | 0 | 0 |
| CR05 Human Engineering Considerations | 5 | 5 | 0 | 0 |
| CR06 Security Considerations | 6 | 4 | 2 | 0 |
| CR07 Environmental Considerations | 4 | 3 | 0 | 1 |
| CR08 Operational Considerations | 5 | 2 | 1 | 2 |
| CR09 Maintenance Considerations | 4 | 3 | 0 | 1 |
| CR10 Installation Considerations | 4 | 1 | 0 | 3 |
| CR11 Support Considerations | 4 | 3 | 0 | 1 |
| CR12 Design Constraints | 4 | 3 | 0 | 1 |
| CR13 Safety and Reliability Considerations | 4 | 3 | 1 | 0 |
| CR14 Quality Expectations | 4 | 3 | 1 | 0 |
## สรุปผลการทดสอบการยอมรับ
@@ -150,11 +151,12 @@
| --- | ---: |
| หมวดความต้องการที่ทดสอบ | 14 |
| ความต้องการที่ทดสอบทั้งหมด | 80 |
| ผ่าน (Passed) | 80 |
| ไม่ผ่าน (Failed) | 0 |
| ค้างการทดสอบ | 0 |
| ผ่าน (Passed) | 60 |
| ไม่ผ่าน (Failed) | 11 |
| ยังไม่ได้ทดสอบ (ฟังก์ชันส่งมอบหลังรอบทดสอบ) | 5 |
| รอดำเนินการตามแผน (Pending) | 4 |
ตัวแทนลูกค้าได้ทดสอบการยอมรับครบทุกความต้องการใน Customer Requirements บนสภาพแวดล้อมใช้งานจริง ผลการทดสอบผ่านทั้งหมด ไม่พบประเด็นที่ขัดขวางการเปิดใช้งาน จึงยืนยันความพร้อมของระบบและเสนอเข้าสู่การตรวจรับส่งมอบตามแผนในวันที่ 24 สิงหาคม 2569
ตัวแทนลูกค้าทดสอบการยอมรับครบ 80 ความต้องการ ผ่าน 60 รายการ ความต้องการ 11 รายการไม่ผ่านเนื่องจากข้อบกพร่องคงค้างที่บันทึกใน Correction Register 5 รายการขึ้นกับชุดติดตั้ง Docker ที่ส่งมอบหลังรอบทดสอบ และ 4 รายการรองานปฏิบัติการตามแผน ผู้รับมอบรับทราบผลและจะพิจารณาการตรวจรับพร้อมแผนแก้ไขในวันที่ 24 สิงหาคม 2569
## ผู้จัดทำเอกสาร (Secretary)