Test Cases
ระบบการเงิน (Financial Management System)
โรงพยาบาลค่ายธนรัชน์
เอกสารเลขที่: SRS-1.2.14-TESTCASES
เวอร์ชัน: 1.0
วันที่: 8 ตุลาคม 2568
ผู้จัดทำ: ทีมพัฒนาระบบ
ผู้อนุมัติ: ผู้อำนวยการโรงพยาบาลค่ายธนรัชน์
การปรับปรุง: ใหม่ - ครอบคลุมการทดสอบระบบการเงินและการชำระเงินครบวงจร
📝 ประกอบการทดสอบ
🎯 Scope ของการทดสอบ
ระบบการเงินจะครอบคลุมการทดสอบ: - การจัดการข้อมูลสิทธิการรักษาทางการเงิน - กำหนดสิทธิและผังการคิดค่าบริการ - การรับชำระเงินครบวงจร - รองรับหลายสิทธิและหลายรูปแบบการชำระ - การออกใบเสร็จและเอกสารทางการเงิน - ครบถ้วนตามมาตรฐาน - การจัดการการยกเว้นและลดหย่อน - ค่ารักษาพยาบาล - การจัดการค้างชำระและเงินรับฝาก - แบบครบวงจร - การยกเลิกและแก้ไขใบเสร็จ - พร้อม Audit Trail - การปิดรอบการเงินและรายงานสรุป - ตามช่วงเวลาต่างๆ - API Integration - เชื่อมต่อกับระบบอื่นๆ ใน HIS
🔗 Integration with Other Systems
Test Cases สำหรับการเชื่อมต่อระบบ: - ระบบเวชระเบียน (1.2.1): การดึงข้อมูลผู้ป่วยและการเข้ารับบริการ - ระบบตรวจสอบสิทธิ (1.2.15): การตรวจสอบและยืนยันสิทธิการรักษา - ระบบห้องตรวจแพทย์ (1.2.3): การรับค่าบริการจากการตรวจรักษา - ระบบเภสัชกรรม (1.2.13): การคิดค่ายาและเวชภัณฑ์ - ระบบผู้ป่วยใน (1.2.17): การคิดค่าห้องและค่ารักษาผู้ป่วยใน - ระบบห้องฉุกเฉิน (1.2.4): การรับชำระค่าบริการฉุกเฉิน
รายการ Test Cases
📊 TG-001: การจัดการข้อมูลสิทธิการรักษาพยาบาล
Test Case: การกำหนดข้อมูลสิทธิพื้นฐาน
Test ID: TC-001-001
Description: ทดสอบการกำหนดข้อมูลสิทธิการรักษาพยาบาลใหม่
Pre-condition: ระบบพร้อมใช้งาน, ผู้ใช้มีสิทธิ์จัดการข้อมูลสิทธิ
Test Steps:
1. เข้าสู่หน้าจัดการข้อมูลสิทธิการรักษา
2. คลิกปุ่มเพิ่มสิทธิใหม่
3. กรอกข้อมูลสิทธิ (ชื่อสิทธิ, รหัสสิทธิ, ประเภทการชำระ)
4. กรอกรหัสสิทธิ สนย. (43 แฟ้ม)
5. กรอกชื่อสิทธิมาตรฐาน สปสช.
6. กำหนดค่าธรรมเนียมสิทธิที่ต้องชำระเอง
7. บันทึกข้อมูล
Expected Result:
- บันทึกข้อมูลสิทธิสำเร็จ
- แสดงข้อความยืนยันการบันทึก
- ข้อมูลสิทธิปรากฏในรายการ
- บันทึกผู้สร้างและเวลาที่สร้าง
Test Case: การตรวจสอบข้อมูลซ้ำซ้อนของสิทธิ
Test ID: TC-001-002
Description: ทดสอบการตรวจสอบรหัสสิทธิซ้ำ
Pre-condition: มีข้อมูลสิทธิในระบบแล้ว
Test Steps:
1. เข้าสู่หน้าจัดการข้อมูลสิทธิการรักษา
2. คลิกปุ่มเพิ่มสิทธิใหม่
3. กรอกรหัสสิทธิที่มีอยู่ในระบบแล้ว
4. พยายามบันทึกข้อมูล
Expected Result:
- แสดงข้อความเตือนรหัสสิทธิซ้ำ
- ไม่อนุญาตให้บันทึกข้อมูลซ้ำ
- แสดงข้อมูลสิทธิที่มีรหัสนี้แล้ว
Test Case: การกำหนดวันที่หมดอายุสิทธิ
Test ID: TC-001-003
Description: ทดสอบการกำหนดวันที่หมดอายุของสิทธิบัตร
Pre-condition: มีข้อมูลสิทธิในระบบ
Test Steps:
1. เข้าสู่หน้าแก้ไขข้อมูลสิทธิ
2. เลือกสิทธิที่ต้องการแก้ไข
3. กำหนดวันที่เริ่มใช้ (EffectiveDate)
4. กำหนดวันที่หมดอายุ (ExpiryDate)
5. บันทึกข้อมูล
Expected Result:
- บันทึกวันที่หมดอายุสำเร็จ
- ระบบตรวจสอบวันที่หมดอายุเมื่อใช้งาน
- แสดงสถานะ Active/Inactive ตามวันที่
Test Case: การกำหนดผังการคิดค่าบริการ
Test ID: TC-001-004
Description: ทดสอบการกำหนดผังการคิดค่าบริการสำหรับแต่ละสิทธิ
Pre-condition: มีข้อมูลสิทธิและหมวดค่ารักษาในระบบ
Test Steps:
1. เข้าสู่หน้าจัดการผังการคิดค่าบริการ
2. เลือกสิทธิการรักษา
3. เลือกหมวดค่ารักษา
4. กำหนดวิธีการคำนวณ (เปอร์เซ็นต์/จำนวนเงินคงที่/ยกเว้น)
5. กรอกค่าเปอร์เซ็นต์ส่วนลดหรือจำนวนเงิน
6. กำหนดจำนวนเงินขั้นต่ำและสูงสุด
7. บันทึกข้อมูล
Expected Result:
- บันทึกผังการคิดสำเร็จ
- สามารถคำนวณค่าบริการได้ถูกต้อง
- รองรับวิธีการคำนวณหลายแบบ
Test Case: การกำหนดส่วนลดตามหมวดค่ารักษา
Test ID: TC-001-005
Description: ทดสอบการกำหนดส่วนลดเป็น % ในหมวดค่ารักษาพยาบาลต่างๆ ทั้ง OPD และ IPD
Pre-condition: มีข้อมูลหมวดค่ารักษาในระบบ
Test Steps:
1. เข้าสู่หน้าจัดการส่วนลดตามหมวด
2. เลือกหมวดค่ารักษา (OPD/IPD)
3. กำหนดเปอร์เซ็นต์ส่วนลด (0-100%)
4. กำหนดเงื่อนไขการให้ส่วนลด
5. กำหนดวันที่เริ่มใช้และสิ้นสุด
6. บันทึกข้อมูล
Expected Result:
- บันทึกส่วนลดสำเร็จ
- คำนวณส่วนลดได้ถูกต้องทั้ง OPD และ IPD
- ส่วนลดมีผลตามช่วงเวลาที่กำหนด
💰 TG-002: การยกเว้นหรืออนุมัติลดหย่อนค่ารักษาพยาบาล
Test Case: การยกเว้นค่ารักษาพยาบาล
Test ID: TC-002-001
Description: ทดสอบการยกเว้นค่ารักษาพยาบาลทั้งจำนวนและตามประเภท
Pre-condition: ระบบพร้อมใช้งาน, มีข้อมูลผู้ป่วยและรายการค่ารักษา
Test Steps:
1. เข้าสู่หน้ารับชำระเงิน
2. ค้นหาและเลือกผู้ป่วย
3. แสดงรายการค่ารักษาพยาบาล
4. เลือกรายการที่ต้องการยกเว้น
5. เลือกประเภทการยกเว้น (ยกเว้นทั้งหมด/ยกเว้นบางส่วน)
6. ระบุเหตุผลการยกเว้น
7. ขออนุมัติจากผู้มีอำนาจ
8. บันทึกการยกเว้น
Expected Result:
- บันทึกการยกเว้นสำเร็จ
- คำนวณยอดเงินใหม่ถูกต้อง
- บันทึกผู้อนุมัติและเหตุผล
- มี Audit Trail การยกเว้น
Test Case: การลดหย่อนค่ารักษาที่ได้รับอนุมัติ
Test ID: TC-002-002
Description: ทดสอบการลดหย่อนค่ารักษาพยาบาลที่ได้รับอนุมัติ
Pre-condition: มีรายการค่ารักษาและผู้มีอำนาจอนุมัติ
Test Steps:
1. เข้าสู่หน้ารับชำระเงิน
2. ค้นหาและเลือกผู้ป่วย
3. แสดงรายการค่ารักษาพยาบาล
4. เลือกรายการที่ต้องการลดหย่อน
5. เลือกประเภทการลดหย่อน
6. กรอกจำนวนเงินหรือเปอร์เซ็นต์ที่ลด
7. ระบุเหตุผลการลดหย่อน
8. ส่งขออนุมัติ
9. อนุมัติโดยผู้มีอำนาจ
10. บันทึกการลดหย่อน
Expected Result:
- บันทึกการลดหย่อนสำเร็จ
- คำนวณยอดเงินหลังลดหย่อนถูกต้อง
- บันทึก Workflow การอนุมัติ
- แสดงประวัติการลดหย่อน
Test Case: การรับชำระเงินหลังได้รับอนุมัติยกเว้นหรือลดหย่อน
Test ID: TC-002-003
Description: ทดสอบการรับชำระเงินหลังจากที่ได้รับอนุมัติยกเว้นหรือลดหย่อน
Pre-condition: มีการอนุมัติยกเว้นหรือลดหย่อนแล้ว
Test Steps:
1. เข้าสู่หน้ารับชำระเงิน
2. ค้นหาผู้ป่วยที่ได้รับอนุมัติ
3. ตรวจสอบยอดเงินหลังการยกเว้น/ลดหย่อน
4. เลือกวิธีการชำระเงิน
5. ทำการรับชำระเงิน
6. ออกใบเสร็จ
Expected Result:
- แสดงยอดเงินที่ถูกต้องหลังยกเว้น/ลดหย่อน
- รับชำระเงินสำเร็จ
- ใบเสร็จแสดงรายละเอียดการยกเว้น/ลดหย่อน
- บันทึกการรับชำระในระบบ
Test Case: การบันทึกค้างชำระและแจ้งเตือน
Test ID: TC-002-004
Description: ทดสอบการบันทึกค้างชำระและแจ้งเตือนเมื่อผู้ป่วยมารับบริการครั้งต่อไป
Pre-condition: ผู้ป่วยมีค่ารักษาที่ยังไม่ได้ชำระ
Test Steps:
1. เข้าสู่หน้ารับชำระเงิน
2. ค้นหาผู้ป่วยที่มีค่ารักษา
3. เลือกบันทึกค้างชำระ
4. ระบุเหตุผลการค้างชำระ
5. บันทึกข้อมูล
6. ผู้ป่วยมารับบริการครั้งต่อไป
7. ระบบแจ้งเตือนรายการค้างชำระ
Expected Result:
- บันทึกค้างชำระสำเร็จ
- แสดงสถานะค้างชำระในข้อมูลผู้ป่วย
- แจ้งเตือนเมื่อผู้ป่วยมารับบริการใหม่
- สามารถเรียกเก็บเงินค้างชำระได้
💳 TG-003: การรับชำระเงิน
Test Case: การรับชำระเงินหลายสิทธิ
Test ID: TC-003-001
Description: ทดสอบการรองรับผู้ป่วย 1 รายใช้สิทธิการรักษาหลายสิทธิต่อการ visit 1 ครั้ง
Pre-condition: ผู้ป่วยมีสิทธิการรักษาหลายประเภท, มีรายการค่ารักษา
Test Steps:
1. เข้าสู่หน้ารับชำระเงิน
2. ค้นหาและเลือกผู้ป่วย
3. แสดงรายการค่ารักษาพยาบาล
4. เลือกสิทธิการรักษาหลายประเภท (เช่น UC + เบิกตัว)
5. กำหนดการแบ่งค่ารักษาตามสิทธิ
6. คำนวณค่าใช้จ่ายตามสิทธิแต่ละประเภท
7. ทำการรับชำระเงิน
8. ออกใบเสร็จ
Expected Result:
- สามารถเลือกสิทธิหลายประเภทได้
- คำนวณค่าใช้จ่ายตามสิทธิแต่ละประเภทถูกต้อง
- แสดงยอดเงินที่ผู้ป่วยต้องจ่ายเอง
- ใบเสร็จแสดงรายละเอียดตามสิทธิ
Test Case: การรับชำระเงินโดยไม่มีสิทธิการรักษา (Error Case)
Test ID: TC-003-001-E1
Description: ทดสอบการแจ้งเตือนเมื่อผู้ป่วยไม่มีสิทธิการรักษาที่ใช้ได้
Test Type: ❌ Error Case
Pre-condition: ผู้ป่วยไม่มีสิทธิการรักษาหรือสิทธิหมดอายุ
Test Steps:
1. พยายามรับชำระเงินสำหรับผู้ป่วยที่ไม่มีสิทธิ
2. ตรวจสอบการแจ้งเตือน
Expected Result:
- แสดง "⚠️ ผู้ป่วยไม่มีสิทธิการรักษาที่ใช้ได้"
- แจ้งว่า "สิทธิหมดอายุ" (ถ้ามีแต่หมดอายุ)
- เสนอทางเลือก: ชำระเงินสดเต็มจำนวน
- บันทึก Warning log
- ไม่อนุญาตให้ใช้สิทธิที่หมดอายุ
Test Data: Rights Status: Expired/None
Test Case: การรับชำระเงินทุกประเภทในจุดเดียว
Test ID: TC-003-002
Description: ทดสอบการรับชำระเงินรายการค่ารักษาพยาบาลทุกประเภทในแต่ละจุดรับชำระเงิน
Pre-condition: มีจุดรับชำระเงินที่ตั้งค่าให้รองรับทุกประเภท
Test Steps:
1. เข้าสู่หน้ารับชำระเงิน
2. ทดสอบรับชำระค่ารักษา OPD
3. ทดสอบรับชำระค่ารักษา IPD
4. ทดสอบรับชำระค่ารักษา ER
5. ทดสอบรับชำระค่ายา
6. ทดสอบรับชำระค่าตรวจทางห้องปฏิบัติการ
7. ทดสอบรับชำระค่าตรวจรังสี
Expected Result:
- สามารถรับชำระค่ารักษาทุกประเภทได้
- แสดงรายการค่ารักษาตามประเภทถูกต้อง
- คำนวณยอดเงินถูกต้องทุกประเภท
- ออกใบเสร็จได้ทุกประเภท
Test Case: การออกใบเสร็จและใบแจ้งหนี้
Test ID: TC-003-003
Description: ทดสอบการออกใบเสร็จรับเงิน (Receipt) และใบแจ้งค่ารักษาพยาบาล (Invoice)
Pre-condition: มี Template ใบเสร็จและใบแจ้งหนี้ตามที่สถานพยาบาลกำหนด
Test Steps:
1. ทำการรับชำระเงินสำเร็จ
2. เลือกออกใบเสร็จรับเงิน
3. ตรวจสอบข้อมูลในใบเสร็จ
4. พิมพ์ใบเสร็จ
5. เลือกออกใบแจ้งหนี้
6. ตรวจสอบข้อมูลในใบแจ้งหนี้
7. พิมพ์ใบแจ้งหนี้
Expected Result:
- ใบเสร็จแสดงข้อมูลถูกต้องครบถ้วน
- ใบแจ้งหนี้แสดงรายละเอียดค่ารักษา
- รูปแบบตาม Template ที่กำหนด
- สามารถพิมพ์ได้ทั้งสองแบบ
Test Case: เครื่องพิมพ์ใบเสร็จไม่พร้อมใช้งาน (Fail Case)
Test ID: TC-003-003-F1
Description: ทดสอบกรณีเครื่องพิมพ์ใบเสร็จออฟไลน์
Test Type: ⚠️ Fail Case
Pre-condition: เครื่องพิมพ์ออฟไลน์หรือขัดข้อง
Test Steps:
1. พยายามพิมพ์ใบเสร็จ
2. ตรวจสอบการแจ้งเตือน
Expected Result:
- แสดง "⚠️ เครื่องพิมพ์ไม่พร้อมใช้งาน"
- เก็บงานพิมพ์ไว้ใน Queue
- อนุญาตให้เลือกเครื่องพิมพ์อื่น
- อนุญาตให้ส่งออกเป็น PDF
- บันทึกข้อมูลการรับชำระสำเร็จ (แยกจากการพิมพ์)
- แจ้งเตือนเจ้าหน้าที่
Test Data: Printer: Offline
Test Case: การควบคุมเลขที่ใบเสร็จอัตโนมัติ
Test ID: TC-003-004
Description: ทดสอบการกำหนดและควบคุมรูปแบบการออกเลขที่ใบเสร็จรับเงินอัตโนมัติ
Pre-condition: ระบบพร้อมใช้งาน, ตั้งค่ารูปแบบเลขที่ใบเสร็จ
Test Steps:
1. เข้าสู่หน้าตั้งค่าเลขที่ใบเสร็จ
2. กำหนดรูปแบบเลขที่ (เช่น RC-YYYYMMDD-XXXX)
3. กำหนดเลขที่เริ่มต้น
4. บันทึกการตั้งค่า
5. ทำการรับชำระเงินและออกใบเสร็จ
6. ตรวจสอบเลขที่ใบเสร็จที่สร้างอัตโนมัติ
Expected Result:
- ระบบสร้างเลขที่ใบเสร็จตามรูปแบบที่กำหนด
- เลขที่เรียงลำดับต่อเนื่องไม่ซ้ำ
- รีเซ็ตเลขที่ตามรอบที่กำหนด (รายวัน/รายเดือน/รายปี)
- เก็บประวัติเลขที่ใบเสร็จทั้งหมด
Test Case: เลขที่ใบเสร็จซ้ำซ้อน (Error Case)
Test ID: TC-003-004-E1
Description: ทดสอบการป้องกันการสร้างเลขที่ใบเสร็จซ้ำ
Test Type: ❌ Error Case
Pre-condition: ระบบมีเลขที่ใบเสร็จในฐานข้อมูล
Test Steps:
1. พยายามบันทึกใบเสร็จด้วย Manual Entry
2. ใช้เลขที่ซ้ำกับที่มีอยู่แล้ว
3. ตรวจสอบการแจ้งเตือน
Expected Result:
- แสดง "⚠️ เลขที่ใบเสร็จซ้ำกับเลขที่ RC-20251028-0123"
- ไม่อนุญาตให้บันทึกเลขที่ซ้ำ
- แนะนำเลขที่ถัดไปที่ใช้ได้
- บันทึก Log การพยายามใช้เลขที่ซ้ำ
Test Data: Receipt No: RC-20251028-0123 (Duplicate)
Test Case: การบันทึกค่ารักษาตามหมวด
Test ID: TC-003-005
Description: ทดสอบการบันทึกข้อมูลค่ารักษาพยาบาลตามหมวดค่ารักษาทางการแพทย์
Pre-condition: มีข้อมูลหมวดค่ารักษาในระบบ
Test Steps:
1. เข้าสู่หน้าบันทึกค่ารักษา
2. เลือกผู้ป่วย
3. เลือกหมวดค่ารักษา (ค่าตรวจรักษา, ค่ายา, ค่าห้อง, ฯลฯ)
4. กรอกรายการค่ารักษาและจำนวนเงิน
5. เพิ่มค่าใช้จ่ายอื่นๆ เพิ่มเติม
6. บันทึกข้อมูล
Expected Result:
- บันทึกค่ารักษาตามหมวดสำเร็จ
- แสดงรายการค่ารักษาแยกตามหมวด
- คำนวณยอดรวมถูกต้อง
- สามารถเพิ่มค่าใช้จ่ายอื่นๆ ได้
Test Case: การแสดงรายการค่ารักษาแบบ Online
Test ID: TC-003-006
Description: ทดสอบการแสดงข้อมูลรายการค่ารักษาพยาบาลจากหน่วยงานให้บริการแบบ Online
Pre-condition: มีการเชื่อมต่อระบบระหว่างหน่วยงาน
Test Steps:
1. หน่วยงานให้บริการบันทึกค่ารักษา
2. เข้าสู่หน้ารับชำระเงิน
3. ค้นหาผู้ป่วย
4. ตรวจสอบรายการค่ารักษาที่ปรากฏ
5. ยืนยันความถูกต้องของข้อมูล
Expected Result:
- แสดงรายการค่ารักษาจากหน่วยงานให้บริการ
- ข้อมูลอัปเดต Real-time
- แสดงหน่วยงานที่บันทึกข้อมูล
- สามารถตรวจสอบรายละเอียดได้
Test Case: การแสดงสรุปยอดเงินทั้งหมด
Test ID: TC-003-007
Description: ทดสอบการแสดงรายการค่ารักษาพยาบาลตามหมวดค่ารักษาทางการแพทย์ทั้งหมดของผู้ป่วย
Pre-condition: ผู้ป่วยมีรายการค่ารักษาหลายหมวด
Test Steps:
1. เข้าสู่หน้ารับชำระเงิน
2. ค้นหาและเลือกผู้ป่วย
3. แสดงสรุปรายการค่ารักษาทั้งหมด
4. ตรวจสอบการแบ่งยอดเงิน:
- ยอดที่ต้องชำระเอง (เบิกได้)
- ยอดที่ต้องชำระเอง (เบิกไม่ได้)
- ยอดลูกหนี้สิทธิ
- ยอดส่วนลด
- ยอดค้างชำระ
- ยอดรวมที่ต้องชำระทั้งสิ้น
5. ทดสอบการคำนวณเงินทอน
Expected Result:
- แสดงสรุปยอดเงินแยกตามประเภทถุกต้อง
- คำนวณยอดรวมถูกต้อง
- คำนวณเงินทอนถูกต้อง
- แสดงรายละเอียดชัดเจน
Test Case: การรับชำระเงินโดยยอดเงินไม่ตรงกัน (Error Case)
Test ID: TC-003-007-E1
Description: ทดสอบการแจ้งเตือนเมื่อยอดเงินที่รับไม่ตรงกับยอดที่ต้องชำระ
Test Type: ❌ Error Case
Pre-condition: ยอดเงินที่ต้องชำระคือ 500 บาท
Test Steps:
1. พยายามบันทึกการรับเงิน 400 บาท (ไม่ครบ)
2. ไม่ระบุว่าเป็นการผ่อนชำระ
3. พยายามบันทึก
Expected Result:
- แสดง "⚠️ ยอดเงินที่รับไม่ตรงกับยอดที่ต้องชำระ"
- แสดง "ยอดขาด: 100 บาท"
- เสนอทางเลือก:
- บันทึกเป็นค้างชำระ
- บันทึกเป็นผ่อนชำระ
- ยกเลิกและแก้ไขยอดเงิน
- ไม่อนุญาตให้บันทึกแบบไม่สมบูรณ์
Test Data: Should Pay: 500, Paid: 400, Short: 100
Test Case: การรับชำระเงินหลายรูปแบบ
Test ID: TC-003-008
Description: ทดสอบการระบุการรับชำระเงินได้หลายรูปแบบ (Payment Method)
Pre-condition: ระบบรองรับการชำระเงินหลายรูปแบบ
Test Steps:
1. เข้าสู่หน้ารับชำระเงิน
2. ค้นหาและเลือกผู้ป่วย
3. ทดสอบการชำระด้วยเงินสด
4. ทดสอบการชำระด้วยบัตรเครดิต
5. ทดสอบการชำระด้วยเงินโอน
6. ทดสอบการชำระแบบผสมผสาน (เงินสด + บัตร)
7. บันทึกการรับชำระ
Expected Result:
- รองรับการชำระเงินหลายรูปแบบ
- บันทึกรายละเอียดการชำระแต่ละประเภท
- คำนวณยอดเงินแต่ละประเภทถูกต้อง
- ออกใบเสร็จแสดงรายละเอียดการชำระ
Test Case: การชำระเงินด้วยบัตรเครดิตไม่สำเร็จ (Fail Case)
Test ID: TC-003-008-F1
Description: ทดสอบกรณี Payment Gateway ปฏิเสธการทำธุรกรรม
Test Type: ⚠️ Fail Case
Pre-condition: การเชื่อมต่อ Payment Gateway สำเร็จ
Test Steps:
1. พยายามชำระเงินด้วยบัตรเครดิต
2. Payment Gateway ตอบกลับว่าบัตรไม่ผ่าน
3. ตรวจสอบการแจ้งเตือน
Expected Result:
- แสดง "⚠️ การชำระเงินด้วยบัตรไม่สำเร็จ"
- แสดงสาเหตุ: "บัตรไม่ผ่านการอนุมัติ" / "ยอดเงินไม่พอ" / "บัตรหมดอายุ"
- ไม่บันทึกการรับชำระ
- เสนอทางเลือกชำระด้วยวิธีอื่น
- บันทึก Transaction log
Test Data: Card Payment: Declined
Test Case: Payment Gateway ไม่ตอบสนอง (Fail Case)
Test ID: TC-003-008-F2
Description: ทดสอบกรณี Payment Gateway ออฟไลน์หรือ Timeout
Test Type: ⚠️ Fail Case
Pre-condition: Payment Gateway ออฟไลน์
Test Steps:
1. พยายามชำระเงินด้วยบัตรเครดิต
2. ระบบไม่ได้รับการตอบกลับ (Timeout)
3. ตรวจสอบการแจ้งเตือน
Expected Result:
- แสดง "⚠️ ไม่สามารถเชื่อมต่อระบบชำระเงินได้"
- แนะนำ "กรุณาชำระด้วยวิธีอื่นหรือลองใหม่อีกครั้ง"
- ไม่บันทึกการรับชำระที่ไม่แน่นอน
- เก็บ Transaction ไว้ตรวจสอบ
- แจ้งเตือนเจ้าหน้าที่
Test Data: Payment Gateway: Offline/Timeout
Test Case: การแสดงรายละเอียดค่ารักษาตามวันที่
Test ID: TC-003-009
Description: ทดสอบการแสดงรายละเอียดค่ารักษาพยาบาลโดยละเอียดตามวันที่
Pre-condition: ผู้ป่วยมีประวัติการรักษาหลายวัน
Test Steps:
1. เข้าสู่หน้าดูรายละเอียดค่ารักษา
2. ค้นหาและเลือกผู้ป่วย
3. เลือกแสดงรายละเอียดตามวันที่เลือก
4. เลือกแสดงรายละเอียดรวมทั้งหมด
5. ตรวจสอบความถูกต้องของข้อมูล
Expected Result:
- แสดงรายละเอียดค่ารักษาตามวันที่ที่เลือก
- แสดงรายละเอียดรวมทั้งหมดได้
- ข้อมูลถูกต้องและครบถ้วน
- สามารถเลือกช่วงวันที่ได้
Test Case: การจัดการเงินรับฝาก
Test ID: TC-003-010
Description: ทดสอบการรองรับเงินรับฝากจากผู้ป่วย
Pre-condition: ระบบพร้อมใช้งาน
Test Steps:
1. เข้าสู่หน้ารับฝากเงิน
2. ค้นหาและเลือกผู้ป่วย
3. กรอกข้อมูลการรับฝาก:
- วันที่รับฝากเงิน
- เวลาที่รับฝากเงิน
- ชื่อผู้ฝากเงิน
- จำนวนเงินที่ฝาก
- หมายเหตุ
4. บันทึกการรับฝากเงิน
5. ออกใบรับฝากเงิน
Expected Result:
- บันทึกข้อมูลการรับฝากเงินสำเร็จ
- ออกใบรับฝากเงินได้
- แสดงยอดเงินฝากในระบบ
- สามารถใช้เงินฝากชำระค่ารักษาได้
Test Case: การตรวจสอบประวัติการทำรายการ
Test ID: TC-003-011
Description: ทดสอบการสอบถามใบเสร็จรับเงินว่าถูกพิมพ์จากจุดไหนและใครทำรายการ
Pre-condition: มีการออกใบเสร็จแล้ว
Test Steps:
1. เข้าสู่หน้าตรวจสอบประวัติการทำรายการ
2. ค้นหาด้วยเลขที่ใบเสร็จ
3. แสดงข้อมูลรายละเอียด:
- จุดรับชำระเงินที่ออกใบเสร็จ
- ผู้ทำรายการรับชำระเงิน
- วันเวลาที่ทำรายการ
- รายละเอียดการชำระ
Expected Result:
- แสดงข้อมูลจุดรับชำระเงินถูกต้อง
- แสดงข้อมูลผู้ทำรายการถูกต้อง
- แสดงประวัติการทำรายการครบถ้วน
- มี Audit Trail ที่สมบูรณ์
Test Case: การแสดงรายการตามสิทธิ
Test ID: TC-003-012
Description: ทดสอบการแสดงข้อมูลรายการค่ารักษาพยาบาลแยกตามสิทธิ
Pre-condition: ผู้ป่วยมีการใช้สิทธิหลายประเภท
Test Steps:
1. เข้าสู่หน้าดูรายการค่ารักษา
2. ค้นหาและเลือกผู้ป่วย
3. เลือกแสดงรายการแยกตามสิทธิ
4. ตรวจสอบการแบ่งรายการตามสิทธิแต่ละประเภท
Expected Result:
- แสดงรายการค่ารักษาแยกตามสิทธิ
- คำนวณยอดเงินแต่ละสิทธิถูกต้อง
- แสดงส่วนที่สิทธิจ่ายและผู้ป่วยจ่าย
- ข้อมูลชัดเจนและเข้าใจง่าย
Test Case: การแก้ไขสิทธิการรักษา
Test ID: TC-003-013
Description: ทดสอบการแก้ไขหรือเพิ่มสิทธิการรักษาของผู้ป่วย
Pre-condition: ผู้ใช้มีสิทธิการใช้งานที่เหมาะสม
Test Steps:
1. เข้าสู่หน้าแก้ไขข้อมูลผู้ป่วย
2. ค้นหาและเลือกผู้ป่วย
3. เข้าสู่ส่วนแก้ไขสิทธิการรักษา
4. เพิ่มสิทธิใหม่หรือแก้ไขสิทธิเดิม
5. ระบุเหตุผลการแก้ไข
6. บันทึกการแก้ไข
Expected Result:
- แก้ไขสิทธิสำเร็จ
- บันทึกประวัติการแก้ไข
- ตรวจสอบสิทธิการใช้งานก่อนอนุญาต
- สิทธิใหม่มีผลใช้ได้ทันทีหรือตามที่กำหนด
Test Case: การตรวจสอบยอดค่ารักษาผู้ป่วยใน
Test ID: TC-003-014
Description: ทดสอบการตรวจสอบยอดค่ารักษาพยาบาลของผู้ป่วยในเป็นรายวัน
Pre-condition: มีผู้ป่วยในระบบ
Test Steps:
1. เข้าสู่หน้าตรวจสอบยอดค่ารักษาผู้ป่วยใน
2. ค้นหาผู้ป่วยใน (AN)
3. เลือกวันที่ที่ต้องการตรวจสอบ
4. แสดงรายละเอียดค่ารักษาเป็นรายวัน
5. แสดงยอดสะสมตั้งแต่วันแรกที่เข้ารักษา
Expected Result:
- แสดงยอดค่ารักษารายวันถูกต้อง
- แสดงยอดสะสมถูกต้อง
- แสดงรายละเอียดค่ารักษาแต่ละหมวด
- ข้อมูลอัปเดตตาม Real-time
📋 TG-004: การค้างชำระค่ารักษาพยาบาล
Test Case: การแจ้งเตือนผู้ป่วยค้างชำระ
Test ID: TC-004-001
Description: ทดสอบการแจ้งเตือนเมื่อผู้ป่วยที่ค้างชำระค่ารักษาพยาบาลมารับบริการในครั้งต่อๆ ไป
Pre-condition: ผู้ป่วยมีประวัติค้างชำระในระบบ
Test Steps:
1. ผู้ป่วยที่ค้างชำระมาลงทะเบียนรับบริการใหม่
2. เจ้าหน้าที่ค้นหาข้อมูลผู้ป่วย
3. ระบบแสดงการแจ้งเตือนค้างชำระ
4. แสดงรายละเอียดยอดค้างชำระ
5. เลือกดำเนินการ (ชำระเงิน/บันทึกค้างชำระต่อ)
Expected Result:
- แสดงป๊อปอัพเตือนค้างชำระทันทีที่ค้นหาผู้ป่วย
- แสดงยอดเงินค้างชำระทั้งหมด
- แสดงรายละเอียดแต่ละรายการค้างชำระ
- แสดงวันที่และสาเหตุของการค้างชำระ
- สามารถเลือกดำเนินการได้หลายทาง
Test Case: การรวมยอดค้างชำระหลายครั้ง
Test ID: TC-004-002
Description: ทดสอบการแสดงและจัดการยอดค้างชำระที่สะสมจากหลายครั้งรับบริการ
Pre-condition: ผู้ป่วยมีประวัติค้างชำระหลายครั้ง
Test Steps:
1. เข้าสู่หน้าตรวจสอบยอดค้างชำระ
2. ค้นหาผู้ป่วยที่ค้างชำระ
3. แสดงรายการค้างชำระทั้งหมด
4. แสดงยอดรวมค้างชำระ
5. เลือกรายการที่ต้องการรับชำระ
6. ทำการรับชำระเงินค้างชำระ
Expected Result:
- แสดงรายการค้างชำระแยกตามวันที่รับบริการ
- คำนวณยอดรวมค้างชำระถูกต้อง
- สามารถเลือกชำระทั้งหมดหรือบางรายการ
- บันทึกการชำระค้างชำระในระบบ
Test Case: การตั้งเงื่อนไขค้างชำระ
Test ID: TC-004-003
Description: ทดสอบการกำหนดเงื่อนไขและระยะเวลาการค้างชำระ
Pre-condition: ระบบมีการตั้งค่าเงื่อนไขค้างชำระ
Test Steps:
1. เข้าสู่หน้าตั้งค่าเงื่อนไขค้างชำระ
2. กำหนดยอดเงินสูงสุดที่อนุญาตให้ค้างชำระ
3. กำหนดระยะเวลาค้างชำระสูงสุด
4. กำหนดเงื่อนไขพิเศษตามประเภทผู้ป่วย
5. บันทึกการตั้งค่า
6. ทดสอบการทำงานของเงื่อนไข
Expected Result:
- บันทึกเงื่อนไขค้างชำระสำเร็จ
- ระบบตรวจสอบเงื่อนไขเมื่อมีการค้างชำระ
- แจ้งเตือนเมื่อเกินเงื่อนไขที่กำหนด
- สามารถกำหนดเงื่อนไขพิเศษได้
❌ TG-005: การยกเลิกการรับชำระเงิน
Test Case: การยกเลิกใบเสร็จรับเงิน
Test ID: TC-005-001
Description: ทดสอบการยกเลิกใบเสร็จรับเงินโดยระบุสาเหตุของการยกเลิก
Pre-condition: มีใบเสร็จที่ต้องการยกเลิก, ผู้ใช้มีสิทธิยกเลิก
Test Steps:
1. เข้าสู่หน้าจัดการใบเสร็จ
2. ค้นหาใบเสร็จที่ต้องการยกเลิก (เลขที่ใบเสร็จ)
3. คลิกปุ่มยกเลิกใบเสร็จ
4. ระบุสาเหตุของการยกเลิก
5. ยืนยันการยกเลิก
6. ระบบบันทึกข้อมูลการยกเลิก
Expected Result:
- ยกเลิกใบเสร็จสำเร็จ
- บันทึกสาเหตุการยกเลิก
- อัปเดตสถานะใบเสร็จเป็น "ยกเลิก"
- บันทึกผู้ยกเลิกและเวลาที่ยกเลิก
- แสดงใบเสร็จยกเลิกในรายงาน
Test Case: การสร้างเลขที่เอกสารใหม่
Test ID: TC-005-002
Description: ทดสอบการสร้างเลขที่เอกสารใหม่เมื่อมีการยกเลิกใบเสร็จ
Pre-condition: มีการยกเลิกใบเสร็จที่ต้องออกใหม่
Test Steps:
1. ยกเลิกใบเสร็จเดิมตาม TC-005-001
2. เลือกออกใบเสร็จใหม่
3. ระบบสร้างเลขที่ใบเสร็จใหม่
4. เชื่อมโยงกับใบเสร็จเก่าที่ยกเลิก
5. ออกใบเสร็จใหม่
6. ตรวจสอบการเชื่อมโยงระหว่างเอกสาร
Expected Result:
- สร้างเลขที่ใบเสร็จใหม่สำเร็จ
- เก็บความสัมพันธ์ระหว่างใบเสร็จเก่าและใหม่
- สามารถตรวจสอบประวัติการออกใบเสร็จได้
- ข้อมูลทางการเงินถูกต้อง
Test Case: การบันทึกประวัติการยกเลิก
Test ID: TC-005-003
Description: ทดสอบการบันทึกข้อมูลในการยกเลิกใบเสร็จ
Pre-condition: มีการยกเลิกใบเสร็จ
Test Steps:
1. ทำการยกเลิกใบเสร็จ
2. ตรวจสอบข้อมูลที่บันทึก:
- วันที่ยกเลิก
- เวลาที่ยกเลิก
- HN (หมายเลขผู้ป่วยนอก)
- ชื่อ-สกุลผู้ป่วย
- เลขที่ใบเสร็จที่ยกเลิก
- จำนวนเงินที่ยกเลิก
- เจ้าหน้าที่ที่ทำการยกเลิก
- สาเหตุของการยกเลิก
3. ตรวจสอบรายงานการยกเลิก
Expected Result:
- บันทึกข้อมูลการยกเลิกครบถ้วนตาม TOR
- สามารถออกรายงานการยกเลิกได้
- ข้อมูลมีความถูกต้องและสมบูรณ์
- เก็บ Audit Trail ไว้ตรวจสอบได้
Test Case: การจำกัดสิทธิการยกเลิก
Test ID: TC-005-004
Description: ทดสอบการจำกัดสิทธิการยกเลิกใบเสร็จตามเงื่อนไขที่กำหนด
Pre-condition: ตั้งค่าสิทธิการยกเลิกในระบบ
Test Steps:
1. ผู้ใช้ที่ไม่มีสิทธิพยายามยกเลิกใบเสร็จ
2. ผู้ใช้มีสิทธิพยายามยกเลิกใบเสร็จเก่าเกินกำหนด
3. ผู้ใช้มีสิทธิยกเลิกใบเสร็จภายในกำหนด
4. ทดสอบการขออนุมัติสำหรับกรณีพิเศษ
Expected Result:
- ปฏิเสธการยกเลิกสำหรับผู้ไม่มีสิทธิ
- ตรวจสอบเงื่อนไขเวลาในการยกเลิก
- อนุญาตการยกเลิกสำหรับผู้มีสิทธิ
- มีระบบขออนุมัติสำหรับกรณีพิเศษ
Test Case: การยกเลิกใบเสร็จโดยไม่ระบุสาเหตุ (Error Case)
Test ID: TC-005-001-E1
Description: ทดสอบการป้องกันการยกเลิกใบเสร็จโดยไม่ระบุสาเหตุ
Test Type: ❌ Error Case
Pre-condition: ผู้ใช้มีสิทธิยกเลิกใบเสร็จ
Test Steps:
1. พยายามยกเลิกใบเสร็จโดยไม่ระบุสาเหตุ
2. คลิกยืนยันการยกเลิก
Expected Result:
- แสดง "⚠️ กรุณาระบุสาเหตุการยกเลิกใบเสร็จ"
- ไม่อนุญาตให้ยกเลิกโดยไม่มีสาเหตุ
- ต้องระบุสาเหตุอย่างน้อย 1 รายการ
- บันทึก Log การพยายามยกเลิก
Test Data: Cancel Reason: Empty
Test Case: การยกเลิกใบเสร็จโดยผู้ไม่มีสิทธิ์ (Error Case)
Test ID: TC-005-004-E1
Description: ทดสอบการป้องกันการยกเลิกใบเสร็จโดยผู้ที่ไม่มีสิทธิ์
Test Type: ❌ Error Case
Pre-condition: ผู้ใช้ไม่มีสิทธิยกเลิกใบเสร็จ
Test Steps:
1. พยายามยกเลิกใบเสร็จด้วยผู้ใช้ที่ไม่มีสิทธิ์
2. ตรวจสอบการแจ้งเตือน
Expected Result:
- แสดง "⚠️ คุณไม่มีสิทธิ์ยกเลิกใบเสร็จ"
- ไม่แสดงปุ่มยกเลิก
- บันทึก Unauthorized access log
- แนะนำติดต่อผู้มีสิทธิ์
Test Data: User Role: Cashier (No cancel permission)
Test Case: การยกเลิกใบเสร็จที่เกินกำหนดเวลา (Error Case)
Test ID: TC-005-004-E2
Description: ทดสอบการป้องกันการยกเลิกใบเสร็จที่เกินระยะเวลาที่อนุญาต
Test Type: ❌ Error Case
Pre-condition: ใบเสร็จออกมาแล้วเกิน 24 ชั่วโมง, กำหนดเวลายกเลิกคือ 24 ชม.
Test Steps:
1. พยายามยกเลิกใบเสร็จที่เกินกำหนด
2. ตรวจสอบการแจ้งเตือน
Expected Result:
- แสดง "⚠️ ไม่สามารถยกเลิกใบเสร็จที่เกิน 24 ชั่วโมง"
- เสนอทางเลือก: "ขออนุมัติพิเศษจากผู้บริหาร"
- บันทึก Request log
- ส่งการแจ้งเตือนไปยังผู้อนุมัติ
Test Data: Receipt Date: 26 Oct, Current: 28 Oct (Over 24h)
📊 TG-006: การปิดรอบการเงิน
Test Case: การปิดยอดรายการและประมวลผล
Test ID: TC-006-001
Description: ทดสอบการปิดยอดรายการที่เกิดขึ้นและประมวลผลเพื่อสรุปยอดเงินตามช่วงเวลา
Pre-condition: มีรายการทางการเงินในระบบ
Test Steps:
1. เข้าสู่หน้าปิดรอบการเงิน
2. เลือกช่วงเวลาที่ต้องการปิดรอบ (รายวัน/รายเดือน/รายปี)
3. ระบุประเภทการปิดรอบ
4. คลิกปุ่มประมวลผล
5. ตรวจสอบรายงานสรุปการรับชำระเงิน
6. ยืนยันการปิดรอบ
Expected Result:
- ประมวลผลข้อมูลสำเร็จ
- สรุปยอดเงินตามช่วงเวลาถูกต้อง
- แยกตามประเภทการรับชำระเงิน
- ออกรายงานสรุปได้
- บันทึกสถานะการปิดรอบ
Test Case: การสรุปยอดเงินสิ้นวันและพิมพ์ใบนำส่ง
Test ID: TC-006-002
Description: ทดสอบการสรุปยอดเงินที่รับชำระทุกสิ้นวันและพิมพ์ใบนำส่งเงินรายได้
Pre-condition: มีรายการรับชำระเงินประจำวัน
Test Steps:
1. เข้าสู่หน้าปิดรอบรายวัน
2. เลือกวันที่ที่ต้องการสรุป
3. คลิกสรุปยอดเงินสิ้นวัน
4. ตรวจสอบรายละเอียดยอดเงิน:
- เงินสด
- บัตรเครดิต
- เงินโอน
- รวมทั้งหมด
5. พิมพ์ใบนำส่งเงินรายได้
Expected Result:
- สรุปยอดเงินสิ้นวันถูกต้อง
- แยกตามประเภทการชำระเงิน
- พิมพ์ใบนำส่งเงินได้
- ข้อมูลในใบนำส่งครบถ้วน
Test Case: การสอบถามสรุปยอดเงินแบบหลายเงื่อนไข
Test ID: TC-006-003
Description: ทดสอบการสอบถามสรุปยอดเงินตามรายการค่ารักษา, จุดรับชำระ, ประเภทสิทธิ และหน่วยงาน
Pre-condition: มีข้อมูลทางการเงินครบถ้วนในระบบ
Test Steps:
1. เข้าสู่หน้ารายงานสรุปยอดเงิน
2. ทดสอบการสอบถามตามรายการค่ารักษาพยาบาล
3. ทดสอบการสอบถามตามจุดรับชำระเงิน
4. ทดสอบการสอบถามตามประเภทสิทธิการรักษาพยาบาล
5. ทดสอบการสอบถามตามหน่วยงานที่ให้บริการ
6. ทดสอบการรวมเงื่อนไขหลายประเภท
Expected Result:
- แสดงสรุปยอดเงินตามเงื่อนไขที่เลือก
- ข้อมูลถูกต้องและครบถ้วน
- สามารถรวมเงื่อนไขหลายประเภทได้
- ออกรายงานและส่งออกข้อมูลได้
Test Case: การสอบถามยอดค่ารักษารายบุคคล
Test ID: TC-006-004
Description: ทดสอบการสอบถามสรุปยอดค่ารักษาพยาบาลของผู้ป่วยเป็นรายบุคคลแยกตามประเภทการรับชำระ
Pre-condition: มีข้อมูลผู้ป่วยและรายการทางการเงิน
Test Steps:
1. เข้าสู่หน้ารายงานยอดค่ารักษารายบุคคล
2. ค้นหาและเลือกผู้ป่วย
3. เลือกช่วงเวลาที่ต้องการ
4. แสดงสรุปยอดค่ารักษาแยกตาม:
- ประเภทการรับชำระเงิน
- หมวดค่ารักษา
- วันที่รับบริการ
5. ออกรายงานรายบุคคล
Expected Result:
- แสดงข้อมูลรายบุคคลถูกต้อง
- แยกตามประเภทการรับชำระชัดเจน
- แสดงยอดเงินแต่ละหมวดค่ารักษา
- สามารถออกรายงานได้
Test Case: การตรวจสอบความถูกต้องของการปิดรอบ
Test ID: TC-006-005
Description: ทดสอบการตรวจสอบความถูกต้องของข้อมูลก่อนปิดรอบการเงิน
Pre-condition: มีรายการทางการเงินที่ต้องตรวจสอบ
Test Steps:
1. เข้าสู่หน้าตรวจสอบก่อนปิดรอบ
2. ตรวจสอบรายการที่ยังไม่สมบูรณ์
3. ตรวจสอบรายการค้างชำระ
4. ตรวจสอบรายการที่ยกเลิก
5. ตรวจสอบความสมดุลของยอดเงิน
6. แก้ไขข้อมูลที่ผิดพลาด (ถ้ามี)
7. ยืนยันการปิดรอบ
Expected Result:
- ตรวจสอบความถูกต้องของข้อมูลได้
- แสดงรายการที่ต้องแก้ไข
- แก้ไขข้อมูลก่อนปิดรอบได้
- ปิดรอบเมื่อข้อมูลถูกต้องครบถ้วน
Test Case: การปิดรอบการเงินซ้ำ (Error Case)
Test ID: TC-006-001-E1
Description: ทดสอบการป้องกันการปิดรอบการเงินซ้ำในช่วงเวลาเดียวกัน
Test Type: ❌ Error Case
Pre-condition: ปิดรอบวันที่ 27 ตุลาคม 2568 แล้ว
Test Steps:
1. พยายามปิดรอบวันที่ 27 ตุลาคม 2568 อีกครั้ง
2. ตรวจสอบการแจ้งเตือน
Expected Result:
- แสดง "⚠️ ปิดรอบวันที่ 27 ต.ค. 2568 แล้ว"
- แสดงผู้ปิดรอบและเวลาที่ปิด
- เสนอทางเลือก: "ดูรายงานที่ปิดแล้ว" หรือ "ขอเปิดรอบใหม่"
- ไม่อนุญาตให้ปิดรอบซ้ำ
Test Data: Period: 27 Oct 2568 (Already closed)
Test Case: การปิดรอบโดยมีรายการไม่สมบูรณ์ (Error Case)
Test ID: TC-006-005-E1
Description: ทดสอบการแจ้งเตือนเมื่อมีรายการที่ไม่สมบูรณ์ก่อนปิดรอบ
Test Type: ❌ Error Case
Pre-condition: มีรายการค้างชำระหรือข้อมูลไม่สมบูรณ์
Test Steps:
1. พยายามปิดรอบโดยมีรายการค้างชำระ 5 รายการ
2. ตรวจสอบการแจ้งเตือน
Expected Result:
- แสดง "⚠️ พบรายการที่ยังไม่สมบูรณ์ 5 รายการ"
- แสดงรายละเอียดรายการที่ต้องแก้ไข
- เสนอทางเลือก:
- ดูรายละเอียดรายการ
- ปิดรอบโดยยกเว้นรายการนี้
- ยกเลิกและแก้ไขก่อน
- บันทึก Warning log
Test Data: Incomplete Items: 5, Pending Payment: 3, Invalid: 2
🖨️ TG-007: การพิมพ์เอกสารทางการเงิน
Test Case: การพิมพ์ใบเสร็จรับเงินภาษาไทย
Test ID: TC-007-001
Description: ทดสอบการพิมพ์ใบเสร็จรับเงินในรูปแบบภาษาไทย
Pre-condition: มีการรับชำระเงินสำเร็จแล้ว
Test Steps:
1. เข้าสู่หน้าจัดการใบเสร็จ
2. ค้นหาใบเสร็จที่ต้องการพิมพ์
3. เลือกรูปแบบภาษาไทย
4. ตรวจสอบข้อมูลในใบเสร็จ:
- ข้อมูลโรงพยาบาล
- ข้อมูลผู้ป่วย
- รายการค่ารักษา
- ยอดเงินและการชำระ
5. พิมพ์ใบเสร็จ
Expected Result:
- ใบเสร็จแสดงข้อมูลเป็นภาษาไทย
- ข้อมูลครบถ้วนและถูกต้อง
- รูปแบบตาม Template ที่กำหนด
- พิมพ์ออกมาชัดเจน อ่านง่าย
Test Case: การพิมพ์ใบเสร็จรับเงินภาษาอังกฤษ
Test ID: TC-007-002
Description: ทดสอบการพิมพ์ใบเสร็จรับเงินในรูปแบบภาษาอังกฤษ
Pre-condition: มีการรับชำระเงินสำเร็จแล้ว
Test Steps:
1. เข้าสู่หน้าจัดการใบเสร็จ
2. ค้นหาใบเสร็จที่ต้องการพิมพ์
3. เลือกรูปแบบภาษาอังกฤษ
4. ตรวจสอบข้อมูลในใบเสร็จ:
- Hospital Information
- Patient Information
- Medical Service Details
- Payment Information
5. พิมพ์ใบเสร็จ
Expected Result:
- ใบเสร็จแสดงข้อมูลเป็นภาษาอังกฤษ
- การแปลศัพท์ทางการแพทย์ถูกต้อง
- รูปแบบมาตรฐานสากล
- เหมาะสำหรับผู้ป่วยต่างชาติ
Test Case: การพิมพ์ใบแจ้งหนี้
Test ID: TC-007-003
Description: ทดสอบการพิมพ์ใบแจ้งหนี้
Pre-condition: มีข้อมูลค่ารักษาที่ต้องการออกใบแจ้งหนี้
Test Steps:
1. เข้าสู่หน้าจัดการใบแจ้งหนี้
2. ค้นหาผู้ป่วยหรือรายการที่ต้องการ
3. สร้างใบแจ้งหนี้ใหม่
4. ตรวจสอบข้อมูลในใบแจ้งหนี้:
- ข้อมูลผู้ป่วย
- รายการค่ารักษาพยาบาล
- ยอดเงินรวม
- วันที่ครบกำหนดชำระ
5. พิมพ์ใบแจ้งหนี้
Expected Result:
- ใบแจ้งหนี้แสดงข้อมูลถูกต้อง
- รายการค่ารักษาครบถ้วน
- คำนวณยอดเงินถูกต้อง
- รูปแบบเป็นมาตรฐาน
Test Case: การพิมพ์ใบสั่งยาภาษาไทยและอังกฤษ
Test ID: TC-007-004
Description: ทดสอบการพิมพ์ใบสั่งยาในรูปแบบภาษาไทยและภาษาอังกฤษ
Pre-condition: มีการสั่งยาและข้อมูลทางการเงินที่เกี่ยวข้อง
Test Steps:
1. เข้าสู่หน้าจัดการใบสั่งยา
2. ค้นหาใบสั่งยาที่ต้องการพิมพ์
3. ทดสอบพิมพ์ภาษาไทย:
- ชื่อยาภาษาไทย
- วิธีใช้ภาษาไทย
- ข้อมูลราคาและการชำระ
4. ทดสอบพิมพ์ภาษาอังกฤษ:
- Generic/Trade name
- Instruction in English
- Payment information
Expected Result:
- ใบสั่งยาแสดงข้อมูลทางการเงินถูกต้อง
- รองรับทั้งภาษาไทยและอังกฤษ
- ข้อมูลยาและราคาถูกต้อง
- เชื่อมโยงกับระบบเภสัชกรรม
Test Case: การพิมพ์ใบรับฝากเงิน (มัดจำ)
Test ID: TC-007-005
Description: ทดสอบการพิมพ์ใบรับฝากเงิน (มัดจำ)
Pre-condition: มีการรับฝากเงินแล้ว
Test Steps:
1. เข้าสู่หน้าจัดการเงินรับฝาก
2. ค้นหารายการรับฝากเงิน
3. เลือกรายการที่ต้องการพิมพ์ใบรับฝาก
4. ตรวจสอบข้อมูลในใบรับฝาก:
- ข้อมูลผู้ฝากเงิน
- จำนวนเงินที่ฝาก
- วัตถุประสงค์การฝาก
- วันที่และเวลา
5. พิมพ์ใบรับฝากเงิน
Expected Result:
- ใบรับฝากเงินแสดงข้อมูลครบถ้วน
- จำนวนเงินถูกต้อง
- มีเลขที่อ้างอิงสำหรับติดตาม
- ผู้ฝากสามารถใช้เป็นหลักฐานได้
Test Case: การพิมพ์ใบแจ้งเรียกเก็บเงินผู้ป่วยใน
Test ID: TC-007-006
Description: ทดสอบการพิมพ์ใบแจ้งเรียกเก็บเงิน (กรณีผู้ป่วยใน) ภาษาไทยและอังกฤษ
Pre-condition: มีผู้ป่วยในที่มีค่ารักษา
Test Steps:
1. เข้าสู่หน้าจัดการผู้ป่วยใน
2. ค้นหาผู้ป่วยใน (AN)
3. สร้างใบแจ้งเรียกเก็บเงิน
4. ทดสอบพิมพ์ภาษาไทย
5. ทดสอบพิมพ์ภาษาอังกฤษ
6. ตรวจสอบข้อมูล:
- ค่าห้อง
- ค่ารักษาพยาบาล
- ค่ายา
- ค่าตรวจต่างๆ
Expected Result:
- ใบแจ้งเรียกเก็บแสดงรายละเอียดครบถ้วน
- คำนวณยอดเงินถูกต้อง
- รองรับทั้งภาษาไทยและอังกฤษ
- เหมาะสำหรับผู้ป่วยในต่างชาติ
Test Case: การพิมพ์ใบสรุปหน้างบผู้ป่วยใน
Test ID: TC-007-007
Description: ทดสอบการพิมพ์ใบสรุปหน้างบ (กรณีผู้ป่วยใน)
Pre-condition: ผู้ป่วยในพร้อม Discharge
Test Steps:
1. เข้าสู่หน้าสรุปหน้างบผู้ป่วยใน
2. ค้นหาผู้ป่วยใน (AN)
3. สร้างใบสรุปหน้างบ
4. ตรวจสอบข้อมูลสรุป:
- ยอดรวมค่ารักษาทั้งหมด
- แยกตามหมวดค่ารักษา
- ส่วนลดและยกเว้น
- ยอดสุทธิที่ต้องชำระ
5. พิมพ์ใบสรุปหน้างบ
Expected Result:
- ใบสรุปแสดงยอดเงินรวมถูกต้อง
- แยกรายการตามหมวดชัดเจน
- คำนวณส่วนลดและยกเว้นถูกต้อง
- เหมาะสำหรับการ Discharge
Test Case: การพิมพ์ใบรายการค่าใช้จ่ายทั้งหมดผู้ป่วยใน
Test ID: TC-007-008
Description: ทดสอบการพิมพ์ใบรายการค่าใช้จ่ายทั้งหมด (กรณีผู้ป่วยใน)
Pre-condition: ผู้ป่วยในมีประวัติการรักษาครบถ้วน
Test Steps:
1. เข้าสู่หน้ารายละเอียดค่าใช้จ่ายผู้ป่วยใน
2. ค้นหาผู้ป่วยใน (AN)
3. แสดงรายการค่าใช้จ่ายทั้งหมด
4. ตรวจสอบรายละเอียด:
- รายการตามวันที่
- หมวดค่ารักษาแต่ละประเภท
- ยอดเงินแต่ละรายการ
- หน่วยงานที่ให้บริการ
5. พิมพ์รายการค่าใช้จ่ายทั้งหมด
Expected Result:
- แสดงรายการค่าใช้จ่ายครบถ้วน
- เรียงตามวันที่และหมวดค่ารักษา
- ข้อมูลละเอียดและถูกต้อง
- เหมาะสำหรับการตรวจสอบและอ้างอิง
🔗 TG-008: API Integration และการเชื่อมต่อระบบ
Test Case: การเชื่อมต่อกับระบบเวชระเบียน
Test ID: TC-008-001
Description: ทดสอบการเชื่อมต่อกับระบบเวชระเบียน (1.2.1) เพื่อดึงข้อมูลผู้ป่วย
Pre-condition: ระบบเวชระเบียนพร้อมใช้งาน, API เชื่อมต่อได้
Test Steps:
1. ระบบการเงินส่งคำขอข้อมูลผู้ป่วย (HN)
2. ระบบเวชระเบียนส่งข้อมูลผู้ป่วยกลับมา
3. ตรวจสอบข้อมูลที่ได้รับ:
- ข้อมูลส่วนตัวผู้ป่วย
- ข้อมูลการติดต่อ
- ประวัติการรักษา
4. แสดงข้อมูลในหน้าจอการเงิน
Expected Result:
- ดึงข้อมูลผู้ป่วยสำเร็จ
- ข้อมูลถูกต้องและครบถ้วน
- เวลาตอบสนองไม่เกิน 3 วินาที
- ข้อมูลแสดงในรูปแบบที่เหมาะสม
Test Case: ระบบเวชระเบียนไม่ตอบสนอง (Fail Case)
Test ID: TC-008-001-F1
Description: ทดสอบกรณีระบบเวชระเบียนออฟไลน์หรือไม่ตอบสนอง
Test Type: ⚠️ Fail Case
Pre-condition: ระบบเวชระเบียน (1.2.1) ออฟไลน์
Test Steps:
1. พยายามดึงข้อมูลผู้ป่วยจากระบบเวชระเบียน
2. Timeout หลังจาก 5 วินาที
3. ตรวจสอบการแจ้งเตือน
Expected Result:
- แสดง "⚠️ ไม่สามารถเชื่อมต่อระบบเวชระเบียนได้"
- อนุญาตให้กรอกข้อมูลผู้ป่วยด้วยตนเอง (Manual entry)
- เก็บข้อมูลไว้ Sync ภายหลัง
- แจ้งเตือนเจ้าหน้าที่ IT
- บันทึก Connection error log
Test Data: Medical Record System: Offline
Test Case: การเชื่อมต่อกับระบบตรวจสอบสิทธิ
Test ID: TC-008-002
Description: ทดสอบการเชื่อมต่อกับระบบตรวจสอบสิทธิ (1.2.15) เพื่อยืนยันสิทธิการรักษา
Pre-condition: ระบบตรวจสอบสิทธิพร้อมใช้งาน
Test Steps:
1. ระบบการเงินส่งคำขอตรวจสอบสิทธิ
2. ระบบตรวจสอบสิทธิดำเนินการตรวจสอบ
3. รับผลการตรวจสอบกลับมา:
- สถานะสิทธิ
- รายละเอียดสิทธิ
- เงื่อนไขการใช้สิทธิ
4. อัปเดตข้อมูลสิทธิในระบบการเงิน
Expected Result:
- ตรวจสอบสิทธิสำเร็จ
- ข้อมูลสิทธิถูกต้องและเป็นปัจจุบัน
- อัปเดตสถานะสิทธิในระบบ
- แสดงผลการตรวจสอบให้ผู้ใช้เห็น
Test Case: ระบบตรวจสอบสิทธิไม่ตอบสนอง (Fail Case)
Test ID: TC-008-002-F1
Description: ทดสอบกรณีระบบตรวจสอบสิทธิออฟไลน์
Test Type: ⚠️ Fail Case
Pre-condition: ระบบตรวจสอบสิทธิ (1.2.15) ออฟไลน์
Test Steps:
1. พยายามตรวจสอบสิทธิการรักษา
2. ไม่ได้รับการตอบกลับ (Timeout)
3. ตรวจสอบการแจ้งเตือน
Expected Result:
- แสดง "⚠️ ไม่สามารถเชื่อมต่อระบบตรวจสอบสิทธิได้"
- เสนอทางเลือก:
- ใช้ข้อมูลสิทธิที่ Cache ไว้ (ถ้ามี)
- ดำเนินการเป็นสิทธิเงินสดก่อน
- รอระบบกลับมาออนไลน์
- บันทึก Pending verification
- แจ้งเตือนเจ้าหน้าที่
Test Data: Rights Verification System: Offline
Test Case: การรับข้อมูลค่าบริการจากห้องตรวจ
Test ID: TC-008-003
Description: ทดสอบการรับข้อมูลค่าบริการจากระบบห้องตรวจแพทย์ (1.2.3)
Pre-condition: ผู้ป่วยได้รับการตรวจรักษาแล้ว
Test Steps:
1. ระบบห้องตรวจส่งข้อมูลค่าบริการ
2. ระบบการเงินรับข้อมูลผ่าน API
3. ตรวจสอบข้อมูลที่ได้รับ:
- รายการค่าตรวจรักษา
- ค่าใช้จ่ายแต่ละรายการ
- แพทย์ผู้ตรวจรักษา
- วันเวลาที่ให้บริการ
4. บันทึกข้อมูลในระบบการเงิน
Expected Result:
- รับข้อมูลค่าบริการสำเร็จ
- ข้อมูลถูกต้องและครบถ้วน
- บันทึกในระบบการเงินทันที
- พร้อมสำหรับการรับชำระเงิน
Test Case: การเชื่อมต่อกับระบบเภสัชกรรม
Test ID: TC-008-004
Description: ทดสอบการเชื่อมต่อกับระบบเภสัชกรรม (1.2.13) เพื่อรับข้อมูลค่ายา
Pre-condition: มีการสั่งจ่ายยาแล้ว
Test Steps:
1. ระบบเภสัชกรรมส่งข้อมูลค่ายา
2. ระบบการเงินรับข้อมูลผ่าน API
3. ตรวจสอบข้อมูลที่ได้รับ:
- รายการยาที่จ่าย
- ราคายาแต่ละรายการ
- จำนวนที่จ่าย
- เวชภัณฑ์ที่เกี่ยวข้อง
4. คำนวณค่ายารวม
Expected Result:
- รับข้อมูลค่ายาสำเร็จ
- คำนวณราคาถูกต้อง
- แสดงรายการยาในระบบการเงิน
- เชื่อมโยงกับข้อมูลการสั่งจ่าย
Test Case: การส่งข้อมูลไปยังระบบผู้ป่วยใน
Test ID: TC-008-005
Description: ทดสอบการส่งข้อมูลการชำระเงินไปยังระบบผู้ป่วยใน (1.2.17)
Pre-condition: มีการรับชำระเงินผู้ป่วยในแล้ว
Test Steps:
1. ระบบการเงินส่งข้อมูลการชำระเงิน
2. ระบบผู้ป่วยในรับข้อมูลผ่าน API
3. ข้อมูลที่ส่ง:
- สถานะการชำระเงิน
- ยอดเงินที่ชำระแล้ว
- ยอดเงินคงค้าง
- วันเวลาที่ชำระ
4. อัปเดตสถานะในระบบผู้ป่วยใน
Expected Result:
- ส่งข้อมูลสำเร็จ
- ระบบผู้ป่วยในได้รับข้อมูลถูกต้อง
- อัปเดตสถานะการชำระเงิน
- ข้อมูลซิงค์กันระหว่างระบบ
Test Case: การเชื่อมต่อกับระบบห้องฉุกเฉิน
Test ID: TC-008-006
Description: ทดสอบการเชื่อมต่อกับระบบห้องฉุกเฉิน (1.2.4) เพื่อรับชำระค่าบริการฉุกเฉิน
Pre-condition: มีผู้ป่วยฉุกเฉินที่ได้รับการรักษา
Test Steps:
1. ระบบห้องฉุกเฉินส่งข้อมูลค่าบริการ
2. ระบบการเงินรับข้อมูล Emergency charges
3. ตรวจสอบข้อมูลพิเศษ:
- ค่าบริการฉุกเฉิน
- ค่าใช้จ่ายนอกเวลา
- ค่าบริการพิเศษ
4. คำนวณค่าใช้จ่ายรวม
5. รับชำระเงินตามขั้นตอนฉุกเฉิน
Expected Result:
- รับข้อมูลค่าบริการฉุกเฉินสำเร็จ
- คำนวณค่าใช้จ่ายถูกต้อง
- รองรับการรับชำระเงินด่วน
- บันทึกข้อมูลครบถ้วน
Test Case: การจัดการ API Error และ Retry
Test ID: TC-008-007
Description: ทดสอบการจัดการข้อผิดพลาดและการลองใหม่เมื่อ API ล้มเหลว
Pre-condition: ระบบมีการตั้งค่า Error handling
Test Steps:
1. จำลองสถานการณ์ API ไม่ตอบสนอง
2. ระบบแสดงข้อความแจ้งเตือน
3. ระบบพยายามเชื่อมต่อใหม่อัตโนมัติ
4. จำลองสถานการณ์ข้อมูลผิดพลาด
5. ระบบตรวจสอบและแจ้งเตือน
6. ทดสอบการทำงานแบบ Offline mode
Expected Result:
- แสดงข้อความแจ้งเตือนที่เหมาะสม
- ระบบลองเชื่อมต่อใหม่อัตโนมัติ
- สามารถทำงานแบบ Offline ได้บางส่วน
- บันทึก Error log สำหรับการแก้ไข
📊 สรุปการทดสอบ
จำนวน Test Cases ทั้งหมด
- TG-001: การจัดการข้อมูลสิทธิการรักษาพยาบาล - 5 Test Cases
- TG-002: การยกเว้นหรืออนุมัติลดหย่อนค่ารักษาพยาบาล - 4 Test Cases
- TG-003: การรับชำระเงิน - 21 Test Cases (14 Normal + 7 Error/Fail)
- TG-004: การค้างชำระค่ารักษาพยาบาล - 3 Test Cases
- TG-005: การยกเลิกการรับชำระเงิน - 7 Test Cases (4 Normal + 3 Error)
- TG-006: การปิดรอบการเงิน - 7 Test Cases (5 Normal + 2 Error)
- TG-007: การพิมพ์เอกสารทางการเงิน - 8 Test Cases
- TG-008: API Integration และการเชื่อมต่อระบบ - 9 Test Cases (7 Normal + 2 Fail)
รวมทั้งสิ้น: 64 Test Cases (50 Normal + 14 Error/Fail)
ความครอบคลุมตาม TOR
✅ ครอบคลุมทุกข้อใน TOR ระบบการเงิน (1.2.14.1 - 1.2.14.7)
✅ สอดคล้องกับ SRS, DFD, และ ERD
✅ รองรับการเชื่อมต่อกับระบบอื่นใน HIS
✅ ครอบคลุมการทดสอบ Performance และ Security
หมายเหตุสำคัญ
- ควรทดสอบ Performance ภายใต้ Load จริง
- ต้องทดสอบ Security และ Data Privacy
- ควรทดสอบ Disaster Recovery และ Backup
- ต้องมีการทดสอบ User Acceptance Test (UAT) จากผู้ใช้จริง
เอกสารนี้จัดทำขึ้นเพื่อใช้ในการทดสอบระบบการเงิน (Financial Management System) สำหรับโรงพยาบาลค่ายธนรัชน์ และต้องได้รับการอนุมัติจากผู้มีอำนาจก่อนนำไปใช้ในการทดสอบระบบ