chore: synchronize project dependencies and update vendor directory files
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
# Kịch Bản Kiểm Thử (Test Script) Hệ Thống Quay Số (S.I.S) - Bản Chi Tiết (V2)
|
||||
|
||||
Tài liệu này mô tả các kịch bản kiểm thử (Test Cases) chi tiết bao phủ các trường hợp đúng (Positive) và sai (Negative) cho cả Frontend và Backend.
|
||||
|
||||
> [!NOTE]
|
||||
> **Môi trường Test:**
|
||||
> - Trình duyệt: Chrome, Firefox, Safari, Edge.
|
||||
> - URL: `http://localhost/Quayso/` (Frontend), `http://localhost/Quayso/admin` (Backend).
|
||||
|
||||
---
|
||||
|
||||
## 1. Phân Hệ Người Chơi (Frontend)
|
||||
|
||||
### 1.1 Kiểm tra Nhập Lỗi / Không Hợp Lệ (Negative Tests)
|
||||
Mục tiêu: Đảm bảo hệ thống chặn đứng mọi luồng dữ liệu rác, thiếu, hoặc sai nghiệp vụ.
|
||||
|
||||
| ID | Kịch Bản Test | Bước Thực Hiện | Kết Quả Mong Đợi | Trạng Thái |
|
||||
|:---|:---|:---|:---|:---|
|
||||
| **TC_F01** | Bỏ sót 1 trường bắt buộc | Điền đầy đủ form, nhưng cố tình xóa trắng ô "Số điện thoại" rồi Submit. | Hệ thống báo lỗi đúng vào trường bị thiếu: "Nhập số điện thoại". | ⬜ |
|
||||
| **TC_F02** | SĐT chứa chữ cái | Nhập SĐT là `090123abcd`. Submit. | Báo lỗi: "Số điện thoại không đúng định dạng". | ⬜ |
|
||||
| **TC_F03** | SĐT sai độ dài hoặc đầu số | Nhập SĐT `84901234567` (không có số 0) hoặc `090` (quá ngắn). | Báo lỗi: "Số điện thoại không đúng định dạng". | ⬜ |
|
||||
| **TC_F04** | Email sai định dạng | Nhập `testemail.com` (Thiếu `@`) hoặc `test@.com`. | Báo lỗi: "Email không đúng định dạng". | ⬜ |
|
||||
| **TC_F05** | Năm sinh không hợp lý | Nhập năm `1800` (quá khứ xa) hoặc chữ cái `abcd`. | Báo lỗi: "Năm sinh không hợp lệ" hoặc "Năm sinh phải là số". | ⬜ |
|
||||
| **TC_F06** | Cố tình Bypass đăng nhập | Truy cập thẳng URL `http://localhost/Quayso/game`. | Trình duyệt bị đá văng về lại trang `/login` hoặc báo lỗi bắt buộc nhập. | ⬜ |
|
||||
| **TC_F07** | Thử quay số khi hết lượt | Đăng nhập tài khoản đã có cờ `spined = 1`, click nút Quay số (nếu cố tình làm hiện nút). | Hệ thống từ chối cho phép quay tiếp. | ⬜ |
|
||||
| **TC_F11** | Lỗi Bảo mật XSS | Nhập `<script>alert(1)</script>` vào ô Họ Tên và Submit. | Ký tự bị escape, không bị alert (Thành công qua). | ⬜ |
|
||||
| **TC_F12** | Lỗi cập nhật thiếu thông tin | Vào trang Cập nhật, xóa trống ô "Họ tên" hoặc "Năm sinh" rồi bấm Cập nhật. | Hệ thống báo lỗi không cho phép bỏ trống trường bắt buộc. | ⬜ |
|
||||
|
||||
### 1.2 Kiểm tra Nhập Đúng / Thành công (Positive Tests)
|
||||
Mục tiêu: Đảm bảo người dùng hợp lệ có thể thao tác mượt mà.
|
||||
|
||||
| ID | Kịch Bản Test | Bước Thực Hiện | Kết Quả Mong Đợi | Trạng Thái |
|
||||
|:---|:---|:---|:---|:---|
|
||||
| **TC_F08** | Đăng ký thành công | Điền đầy đủ thông tin hợp lệ (SĐT mới). | Chuyển hướng thành công sang màn hình `/game`. | ⬜ |
|
||||
| **TC_F09** | Đăng nhập thành công | Nhập SĐT cũ đã đăng ký. | Chuyển hướng thành công sang màn hình `/game`. | ⬜ |
|
||||
| **TC_F10** | Cập nhật thông tin | Đăng nhập. Cập nhật lại Email sang địa chỉ khác. Click "Cập nhật". | Hiện thông báo: "Cập nhật tài khoản thành công". | ⬜ |
|
||||
| **TC_F13** | Trải nghiệm Quay số thực tế | Đăng nhập hợp lệ, bấm BẮT ĐẦU QUAY. | Vòng quay chạy, thông báo kết quả trúng giải hiển thị. | ⬜ |
|
||||
| **TC_F14** | Kiểm tra Thể lệ | Bấm nút "Thể lệ tham dự". | Popup Thể lệ game hiển thị ra chứa thông tin đầy đủ. | ⬜ |
|
||||
|
||||
---
|
||||
|
||||
## 2. Phân Hệ Quản Trị (Backend)
|
||||
|
||||
### 2.1 Kiểm tra Lỗi (Negative Tests)
|
||||
Mục tiêu: Ngăn chặn truy cập trái phép và thao tác lỗi của Quản trị viên.
|
||||
|
||||
| ID | Kịch Bản Test | Bước Thực Hiện | Kết Quả Mong Đợi | Trạng Thái |
|
||||
|:---|:---|:---|:---|:---|
|
||||
| **TC_B01** | Bỏ trống đăng nhập Admin | Để trống ô Tên đăng nhập và Mật khẩu. Bấm Login. | Hệ thống báo lỗi yêu cầu nhập đủ trường. | ⬜ |
|
||||
| **TC_B02** | Sai mật khẩu Admin | Nhập đúng Tên đăng nhập, nhập mật khẩu sai bậy bạ. Bấm Login. | Báo lỗi "Đăng nhập thất bại". | ⬜ |
|
||||
| **TC_B03** | Thêm giải thưởng thiếu Tên | Vào `admin/prize/update`, để trống Tên giải, bấm Thêm mới. | Báo lỗi "Nhập tên giải thưởng". | ⬜ |
|
||||
| **TC_B04** | Nhập sai "Số lượng" giải | Vào `admin/prize/update`, nhập Số lượng là chữ "Mười". | Hệ thống không cho nhập hoặc báo lỗi khi Submit. | ⬜ |
|
||||
| **TC_B08** | Upload Ảnh sai định dạng | Thêm/Cập nhật giải thưởng, cố tình upload file `.txt`. | Báo lỗi yêu cầu upload đúng định dạng hình ảnh. (Hoặc Validation chặn) | ⬜ |
|
||||
|
||||
### 2.2 Kiểm tra Đúng / Thành Công (Positive Tests)
|
||||
Mục tiêu: Các tính năng cốt lõi của Admin hoạt động trơn tru.
|
||||
|
||||
| ID | Kịch Bản Test | Bước Thực Hiện | Kết Quả Mong Đợi | Trạng Thái |
|
||||
|:---|:---|:---|:---|:---|
|
||||
| **TC_B05** | Đăng nhập Admin thành công | Nhập đúng Email và Pass. | Vào được Dashboard quản trị `/admin/account`. | ⬜ |
|
||||
| **TC_B06** | Kiểm tra Cột thông tin mới | Truy cập trang "DS Người Nhận Giải". | Nhìn thấy 2 cột "EMAIL" và "NĂM SINH" có chứa dữ liệu. | ⬜ |
|
||||
| **TC_B07** | Lọc và Xuất Excel | Chọn Từ ngày - Đến ngày. Click "Xuất Excel". | Tải thành công file `Danh sách nhận giải.xlsx` về máy. | ⬜ |
|
||||
| **TC_B09** | Cập nhật Giải thưởng | Sửa thông tin 1 giải thưởng, đổi Số lượng thành 100. Bấm Cập nhật. | Cập nhật thành công, số lượng thay đổi. | ⬜ |
|
||||
| **TC_B10** | Xóa Giải thưởng | Click biểu tượng Xóa (Thùng rác) 1 giải thưởng. | Giải thưởng biến mất khỏi danh sách. | ⬜ |
|
||||
| **TC_B11** | Cập nhật Cấu hình hệ thống | Đổi "Số lượt quay". Bấm Lưu cấu hình. | Thông báo cập nhật thành công, số lượt quay lưu lại. | ⬜ |
|
||||
| **TC_B12** | Test Excel Download | Chạy kịch bản tự động tải Excel. | Tải file `.xlsx` thành công vào thư mục máy tính. | ⬜ |
|
||||
|
||||
### V3: Comprehensive Coverage (Luồng Toàn Diện)
|
||||
*Mở rộng bao phủ toàn bộ API bảo mật ngầm, quản lý cấu hình và đăng xuất hệ thống.*
|
||||
|
||||
| ID | Module | Kịch bản Test (Scenario) | Các bước thực hiện (Steps) | Kết quả mong đợi (Expected) |
|
||||
|---|---|---|---|---|
|
||||
| TC_F15 | Đăng xuất | Đăng xuất người chơi | 1. Đăng nhập thành công<br>2. Nhấn 'Đăng xuất' | Trở về trạng thái chưa đăng nhập, không thể truy cập trang `/login` (để update). |
|
||||
| TC_F16 | API Security | Gọi trực tiếp API đổi thưởng khi chưa đăng nhập | 1. Dùng Playwright POST request `/updateprizeuser` (chưa Auth) | Server trả về lỗi chưa đăng nhập, không crash 500. |
|
||||
| TC_F17 | API Check Spined | API kiểm tra trạng thái lượt quay | 1. Chưa Auth: GET `/checkspined`<br>2. Đã Auth: GET `/checkspined` | 1. `{"error":"Chưa đăng nhập"}`<br>2. `{"success":"...","spined":0/1}` |
|
||||
| TC_B13 | User Mgmt | Thêm mới User từ Admin | 1. `/admin/users/update?id=0`<br>2. Điền đủ Form: Tên, Email, Pass, Status<br>3. Submit | Tạo tài khoản thành công. |
|
||||
| TC_B14 | User Mgmt | Cập nhật User từ Admin | 1. Mở User đã có<br>2. Sửa Trạng thái<br>3. Submit | Cập nhật thành công. |
|
||||
| TC_B15 | Cấu hình | Đổi Banner ảnh hệ thống | 1. `/admin/parameter`<br>2. Upload file hình cho Banner<br>3. Submit | Cập nhật thành công, ảnh được lưu. |
|
||||
| TC_B16 | Reset Lượt | Admin Reset lượt quay cho User | 1. `/admin/prizeuser`<br>2. Gọi AJAX hàm `update_spined()` cho 1 User | API trả về `success`, user có thể quay lại. |
|
||||
| TC_B17 | Auth Admin | Admin Đăng xuất | 1. Nhấn Đăng xuất<br>2. Cố gắng vào lại `/admin/account` | Bị đẩy về trang Login, không có quyền. |
|
||||
Reference in New Issue
Block a user