# เสนอโครงงาน 4 ตัวเลือก สำหรับนิสิต 4 คน (ระยะ 3 สัปดาห์)

เป้าหมาย: บรรลุวัตถุประสงค์รายวิชาทั้ง 7 ข้อ พร้อมประยุกต์เทคนิกการทดสอบที่เรียนมา

---

## ตัวเลือกที่ 1: Complete Testing Audit - ทำการประเมินทดสอบ Library System อย่างครบวิสัย

### วัตถุประสงค์ที่บรรลุ:

- วัตถุประสงค์ 1, 2, 3, 4, 5, 6, 7 (ทั้งหมด)

### เนื้อหาที่ใช้:

- สัปดาห์ที่ 1: Introduction and Bug Exploration
- สัปดาห์ที่ 2: Quality Metrics (ISO 25010)
- สัปดาห์ที่ 3: Test Planning and Exploratory Testing
- สัปดาห์ที่ 4-5: Black Box Testing (Equivalence Partitioning, Boundary Value Analysis, Decision Table)
- สัปดาห์ที่ 6: Static Testing (Code Review)
- สัปดาห์ที่ 7: Unit Testing (Jest)
- สัปดาห์ที่ 9: Integration Testing (API)
- สัปดาห์ที่ 10: End-to-End Testing (Playwright)
- สัปดาห์ที่ 11: Test Automation
- สัปดาห์ที่ 12: Security Testing (SQL Injection, XSS)

### ขอบเขต:

โครงงานทำการตรวจสอบ Library Management System อย่างเต็มรูป ครอบคลุมทุกลำดับของการทดสอบ

### บทบาทการแบ่งงาน:

1. Test Lead and Planning - เขียน Test Plan และ Risk Assessment
2. Black Box Tester - ออกแบบและปฏิบัติการ Test Cases
3. White Box and Automation Tester - Unit Tests, Integration Tests, End-to-End Tests
4. Security and QA Analyst - Security Testing และการวิเคราะห์เมตริกส์

### ผลผลิต:

1. Test Plan (5-7 หน้า)
2. Test Cases (60 cases ขึ้นไป)
3. Bug Reports (15-25 bugs พร้อมการจำแนกตามความรุนแรง)
4. Code Review Report (จากการใช้ ESLint)
5. Unit Tests (15-20 Jest tests)
6. Integration and End-to-End Tests (10-15 Playwright tests)
7. Security Testing Report (SQL Injection, XSS, Authentication)
8. Quality Metrics and Analysis:
   - Defect Density
   - Test Coverage
   - DRE (Defect Removal Efficiency)
9. Final Report (15-20 หน้า ประกอบด้วยผลผลิตทั้งหมด)
10. GitHub Repository พร้อม Issues and Version Control

### ตารางการปฏิบัติงาน (3 สัปดาห์):

- สัปดาห์ที่ 1: Test Planning, Black Box Test Cases, Code Review
- สัปดาห์ที่ 2: Execute Tests, Bug Reporting, Unit Tests
- สัปดาห์ที่ 3: End-to-End Tests, Security Testing, Metrics Analysis, Report

### ข้อดี:

- ครอบคลุมเนื้อหาจำนวนมากที่สุด
- บรรลุวัตถุประสงค์ทั้ง 7 ข้อ
- การนำเสนอทำได้อย่างมั่นใจ

### ความยาก:

- มากมายที่สุด (อาจต้องทำงานหนัก)
- ต้องจัดการข้อมูลหลากหลาย

---

## ตัวเลือกที่ 2: API and Integration Testing Focus - ทดสอบ Backend API อย่างถูกต้อง

### วัตถุประสงค์ที่บรรลุ:

- วัตถุประสงค์ 1, 2, 4, 5, 6, 7

### เนื้อหาที่ใช้:

- สัปดาห์ที่ 1: Testing Basics
- สัปดาห์ที่ 2: Quality Metrics
- สัปดาห์ที่ 4: Test Case Design
- สัปดาห์ที่ 7: Unit Testing (Jest)
- สัปดาห์ที่ 9: Integration Testing (supertest, JSON Schema)
- สัปดาห์ที่ 10: End-to-End Testing (พื้นฐาน)
- สัปดาห์ที่ 12: Security Testing (API Security)

### ขอบเขต:

เน้นการทดสอบ API Endpoints ของ Library System อย่างละเอียด ด้วยเทคนิก Integration Testing

### บทบาทการแบ่งงาน:

1. Test Lead and Planning - Test Plan และการตรวจทบ API Documentation
2. API Test Designer - ออกแบบ Test Cases สำหรับ API
3. Integration Tester - ปฏิบัติการ Integration Tests และ Contract Testing
4. Security Tester - API Security Testing

