Thông tin chung

Dự ánGEARVN Web V2
PhasePhase 1
URL kiểm thửhttps://gearvn-web-v2.cloud-gearvn.workers.dev
Phạm vi phiên đăng nhậpĐợt này chỉ kiểm thử ở trạng thái CHƯA ĐĂNG NHẬP (khách vãng lai / đã đăng xuất).

Web

Chức năngThiết bịKịch bản Kết quả mong đợiKết quả thực tế Trạng tháiHình ảnh minh họa
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 TC01-WEB
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 TC02-WEB
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 TC03-WEB
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 TC05-WEB
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 TC06-WEB
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 TC07-WEB
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 TC08-WEB
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 TC09-WEB
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 TC10-WEB
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 TC11-WEB
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 TC12-WEB
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 TC13-WEB
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 TC14-WEB
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 TC15-WEB
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 TC16-WEB
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 TC17-WEB
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 TC18-WEB
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 TC20-WEB
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 TC21-WEB
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 TC22-WEB
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 TC23-WEB
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 TC24-WEB
TC25-WEBĐăng nhậpDesktop 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 TC25-WEB
TC26-WEBĐăng nhậpDesktop Đă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 TC26-WEB
TC27-WEBĐăng nhậpDesktop Đă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ậpDesktop 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 TC28-WEB
TC29-WEBĐăng nhậpDesktop 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 TC29-WEB
TC30-WEBĐăng nhậpDesktop 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 TC30-WEB
TC31-WEBĐăng nhậpDesktop 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 TC31-WEB
TC32-WEBĐăng nhậpDesktop 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 TC32-WEB
TC33-WEBĐăng nhậpDesktop 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 TC33-WEB
TC34-WEBĐăng nhậpDesktop 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 TC34-WEB
TC35-WEBĐăng nhậpDesktop 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 TC35-WEB
TC36-WEBĐăng nhậpDesktop 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 TC36-WEB
TC37-WEBĐăng nhậpDesktop 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 TC37-WEB
TC38-WEBĐăng nhậpDesktop 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 TC38-WEB
TC39-WEBĐăng nhậpDesktop 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 TC39-WEB
TC40-WEBĐăng nhậpDesktop 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 TC40-WEB
TC41-WEBĐăng xuấtDesktop 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 TC41-WEB
TC42-WEBĐăng xuấtDesktop 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 TC42-WEB
TC43-WEBĐăng xuấtDesktop 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 TC43-WEB
TC44-WEBĐăng xuấtDesktop 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 TC44-WEB
TC45-WEBĐăng xuấtDesktop 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 TC45-WEB
TC46-WEBĐăng xuấtDesktop Đă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 TC46-WEB
TC47-WEBQuên mật khẩuDesktop 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 TC47-WEB
TC48-WEBQuên mật khẩuDesktop 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 TC48-WEB
TC49-WEBQuên mật khẩuDesktop 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 TC49-WEB
TC50-WEBQuên mật khẩuDesktop 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 TC50-WEB
TC51-WEBQuên mật khẩuDesktop 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 TC51-WEB
TC52-WEBQuên mật khẩuDesktop Đặ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 TC52-WEB
TC53-WEBQuên mật khẩuDesktop Đă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 TC53-WEB
TC54-WEBQuên mật khẩuDesktop Đă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 TC54-WEB
TC55-WEBQuên mật khẩuDesktop 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 TC55-WEB
TC56-WEBHồ sơ tài khoảnDesktop 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 TC56-WEB
TC57-WEBHồ sơ tài khoảnDesktop 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 TC57-WEB
TC58-WEBHồ sơ tài khoảnDesktop Đổ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 TC58-WEB
TC59-WEBHồ sơ tài khoảnDesktop 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 TC59-WEB
TC60-WEBHồ sơ tài khoảnDesktop 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 TC60-WEB
TC61-WEBHồ sơ tài khoảnDesktop 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-WEBGiao diện UI/UXDesktop 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 TC62-WEB
TC63-WEBGiao diện UI/UXDesktop 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 TC63-WEB
TC64-WEBGiao diện UI/UXDesktop + 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 TC64-WEB
TC65-WEBGiao diện UI/UXDesktop Đ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 TC65-WEB
TC66-WEBGiao diện UI/UXDesktop 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 TC66-WEB
TC67-WEBGiao diện UI/UXDesktop 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 TC67-WEB
TC68-WEBGiao diện UI/UXDesktop 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 TC68-WEB
TC69-WEBGiao diện UI/UXDesktop 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 TC69-WEB
TC70-WEBGiao diện UI/UXDesktop 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 TC70-WEB
TC71-WEBGiao diện UI/UXDesktop 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 TC71-WEB
TC72-WEBGiao diện UI/UXDesktop 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 TC72-WEB
TC73-WEBGiao diện UI/UXDesktop 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 TC73-WEB
TC74-WEBGiao diện UI/UXDesktop 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 TC74-WEB
TC75-WEBGiao diện UI/UXDesktop 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 TC75-WEB
TC76-WEBGiao diện UI/UXDesktop 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-WEBGiao diện UI/UXDesktop 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 TC77-WEB
TC78-WEBGiao diện UI/UXDesktop 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 TC78-WEB
TC79-WEBGiao diện UI/UXDesktop 1920×1080 Desktop 1920×1080 Bố cục cân đối, không tràn ngang docW 1905 / view 1920, overflow 0px. Pass TC79-WEB
TC80-WEBGiao diện UI/UXDesktop 1366×768 Desktop 1366×768 Không vỡ, không cần cuộn ngang docW 1351 / view 1366, overflow 0px. Pass TC80-WEB
TC81-WEBGiao diện UI/UXTablet 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 TC81-WEB
TC82-WEBGiao diện UI/UXMobile 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 TC82-WEB
TC83-WEBGiao diện UI/UXMobile 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 TC83-WEB
TC84-WEBGiao diện UI/UXDesktop 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 TC84-WEB
TC85-WEBGiao diện UI/UXDesktop Ả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 TC85-WEB
TC86-WEBGiao diện UI/UXDesktop 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-WEBGiao diện UI/UXDesktop 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-WEBGiao diện UI/UXDesktop 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 TC88-WEB
TC89-WEBGiao diện UI/UXDesktop Đị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 TC89-WEB
TC90-WEBGiao diện UI/UXDesktop 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 TC90-WEB
TC91-WEBGiao diện UI/UXDesktop 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-WEBGiao diện UI/UXDesktop Đ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 TC92-WEB
TC93-WEBTìm kiếm & Sản phẩmDesktop 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 TC93-WEB
TC94-WEBTìm kiếm & Sản phẩmDesktop 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 TC94-WEB
TC95-WEBTìm kiếm & Sản phẩmDesktop 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 TC95-WEB
TC96-WEBTìm kiếm & Sản phẩmDesktop 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 TC96-WEB
TC97-WEBTìm kiếm & Sản phẩmDesktop 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 TC97-WEB
TC98-WEBTìm kiếm & Sản phẩmDesktop 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 TC98-WEB
TC99-WEBTìm kiếm & Sản phẩmDesktop 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 TC99-WEB
TC100-WEBTìm kiếm & Sản phẩmDesktop Đố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 TC100-WEB
TC101-WEBTìm kiếm & Sản phẩmDesktop 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-WEBTìm kiếm & Sản phẩmDesktop 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 TC102-WEB
TC103-WEBTìm kiếm & Sản phẩmDesktop 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 TC103-WEB
TC104-WEBTìm kiếm & Sản phẩmDesktop 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 TC104-WEB
TC105-WEBTìm kiếm & Sản phẩmDesktop Nút Mua ngay ở trang SP Vào thẳng giỏ/checkout đúng SP Trang SP có nút "Mua ngay". Pass TC105-WEB
TC106-WEBTìm kiếm & Sản phẩmDesktop 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 TC106-WEB
TC107-WEBGiỏ hàngDesktop 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 TC107-WEB
TC108-WEBGiỏ hàngDesktop 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 TC108-WEB
TC109-WEBGiỏ hàngDesktop 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 TC109-WEB
TC110-WEBGiỏ hàngDesktop 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 TC110-WEB
TC111-WEBGiỏ hàngDesktop 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 TC111-WEB
TC112-WEBGiỏ hàngDesktop 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 TC112-WEB
TC113-WEBGiỏ hàngDesktop 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 TC113-WEB
TC114-WEBGiỏ hàngDesktop 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 TC114-WEB
TC115-WEBCheckoutDesktop 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-WEBCheckoutDesktop 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-WEBCheckoutDesktop 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 TC117-WEB
TC118-WEBCheckoutDesktop 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 TC118-WEB
TC119-WEBCheckoutDesktop Đổ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 TC119-WEB
TC120-WEBCheckoutDesktop 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 TC120-WEB
TC121-WEBCheckoutDesktop 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 TC121-WEB
TC122-WEBCheckoutDesktop Bỏ trống SĐT Chặn, báo lỗi Bỏ trống SĐT → bị chặn. Pass TC122-WEB
TC123-WEBCheckoutDesktop 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 TC123-WEB
TC124-WEBCheckoutDesktop 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 TC124-WEB
TC125-WEBCheckoutDesktop 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 TC125-WEB
TC126-WEBCheckoutDesktop 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 TC126-WEB
TC127-WEBThanh toánDesktop 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 TC127-WEB
TC128-WEBThanh toánDesktop 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 TC128-WEB
TC129-WEBThanh toánDesktop 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 TC129-WEB
TC130-WEBThanh toánDesktop 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 TC130-WEB
TC131-WEBThanh toánDesktop 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àngDesktop Đặ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 TC132-WEB
TC133-WEBĐặt hàngDesktop 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 TC133-WEB
TC134-WEBĐặt hàngDesktop Đặ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 TC134-WEB
TC135-WEBĐặt hàngDesktop Đặ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àngDesktop Đặ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 TC136-WEB
TC137-WEBĐặt hàngDesktop Đặ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 TC137-WEB
TC138-WEBĐặt hàngDesktop 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 TC138-WEB
TC139-WEBĐối chiếu OPSDesktop 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 TC139-WEB
TC140-WEBĐối chiếu OPSDesktop 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 TC140-WEB
TC141-WEBĐối chiếu OPSDesktop Đố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 TC141-WEB
TC142-WEBĐối chiếu OPSDesktop Đố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 TC142-WEB
TC143-WEBĐối chiếu OPSDesktop Đố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 TC143-WEB
TC144-WEBĐối chiếu OPSDesktop Đối chiếu ghi chú đơn Hiển thị đơn test Ghi chú “đơn test” hiển thị đúng trong đơn. Pass TC144-WEB
TC145-WEBBảo mậtDesktop XSS trong các ô nhập (tên, ghi chú, tìm kiếm) Không thực thi script Chèn <script>alert(1)</script> 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 TC145-WEB
TC146-WEBBảo mậtDesktop 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 TC146-WEB
TC147-WEBBảo mậtDesktop 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 TC147-WEB
TC148-WEBBảo mậtDesktop 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 TC148-WEB
TC149-WEBBảo mậtDesktop 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 TC149-WEB
TC150-WEBBảo mậtDesktop 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 TC150-WEB
TC151-WEBBảo mậtDesktop 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 TC151-WEB
TC152-WEBTra cứu đơnDesktop 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 TC152-WEB
TC153-WEBTra cứu đơnDesktop 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-WEBTra cứu đơnDesktop 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-WEBTra cứu đơnDesktop 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-WEBTra cứu đơnDesktop 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-WEBBiến thể & Tồn khoDesktop 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 TC157-WEB
TC158-WEBTiện ích sản phẩmDesktop Đá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 TC158-WEB
TC159-WEBTiện ích sản phẩmDesktop 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 TC159-WEB
TC160-WEBTiện ích sản phẩmDesktop 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 TC160-WEB
TC161-WEBNội dung & SEODesktop 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 TC161-WEB
TC162-WEBNội dung & SEODesktop 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 TC162-WEB
TC163-WEBNội dung & SEODesktop 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 TC163-WEB
TC164-WEBNội dung & SEODesktop 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 TC164-WEB
TC165-WEBNội dung & SEODesktop 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 TC165-WEB
TC166-WEBNội dung & SEODesktop 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 TC166-WEB
TC167-WEBPhiên & Đồng thờiDesktop 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 TC167-WEB
TC168-WEBGiao diện MobileMobile 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 TC168-WEB
TC169-WEBGiao diện MobileMobile 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 TC169-WEB
TC170-WEBGiao diện MobileMobile 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 TC170-WEB
TC171-WEBGiao diện MobileMobile 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 TC171-WEB
TC172-WEBGiao diện MobileMobile 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-WEBGiao diện MobileMobile 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 TC173-WEB
TC174-WEBGiao diện MobileMobile 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 TC174-WEB
TC175-WEBGiao diện MobileMobile 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 TC175-WEB
TC176-WEBGiao diện TabletTablet 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 TC176-WEB
TC177-WEBGiao diện TabletTablet 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 TC177-WEB
TC178-WEBGiao diện TabletTablet 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 TC178-WEB
TC179-WEBGiao diện TabletTablet 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 TC179-WEB
TC180-WEBGiao diện TabletTablet 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-WEBGiao diện TabletTablet 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 TC181-WEB
TC182-WEBGiao diện TabletTablet 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 TC182-WEB
TC183-WEBGiao diện TabletTablet 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 TC183-WEB
TC184-WEBXử 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 TC184-WEB
TC185-WEBXử 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 TC185-WEB
TC186-WEBXử 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 TC186-WEB
TC187-WEBXử 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 TC187-WEB
TC188-WEBXử 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 TC188-WEB
TC189-WEBXử 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 TC189-WEB
TC190-WEBXử 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 TC190-WEB
TC191-WEBXử 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 TC191-WEB
TC192-WEBXử 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 TC192-WEB
TC193-WEBXử 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 6a62cf731de638358d4a6ac1NhanhVN · Mã 813353175. Pass TC193-WEB
TC194-WEBXử 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 TC194-WEB
TC195-WEBXử 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 TC195-WEB
TC196-WEBXử 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 TC196-WEB
TC197-WEBXử 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 TC197-WEB
TC198-WEBXử 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 TC198-WEB
TC199-WEBXử 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 TC199-WEB
TC200-WEBXử 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 TC200-WEB
TC201-WEBXử 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 TC201-WEB
TC202-WEBXử 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 TC202-WEB
TC203-WEBXử 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 TC203-WEB
TC204-WEBXử 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 TC204-WEB
TC205-WEBXử 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 TC205-WEB
TC206-WEBXử 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 TC206-WEB
TC207-WEBXử 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 TC207-WEB
TC208-WEBXử 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 TC208-WEB
TC209-WEBXử 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 TC209-WEB
TC210-WEBXử 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 TC210-WEB
TC211-WEBXử 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 TC211-WEB
TC212-WEBXử 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 TC212-WEB
TC213-WEBXử 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 TC213-WEB
TC214-WEBXử 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 TC214-WEB
Không có test case nào khớp bộ lọc.

