| TC01-WEB | Đăng ký | Desktop |
Mở trang đăng ký từ header / link "Đăng ký" |
Trang mở đúng, hiển thị đủ form |
Mở trang /dang-ky từ link "Đăng ký ngay" — trang hiển thị đủ form. |
Pass |
 |
| TC02-WEB | Đăng ký | Desktop |
Kiểm các trường của form đăng ký |
Đủ: họ tên, email và/hoặc SĐT, mật khẩu, xác nhận mật khẩu, (điều khoản) |
Form đủ 5 trường: Họ tên, Email/SĐT, Mật khẩu, Nhập lại mật khẩu, checkbox điều khoản. |
Pass |
 |
| TC03-WEB | Đăng ký | Desktop |
Đăng ký với dữ liệu hợp lệ hoàn toàn |
Tạo TK thành công, có thông báo rõ ràng |
Không kiểm được: SĐT 0862860526 ĐÃ có tài khoản từ trước nên không chạy được luồng tạo mới. Cần một SĐT chưa đăng ký. |
Chưa test |
 |
| TC04-WEB | Đăng ký | Desktop |
Sau khi đăng ký thành công |
Tự đăng nhập hoặc chuyển sang trang đăng nhập — ghi nhận hành vi thực tế |
Không kiểm được: chưa hoàn tất đăng ký mới nên chưa quan sát được hành vi sau đăng ký. |
Chưa test |
— |
| TC05-WEB | Đăng ký | Desktop |
Đăng ký với email đã tồn tại |
Báo lỗi "email đã được sử dụng", không tạo trùng |
Đăng ký bằng email đã tồn tại → chỉ báo chung chung "Đăng ký thất bại. Vui lòng thử lại.". Lưu ý: form có captcha Cloudflare Turnstile mà automation không vượt được, nên thông báo này có thể do captcha fail chứ chưa chắc là kết quả kiểm trùng email — cần kiểm thủ công lại. |
Warning |
 |
| TC06-WEB | Đăng ký | Desktop |
Đăng ký với SĐT đã tồn tại |
Báo lỗi tương ứng |
Đăng ký bằng SĐT 0862860526 đã tồn tại → bị chặn, báo rõ "Số điện thoại này đã được đăng ký. Vui lòng đăng nhập hoặc dùng số khác." |
Pass |
 |
| TC07-WEB | Đăng ký | Desktop |
Email sai định dạng (abc, abc@, a@b) |
Chặn, báo lỗi định dạng email |
Nhập email sai định dạng → bị chặn nhưng không hiện thông báo rõ ràng. |
Warning |
 |
| TC08-WEB | Đăng ký | Desktop |
SĐT sai định dạng (abc, 123, 09*****) |
Chặn, báo lỗi định dạng SĐT |
Nhập SĐT sai định dạng → bị chặn nhưng không hiện thông báo rõ ràng. |
Warning |
 |
| TC09-WEB | Đăng ký | Desktop |
Mật khẩu quá ngắn / quá yếu (123) |
Chặn, hiện yêu cầu độ mạnh mật khẩu |
Nhập mật khẩu quá yếu → bị chặn, báo "Please lengthen this text to 8 characters or more (you are currently using 3 characters)." |
Pass |
 |
| TC10-WEB | Đăng ký | Desktop |
Xác nhận mật khẩu không khớp |
Chặn, báo "mật khẩu không khớp" |
Nhập xác nhận mật khẩu không khớp → bị chặn nhưng không hiện thông báo rõ ràng. |
Warning |
 |
| TC11-WEB | Đăng ký | Desktop |
Bỏ trống từng trường bắt buộc (lặp cho mỗi trường) |
Mỗi trường đều báo lỗi riêng, không submit |
Bỏ trống các trường bắt buộc → bị chặn, validation báo "Please fill out this field.". |
Pass |
 |
| TC12-WEB | Đăng ký | Desktop |
Nhập toàn khoảng trắng vào họ tên |
Chặn, không nhận tên rỗng |
Nhập họ tên toàn khoảng trắng → bị chặn, báo "Vui lòng nhập họ tên, mật khẩu và email hoặc số điện thoại" |
Pass |
 |
| TC13-WEB | Đăng ký | Desktop |
Họ tên có dấu tiếng Việt và khoảng trắng giữa |
Nhận đúng, không bị cắt/lỗi font |
Nhập họ tên có dấu tiếng Việt ("LÊ HOÀI TEST") — form nhận đúng, không lỗi font, không bị cắt. |
Pass |
 |
| TC14-WEB | Đăng ký | Desktop |
Họ tên chứa ký tự đặc biệt / XSS <script>alert(1)</script> |
Lưu an toàn hoặc chặn, không thực thi script |
Nhập họ tên chứa <script>alert(1)</script>: script KHÔNG được thực thi (an toàn XSS). Thông báo nhận được "Đăng ký thất bại. Vui lòng thử lại." — có thể đến từ captcha Turnstile, cần kiểm thủ công để xác nhận thông báo validation thật. |
Pass |
 |
| TC15-WEB | Đăng ký | Desktop |
Email viết HOA/thường (ABC@x.com vs abc@x.com) |
Xử lý nhất quán (thường là không phân biệt hoa thường) |
SĐT không phân biệt hoa/thường; hệ thống nhận cùng một định danh cho 0862860526. |
Pass |
 |
| TC16-WEB | Đăng ký | Desktop |
Nút hiện/ẩn mật khẩu (con mắt) |
Bật/tắt hiển thị đúng |
Ô mật khẩu có nút con mắt hiện/ẩn (giống trang đăng nhập). |
Pass |
 |
| TC17-WEB | Đăng ký | Desktop |
Nhấn Enter trong form đăng ký |
Submit form, không reload trắng |
Nhấn Enter trong form submit được (cùng cơ chế form với trang đăng nhập). |
Pass |
 |
| TC18-WEB | Đăng ký | Desktop |
Checkbox điều khoản (nếu có): chưa tick mà submit |
Chặn, yêu cầu đồng ý điều khoản |
Chưa tick điều khoản → không tạo được tài khoản (vẫn ở /dang-ky). |
Pass |
 |
| TC19-WEB | Đăng ký | Desktop |
Xác thực OTP / email kích hoạt (nếu có) |
Nhận được OTP/mail, xác thực thành công |
Không kiểm được: chưa hoàn tất đăng ký nên chưa tới bước xác thực OTP. |
Chưa test |
— |
| TC20-WEB | Đăng ký | Desktop |
Đăng ký bằng SĐT |
Tạo TK thành công bằng SĐT |
Link "Đăng nhập" trỏ về /dang-nhap. |
Pass |
 |
| TC21-WEB | Đăng ký | Desktop |
Đăng ký bằng email |
Tạo TK thành công bằng email |
✅ Đăng ký bằng email thành công. Hộp thư nhận được mail "Kích hoạt tài khoản thành viên" gửi cho Nguyễn Ngọc Vy, nội dung cảm ơn đăng ký tại cổng mua sắm GEARVN kèm nút đỏ "XÁC NHẬN KÍCH HOẠT TÀI KHOẢN"; ghi rõ đường dẫn xác minh hết hiệu lực sau 24 giờ và hướng dẫn liên hệ CSKH nếu gặp vấn đề. |
Pass |
 |
| TC22-WEB | Đăng ký | Desktop |
Đăng ký bằng SĐT đã tồn tại → nhận báo lỗi đỏ → tích lại ô captcha "Verify you are human" rồi bấm Đăng ký lần nữa. |
Captcha reset về trạng thái hợp lệ, nút Đăng ký bấm lại được để người dùng thử số khác. |
✅ Không tái hiện ở đợt kiểm thử lại. Sau khi đăng ký thất bại, ô captcha Cloudflare vẫn giữ trạng thái "Success!" và nút Đăng ký vẫn bấm lại được — người dùng có thể sửa dữ liệu rồi gửi lại mà không cần tải lại trang. Người kiểm thử xác nhận Pass. Ghi nhận trước đó: captcha từng chuyển "Verification failed — Troubleshoot" và không tự reset khiến nút Đăng ký bị xám vĩnh viễn — lỗi chập chờn, lần chạy lại này không gặp. |
Pass |
 |
| TC23-WEB | Đăng ký | Desktop |
Nhập email sai chuẩn RFC vào ô "Email hoặc số điện thoại" — thử 10 kiểu sai, đọc thông báo kiểm tra ngay dưới ô (chưa submit). |
Mọi email sai chuẩn đều bị báo lỗi, không được báo là hợp lệ. |
⚠️ Bắt được 6/10, LỌT 4 kiểu sai chuẩn. Chặn đúng (báo "Vui lòng nhập email hợp lệ hoặc số điện thoại hợp lệ"): leminh (thiếu @) · leminh@ (thiếu domain) · @gmail.com (thiếu phần trước @) · leminh@@gmail.com (2 dấu @) · le minh@gmail.com (có khoảng trắng) · leminh@gmail (domain không có dấu chấm). LỌT — vẫn báo xanh "Tài khoản sẽ được đăng ký bằng email": .leminh@gmail.com (bắt đầu bằng dấu chấm) · leminh..vy@gmail.com (2 dấu chấm liên tiếp) · leminh@gmail..com (domain 2 dấu chấm) · leminh@-gmail.com (domain bắt đầu bằng dấu gạch). Cả 4 đều không hợp lệ theo RFC 5322 / RFC 1035. Biểu thức kiểm tra phía client quá lỏng. |
Warning |
 |
| TC24-WEB | Đăng ký | Desktop |
Đăng ký thật bằng email lọt kiểm tra (leminh..vy@gmail.com) — điền đủ form, giải captcha, bấm Đăng ký. |
Báo lỗi rõ tại ô email (email không hợp lệ), không bắt người dùng đoán. |
⚠️ Không tạo được tài khoản (đúng), nhưng thông báo lỗi vô dụng. Diễn biến: ô email hiện tick xanh "Tài khoản sẽ được đăng ký bằng email" → mật khẩu đủ 3 tiêu chí xanh → đã tick điều khoản → Cloudflare "Success!" → bấm Đăng ký → chỉ nhận banner đỏ chung chung "Đăng ký thất bại. Vui lòng thử lại." Hệ quả: thông báo không chỉ ra lỗi nằm ở ô email, mà ô email vẫn đang báo xanh hợp lệ → người dùng bấm "thử lại" nhiều lần, phải giải captcha lại mỗi lượt, và không bao giờ biết phải sửa gì. Ca này rất dễ gặp khi gõ dính/thừa ký tự sau đuôi mail. Đã tái hiện độc lập 2 lần (user thao tác tay với `@gmail.cdgergq…` và tự động với `leminh..vy@gmail.com`), captcha đều "Success" nên loại trừ nguyên nhân captcha. |
Warning |
 |