### ผลผลิต:

1. API Test Plan
2. API Test Cases (40 cases ขึ้นไป สำหรับทั้งหมด endpoints)
3. Unit Tests (Jest - 15-20 tests)
4. Integration Tests (20-30 supertest tests)
5. Contract Tests (JSON Schema validation)
6. Security Testing Report (API-specific vulnerabilities)
7. Bug Reports (10-15 bugs)
8. Metrics and Analysis:
   - API Coverage
   - Response Time Analysis
   - Error Rate Analysis
9. API Documentation Review Report
10. GitHub Repository พร้อม CI/CD Pipeline

### ตารางการปฏิบัติงาน (3 สัปดาห์):

- สัปดาห์ที่ 1: API Audit, Test Case Design
- สัปดาห์ที่ 2: Unit Tests, Integration Tests
- สัปดาห์ที่ 3: Security Testing, Contract Testing, Report

### ข้อดี:

- เจาะลึกและมุ่งเน้น (Focused and Deep)
- เกี่ยวข้องกับ Backend ที่สำคัญ
- เหมาะสำหรับการทำให้อัตโนมัติ

### ความยาก:

- ปานกลาง (ต้องเข้าใจ HTTP and REST)

---

## ตัวเลือกที่ 3: User Experience and End-to-End Testing - ทดสอบ UI/UX อย่างองค์รวม

### วัตถุประสงค์ที่บรรลุ:

- วัตถุประสงค์ 1, 2, 3, 4, 5, 7

### เนื้อหาที่ใช้:

- สัปดาห์ที่ 1: Testing Basics and Bug Exploration
- สัปดาห์ที่ 2: Quality Metrics (Focus on Usability)
- สัปดาห์ที่ 3: Test Planning and Exploratory Testing
- สัปดาห์ที่ 4-5: Black Box Testing
- สัปดาห์ที่ 10: End-to-End Testing (Playwright) - เนื้อหาหลัก
- สัปดาห์ที่ 11: Test Automation Framework
- สัปดาห์ที่ 13: Visual Regression Testing

### ขอบเขต:

ทดสอบ UI/UX ของ Library System ด้วย Playwright End-to-End Tests พร้อมการทดสอบข้ามเบราว์เซอร์

### บทบาทการแบ่งงาน:

1. Test Lead - Test Plan และการแม่ปเส้นทางผู้ใช้
2. Black Box Tester - Manual End-to-End Testing and Bug Exploration
3. Automation Engineer - Playwright Test Automation (30 tests ขึ้นไป)
4. QA Analyst - Visual Regression and Cross-browser Testing

### ผลผลิต:

1. Test Plan (User Journey Focused)
2. Test Cases (40 End-to-End scenarios ขึ้นไป)
3. Playwright Automation Tests (30-40 tests)
4. Cross-browser Testing Report (Chrome, Firefox, Safari)
5. Visual Regression Tests (Screenshot comparison)
6. Exploratory Testing Report
7. Bug Reports (20-30 bugs, grouped by feature)
8. Usability Metrics:
   - Functionality Coverage
   - Critical Path Testing
   - Error Recovery Testing
9. Test Automation Framework Guide
10. GitHub Repository พร้อม Playwright fixtures

### ตารางการปฏิบัติงาน (3 สัปดาห์):

- สัปดาห์ที่ 1: User Journey, Test Cases, Manual Testing
- สัปดาห์ที่ 2: Playwright Automation (50%)
- สัปดาห์ที่ 3: Playwright Completion, Visual Tests, Report

### ข้อดี:

- ใกล้เคียงกับ Real-world Testing
- ทำให้เห็น UI issues ได้ชัดเจน
- การนำเสนอ Presentation ประหนึ่งดูตัวแบบ

### ความยาก:

- ปานกลาง (Playwright ต้องเรียนรู้ Page Object Model)

---

## ตัวเลือกที่ 4: Security and Code Quality Focus - ตรวจสอบความปลอดภัยและคุณภาพโค้ด

### วัตถุประสงค์ที่บรรลุ:

- วัตถุประสงค์ 1, 2, 3, 4, 6, 7

### เนื้อหาที่ใช้:

- สัปดาห์ที่ 1: Testing Basics
- สัปดาห์ที่ 2: Quality Metrics
- สัปดาห์ที่ 6: Static Testing (Code Review) - เนื้อหาหลัก
- สัปดาห์ที่ 7: Unit Testing (Code Coverage)
- สัปดาห์ที่ 12: Security Testing (OWASP Top 10) - เนื้อหาหลัก

