3.4 KiB
3.4 KiB
Kế hoạch Triển khai Test Suite Toàn Diện (V3)
Dựa vào việc phân tích kiến trúc Controller và logic của hệ thống (Frontend và Backend), dưới đây là kế hoạch bổ sung các kịch bản kiểm thử nhằm đạt được độ bao phủ (coverage) cao nhất cho hệ thống quay số.
Mục tiêu
Đảm bảo mọi API Endpoint, Middleware và các luồng xử lý ngoại lệ (Exception cases) đều được cover. Tránh tình trạng hệ thống văng lỗi 500 khi người dùng gửi request không hợp lệ.
Chi tiết các Kịch bản Bổ sung (V3)
1. Frontend Security & APIs (Test Frontend)
- TC_F15: Xác minh Đăng xuất (Logout)
- Đăng nhập thành công, nhấn "Đăng xuất".
- Xác nhận session bị xóa và người dùng không thể truy cập lại trang cập nhật thông tin.
- TC_F16: API Security - Gọi trực tiếp
/updateprizeuser- Gửi POST request bằng Playwright API context thẳng tới
/updateprizeuserkhi chưa đăng nhập. - Kiểm tra xem Server có crash do
Auth::user()null hay không (dự kiến sẽ trả về lỗi HTTP 500 do code hiện tại không check Auth ở route này, hoặc Laravel tự throw error). Kịch bản này nhằm phát hiện lỗ hổng logic.
- Gửi POST request bằng Playwright API context thẳng tới
- TC_F17: API Check Spined (
/checkspined)- Gọi request lấy trạng thái quay của user (đã quay hay chưa).
- Test cả khi có Auth và khi không có Auth để đảm bảo nhận được đúng JSON (bắt lỗi "Chưa đăng nhập").
2. Backend Admin Panel (Test Backend)
- TC_B13: Quản lý Người chơi - Thêm mới User
- Đăng nhập Admin -> Mục "Người dùng" -> "Thêm mới".
- Điền đầy đủ form tạo User mới (cấp quyền admin_account).
- Xác nhận lưu thành công.
- TC_B14: Quản lý Người chơi - Cập nhật User
- Sửa thông tin một User có sẵn (cập nhật trạng thái hoặc reset mật khẩu).
- Xác nhận lưu thành công.
- TC_B15: Cấu hình Hệ thống - Đổi Logo/Banner
- Upload file hình ảnh (logo.png) vào cấu hình thay vì chỉ dùng text (như
game_rule). - Kiểm tra hệ thống chấp nhận file và load preview.
- Upload file hình ảnh (logo.png) vào cấu hình thay vì chỉ dùng text (như
- TC_B16: Chức năng Reset Lượt Quay (Clear Spined)
- Nút "Thao tác" (reset lượt quay) trong danh sách người trúng giải.
- Mô phỏng quá trình Admin gọi hàm
update_spined(user_id)qua AJAX, kiểm tra responsesuccess.
- TC_B17: Đăng xuất Admin và Quyền (Middleware)
- Nhấn Đăng xuất ở Admin Panel -> Bị đẩy về
wp-admin(theo code). - Thử dùng tài khoản User bình thường truy cập
/admin/account-> Xác minh MiddlewareUserRolechặn và đẩy ra ngoài.
- Nhấn Đăng xuất ở Admin Panel -> Bị đẩy về
User Review Required
Important
- Ở TC_F16, route
/updateprizeuserhiện tại trong codeIndexControllergọi trực tiếpAuth::user()->idmà không có lớp bảo vệ (Middleware) hayAuth::check(). Nếu request này được gửi từ khách vãng lai, hệ thống sẽ gặp lỗi 500 Server Error. Bạn có muốn tôi viết test để mô phỏng lỗi này nhằm ghi nhận bug, hay bạn muốn tôi sửa luôn code Laravel bảo mật route này trước rồi mới test?
Xin bạn xem qua các kịch bản V3 này và bấm Proceed (Phê duyệt) để tôi tiến hành triển khai.