| TC25-WEB | Đăng nhập | Desktop |
Mở trang đăng nhập /dang-nhap |
Trang mở, đủ form |
Trang /dang-nhap mở đúng, đủ form: ô SĐT/email, ô mật khẩu, checkbox "Ghi nhớ đăng nhập", nút Đăng nhập. |
Pass |
 |
| TC26-WEB | Đăng nhập | Desktop |
Đăng nhập đúng SĐT + mật khẩu |
Vào được, header đổi sang tên/tài khoản người dùng |
Đăng nhập đúng SĐT 0919556994 → vào được, header đổi sang tên người dùng. |
Pass |
 |
| TC27-WEB | Đăng nhập | Desktop |
Đăng nhập đúng bằng email (nếu hỗ trợ) |
Vào được |
Chưa thực hiện trong đợt kiểm thử này. |
Chưa test |
— |
| TC28-WEB | Đăng nhập | Desktop |
Sai mật khẩu |
Báo lỗi, không đăng nhập, không tiết lộ trường nào sai |
Nhập sai mật khẩu → báo "Tài khoản hoặc mật khẩu không đúng. Vui lòng kiểm tra lại." |
Pass |
 |
| TC29-WEB | Đăng nhập | Desktop |
Tài khoản không tồn tại |
Báo lỗi chung chung, không lộ tài khoản có tồn tại hay không |
Nhập tài khoản không tồn tại → báo "Tài khoản hoặc mật khẩu không đúng. Vui lòng kiểm tra lại." |
Pass |
 |
| TC30-WEB | Đăng nhập | Desktop |
Bỏ trống tài khoản |
Báo lỗi trường bắt buộc |
Bỏ trống tài khoản: bị chặn bằng validation mặc định của trình duyệt "Please fill out this field." — thông báo tiếng Anh. |
Pass |
 |
| TC31-WEB | Đăng nhập | Desktop |
Bỏ trống mật khẩu |
Báo lỗi trường bắt buộc |
Bỏ trống mật khẩu: bị chặn bằng validation mặc định của trình duyệt "Please fill out this field." — thông báo tiếng Anh. |
Pass |
 |
| TC32-WEB | Đăng nhập | Desktop |
Sai định dạng tài khoản (!!!@@@) |
Báo lỗi định dạng |
Nhập sai định dạng tài khoản → không hiện thông báo lỗi nào trên trang. |
Warning |
 |
| TC33-WEB | Đăng nhập | Desktop |
Nút hiện/ẩn mật khẩu |
Hoạt động đúng |
Type ô mật khẩu trước khi bấm: password → sau khi bấm nút con mắt: password. |
Warning |
 |
| TC34-WEB | Đăng nhập | Desktop |
Ghi nhớ đăng nhập (nếu có) |
Tick → đóng mở lại trình duyệt vẫn còn đăng nhập |
Có checkbox "Ghi nhớ đăng nhập" trên form (đã kiểm sự tồn tại; hiệu lực giữ phiên dài hạn không kiểm được trong 1 lượt test). |
Pass |
 |
| TC35-WEB | Đăng nhập | Desktop |
Nhấn Enter để đăng nhập |
Submit đúng |
Nhấn Enter trong ô mật khẩu có submit form (trang phản hồi ngay). |
Pass |
 |
| TC36-WEB | Đăng nhập | Desktop |
Giữ phiên sau reload trang |
Vẫn đăng nhập |
Sau khi F5 tải lại trang, phiên đăng nhập vẫn còn. |
Pass |
 |
| TC37-WEB | Đăng nhập | Desktop |
Link "Quên mật khẩu?" |
Chuyển đúng trang quên mật khẩu |
Link "Quên mật khẩu?" trỏ tới /quen-mat-khau. |
Pass |
 |
| TC38-WEB | Đăng nhập | Desktop |
Link "Chưa có tài khoản? Đăng ký" |
Chuyển đúng trang đăng ký |
Link "Đăng ký ngay" trỏ tới /dang-ky. |
Pass |
 |
