Bài Tập 3: Tư Duy Về Framework 4 Giai Đoạn¶
⏱️ Thời gian: ~25 phút
🎯 Mục tiêu: Hiểu sâu lý do thiết kế framework — không chỉ học thuộc lòng
Câu 1: Tại Sao Tách "Tạo Code" và "Chạy Regression" Thành 2 Giai Đoạn?¶
💡 Gợi ý để suy nghĩ: - Khi AI "đọc yêu cầu và sinh code" → AI phải "nghĩ" → tốn token (tiền). - Khi "chạy code đã có sẵn" → máy tính đọc file và thực thi → không tốn token. - Vậy nếu bạn phải chạy regression 10 lần/ngày, điều gì xảy ra nếu AI tham gia vào lần chạy nào?
Trả lời của bạn:
[Viết câu trả lời ở đây — 2-3 câu là đủ]
Gợi ý đáp án (mở ra sau khi đã trả lời):
👉 Xem gợi ý đáp án
Nếu AI tham gia vào mỗi lần chạy regression: - Mỗi lần chạy = tốn token = tốn tiền - Với 10 lần/ngày × 30 ngày = 300 lần AI phải "nghĩ lại" điều tương tự Bằng cách tách ra: AI chỉ cần tạo code 1 lần (Giai đoạn 2), sau đó code đó có thể chạy đi chạy lại **vô hạn lần miễn phí** (Giai đoạn 4). Đây là tư duy tối ưu chi phí AI rất quan trọng trong thực tế.Câu 2: Vai Trò QC Manual Thay Đổi Như Thế Nào?¶
So sánh đầy đủ:
| Hoạt động | QC truyền thống | QC với AI IDE |
|---|---|---|
| Viết test case | Bằng tay, từng bước | Mô tả bằng ngôn ngữ tự nhiên (Prompt) |
| Chạy test | Click thủ công | Lệnh Terminal chạy tự động |
| Báo cáo kết quả | Bằng tay, dễ sai sót | HTML Report, Video, Screenshot tự động |
| Khi có lỗi | Phán đoán và fix tay | Phân tích report → quyết định AI sửa hay báo bug |
| Kỹ năng chính | Chú ý, kiên nhẫn | Tư duy, khả năng mô tả rõ ràng, đọc hiểu |
Câu hỏi suy nghĩ:
- Kỹ năng nào của QC Manual vẫn cần thiết dù có AI hỗ trợ?
[Trả lời ở đây]
- Kỹ năng nào bạn cần học thêm để làm việc tốt với AI?
[Trả lời ở đây]
Câu 3: Khi Test Gãy — Bạn Xử Lý Theo Flow Nào?¶
Nhìn vào flowchart sau và trả lời câu hỏi phía dưới:
Test fail (❌)
│
▼
Kiểm tra error message + screenshot trong Report
│
├── Selector không tìm thấy element?
│ → Có thể UI đã thay đổi
│ → Chạy lại Giai đoạn 2: Nhờ AI sinh code mới
│
├── Logic sai (sai URL, sai dữ liệu test)?
│ → Test case viết sai
│ → Sửa Prompt và nhờ AI sinh lại
│
└── Element có, logic đúng, nhưng kết quả sai?
→ Đây là bug thật
→ Tạo bug report cho Dev
Câu hỏi:
- Làm sao phân biệt "UI thay đổi" và "bug thật"? Mô tả bằng lời của bạn.
[Trả lời ở đây]
- Bạn có thêm nhánh xử lý nào vào flowchart trên không?
[Gợi ý: Nghĩ về trường hợp website đang bảo trì, hoặc mạng chậm]
[Trả lời ở đây]
Câu 4 (Bonus): Thiết Kế Lại Một Flow¶
Hãy tưởng tượng bạn là người thiết kế framework này. Bạn sẽ thêm Giai đoạn 5 vào sau Giai đoạn 4 không? Nếu có, Giai đoạn 5 đó sẽ là gì?
[Viết ý tưởng — không có đáp án đúng sai, đây là câu hỏi tư duy mở]
Kết Quả Mong Đợi Khi Hoàn Thành¶
- [ ] Đã trả lời Câu 1 bằng lời của mình (không nhìn đáp án trước)
- [ ] Đã điền ít nhất 2 ô còn trống trong bảng so sánh Câu 2
- [ ] Đã trả lời được Câu 3 (phân biệt UI thay đổi vs bug thật)
- [ ] (Bonus) Đã nghĩ về Câu 4
Thảo Luận Nhóm¶
Sau khi hoàn thành, trao đổi với đồng nghiệp hoặc mentor:
- Câu 3 ai có cách phân biệt hay nhất?
- Câu 4 ai nghĩ ra Giai đoạn 5 thú vị nhất?