Kết luận

Bộ kịch bản gồm 214 test case. Đợt này đã thực hiện 204 case (181 Pass · 20 Warning · 3 Fail), còn 10 case chưa chạy. Luồng mua hàng và khung giao diện hoạt động tốt; vấn đề tập trung ở nội dung sản phẩm và tối ưu tải trang.

  1. Ảnh mô tả sản phẩm bị mất. 2/3 sản phẩm kiểm thử có 5 ảnh trả về 404 từ CDN cũ file.hstatic.net — khách chỉ thấy dòng chữ thay cho ảnh. Cần rà toàn bộ mô tả sản phẩm, không chỉ 2 sản phẩm này.
  2. Trang chủ tải chậm 4,2 giây — gấp ~4 lần trang sản phẩm do phải tải 185 ảnh, ảnh hưởng tỉ lệ thoát.
  3. Nút bấm trên mobile hơi nhỏ. 38 phần tử cao dưới 32px, thấp hơn khuyến nghị 44px — dễ bấm nhầm.
  4. Cấu trúc heading chưa chuẩn. Trang chủ không có thẻ H1, trang sản phẩm lại có 2 — ảnh hưởng SEO và trình đọc màn hình.
  5. Trang 404 chưa có title riêng, vẫn dùng tiêu đề trang chủ nên tab trình duyệt gây hiểu nhầm.
  6. Luồng đặt hàng đạt. Đơn GVN-0IFGJY tạo thành công, về OPS đúng trạng thái “Chờ CSKH xác nhận”, khớp đủ SKU, số lượng, giá và ghi chú.