# 02.03. Navigation (Điều hướng)

## Mục đích
Đảm bảo luồng di chuyển của người dùng giữa các trang, các phần của ứng dụng diễn ra liền mạch, đúng logic nghiệp vụ và không có các liên kết bị lỗi hoặc ngõ cụt.

## Kiến thức cần có
- Hiểu biết về User Flow (Luồng người dùng).
- Khái niệm về Sitemap và cấu trúc liên kết nội bộ.
- Kiến thức về Breadcrumbs, Pagination (Phân trang) và Deep Linking.

## Quy trình thực hiện
1. **Kiểm tra Menu & Links:** Click vào tất cả các mục menu, footer links, và các liên kết trong nội dung để đảm bảo dẫn đến đúng trang.
2. **Kiểm tra Nút Back/Forward:** Sử dụng tính năng quay lại và tiến tới của trình duyệt để xác nhận trạng thái trang được bảo toàn hoặc cập nhật đúng.
3. **Kiểm tra Breadcrumbs:** Xác nhận đường dẫn phân cấp hiển thị đúng vị trí hiện tại và có thể click để quay lại các cấp cha.
4. **Kiểm tra Phân trang:** Kiểm tra việc chuyển trang, nhảy trang và hiển thị số lượng bản ghi trên mỗi trang.
5. **Kiểm tra Deep Link:** Sao chép URL của một trang cụ thể và mở trong tab ẩn danh để xem hệ thống có dẫn trực tiếp đến trang đó (hoặc yêu cầu login) đúng hay không.

## Cách viết Steps điều hướng trong testcase

> Xem chuẩn đầy đủ ở `test-skills/rules/qa-writing-standards.md` mục 6.2.

Không viết trần path/URL kỹ thuật trong Steps. Mô tả đúng thao tác click menu/tab qua UI, path kỹ thuật đi kèm trong ngoặc để đối chiếu:

```text
<n>. Click menu "<Tên menu>" → click "<Tên màn hình/tab>" để mở màn hình <Tên màn hình> (<path>).
```

Ví dụ mở `/supplier/orders`: `1. Click menu "注文管理".<br>2. Click "注文" để mở màn hình 注文管理 (/supplier/orders).`

Ngoại lệ: case đang test chính hành vi gõ thẳng URL (kiểm tra chặn truy cập trực tiếp khi chưa đăng nhập, kiểm tra deep-link) — khi đó path là dữ liệu test, được phép ghi thẳng "Nhập trực tiếp URL `<path>` vào thanh địa chỉ trình duyệt".

## Checklist
- [ ] Có liên kết nào dẫn đến trang lỗi 404 hoặc trang trắng không?
- [ ] Các liên kết mở trong tab mới (target="_blank") có hoạt động đúng yêu cầu?
- [ ] Menu có làm nổi bật (Highlight) mục hiện tại khi người dùng đang ở trang đó?
- [ ] Sau khi thực hiện một hành động (vd: lưu), hệ thống có điều hướng về đúng trang mong đợi?
- [ ] Logo ứng dụng có luôn dẫn về trang chủ khi được click?

## Output mong đợi
- Sơ đồ các luồng điều hướng chính đã được kiểm thử.
- Danh sách các lỗi liên kết (Broken links) hoặc lỗi điều hướng logic.