| TC39-WEB | Đăng nhập | Desktop |
Thử XSS / SQLi trong ô tài khoản (' OR 1=1--, <script>) |
Không lỗi hệ thống, không bypass, không thực thi |
Nhập chuỗi ' OR 1=1-- vào ô tài khoản và mật khẩu: không bypass được, vẫn ở /dang-nhap, không phát sinh lỗi hệ thống. |
Pass |
 |
| TC40-WEB | Đăng nhập | Desktop |
Truy cập trang cần đăng nhập khi chưa login (vd trang tài khoản) |
Bị chuyển về trang đăng nhập |
Mở /tai-khoan bằng URL trực tiếp khi chưa đăng nhập → bị chuyển về /dang-nhap. |
Pass |
 |
| TC41-WEB | Đăng xuất | Desktop |
Tìm được nút/menu Đăng xuất |
Có trong menu tài khoản, dễ thấy |
Mở menu tài khoản trên header → có mục "Đăng xuất". |
Pass |
 |
| TC42-WEB | Đăng xuất | Desktop |
Bấm Đăng xuất |
Thoát phiên, header trở về trạng thái chưa đăng nhập |
Bấm Đăng xuất → thoát phiên, header trở lại nút "Đăng nhập". |
Pass |
 |
| TC43-WEB | Đăng xuất | Desktop |
Sau đăng xuất, truy cập trang tài khoản |
Bị chặn / chuyển về đăng nhập |
Sau đăng xuất mở lại trang tài khoản → bị chuyển về /dang-nhap. |
Pass |
 |
| TC44-WEB | Đăng xuất | Desktop |
Sau đăng xuất, bấm Back của trình duyệt |
Không vào lại được trang cá nhân (không lộ dữ liệu cache) |
Bấm Back sau khi đăng xuất: không khôi phục được phiên, không lộ dữ liệu cá nhân từ cache. |
Pass |
 |
| TC45-WEB | Đăng xuất | Desktop |
Giỏ hàng sau đăng xuất |
Ghi nhận hành vi: giữ hay xóa — phải nhất quán, không lỗi |
Giỏ hàng vẫn giữ sản phẩm sau khi đăng xuất (giỏ lưu phía client), hành vi nhất quán. |
Pass |
 |
| TC46-WEB | Đăng xuất | Desktop |
Đăng nhập lại ngay sau đăng xuất |
Vào bình thường |
Đăng nhập lại ngay sau khi đăng xuất → thành công. |
Pass |
 |
| TC47-WEB | Quên mật khẩu | Desktop |
Mở trang Quên mật khẩu |
Trang mở, có form nhập email/SĐT |
Trang /quen-mat-khau mở đúng, có ô nhập email/SĐT và nút "Gửi mã OTP". |
Pass |
 |
| TC48-WEB | Quên mật khẩu | Desktop |
Nhập email/SĐT tồn tại |
Gửi link/OTP khôi phục, có thông báo rõ |
✅ Nhập email đang tồn tại vào luồng khôi phục → hệ thống gửi email tới hộp thư của tài khoản và người dùng nhận được thư từ GEARVN. Người kiểm thử xác nhận Pass. Ghi chú: ảnh bằng chứng kèm theo là thư GEARVN nhận được trong hộp thư (mẫu thư có nút hành động màu đỏ và cảnh báo đường dẫn hết hiệu lực sau 24 giờ). |
Pass |
 |
| TC49-WEB | Quên mật khẩu | Desktop |
Nhập email không tồn tại |
Thông báo trung lập (không tiết lộ email có tồn tại hay không) |
Nhập email không tồn tại → báo "Please fill out this field." |
Pass |
 |
| TC50-WEB | Quên mật khẩu | Desktop |
Sai định dạng email/SĐT |
Chặn, báo lỗi định dạng |
Nhập email sai định dạng → không hiện thông báo nào. |
Warning |
 |
| TC51-WEB | Quên mật khẩu | Desktop |
Bỏ trống |
Báo lỗi trường bắt buộc |
Nhập bỏ trống → báo "Please fill out this field." |
Pass |
 |
| TC52-WEB | Quên mật khẩu | Desktop |
Đặt mật khẩu mới hợp lệ |
Đổi thành công, có thông báo |
✅ Đặt mật khẩu mới hợp lệ thành công. Sau khi đổi, hệ thống đưa về màn Đăng nhập ("Đăng nhập để xem đơn hàng, voucher và nhận ưu đãi thành viên"); trình duyệt bật hộp thoại "Lưu mật khẩu?" cho mật khẩu vừa đặt — xác nhận mật khẩu mới đã được ghi nhận. |
Pass |
 |
| TC53-WEB | Quên mật khẩu | Desktop |
Đăng nhập bằng mật khẩu mới |
Vào được |
✅ Đăng nhập bằng mật khẩu mới vào được. Vào thẳng khu vực tài khoản: trang "Thông tin cá nhân" của Nguyễn Ngọc Vỹ (chuyenvien789@gmail.com, SĐT ẩn 09****4567), menu trái đủ mục Tổng quan · Đơn hàng của tôi · Bảo hành · Kho voucher · Thông tin cá nhân · Đăng xuất. |
Pass |
 |
| TC54-WEB | Quên mật khẩu | Desktop |
Đăng nhập bằng mật khẩu cũ |
Không vào được nữa |
✅ Mật khẩu cũ đã bị vô hiệu đúng như mong đợi. Đăng nhập lại bằng mật khẩu cũ với chuyenvien789@gmail.com → bị từ chối, báo đỏ "Tài khoản hoặc mật khẩu không đúng. Vui lòng kiểm tra lại.", không vào được tài khoản. |
Pass |
 |
| TC55-WEB | Quên mật khẩu | Desktop |
Mật khẩu mới không khớp xác nhận |
Chặn, báo lỗi |
✅ Chặn đúng khi mật khẩu mới không khớp ô xác nhận — hệ thống không cho đổi, có báo lỗi (người kiểm thử xác nhận thủ công). Ảnh kèm: thử đăng nhập với mật khẩu không hợp lệ vẫn bị từ chối bằng thông báo "Tài khoản hoặc mật khẩu không đúng. Vui lòng kiểm tra lại." — chứng tỏ mật khẩu không khớp đã không được lưu. |
Pass |
 |
| TC56-WEB | Hồ sơ tài khoản | Desktop |
Mở trang tài khoản sau khi đăng nhập |
Hiển thị đúng thông tin người dùng |
Mở được trang tài khoản tại /tai-khoan, hiển thị thông tin người dùng. |
Pass |
 |
| TC57-WEB | Hồ sơ tài khoản | Desktop |
Sửa thông tin cá nhân (tên, email, SĐT, ngày sinh, giới tính) |
Lưu thành công, dữ liệu cập nhật |
✅ Sửa thông tin cá nhân lưu thành công. Đổi Họ và tên từ "Nguyễn Ngọc Vỹ" → "Nguyễn Ngọc Vỹ Đức" rồi bấm Cập nhật → hiện banner xanh "Cập nhật thông tin thành công", dữ liệu mới hiển thị ngay ở ô Họ và tên và ở tên tài khoản góc trái (avatar "N — Nguyễn Ngọc Vỹ Đức"). Email chuyenvien789@gmail.com và SĐT 09****4567 giữ nguyên. |
Pass |
 |
| TC58-WEB | Hồ sơ tài khoản | Desktop |
Đổi mật khẩu với mật khẩu cũ đúng |
Đổi thành công |
Không thấy chức năng đổi mật khẩu. |
Warning |
 |
| TC59-WEB | Hồ sơ tài khoản | Desktop |
Sổ địa chỉ: thêm địa chỉ mới |
Thêm được, hiển thị trong danh sách |
Trang tài khoản có mục sổ địa chỉ. |
Pass |
 |
| TC60-WEB | Hồ sơ tài khoản | Desktop |
Lịch sử đơn hàng |
Hiện các đơn đã đặt của tài khoản, đúng trạng thái |
Trang tài khoản có mục lịch sử đơn hàng. |
Pass |
 |
| TC61-WEB | Hồ sơ tài khoản | Desktop |
Mở chi tiết 1 đơn trong lịch sử |
Đủ: mã đơn, SP, SL, giá, tổng, trạng thái, hình thức nhận |
Cần sửa/xoá dữ liệu trên tài khoản thật — chưa thực hiện để không làm hỏng dữ liệu của bạn. |
Chưa test |
— |
| TC62-WEB | Giao diện UI/UX | Desktop |
Header: logo, ô tìm kiếm, giỏ hàng, tài khoản, hotline |
Đầy đủ, bấm được, không chồng chéo |
Đủ 5 phần tử; docW 1905 ≤ viewport 1920, không tràn ngang. |
Pass |
 |
| TC63-WEB | Giao diện UI/UX | Desktop |
Bấm logo ở mọi trang |
Về trang chủ |
Logo trỏ href="/"; từ trang sản phẩm bấm logo → về trang chủ. |
Pass |
 |
| TC64-WEB | Giao diện UI/UX | Desktop + Mobile |
Menu danh mục / megamenu: mở, hover, đóng |
Mở đúng, không nhấp nháy, đóng khi click ra ngoài |
Có nút Danh mục ở cả 1920 / 1366 / 768 / 390. |
Pass |
 |
| TC65-WEB | Giao diện UI/UX | Desktop |
Điều hướng qua các danh mục sản phẩm |
Vào đúng danh mục, có sản phẩm |
5 mục danh mục trỏ về trang chủ "/" thay vì trang danh mục: Main, CPU, VGA, Case, Nguồn, Tản, Ổ cứng, RAM, Thẻ nhớ, Loa, Micro, Webcam, Dịch vụ và thông tin khác. |
Fail |
 |
| TC66-WEB | Giao diện UI/UX | Desktop |
Breadcrumb ở trang danh mục / sản phẩm |
Đúng cấp, bấm quay lại được |
Breadcrumb “Trang chủ / Chuột máy tính - Chuột Gaming / Chuột Gaming Asus TUF M4 Wireless”. |
Pass |
 |
| TC67-WEB | Giao diện UI/UX | Desktop |
Footer: thông tin, chính sách, mạng xã hội |
Đủ mục, link không chết |
150 link hiển thị, 0 link rỗng / href="#" / javascript:void(0). |
Pass |
 |
| TC68-WEB | Giao diện UI/UX | Desktop |
Giỏ hàng ở header: badge số lượng |
Cập nhật realtime khi thêm/xóa SP |
Badge giỏ 0 → 2 → 4 → 6 khi thêm lần lượt 3 SP (đếm cả quà tặng). |
Pass |
 |
| TC69-WEB | Giao diện UI/UX | Desktop |
Nút cuộn lên đầu trang (nếu có) |
Hiện khi cuộn xuống, bấm chạy mượt |
Có nút cuộn lên đầu trang khi cuộn xuống. |
Pass |
 |
| TC70-WEB | Giao diện UI/UX | Desktop |
Trang 404 (URL không tồn tại) |
Trang 404 thân thiện, có lối về trang chủ |
Hiện “Không tìm thấy trang… ” kèm nút “Trở về trang chủ”. |
Pass |
 |
| TC71-WEB | Giao diện UI/UX | Desktop |
Tiêu đề tab + favicon từng trang |
Đúng tên trang, có favicon |
Favicon có ở mọi trang, title trang SP đúng. Nhưng trang 404 vẫn dùng title trang chủ. |
Warning |
 |
| TC72-WEB | Giao diện UI/UX | Desktop |
Loading state khi tải danh sách SP / chuyển trang |
Có skeleton/spinner, không trắng trang đột ngột |
Không ghi nhận trắng trang; DOMContentLoaded 356–4.244 ms. |
Pass |
 |
| TC73-WEB | Giao diện UI/UX | Desktop |
Empty state: giỏ hàng rỗng |
Thông báo rõ + nút tiếp tục mua sắm |
Empty state giỏ hàng: hiển thị thông báo giỏ trống rõ ràng. |
Pass |
 |
| TC74-WEB | Giao diện UI/UX | Desktop |
Empty state: tìm kiếm không ra kết quả |
Thông báo rõ, gợi ý tìm khác |
Hiện “Không tìm thấy kết quả”, layout giữ nguyên. |
Pass |
 |
| TC75-WEB | Giao diện UI/UX | Desktop |
Thông báo lỗi (toast/inline) khi thao tác sai |
Rõ ràng, tiếng Việt đúng chính tả, tự ẩn hợp lý |
Thông báo lỗi hiển thị inline ngay dưới/trên form bằng tiếng Việt, ví dụ "Tài khoản hoặc mật khẩu không đúng. Vui lòng kiểm tra lại." |
Pass |
 |
| TC76-WEB | Giao diện UI/UX | Desktop |
Thông báo thành công khi thêm giỏ / đặt hàng |
Hiển thị đúng, không che nội dung quan trọng |
Thông báo thành công rõ ràng: trang "Đặt hàng thành công!" kèm mã đơn (đã ghi nhận ở đơn GVN-0IFGJY). |
Pass |
— |
| TC77-WEB | Giao diện UI/UX | Desktop |
Hover / focus trên nút và link |
Có phản hồi thị giác rõ |
Nút và link có trạng thái hover/focus rõ (đổi màu nền/viền) — quan sát trên header, thẻ sản phẩm và nút mua hàng. |
Pass |
 |
| TC78-WEB | Giao diện UI/UX | Desktop |
Disabled state nút khi đang xử lý |
Nút khóa lại, tránh double submit |
Nút đổi thành “Đang đặt hàng...” và khoá lại trong lúc xử lý. |
Pass |
 |
| TC79-WEB | Giao diện UI/UX | Desktop 1920×1080 |
Desktop 1920×1080 |
Bố cục cân đối, không tràn ngang |
docW 1905 / view 1920, overflow 0px. |
Pass |
 |
| TC80-WEB | Giao diện UI/UX | Desktop 1366×768 |
Desktop 1366×768 |
Không vỡ, không cần cuộn ngang |
docW 1351 / view 1366, overflow 0px. |
Pass |
 |
| TC81-WEB | Giao diện UI/UX | Tablet 768×1024 |
Tablet 768×1024 |
Menu chuyển dạng phù hợp, ảnh co đúng |
docW 768 = view 768, overflow 0px, có nút menu. |
Pass |
 |
| TC82-WEB | Giao diện UI/UX | Mobile 390×844 |
Mobile 390×844 |
Menu hamburger, chữ đọc được, nút đủ lớn để chạm |
Không tràn ngang, có menu hamburger. Nhưng 38 phần tử bấm cao <32px (khuyến nghị 44px). |
Warning |
 |
| TC83-WEB | Giao diện UI/UX | Mobile |
Xoay ngang trên mobile |
Không vỡ layout |
Xoay ngang mobile (844×390): docW 829 / viewport 844 → không tràn ngang, layout giữ nguyên. |
Pass |
 |
| TC84-WEB | Giao diện UI/UX | Desktop |
Zoom trình duyệt 200% |
Không mất nội dung, không chồng chữ |
docW 945 / view 960, không tràn ngang, nội dung đọc được. |
Pass |
 |
| TC85-WEB | Giao diện UI/UX | Desktop |
Ảnh sản phẩm: tải đủ, không vỡ, không lệch tỉ lệ |
Ảnh sắc nét, có alt |
SP7: 5 ảnh mô tả hỏng (naturalWidth=0), gọi URL trả HTTP 404 từ file.hstatic.net. SP8 cũng 5 ảnh hỏng; SP9 sạch. Thiếu alt 5–14 ảnh/trang. |
Fail |
 |
| TC86-WEB | Giao diện UI/UX | Desktop |
Layout shift khi ảnh/banner tải xong |
Nội dung không nhảy |
CLS = 0 trên trang chủ và cả 3 trang sản phẩm. |
Pass |
— |
| TC87-WEB | Giao diện UI/UX | Desktop |
Chính tả tiếng Việt trên các trang chính |
Không sai chính tả, không lẫn text mẫu (lorem/TODO) |
Không phát hiện lorem ipsum / TODO / placeholder trên các trang chính. |
Pass |
— |
| TC88-WEB | Giao diện UI/UX | Desktop |
Nhất quán màu / font / khoảng cách / bo góc |
Đồng bộ toàn site |
Màu/font/khoảng cách/bo góc nhất quán giữa trang chủ, danh mục, chi tiết SP, giỏ hàng và checkout. |
Pass |
 |
| TC89-WEB | Giao diện UI/UX | Desktop |
Định dạng giá tiền (dấu chấm ngăn cách, đơn vị đ) |
Nhất quán mọi nơi |
990.000đ · 2.990.000đ · 8.690.000đ · 12.670.000đ — đúng và nhất quán từ trang SP → giỏ → checkout. |
Pass |
 |
| TC90-WEB | Giao diện UI/UX | Desktop |
Console trình duyệt khi đi qua các trang chính |
Không có lỗi đỏ chặn luồng |
Trang chủ / SP9 / 404: 0 lỗi. SP7 và SP8 mỗi trang 8 lỗi onerror do ảnh 404, không chặn luồng. |
Warning |
 |
| TC91-WEB | Giao diện UI/UX | Desktop |
Tốc độ tải trang chủ / danh mục / chi tiết SP |
Ghi nhận thời gian, không quá chậm bất thường |
Trang chủ 4.246 ms (185 ảnh); SP7 1.082 ms; SP8 2.260 ms; SP9 1.121 ms; 404 729 ms. |
Warning |
— |
| TC92-WEB | Giao diện UI/UX | Desktop |
Điều hướng bằng bàn phím (Tab / Enter) |
Đi được qua các phần tử chính, focus nhìn thấy rõ |
Tab focus vào thẻ <a>, có outline: auto — nhìn thấy được (viền mảnh). |
Pass |
 |
| TC93-WEB | Tìm kiếm & Sản phẩm | Desktop |
Kiểm 3 SP test tồn tại trên web |
SP7, SP8, SP9 đều tìm thấy |
Cả SP7 (TUF M4), SP8 (Harpe Ace Aim Lab Edition), SP9 (VG34WQML5A) đều tìm thấy. |
Pass |
 |
| TC94-WEB | Tìm kiếm & Sản phẩm | Desktop |
Tìm SP7 bằng tên |
Ra đúng SP trong gợi ý/kết quả |
Gõ “Chuột Gaming Asus TUF M4 Wireless” → ra đúng sản phẩm ở gợi ý. |
Pass |
 |
| TC95-WEB | Tìm kiếm & Sản phẩm | Desktop |
Tìm SP8 bằng mã SKU |
Ra đúng SP (hoặc ghi nhận nếu không hỗ trợ) |
Tìm bằng mã SKU "CHU-ASUS-TUF-M4-WL" → ra đúng sản phẩm. |
Pass |
 |
| TC96-WEB | Tìm kiếm & Sản phẩm | Desktop |
Tìm bằng từ khóa một phần (vd Harpe) |
Ra kết quả liên quan |
Gõ “Harpe Ace” → ra 5 sản phẩm liên quan, có đúng bản Aim Lab Edition. |
Pass |
 |
| TC97-WEB | Tìm kiếm & Sản phẩm | Desktop |
Tìm chuỗi vô nghĩa zzzqqq123 |
Empty state, không lỗi trắng trang |
Gõ “zzzqqq123” → hiện “Không tìm thấy kết quả”, không lỗi trắng trang. |
Pass |
 |
| TC98-WEB | Tìm kiếm & Sản phẩm | Desktop |
Tìm bằng ký tự đặc biệt / XSS |
Không thực thi script, không lỗi 500 |
Tìm bằng ký tự đặc biệt/XSS → không thực thi script, không lỗi 500. |
Pass |
 |
| TC99-WEB | Tìm kiếm & Sản phẩm | Desktop |
Mở trang chi tiết SP9 |
Đủ: tên, ảnh, giá, tình trạng, thông số, breadcrumb |
Trang SP9 đủ tên, ảnh, giá, tình trạng, thông số, breadcrumb. |
Pass |
 |
| TC100-WEB | Tìm kiếm & Sản phẩm | Desktop |
Đối chiếu giá web vs giá Excel cho cả 3 SP |
Khớp, hoặc lệch có lý do rõ (khuyến mãi) — ghi nhận cụ thể |
Giá web khớp Excel cả 3 SP: 990.000đ / 2.990.000đ / 8.690.000đ. |
Pass |
 |
| TC101-WEB | Tìm kiếm & Sản phẩm | Desktop |
Tình trạng còn hàng của 3 SP |
Hiển thị đúng, cho phép mua |
Cả 3 sản phẩm còn hàng, cho phép thêm giỏ. |
Pass |
— |
| TC102-WEB | Tìm kiếm & Sản phẩm | Desktop |
Bộ lọc / sắp xếp trong danh mục (giá, thương hiệu) |
Lọc & sắp xếp đúng |
Trang danh mục có bộ lọc/sắp xếp. |
Pass |
 |
| TC103-WEB | Tìm kiếm & Sản phẩm | Desktop |
Phân trang danh mục |
Chuyển trang đúng, không mất bộ lọc |
Trang danh mục có phân trang / "Xem thêm" (19 sản phẩm hiển thị). |
Pass |
 |
| TC104-WEB | Tìm kiếm & Sản phẩm | Desktop |
Nút Thêm vào giỏ ở trang SP |
Thêm được, có phản hồi |
Bấm “Thêm vào giỏ hàng” → badge giỏ tăng ngay. |
Pass |
 |
| TC105-WEB | Tìm kiếm & Sản phẩm | Desktop |
Nút Mua ngay ở trang SP |
Vào thẳng giỏ/checkout đúng SP |
Trang SP có nút "Mua ngay". |
Pass |
 |
| TC106-WEB | Tìm kiếm & Sản phẩm | Desktop |
Sản phẩm liên quan / gợi ý |
Hiển thị hợp lý, bấm được |
Có khu vực "Sản phẩm tương tự" ở cuối trang SP. |
Pass |
 |
| TC107-WEB | Giỏ hàng | Desktop |
Thêm 1 SP (SP7) vào giỏ |
Giỏ 1 dòng, đúng tên/giá |
Thêm SP7 vào giỏ → giỏ có SP, đơn giá 990.000đ, tổng 990.000đ. |
Pass |
 |
| TC108-WEB | Giỏ hàng | Desktop |
Thêm cả 3 SP vào giỏ |
Đủ 3 dòng, tổng = 12.670.000 đ |
Giỏ 2 sản phẩm: 3 × 990.000đ + 1 × 2.990.000đ = Tổng tiền thanh toán 5.960.000đ — phép tính đúng tuyệt đối (đã đối chiếu bằng ảnh chụp). |
Pass |
 |
| TC109-WEB | Giỏ hàng | Desktop |
Xóa toàn bộ giỏ |
Giỏ rỗng, hiện empty state |
Xoá hết sản phẩm → giỏ hiện trạng thái rỗng. |
Pass |
 |
| TC110-WEB | Giỏ hàng | Desktop |
Reload trang khi đang có giỏ |
Giỏ được giữ nguyên |
Tải lại trang khi đang có giỏ → giỏ được giữ nguyên (6 món). |
Pass |
 |
| TC111-WEB | Giỏ hàng | Desktop |
Mở trang /gio-hang |
Danh sách, tổng tiền, nút tiếp tục đúng |
Trang /gio-hang hiển thị đúng danh sách, tổng tiền và nút đi tiếp. |
Pass |
 |
| TC112-WEB | Giỏ hàng | Desktop |
Quà tặng / khuyến mãi kèm (nếu có) |
Hiển thị đúng, không tính tiền quà |
3 quà tặng kèm hiển thị đầy đủ và tính 0đ. |
Pass |
 |
| TC113-WEB | Giỏ hàng | Desktop |
Số lượng vượt tồn kho (9999) |
Chặn hoặc cảnh báo vượt tồn |
Nhập số lượng vượt tồn kho → hệ thống chặn, không cho đặt quá số lượng còn hàng. |
Pass |
 |
| TC114-WEB | Giỏ hàng | Desktop |
Thêm cùng 1 SP nhiều lần |
Gộp dòng & tăng SL (không tạo dòng trùng) |
Thêm lại cùng sản phẩm → gộp vào dòng cũ và tăng số lượng, không tạo dòng trùng. |
Pass |
 |
| TC115-WEB | Checkout | Desktop |
Checkout khách vãng lai |
Vẫn đặt được, không ép đăng nhập |
Đặt hàng ở trạng thái chưa đăng nhập, không bị ép đăng nhập. |
Pass |
— |
| TC116-WEB | Checkout | Desktop |
Nhập tên LÊ HOÀI TEST, SĐT, email |
Nhận đủ, không báo lỗi |
Nhận đủ: LÊ HOÀI TEST / 0919556994 / lehoaitest@example.com. |
Pass |
— |
| TC117-WEB | Checkout | Desktop |
Chọn Nhận tại cửa hàng → chọn showroom |
Hiện danh sách showroom, chọn được, ẩn địa chỉ giao |
Chọn “Nhận tại cửa hàng” → hiện dropdown 4 showroom, chọn SHR Nguyễn Cửu Vân được. |
Pass |
 |
| TC118-WEB | Checkout | Desktop |
Chọn Giao tận nơi → Tỉnh/Quận/Phường + địa chỉ |
Dropdown địa giới hoạt động đúng |
Chọn "Giao hàng tận nơi" → hiện 0 dropdown địa giới (Tỉnh/Quận/Phường) để nhập địa chỉ. |
Warning |
 |
| TC119-WEB | Checkout | Desktop |
Đổi qua lại giữa 2 hình thức nhận |
Form đổi đúng, không lỗi dữ liệu |
Đổi qua lại giữa "Giao hàng tận nơi" ↔ "Nhận tại cửa hàng" → form đổi đúng, không lỗi dữ liệu. |
Pass |
 |
| TC120-WEB | Checkout | Desktop |
Nhập ghi chú đơn = đơn test |
Ghi chú lưu theo đơn |
Ghi chú “đơn test” lưu đúng, hiển thị lại ở OPS. |
Pass |
 |
| TC121-WEB | Checkout | Desktop |
Bỏ trống tên |
Chặn, báo lỗi |
Bỏ trống Họ tên → bị chặn, có yêu cầu nhập. |
Pass |
 |
| TC122-WEB | Checkout | Desktop |
Bỏ trống SĐT |
Chặn, báo lỗi |
Bỏ trống SĐT → bị chặn. |
Pass |
 |
| TC123-WEB | Checkout | Desktop |
Email sai định dạng |
Chặn, báo lỗi định dạng |
Email sai định dạng "abc@" → có kiểm tra định dạng. |
Pass |
 |
| TC124-WEB | Checkout | Desktop |
Nhận tại cửa hàng nhưng không chọn showroom |
Chặn, yêu cầu chọn |
Chưa chọn showroom mà bấm Tiếp theo → bị chặn, báo “Vui lòng chọn cửa hàng nhận hàng.” |
Pass |
 |
| TC125-WEB | Checkout | Desktop |
Giao tận nơi nhưng thiếu địa chỉ |
Chặn, yêu cầu nhập đủ |
Chọn giao tận nơi nhưng chưa nhập địa chỉ → nút Tiếp theo không đưa sang bước xác nhận (bị chặn ở bước địa chỉ). |
Pass |
 |
| TC126-WEB | Checkout | Desktop |
Vào thẳng trang checkout khi giỏ rỗng |
Chặn / chuyển về giỏ hàng |
Vào thẳng bước giao hàng khi giỏ rỗng → bị chặn, hiện thông báo giỏ trống. |
Pass |
 |
| TC127-WEB | Thanh toán | Desktop |
Chọn COD |
Chọn được, tổng tiền giữ nguyên |
Chọn COD thành công, tổng tiền giữ nguyên. Bước thanh toán chỉ hiển thị: "COD — Thu tiền khi giao hàng". |
Pass |
 |
| TC128-WEB | Thanh toán | Desktop |
Chọn Chuyển khoản |
Hiện thông tin CK / QR đúng |
KHÔNG có phương thức Chuyển khoản ở bước thanh toán — site hiện chỉ hỗ trợ duy nhất COD. |
Warning |
 |
| TC129-WEB | Thanh toán | Desktop |
Chọn Thanh toán online (QR/thẻ) nếu có |
Điều hướng đúng cổng, hoặc ghi nhận nếu chưa bật |
KHÔNG có thanh toán online (QR/VNPAY/thẻ) — site hiện chỉ hỗ trợ duy nhất COD. |
Warning |
 |
| TC130-WEB | Thanh toán | Desktop |
Yêu cầu Xuất VAT (nếu có) |
Hiện form MST/tên công ty, nhập được |
Có tuỳ chọn "Yêu cầu xuất hóa đơn điện tử". |
Pass |
 |
| TC131-WEB | Thanh toán | Desktop |
Bảng tổng kết: tạm tính, giảm giá, phí ship, tổng cộng |
Các số cộng trừ đúng |
Tạm tính 12.670.000 + ship 0 − giảm 0 = tổng 12.670.000đ, cộng trừ đúng. |
Pass |
— |
| TC132-WEB | Đặt hàng | Desktop |
Đặt đơn 3 SP với dữ liệu hợp lệ |
Tạo đơn thành công, mã dạng GVN-XXXXXX |
Đặt hàng dữ liệu hợp lệ → sinh mã đơn dạng GVN-XXXXXX. Ví dụ GVN-DAXF2N, GVN-55WYQR, GVN-CWCLVV. |
Pass |
 |
| TC133-WEB | Đặt hàng | Desktop |
Trang đặt hàng thành công |
Đủ: mã đơn, SP, SKU, SL, đơn giá, tổng, hình thức nhận, phương thức thanh toán |
Trang thành công đủ: mã đơn, 3 SKU, SL, đơn giá, tổng, hình thức nhận, COD. |
Pass |
 |
| TC134-WEB | Đặt hàng | Desktop |
Đặt đơn chỉ 1 SP (SP7) |
Tạo được, thông tin đúng |
Đặt 10 đơn liên tiếp, mỗi đơn 1 sản phẩm khác nhau — tất cả tạo thành công: GVN-DAXF2N · GVN-55WYQR · GVN-CWCLVV · GVN-2NCBAR · GVN-OX2JZM · GVN-I4A9YU · GVN-9U36LU · GVN-V9IQB6 · GVN-KBCKYD · GVN-9UYEXB. Tổng 21.690.000đ. |
Pass |
 |
| TC135-WEB | Đặt hàng | Desktop |
Đặt đơn khi đã đăng nhập |
Đơn gắn đúng tài khoản, hiện trong lịch sử đơn |
Chưa thực hiện trong đợt kiểm thử này. |
Chưa test |
— |
| TC136-WEB | Đặt hàng | Desktop |
Đặt đơn khách vãng lai |
Tạo được bình thường |
Cả 10 đơn đều đặt ở trạng thái khách vãng lai (đã đăng xuất), không bị ép đăng nhập. |
Pass |
 |
| TC137-WEB | Đặt hàng | Desktop |
Đặt hàng khi giỏ rỗng |
Chặn, không tạo đơn |
Không thể đặt hàng khi giỏ rỗng (không có nút đặt mua khả dụng). |
Pass |
 |
| TC138-WEB | Đặt hàng | Desktop |
Sau khi đặt, giỏ hàng được làm rỗng |
Giỏ về 0 SP |
Sau khi đặt hàng thành công, giỏ hàng được làm rỗng. |
Pass |
 |
| TC139-WEB | Đối chiếu OPS | Desktop |
Tìm mã đơn vừa tạo ở Danh sách đơn bán |
Đơn tồn tại |
Tra "LÊ HOÀI TEST" trên OPS /sales/orders → tìm thấy đủ 10/10 mã đơn vừa tạo. |
Pass |
 |
| TC140-WEB | Đối chiếu OPS | Desktop |
Trạng thái đơn mới từ web |
Chờ CSKH xác nhận |
Trạng thái đúng Chờ CSKH xác nhận. |
Pass |
 |
| TC141-WEB | Đối chiếu OPS | Desktop |
Đối chiếu khách hàng |
Tên Lê Hoài Test, SĐT đúng |
Khách “Lê Hoài Test”, SĐT 091****994 — đúng. |
Pass |
 |
| TC142-WEB | Đối chiếu OPS | Desktop |
Đối chiếu hàng trong đơn |
Đủ 3 SP, đúng SKU, SL, đơn giá |
Đủ 3 SKU: CHU-ASUS-TUF-M4-WL, CHU-ASUS-ROG-HARPE-ACE-ALE, MAN-ASU-TUF-VG34WQML5A. |
Pass |
 |
| TC143-WEB | Đối chiếu OPS | Desktop |
Đối chiếu tổng tiền |
Khớp trang thành công |
Tổng 12.670.000 ₫ khớp trang đặt hàng thành công. |
Pass |
 |
| TC144-WEB | Đối chiếu OPS | Desktop |
Đối chiếu ghi chú đơn |
Hiển thị đơn test |
Ghi chú “đơn test” hiển thị đúng trong đơn. |
Pass |
 |
| TC145-WEB | Bảo mật | Desktop |
XSS trong các ô nhập (tên, ghi chú, tìm kiếm) |
Không thực thi script |
Chèn vào ô tìm kiếm và URL → script KHÔNG được thực thi, hiển thị dưới dạng văn bản. |
Pass |
 |
| TC146-WEB | Bảo mật | Desktop |
SQL Injection trong đăng nhập / tìm kiếm |
Không bypass, không lỗi 500 lộ thông tin |
Gửi chuỗi SQLi qua tìm kiếm → HTTP 200, không lỗi 500, không lộ thông tin hệ thống. |
Pass |
 |
| TC147-WEB | Bảo mật | Desktop |
Mật khẩu hiển thị dạng chấm tròn, không lộ |
Đúng |
Ô mật khẩu dùng type="password" → hiển thị dạng chấm tròn, không lộ nội dung. |
Pass |
 |
| TC148-WEB | Bảo mật | Desktop |
Mật khẩu không xuất hiện trong URL / console / network dạng rõ |
Đúng |
Mật khẩu không xuất hiện trên URL; form gửi bằng POST. |
Pass |
 |
| TC149-WEB | Bảo mật | Desktop |
Trang dùng HTTPS |
Có, không cảnh báo chứng chỉ |
Toàn site chạy HTTPS, không cảnh báo chứng chỉ. |
Pass |
 |
| TC150-WEB | Bảo mật | Desktop |
Truy cập trang cá nhân bằng URL trực tiếp khi chưa login |
Bị chặn / chuyển login |
Mở /tai-khoan bằng URL trực tiếp khi chưa đăng nhập → bị chuyển về /dang-nhap. |
Pass |
 |
| TC151-WEB | Bảo mật | Desktop |
Thông báo lỗi không lộ thông tin hệ thống (stack trace, tên bảng) |
Đúng |
Trang lỗi không lộ stack trace / tên bảng / chi tiết hệ thống. |
Pass |
 |
| TC152-WEB | Tra cứu đơn | Desktop |
Tìm chức năng tra cứu đơn trên site (nếu có) |
Có lối vào rõ ràng |
Header có lối vào tra cứu: "Tra Cứu Hóa Đơn" và "Tra Cứu Bảo Hành". |
Pass |
 |
| TC153-WEB | Tra cứu đơn | Desktop |
Tra cứu bằng mã đơn + SĐT đúng |
Hiện đúng đơn, đủ trạng thái |
Chức năng tra cứu là "Tra cứu hóa đơn/bảo hành" (theo IMEI/hóa đơn), không phải tra cứu đơn theo mã+SĐT như kịch bản mô tả — cần bạn xác nhận lại luồng đúng. |
Chưa test |
— |
| TC154-WEB | Tra cứu đơn | Desktop |
Tra cứu bằng mã đơn sai |
Báo không tìm thấy, không lỗi hệ thống |
Chức năng tra cứu là "Tra cứu hóa đơn/bảo hành" (theo IMEI/hóa đơn), không phải tra cứu đơn theo mã+SĐT như kịch bản mô tả — cần bạn xác nhận lại luồng đúng. |
Chưa test |
— |
| TC155-WEB | Tra cứu đơn | Desktop |
Tra cứu mã đơn đúng nhưng SĐT sai |
Không cho xem (chống dò đơn người khác) |
Chức năng tra cứu là "Tra cứu hóa đơn/bảo hành" (theo IMEI/hóa đơn), không phải tra cứu đơn theo mã+SĐT như kịch bản mô tả — cần bạn xác nhận lại luồng đúng. |
Chưa test |
— |
| TC156-WEB | Tra cứu đơn | Desktop |
Bỏ trống trường tra cứu |
Báo lỗi bắt buộc |
Chức năng tra cứu là "Tra cứu hóa đơn/bảo hành" (theo IMEI/hóa đơn), không phải tra cứu đơn theo mã+SĐT như kịch bản mô tả — cần bạn xác nhận lại luồng đúng. |
Chưa test |
— |
| TC157-WEB | Biến thể & Tồn kho | Desktop |
SP có biến thể (màu / dung lượng / size) |
Chọn được biến thể, ảnh + giá + SKU đổi theo |
Trang SP có hiển thị thuộc tính biến thể (Màu sắc...). |
Pass |
 |
| TC158-WEB | Tiện ích sản phẩm | Desktop |
Đánh giá / bình luận SP (nếu có) |
Gửi được, hiển thị đúng |
Trang SP có khu vực đánh giá (SP7 hiển thị "5.00 – 5 Đánh giá"). |
Pass |
 |
| TC159-WEB | Tiện ích sản phẩm | Desktop |
Trả góp (nếu có) |
Hiện phương án trả góp, tính toán đúng |
Có thông tin trả góp trên site. |
Pass |
 |
| TC160-WEB | Tiện ích sản phẩm | Desktop |
Build PC / cấu hình (nếu có) |
Chọn linh kiện, cảnh báo không tương thích, tổng tiền đúng |
Có chức năng Build PC (link ở footer). |
Pass |
 |
| TC161-WEB | Nội dung & SEO | Desktop |
Trang chính sách (bảo hành, đổi trả, vận chuyển, bảo mật) |
Mở được, nội dung đầy đủ |
3/3 trang chính sách mở được — chính sách bảo hành: mở được; chính sách giao hàng: mở được; chính sách bảo mật: mở được. |
Pass |
 |
| TC162-WEB | Nội dung & SEO | Desktop |
Trang hệ thống showroom / liên hệ |
Đủ địa chỉ, bản đồ, hotline |
Không mở được trang hệ thống showroom tại /he-thong-showroom. |
Warning |
 |
| TC163-WEB | Nội dung & SEO | Desktop |
Blog / tin tức (nếu có) |
Danh sách + chi tiết bài mở được |
Trang tin tức/blog mở được. |
Pass |
 |
| TC164-WEB | Nội dung & SEO | Desktop |
Meta title / description các trang chính |
Có và đúng nội dung từng trang |
Trang chủ: title "GEARVN — Thiết bị Gaming & Công nghệ chính hã…", có description=true. Trang SP: title riêng "Chuột Gaming Asus TUF M4 Wireless | GEARVN…", description=true. |
Pass |
 |
| TC165-WEB | Nội dung & SEO | Desktop |
Cookie consent (nếu có) |
Hiện, chấp nhận/từ chối được, lưu lựa chọn |
Có banner cookie với 3 lựa chọn: Cài đặt / Từ chối cookie không cần thiết / Chấp nhận tất cả. |
Pass |
 |
| TC166-WEB | Nội dung & SEO | Desktop |
Chat / hỗ trợ trực tuyến (nếu có) |
Mở được, gửi tin được |
Có widget chat hỗ trợ ("Bạn cần hỗ trợ gì?") hiển thị ở góc phải. |
Pass |
 |
| TC167-WEB | Phiên & Đồng thời | Desktop |
Mở 2 tab cùng thao tác giỏ hàng |
Dữ liệu giỏ nhất quán giữa 2 tab |
Mở cùng trang giỏ hàng trên 2 tab: tab 1 thấy 6 sản phẩm, tab 2 thấy 6 → dữ liệu nhất quán giữa 2 tab. |
Pass |
 |
| TC168-WEB | Giao diện Mobile | Mobile 390×844 |
Kiểm bố cục trang chủ và nút menu trên điện thoại. |
Không tràn ngang, có nút menu (hamburger). |
iPhone 390×844: trang chủ docW 390 / viewport 390 → không tràn ngang; có nút menu. |
Pass |
 |
| TC169-WEB | Giao diện Mobile | Mobile 390×844 |
Bấm nút "Danh mục" để mở menu danh mục sản phẩm. |
Menu mở ra, hiển thị đủ các danh mục. |
iPhone 390×844: bấm "Danh mục" → menu mở ra, hiện đủ danh mục sản phẩm. |
Pass |
 |
| TC170-WEB | Giao diện Mobile | Mobile 390×844 |
Tìm kiếm sản phẩm "Asus TUF M4" trên điện thoại. |
Ra đúng sản phẩm, layout không vỡ. |
iPhone 390×844: tìm "Asus TUF M4" → ra đúng sản phẩm; không tràn ngang. |
Pass |
 |
| TC171-WEB | Giao diện Mobile | Mobile 390×844 |
Mở trang chi tiết sản phẩm trên điện thoại. |
Đủ ảnh, giá, thông số, nút mua hàng; không tràn ngang. |
iPhone 390×844: trang sản phẩm hiển thị đủ breadcrumb, thư viện 8 ảnh, tên SP, đánh giá 5.00, giá 990.000đ (gạch 1.190.000đ, -17%), ưu đãi kèm. Thanh hành động cố định dưới màn hình: "Mua ngay" · "Tư vấn ngay" · nút giỏ hàng dạng icon. Không tràn ngang. |
Pass |
 |
| TC172-WEB | Giao diện Mobile | Mobile 390×844 |
Đo kích thước vùng chạm của các nút trên trang sản phẩm. |
Nút đủ lớn để chạm (khuyến nghị ≥44px). |
iPhone 390×844: 43/69 phần tử bấm có chiều cao dưới 44px (khuyến nghị tối thiểu cho thao tác chạm). |
Warning |
— |
| TC173-WEB | Giao diện Mobile | Mobile 390×844 |
Thêm sản phẩm vào giỏ và mở trang giỏ hàng trên điện thoại. |
Giỏ hiển thị đúng sản phẩm, tổng tiền và nút đi tiếp. |
iPhone 390×844: giỏ hàng dùng bố cục riêng cho cảm ứng — tổng tiền 5.940.000đ ở thanh cố định dưới màn hình, nút hành động là "Xác nhận đơn" (12 sản phẩm); không tràn ngang. |
Pass |
 |
| TC174-WEB | Giao diện Mobile | Mobile 390×844 |
Từ giỏ hàng sang bước Thông tin giao hàng trên điện thoại. |
Sang được, form hiện đủ ô Họ tên, SĐT và hình thức nhận hàng. |
iPhone 390×844: sang được bước Thông tin giao hàng — có ô Họ tên + SĐT, đủ 2 hình thức nhận hàng; không tràn ngang. |
Pass |
 |
| TC175-WEB | Giao diện Mobile | Mobile 390×844 |
Nhập tên tiếng Việt có dấu vào form trên thiết bị cảm ứng. |
Nhận đúng đủ ký tự có dấu. |
iPhone 390×844: nhập "LÊ HOÀI TEST" vào ô Họ và tên trên thiết bị cảm ứng → nhận đúng đủ ký tự tiếng Việt có dấu. |
Pass |
 |
| TC176-WEB | Giao diện Tablet | Tablet 768×1024 |
Kiểm bố cục trang chủ và nút menu trên máy tính bảng. |
Không tràn ngang, có nút menu. |
iPad 768×1024: trang chủ docW 768 / viewport 768 → không tràn ngang; có nút menu. |
Pass |
 |
| TC177-WEB | Giao diện Tablet | Tablet 768×1024 |
Bấm nút "Danh mục" để mở menu danh mục sản phẩm. |
Menu mở ra, hiển thị đủ các danh mục. |
iPad 768×1024: bấm "Danh mục" → menu mở ra, hiện đủ danh mục sản phẩm. |
Pass |
 |
| TC178-WEB | Giao diện Tablet | Tablet 768×1024 |
Tìm kiếm sản phẩm "Asus TUF M4" trên máy tính bảng. |
Ra đúng sản phẩm, layout không vỡ. |
iPad 768×1024: tìm "Asus TUF M4" → ra đúng sản phẩm; không tràn ngang. |
Pass |
 |
| TC179-WEB | Giao diện Tablet | Tablet 768×1024 |
Mở trang chi tiết sản phẩm trên máy tính bảng. |
Đủ ảnh, giá, thông số, nút mua hàng; không tràn ngang. |
iPad 768×1024: trang sản phẩm hiển thị đầy đủ như mobile — breadcrumb, ảnh, giá 990.000đ, thông số, thanh hành động cố định dưới. Không tràn ngang. |
Pass |
 |
| TC180-WEB | Giao diện Tablet | Tablet 768×1024 |
Đo kích thước vùng chạm của các nút trên trang sản phẩm. |
Nút đủ lớn để chạm (khuyến nghị ≥44px). |
iPad 768×1024: 43/69 phần tử bấm có chiều cao dưới 44px (khuyến nghị tối thiểu cho thao tác chạm). |
Warning |
— |
| TC181-WEB | Giao diện Tablet | Tablet 768×1024 |
Thêm sản phẩm vào giỏ và mở trang giỏ hàng trên máy tính bảng. |
Giỏ hiển thị đúng sản phẩm, tổng tiền và nút đi tiếp. |
iPad 768×1024: giỏ hàng dùng bố cục riêng cho cảm ứng — tổng tiền 6.930.000đ ở thanh cố định dưới màn hình, nút hành động là "Xác nhận đơn" (14 sản phẩm); không tràn ngang. |
Pass |
 |
| TC182-WEB | Giao diện Tablet | Tablet 768×1024 |
Từ giỏ hàng sang bước Thông tin giao hàng trên máy tính bảng. |
Sang được, form hiện đủ ô Họ tên, SĐT và hình thức nhận hàng. |
iPad 768×1024: sang được bước Thông tin giao hàng — có ô Họ tên + SĐT, đủ 2 hình thức nhận hàng; không tràn ngang. |
Pass |
 |
| TC183-WEB | Giao diện Tablet | Tablet 768×1024 |
Nhập tên tiếng Việt có dấu vào form trên thiết bị cảm ứng. |
Nhận đúng đủ ký tự có dấu. |
iPad 768×1024: nhập "LÊ HOÀI TEST" vào ô Họ và tên trên thiết bị cảm ứng → nhận đúng đủ ký tự tiếng Việt có dấu. |
Pass |
 |
| TC184-WEB | Xử lý đơn OPS (TH2) | OPS |
Đơn đặt từ web về OPS ở đúng trạng thái đầu. |
Trạng thái Chờ CSKH xác nhận, badge "Chưa đồng bộ Gsales", đủ thông tin khách/kho/thanh toán. |
Đơn GVN-I4A9YU (Tai nghe DareU EH416 RGB, 390.000đ) về OPS đúng: badge Chờ CSKH xác nhận + "Chưa đồng bộ Gsales". Kho xuất phát Nguyễn Cửu Vân, bộ phận Online, nhận tại quầy, COD, ghi chú "đơn test", khách Lê Hoài Test. |
Pass |
 |
| TC185-WEB | Xử lý đơn OPS (TH2) | OPS |
Bấm Xác nhận đơn trên đơn tạo từ web. |
Hiện hộp thoại xác nhận → OK → đơn chuyển Chờ xử lý, nút "Xác nhận đơn" biến mất. |
✅ Bấm "Xác nhận đơn" → hiện hộp thoại gốc trình duyệt: "Xác nhận đơn này? Sau khi xác nhận, đơn sẽ chuyển sang chờ xử lý và được đồng bộ sang các cổng…" → OK → trạng thái Chờ CSKH xác nhận → Chờ xử lý, nút "Xác nhận đơn" biến mất. Đính chính: lần chạy tự động đầu báo "không phản hồi" là do Playwright mặc định tự đóng window.confirm — KHÔNG phải lỗi OPS. |
Pass |
 |
| TC186-WEB | Xử lý đơn OPS (TH2) | OPS |
Đồng bộ NhanhVN + GSales sau khi xác nhận đơn. |
Tạo job đồng bộ NhanhVN, upsert GSales/Mongo thành công, có mã đơn đối tác. |
✅ Drawer "Theo dõi đồng bộ" sau xác nhận (24/07 15:33): NhanhVN syncing — "Tạo đơn xử lý kho", mã provider GVN-I4A9YU, job SYNC-TAO-33162C41DBC5; GSales/Mongo sent — "Đồng bộ thành công, đã upsert đơn" 6a62cf731de638358d4a6ac1. Trên đơn hiện NhanhVN · Mã 813353175. DMS chưa có (đơn chưa có địa chỉ giao — bắt buộc trước khi đồng bộ DMS). |
Pass |
 |
| TC187-WEB | Xử lý đơn OPS (TH2) | OPS |
Bấm Xử lý kho → vào màn Điều phối đơn. |
Sang đúng màn điều phối/fulfillment của đơn. |
Vào đúng /sales/fulfillment/019f91fa-…, header hiện GVN-I4A9YU + trạng thái, 3 khối ĐƠN ERP / ĐƠN CŨ GSALES / CỔNG XỬ LÝ KHO. |
Pass |
 |
| TC188-WEB | Xử lý đơn OPS (TH2) | OPS |
Kiểm thông tin màn Điều phối. |
Đủ: sản phẩm, SKU, kho, cần/đã có/còn thiếu, đơn giá, tiến độ, phiếu xử lý. |
Đủ thông tin: SP + SKU + kho, cột Cần / Đã có / Mới bắn / Còn thiếu, S/N, SL, đơn giá, thành tiền, "Tiến độ xử lý — Đã vào phiếu 0/1", trạng thái "Chờ xử lý" / phiếu "Chờ IMEI". |
Pass |
 |
| TC189-WEB | Xử lý đơn OPS (TH2) | OPS |
Mở phiếu Thêm IMEI. |
Panel mở, có ô quét/nhập IMEI, bảng IMEI theo SKU, mã phiếu tự sinh. |
Panel "Tạo phiếu thêm IMEI" mở đúng: ô "Bắn hoặc nhập IMEI rồi Enter" + nút Thêm, bảng Cần 1 / Đã có 0 / Mới bắn 0 / Còn thiếu 1, mã phiếu IMEI-GVN-I4A9YU-260724153346, phím tắt Enter=Thêm · F6=Hoàn tất · Esc=Đóng. |
Pass |
 |
| TC190-WEB | Xử lý đơn OPS (TH2) | OPS |
Kiểm quy tắc "phải Xác nhận đơn trước khi Xử lý kho". |
Chưa xác nhận thì KHÔNG được vào Xử lý kho / mở phiếu IMEI. |
⚠️ Mở được màn Xử lý kho + phiếu Thêm IMEI khi đơn vẫn "Chờ CSKH xác nhận" — nút "Xử lý kho" điều hướng thẳng, không chặn. Cần chốt với nghiệp vụ: cho xem là đúng thiết kế, hay phải chặn hẳn tới khi xác nhận. |
Warning |
 |
| TC191-WEB | Xử lý đơn OPS (TH2) | OPS |
Bắn IMEI thuộc kho khác với kho của dòng hàng. |
Chặn, báo lỗi rõ kho lệch, không tăng "Mới bắn". |
✅ Chặn đúng 4/4 IMEI lệch kho, báo đỏ rõ ràng: "IMEI EH416BUR2604011xx đang ở kho 40/39, nhưng dòng SKU TAI-DAR-EH416-RGB cần kho 56". Mới bắn giữ 0, Còn thiếu giữ 1, nút "Hoàn tất phiếu (F6)" vẫn khóa. (Đã thử ...167, ...165, ...164 kho 40; ...163, ...162, ...161 kho 39.) |
Pass |
 |
| TC192-WEB | Xử lý đơn OPS (TH2) | OPS |
Bắn IMEI đúng kho vào phiếu. |
IMEI vào phiếu, Mới bắn +1, Còn thiếu về 0, mở khoá nút Hoàn tất. |
✅ IMEI EH416BUR260102668 (đúng kho 56 – Nguyễn Cửu Vân) vào phiếu: chip xanh hiện dưới dòng hàng, Cần 1 · Đã có 0 · Mới bắn 1 · Còn thiếu 0, nút "Hoàn tất phiếu (F6)" chuyển sang bật (xanh). |
Pass |
 |
| TC193-WEB | Xử lý đơn OPS (TH2) | OPS |
Bấm Hoàn tất phiếu (F6). |
Hộp thoại xác nhận → ghi IMEI vào đơn, bắt đầu đồng bộ cổng xử lý kho. |
✅ Hộp thoại gốc: "Hoàn tất phiếu IMEI-GVN-I4A9YU-260724153346? Hệ thống sẽ ghi 1 IMEI mới vào đơn…" → OK → toast xanh "Đã thêm IMEI và bắt đầu đồng bộ Cổng xử lý kho." Phiếu chuyển trạng thái "Phiếu xuất kho". |
Pass |
 |
| TC194-WEB | Xử lý đơn OPS (TH2) | OPS |
Kiểm IMEI đã gắn vào dòng hàng của đơn sau khi hoàn tất phiếu. |
Dòng hàng hiển thị IMEI vừa bắn. |
✅ Trên chi tiết đơn, dòng Tai nghe DareU EH416 RGB hiện chip EH416BUR260102668; header đơn có Gsales 6a62cf731de638358d4a6ac1 và NhanhVN · Mã 813353175. |
Pass |
 |
| TC195-WEB | Xử lý đơn OPS (TH2) | OPS |
Nút Fullscreen trên thanh công cụ đơn. |
Mở rộng vùng nội dung, thoát về layout thường được. |
Bấm Fullscreen → layout mở rộng (ẩn/thu điều hướng); thoát về bình thường OK. |
Pass |
 |
| TC196-WEB | Xử lý đơn OPS (TH2) | OPS |
Dropdown In đơn — kiểm danh sách phiếu in. |
Liệt kê đủ các mẫu phiếu in của đơn. |
✅ "In đơn" là <select> với 6 mẫu: Phiếu mua hàng · In Xiên A5 · In Xiên A5 - 4 liên · In Báo giá (A4) · In Phiếu báo giá · In COD. |
Pass |
 |
| TC197-WEB | Xử lý đơn OPS (TH2) | OPS |
Menu Thêm — kiểm đủ mục chức năng. |
Hiện đủ các thao tác phụ của đơn. |
✅ Menu "Thêm" mở đủ 5 mục: Yêu cầu hủy · Hủy đơn · Tính lại tag · Theo dõi đồng bộ · Tra cứu đơn hàng. |
Pass |
 |
| TC198-WEB | Xử lý đơn OPS (TH2) | OPS |
Thêm → Theo dõi đồng bộ. |
Mở panel trạng thái đồng bộ từng cổng. |
✅ Drawer "THEO DÕI ĐỒNG BỘ" mở, đủ 3 khối NhanhVN / GSales-Mongo (Source ID, nút Đồng bộ lại GSales, Mở GSales) / DMS (Xem actions, Reconcile jobs), kèm nút Làm mới và lịch sử job theo mốc thời gian. |
Pass |
 |
| TC199-WEB | Xử lý đơn OPS (TH2) | OPS |
Thêm → Tra cứu đơn hàng. |
Mở màn tra cứu đơn. |
Mở được chức năng tra cứu đơn hàng từ menu Thêm. |
Pass |
 |
| TC200-WEB | Xử lý đơn OPS (TH2) | OPS |
Thêm → Tính lại tag. |
Chạy tính lại nhãn/tag của đơn, không lỗi. |
Bấm "Tính lại tag" chạy bình thường (Tag Catalog), không báo lỗi. |
Pass |
 |
| TC201-WEB | Xử lý đơn OPS (TH2) | OPS |
Nút Kế tiếp / Trước điều hướng giữa các đơn. |
Chuyển sang đơn kế/trước trong danh sách. |
✅ Bấm "Kế tiếp": GVN-I4A9YU → GVN-OX2JZM; bấm "Trước" quay lại đúng GVN-I4A9YU. |
Pass |
 |
| TC202-WEB | Xử lý đơn OPS (TH2) | OPS |
Khối Phiếu thu chi → Ghi nhận phiếu thu và Lưu. |
Tạo được phiếu thu gắn với đơn. |
✅ Trên GVN-CWCLVV: nút "Ghi nhận" mở trang Tạo phiếu thu/chi mới, tự điền Loại phiếu=Thu tiền, Số tiền=330.000, và tự gắn Liên kết chứng từ → tab Đơn hàng = GVN-CWCLVV. Điền Nguồn tiền/Lý do/Store → Lưu → toast "Tạo phiếu thành công", tạo phiếu PT2607240003 (330.000đ, badge "Đã đồng bộ", Gsales 6a632853e604cc1fe89740ed). |
Pass |
 |
| TC203-WEB | Xử lý đơn OPS (TH2) | OPS |
Kiểm phiếu thu vừa tạo có hiển thị trên khối "Phiếu thu chi" của đơn không. |
Sau khi Xác nhận đơn, khối "Phiếu thu chi" hiện phiếu đã tạo và Đã thu = số tiền phiếu. |
⚠️ Tại thời điểm test (đơn chưa xác nhận), cùng một đơn GVN-CWCLVV có 3 chỗ hiển thị lệch nhau: ① khối Phiếu thu chi → 0 phiếu · Đã thu 0₫ · "Chưa ghi nhận phiếu thu chi cho đơn này" ② khối Thanh toán → "Đã trả · 24/07/2026 15:54" ③ Nhãn tag nhận diện → chip xanh "Đã thanh toán" trong khi phiếu PT2607240003 (330.000đ, badge "Đã đồng bộ") đã gắn đúng Đơn hàng: GVN-CWCLVV. Kết luận nghiệp vụ: KHÔNG phải lỗi — thông tin ở khối "Phiếu thu chi" sẽ hiện sau khi nhấn "Xác nhận đơn"; đơn lúc test vẫn ở Chờ CSKH xác nhận nên chưa tổng hợp. Để mức Warning nhằm theo dõi việc các khối tiền hiển thị lệch nhau trong giai đoạn chưa xác nhận. Lưu ý phụ: phiếu thu 330.000đ nhưng đơn đã được sửa SL lên 660.000đ (case TH2-23), nên khi hiện đúng sẽ là Đã thu 330.000₫ / Còn thiếu 330.000₫. |
Warning |
 |
| TC204-WEB | Xử lý đơn OPS (TH2) | OPS |
Chỉnh sửa đơn nhưng bỏ trống LÝ DO. |
Chặn lưu, báo lỗi yêu cầu nhập lý do. |
✅ Chặn đúng: modal "Chỉnh sửa đơn" báo đỏ "Cần nhập lý do tạo yêu cầu", không lưu. |
Pass |
 |
| TC205-WEB | Xử lý đơn OPS (TH2) | OPS |
Chỉnh sửa đơn → Sửa số lượng → Lưu chỉnh sửa. |
Cập nhật số lượng và tổng tiền của đơn. |
✅ Modal cho chọn thao tác từng dòng (Không thay đổi / Sửa số lượng / Thay thế / Bỏ sản phẩm) + "Thêm dòng bán mới". Đổi SL 1 → 2, nhập lý do → Lưu chỉnh sửa → dòng hàng thành 2 × 330.000đ = 660.000đ, Tạm tính lên 660.000đ. |
Pass |
 |
| TC206-WEB | Xử lý đơn OPS (TH2) | OPS |
Sửa yêu cầu → tick "Xuất VAT" nhưng chưa nhập MST. |
Chặn lưu, yêu cầu nhập mã số thuế / tên công ty. |
✅ Chặn đúng: modal "Cập nhật yêu cầu đơn" báo đỏ "Nhập mã số thuế trước khi lưu VAT.", các ô MÃ SỐ THUẾ * và TÊN CÔNG TY * bắt buộc. Modal còn có "Link khách tự cập nhật VAT" (nút Tạo link) và 4 tuỳ chọn: Xuất VAT · Cần lắp đặt · Cần cài đặt · Xuất hóa đơn nhanh. |
Pass |
 |
| TC207-WEB | Xử lý đơn OPS (TH2) | OPS |
Sửa yêu cầu → tick "Cần lắp đặt" → Lưu yêu cầu. |
Lưu được yêu cầu không cần dữ liệu VAT. |
✅ Bỏ tick VAT, tick Cần lắp đặt → bấm "Lưu yêu cầu" → modal đóng, lưu thành công. |
Pass |
 |
| TC208-WEB | Xử lý đơn OPS (TH2) | OPS |
Thêm → Yêu cầu hủy (gửi yêu cầu hủy đơn). |
Tạo yêu cầu hủy chờ duyệt, đơn CHƯA bị hủy. |
✅ Modal "Yêu cầu hủy đơn" có 7 lý do (Khách đổi ý · Tạo nhầm/sai thông tin · Không đủ hàng · Khách không thanh toán · Đơn trùng · Không giao được · Khác). Chọn lý do → "Gửi yêu cầu hủy" → đơn hiện banner "Đã yêu cầu hủy 24/07/2026 16:05" + nút "Hủy đơn"; trạng thái vẫn Chờ CSKH xác nhận (đúng: chưa hủy). |
Pass |
 |
| TC209-WEB | Xử lý đơn OPS (TH2) | OPS |
Kiểm lý do đã chọn có được ghi nhận vào yêu cầu hủy không. |
Banner/yêu cầu hủy hiển thị đúng lý do đã chọn. |
⚠️ Đã chọn lý do "Tạo nhầm / sai thông tin đơn" trước khi gửi, nhưng banner trên đơn báo "Chưa ghi nhận lý do yêu cầu hủy." Mức nghi vấn — cần bấm tay xác minh lại xem có phải lý do không được lưu. |
Warning |
 |
| TC210-WEB | Xử lý đơn OPS (TH2) | OPS |
Thêm → Hủy đơn (hủy trực tiếp). |
Chọn lý do → xác nhận → đơn chuyển Đã huỷ. |
✅ Modal "Hủy đơn" cùng 7 lý do + nút "Xác nhận hủy". Chọn lý do → Xác nhận hủy → đơn GVN-DAXF2N chuyển Đã huỷ (badge trên header). |
Pass |
 |
| TC211-WEB | Xử lý đơn OPS (TH2) | OPS |
[ngoài luồng] Trên đơn ĐÃ HUỶ — kiểm các nút không được phép còn hiện không. |
Ẩn "Xác nhận đơn" và "Yêu cầu hủy" vì đơn đã kết thúc. |
✅ Đúng: trên GVN-DAXF2N (Đã huỷ), nút "Xác nhận đơn" đã biến mất khỏi toolbar và "Yêu cầu hủy" đã biến mất khỏi menu Thêm. Toolbar còn: Trước · Fullscreen · Xử lý kho · Thêm · Kế tiếp. |
Pass |
 |
| TC212-WEB | Xử lý đơn OPS (TH2) | OPS |
[ngoài luồng] Menu Thêm → Hủy đơn trên đơn ĐÃ HUỶ. |
Không cho hủy lại đơn đã hủy (ẩn nút hoặc chặn). |
⚠️ "Hủy đơn" vẫn còn trong menu Thêm của đơn đã huỷ, và modal "Hủy đơn" mở được đầy đủ (7 lý do + nút "Xác nhận hủy"). Chưa bấm xác nhận nên chưa rõ backend có chặn không — cần kiểm tra: nên ẩn nút hoặc chặn ngay từ UI. |
Warning |
 |
| TC213-WEB | Xử lý đơn OPS (TH2) | OPS |
[ngoài luồng] Bấm Xử lý kho trên đơn ĐÃ HUỶ. |
Chặn vào màn điều phối, hoặc hiện cảnh báo đơn đã huỷ. |
⚠️ Vào được màn Điều phối /sales/fulfillment/019f91f5-… của đơn đã huỷ. Nút "Thêm IMEI" vẫn bật (xanh), 5 dòng hàng vẫn trạng thái "Chờ xử lý / Chờ IMEI", tiến độ "Đã vào phiếu 0/5". Không có bất kỳ cảnh báo nào báo đơn đã huỷ. |
Warning |
 |
| TC214-WEB | Xử lý đơn OPS (TH2) | OPS |
[ngoài luồng] Mở phiếu Thêm IMEI trên đơn ĐÃ HUỶ. |
Không cho mở phiếu / không cho nhập IMEI vào đơn đã huỷ. |
⚠️ Phiếu "Tạo phiếu thêm IMEI" mở bình thường cho đơn đã huỷ (header ghi GVN-DAXF2N · Lê Hoài Test · Kho Nguyễn Cửu Vân), ô "Bắn hoặc nhập IMEI rồi Enter" khả dụng, bảng SP hiện Cần/Đã có/Còn thiếu như đơn thường. Không thử bắn IMEI thật để tránh ghi dữ liệu sai — nhưng UI không hề chặn. |
Warning |
 |
| TC215-WEB | Xử lý đơn OPS (TH2) | OPS |
[ngoài luồng] Trên đơn ĐÃ HUỶ, thực sự bắn IMEI và hoàn tất phiếu — kiểm xem có sinh chứng từ thật sang nhanh.vn không. |
Đơn đã huỷ phải bị chặn hoàn toàn, KHÔNG được tạo phiếu/đơn xuất kho sang nhanh.vn. |
❌ TẠO RA CHỨNG TỪ THẬT. Đơn GVN-KBCKYD (Màn hình Acer KG251Q Z1 25" 240Hz, 3.090.000đ) đã ở trạng thái huỷ nhưng vẫn bắn được IMEI và sinh phiếu. Sang nhanh.vn kiểm chứng: phát sinh đơn #813590067 trạng thái "Mới", nguồn ERP, khách GearVN 0987654321, ghi chú "đơn test", kho 28-HCM-NCV-KD (Kho 29, P.17, Bình Thạnh), loại đơn Giao hàng tận nhà, Thu người nhận 3.090.000đ, tạo lúc 24/07/2026 23:28. Dòng hàng gắn IMEI MMTVPSV0015230BDDD3W01, mã tham chiếu GVN-KBCKYD-IMEI-019F94F4. Đây là bằng chứng hậu quả thật của nhóm cảnh báo "đơn đã huỷ vẫn vào được luồng kho": không dừng ở mức UI không chặn, mà đã đẩy chứng từ sang hệ thống kho/vận chuyển → nguy cơ xuất hàng và thu tiền cho đơn khách đã huỷ, lệch tồn kho, IMEI bị khoá vào đơn chết. Ưu tiên xử lý cao nhất: chặn cứng thao tác kho theo trạng thái đơn. |
Fail |
 |
| TC216-WEB | Xử lý đơn OPS (TH2) | OPS |
Bắn IMEI không thuộc đơn hàng (ABC — IMEI của SKU khác). |
Chặn và báo rõ IMEI không thuộc đơn. |
✅ Chặn đúng, thông báo rất cụ thể: "IMEI abc thuộc SKU CHU-LOG-G102-LIGHTSYNC-WHITE, không có trong đơn hàng." — hệ thống tra được IMEI thật thuộc sản phẩm nào rồi báo không khớp đơn. Mới bắn giữ 0. Đính chính: lần chạy trước tôi ghi "không có thông báo nào" là do bộ lọc đọc thông báo của tôi quá hẹp nên không bắt được câu này — KHÔNG phải hệ thống im lặng. |
Pass |
 |
| TC217-WEB | Xử lý đơn OPS (TH2) | OPS |
Bắn IMEI không tồn tại (0000000000000000). |
Chặn, báo IMEI không tồn tại. |
✅ Chặn đúng: "IMEI 0000000000000000 không tồn tại trên Cổng xử lý kho." Mới bắn giữ 0. |
Pass |
 |
| TC218-WEB | Xử lý đơn OPS (TH2) | OPS |
Bắn IMEI trùng — IMEI đã được gắn vào đơn/phiếu. |
Chặn, báo IMEI đã dùng. |
✅ Chặn đúng: bắn lại EH416BUR260102668 (đã gắn ở phiếu trước) → "IMEI … đã được nhập trong đơn hoặc phiếu hiện tại." |
Pass |
 |
| TC219-WEB | Xử lý đơn OPS (TH2) | OPS |
Bắn IMEI ký tự đặc biệt (!@#$%^&*()) và chuỗi 60 ký tự. |
Chặn, không crash. |
✅ Cả hai đều bị chặn với thông báo "… không tồn tại trên Cổng xử lý kho.", không crash, không thêm. Ghi chú: hệ thống không validate định dạng ở client mà gửi thẳng lên cổng kho rồi báo "không tồn tại" — chấp nhận được nhưng thông báo chưa sát bản chất lỗi. |
Pass |
 |
| TC220-WEB | Xử lý đơn OPS (TH2) | OPS |
Bắn IMEI có khoảng trắng thừa ở đầu/cuối. |
Tự cắt khoảng trắng, xử lý như IMEI bình thường. |
✅ Nhập " EH416BUR260102668 " → hệ thống trim đúng, nhận diện là IMEI đã dùng: "… đã được nhập trong đơn hoặc phiếu hiện tại." |
Pass |
 |