### ขอบเขต:

ตรวจสอบความปลอดภัย (Security) และคุณภาพโค้ด (Code Quality) ของ Library System

### บทบาทการแบ่งงาน:

1. Security Test Lead - Security Test Plan and OWASP Mapping
2. Code Reviewer - Static Analysis and Code Review (ESLint, Prettier)
3. Security Tester - Manual Security Testing (SQL Injection, XSS, Authentication)
4. Code Coverage Analyst - Unit Tests and Coverage Report

### ผลผลิต:

1. Security Test Plan
2. Code Review Checklist and Report
3. ESLint and Prettier Analysis Report
4. Unit Tests (20-25 Jest tests with high coverage)
5. Code Coverage Report (Line, Branch, Path Coverage)
6. Security Testing Report:
   - SQL Injection Testing (ทั้ง 4 methods)
   - XSS Testing
   - Authentication and Session Security
   - CSRF Testing
   - Input Validation Testing
7. Vulnerability Assessment Report (CVSS Scoring)
8. Security Metrics:
   - Code Quality Score
   - Test Coverage Percentage
   - Vulnerability Density
   - Security Issues by Category
9. Recommendations for Improvement
10. GitHub Repository พร้อม Security Best Practices

### ตารางการปฏิบัติงาน (3 สัปดาห์):

- สัปดาห์ที่ 1: Code Review, Static Analysis, Security Test Plan
- สัปดาห์ที่ 2: Unit Tests, Code Coverage
- สัปดาห์ที่ 3: Security Testing, Vulnerability Assessment, Report

### ข้อดี:

- สำคัญมากในการปฏิบัติงานจริง (Security > Everything)
- ความรู้นี้มีค่ามากในตลาดงาน
- หากติดเจอปัญหา สามารถแก้ไขได้ชัดเจน

### ความยาก:

- ปานกลาง (Security Testing เข้าใจง่ายว่า payloads)

---

## ตารางเปรียบเทียบ

| ตัวเลือก                 | ความครอบคลุม     | ความยาก | เวลา    | นำเสนอ    | แนะนำสำหรับ             |
| ------------------------ | ---------------- | ------- | ------- | --------- | ----------------------- |
| ตัวเลือกที่ 1 (Complete) | ทั้งหมด          | ยากมาก  | เหมาะสม | ยอดเยี่ยม | ต้องการแสดงทักษะทั้งหมด |
| ตัวเลือกที่ 2 (API)      | API focused      | ปานกลาง | เหมาะสม | ดี        | Backend/API Testers     |
| ตัวเลือกที่ 3 (E2E)      | UI focused       | ปานกลาง | เหมาะสม | ยอดเยี่ยม | UI/UX Testers           |
| ตัวเลือกที่ 4 (Security) | Security focused | ปานกลาง | เหมาะสม | ดี        | Security Focused        |

---

## วิธีการเลือก

เลือกตัวเลือกที่ 1 ถ้า:

- กลุ่มมีพลังงานสูง
- ต้องการแสดงทักษะเต็มขั้น
- ต้องการเกรด A

เลือกตัวเลือกที่ 2 ถ้า:

- กลุ่มสนใจ Backend/API Testing
- ต้องการเข้าใจเชิงลึกด้านหนึ่ง
- ชอบการทำให้อัตโนมัติ

เลือกตัวเลือกที่ 3 ถ้า:

- กลุ่มสนใจ UI/UX Testing
- ต้องการให้การนำเสนอดูชัดเจน (มีตัวแบบ)
- ชอบ Playwright

เลือกตัวเลือกที่ 4 ถ้า:

- กลุ่มสนใจ Security and Code Quality
- ต้องการความรู้ที่มีค่าจริง
- ต้องการสร้าง Secure Code Culture

---

## อื่นๆ

ทั้ง 4 ตัวเลือก ต้องมี:

- GitHub Repository ที่มีการจัดการ Version Control ที่ดี
- GitHub Issues เพื่อติดตาม Bugs
- Test Reports ที่มีความเป็นระเบียบ
- Presentation ที่ชัดเจน (10 นาที)
- Final Report ที่มีความหมาย

---

## ควรสอบถามเพิ่มเติม

1. จำนวนนิสิต: 4 คน ใช่ไหม
2. ความชอบ: กลุ่มสนใจเรื่องไหนมากที่สุด
3. ประสบการณ์: มีประสบการณ์ Playwright หรือ Jest หรือไม่
4. เป้าหมายเกรด: ต้องการเกรด A, B+, หรือ B

---
