Files
lcbp3/specs/01-requirements/01-07-testing.md
admin 83704377f4
Some checks are pending
Spec Validation / validate-markdown (push) Waiting to run
Spec Validation / validate-diagrams (push) Waiting to run
Spec Validation / check-todos (push) Waiting to run
251218:1701 On going update to 1.7.0: Documnet Number rebuild
2025-12-18 17:01:42 +07:00

2.6 KiB

Section 7: Testing Requirements (ข้อกำหนดด้านการทดสอบ)


title: 'Testing Requirements' version: 1.5.0 status: first-draft owner: Nattanin Peancharoen last_updated: 2025-11-30 related:

  • specs/02-architecture/data-model.md#correspondence
  • specs/03-implementation/backend-guidelines.md#correspondencemodule

7.1 Unit Testing

  • ต้องมี unit tests สำหรับ business logic ทั้งหมด
  • Code coverage อย่างน้อย 70% สำหรับ backend services
    • Business Logic: 80%+
    • Controllers: 70%+
    • Utilities: 90%+
  • ต้องทดสอบ RBAC permission logic ทุกระดับ

7.2 Integration Testing

  • ทดสอบการทำงานร่วมกันของ modules
  • ทดสอบ database migrations และ data integrity
  • ทดสอบ API endpoints ด้วย realistic data

7.3 End-to-End Testing

  • ทดสอบ complete user workflows
  • ทดสอบ document lifecycle จาก creation ถึง archival
  • ทดสอบ cross-module integrations

7.4 Security Testing

  • Penetration Testing: ทดสอบ OWASP Top 10 vulnerabilities
  • Security Audit: Review code สำหรับ security flaws
  • Virus Scanning Test: ทดสอบ file upload security
  • Rate Limiting Test: ทดสอบ rate limiting functionality

7.5. Performance Testing

  • Penetration Testing: ทดสอบ OWASP Top 10 vulnerabilities
  • Security Audit: Review code สำหรับ security flaws
  • Virus Scanning Test: ทดสอบ file upload security
    • Rate Limiting Test: ทดสอบ rate limiting functionality
    • Load Testing: ทดสอบด้วย realistic workloads
    • Stress Testing: หา breaking points ของระบบ
    • Endurance Testing: ทดสอบการทำงานต่อเนื่องเป็นเวลานาน

7.6. Disaster Recovery Testing

  • ทดสอบ backup และ restoration procedures
  • ทดสอบ failover mechanisms
  • ทดสอบ data integrity หลังการ recovery

7.7 Specific Scenario Testing (เพิ่ม)

  • Race Condition Test: ทดสอบยิง Request ขอเลขที่เอกสารพร้อมกัน 100 Request
    • Transaction Test: ทดสอบปิดเน็ตระหว่าง Upload ไฟล์ (ตรวจสอบว่าไม่มี Orphan File หรือ Broken Link)
    • Permission Test: ทดสอบ CASL Integration ทั้งฝั่ง Backend และ Frontend ให้ตรงกัน