9.0 KiB
TEST CASE MATRIX - ONE MD PACKET V8
📋 Quick Reference
| ID | Test Case | Priority | Status | Tester | Date | Notes |
|---|---|---|---|---|---|---|
| A. SEARCH & FILTER | ||||||
| A1 | Pencarian Paket | P1 | ⬜ | |||
| A2 | Filter Perusahaan | P1 | ⬜ | |||
| A3 | Filter MOU | P1 | ⬜ | |||
| B. CRUD PAKET | ||||||
| B1 | Create Paket Profile | P0 | ⬜ | |||
| B2 | Create Paket Panel | P0 | ⬜ | |||
| B3 | Update Paket | P0 | ⬜ | |||
| B4 | Delete Paket | P0 | ⬜ | |||
| B5 | Button Disabled (Released MOU) | P1 | ⬜ | |||
| C. DETAIL PAKET | ||||||
| C1 | View Detail | P1 | ⬜ | |||
| C2 | Add Item (Profile) | P0 | ⬜ | |||
| C3 | Add Item (Panel Unlocked) | P0 | ⬜ | |||
| C4 | Add Item (Panel Locked) | P0 | ⬜ | |||
| C5 | Edit Harga Paket Manual | P0 | ⬜ | |||
| C6 | Edit Diskon Detail | P0 | ⬜ | |||
| C7 | Remove Item | P0 | ⬜ | |||
| C8 | Validasi Duplikasi | P1 | ⬜ | |||
| C9 | Batal Edit | P1 | ⬜ | |||
| C10 | Simpan Paket | P0 | ⬜ | |||
| C11 | Kembali After Save | P1 | ⬜ | |||
| D. IMPORT | ||||||
| D1 | Import Paket | P2 | ⬜ | |||
| D2 | Import Validation | P2 | ⬜ | |||
| E. EDGE CASES | ||||||
| E1 | Validasi Harga > Total | P1 | ⬜ | |||
| E2 | Paket Kosong | P2 | ⬜ | |||
| E3 | Loading State | P2 | ⬜ | |||
| E4 | Clear All Discounts | P2 | ⬜ | |||
| E5 | Add After Save | P1 | ⬜ | |||
| F. WORKFLOW | ||||||
| F1 | Workflow Profile | P0 | ⬜ | |||
| F2 | Workflow Panel Custom | P0 | ⬜ | |||
| F3 | Workflow Edit Diskon | P0 | ⬜ | |||
| G. COMPATIBILITY | ||||||
| G1 | Multi Browser | P1 | ⬜ | |||
| G2 | Responsive | P2 | ⬜ | |||
| H. PERFORMANCE | ||||||
| H1 | Large Data | P2 | ⬜ | |||
| H2 | Search Performance | P2 | ⬜ |
Legend:
- ⬜ Not Tested
- ✅ Pass
- ❌ Fail
- ⚠️ Partial/Warning
- 🔄 In Progress
Priority:
- P0: Critical (Must pass before release)
- P1: High (Important features)
- P2: Medium (Nice to have)
- P3: Low (Enhancement)
🎯 FOKUS TESTING PER FASE
Phase 1: Basic Functionality (P0)
Goal: Pastikan CRUD dasar berfungsi
✅ Test Cases:
- B1: Create Paket Profile
- B2: Create Paket Panel
- B3: Update Paket
- B4: Delete Paket
- C2: Add Item (Profile)
- C3: Add Item (Panel Unlocked)
- C5: Edit Harga Paket
- C6: Edit Diskon Detail
- C7: Remove Item
- C10: Simpan Paket
- F1: Workflow Profile Complete
- F2: Workflow Panel Custom
Duration: 2-3 jam
Expected Pass Rate: 100%
Phase 2: Advanced Features (P1)
Goal: Test fitur lanjutan dan state management
✅ Test Cases:
- C4: Add Item (Panel Locked)
- C8: Validasi Duplikasi
- C9: Batal Edit
- C11: Kembali After Save
- E1: Validasi Harga
- E5: Add After Save
- A1-A3: Search & Filter
- B5: Button States
Duration: 2-3 jam
Expected Pass Rate: ≥ 95%
Phase 3: Integration & Edge Cases (P2)
Goal: Test edge cases dan integration
✅ Test Cases:
- D1-D2: Import features
- E2-E4: Edge cases
- F3: Workflow complex
- G1-G2: Compatibility
- H1-H2: Performance
Duration: 2-3 jam
Expected Pass Rate: ≥ 90%
📊 TEST COVERAGE TARGET
| Category | Target Coverage | Actual | Status |
|---|---|---|---|
| CRUD Operations | 100% | % | |
| Validation Rules | 100% | % | |
| Business Logic | 95% | % | |
| UI/UX | 90% | % | |
| Edge Cases | 85% | % | |
| Performance | 80% | % |
🔑 KEY SCENARIOS - MUST PASS
⭐ Scenario 1: Create & Save Profile Packet
Steps: B1 → C2 (add 5 items) → C10 → C11
Critical Points:
- Harga Paket = Total Harga (auto)
- No manual price edit
- Items saved correctly
Status: ⬜
⭐ Scenario 2: Create Panel with Custom Price
Steps: B2 → C3 (add items) → C5 (edit price) → C10
Critical Points:
- Pro-rata distribution correct
- Price locked after edit
- Discounts saved properly
Status: ⬜
⭐ Scenario 3: Edit Detail Discounts
Steps: Select packet → C6 (edit discounts) → C10
Critical Points:
- Disc % and Disc Rp both work
- Price calculation correct
- Total updates properly
Status: ⬜
⭐ Scenario 4: Add Items to Locked Packet
Steps: Select saved packet → C4 (add items)
Critical Points:
- Price stays locked
- Total updates, packet price doesn't
- Lock indicator visible
Status: ⬜
⭐ Scenario 5: Cancel Changes
Steps: Edit packet → Make changes → C9
Critical Points:
- Confirmation dialog shows
- Changes reverted
- Data reloaded from DB
Status: ⬜
🧮 CALCULATION VERIFICATION
Test 1: Pro-rata Distribution
Given:
Item A: Rp 200.000
Item B: Rp 150.000
Item C: Rp 150.000
Total: Rp 500.000
When: Set Harga Paket = Rp 400.000
Then:
Total Disc = Rp 100.000
Item A Disc = (200k/500k) × 100k = Rp 40.000
Item A Final = 200k - 40k = Rp 160.000 ✅
Item B Disc = (150k/500k) × 100k = Rp 30.000
Item B Final = 150k - 30k = Rp 120.000 ✅
Item C Disc = (150k/500k) × 100k = Rp 30.000
Item C Final = 150k - 30k = Rp 120.000 ✅
Verify: 160k + 120k + 120k = Rp 400.000 ✅
Status: ⬜ | Result: _____
Test 2: Detail Discount Calculation
Given:
Bruto: Rp 100.000
Disc %: 10
Disc Rp: Rp 5.000
Then:
After % = 100k - (100k × 10%) = Rp 90.000
Final = 90k - 5k = Rp 85.000 ✅
Status: ⬜ | Result: _____
Test 3: Multiple Items Total
Given:
Item 1: Rp 50.000 (Disc 5%, Disc Rp 2k) = 45.5k
Item 2: Rp 75.000 (Disc 10%, Disc Rp 0) = 67.5k
Item 3: Rp 100.000 (Disc 0%, Disc Rp 10k) = 90k
Then:
Total = 45.5k + 67.5k + 90k = Rp 203.000 ✅
Status: ⬜ | Result: _____
🎨 UI/UX CHECKLIST
Visual Elements
- Selected packet has amber background
- Locked price shows orange chip with lock icon
- Profile type shows blue chip with info icon
- Success alert is green with check icon
- Loading bar appears during operations
- Edit/Save icons change appropriately
- Disabled buttons are gray
- Required fields marked clearly
User Feedback
- Confirmation dialog for delete
- Alert when price > total
- Alert when duplicate item
- Success message after save
- Info tooltip on locked price
- Hint text for profile type
- Loading indicators visible
Interaction
- Click anywhere on row to select
- Buttons respond to hover
- Input fields accept keyboard input
- Enter key triggers search
- Modal dialogs can be closed
- Tooltips appear on hover
🐛 COMMON ISSUES CHECKLIST
Known Issues to Watch
- Price not updating after add/remove item
- Lock state not persisting
- Discounts not calculating correctly
- Pro-rata rounding errors
- Items not appearing in search
- Dialog not closing after save
- Data not refreshing after save
- Console errors during operations
Regression Tests
- Profile price always = total
- Panel locked price stays fixed
- Duplicate items blocked
- MOU released disables buttons
- Cancel reverts all changes
- Save persists to database
- Refresh loads correct data
📝 TESTING LOG TEMPLATE
Test Session
Date: ___________
Tester: ___________
Environment: ___________
Build/Version: ___________
Test Summary
| Metric | Value |
|---|---|
| Total Test Cases | 33 |
| Executed | |
| Passed | |
| Failed | |
| Blocked | |
| Pass Rate | % |
Failed Test Cases
| ID | Test Case | Reason | Severity | Assigned To |
|---|---|---|---|---|
Blockers
Notes
Sign-off
Tester: ___________
Date: ___________
Status: PASS / FAIL / CONDITIONAL
🚀 QUICK START GUIDE
Untuk Tester Baru
Step 1: Setup
- Buka aplikasi di browser
- Login dengan user test
- Pastikan ada data test (perusahaan, MOU, tests)
Step 2: Familiarisasi (15 menit)
- Baca section "Deskripsi Modul" di TESTING_GUIDE.md
- Pahami 2 tipe paket: Profile vs Panel
- Pahami konsep locked/unlocked price
Step 3: Start Testing
- Mulai dari Phase 1 (Basic Functionality)
- Ikuti test case B1 (Create Profile)
- Ikuti test case B2 (Create Panel)
- Lanjut ke test case berikutnya
Step 4: Report Issues
- Gunakan bug template di TESTING_GUIDE.md
- Screenshot/screen record jika perlu
- Include console error
- Report ke developer
Expected Time
- Setup: 15 menit
- Familiarisasi: 15 menit
- Phase 1: 2-3 jam
- Phase 2: 2-3 jam
- Phase 3: 2-3 jam
- Total: ~7-9 jam (1-2 hari kerja)
📚 REFERENCES
- Main Guide: TESTING_GUIDE.md
- Code Files:
components/oneMdPacketList.vue- Main packet listcomponents/oneMdPacketPxList.vue- Packet detailscomponents/oneMdPacketTestList.vue- Test selectioncomponents/oneMdPacketNew.vue- Create/edit dialogstore.js- State managementmodules/packet.js- Packet module
Document Version: 1.0
Last Updated: 2026-01-22
Module: One MD Packet V8