1. Tóm tắt nhanh & màn hình bạn sẽ test
Chào bạn mới! Bạn đã biết đăng nhập đúng tài khoản là 'xác thực' (authentication). Nhưng đăng nhập được rồi không có nghĩa là làm gì cũng được — đó là lúc 'phân quyền' (authorization) vào cuộc. Trên ShopEasy, một Thành viên đăng nhập đúng vẫn không được phép vào trang Quản trị; một Nhân viên kho đăng nhập đúng cũng không được phép xóa đơn hàng của khách. Kiểm thử phân quyền chính là kỹ năng đóng vai từng nhóm người dùng để xác nhận ranh giới đó được giữ đúng, ở cả giao diện lẫn API phía sau.
2. Authentication vs Authorization: đừng nhầm hai khái niệm
Rất nhiều người mới nhầm hai khái niệm này vì chúng hay đi cùng nhau và đều liên quan tới 'quyền truy cập'. Cách phân biệt dễ nhớ nhất: Authentication trả lời 'bạn là ai' (identity), còn Authorization trả lời 'bạn được làm gì' (permission). Một hệ thống có thể xác thực rất tốt (chặn được mật khẩu sai, hỗ trợ OTP) nhưng vẫn có lỗ hổng phân quyền nghiêm trọng nếu không kiểm tra vai trò ở từng hành động.
Trong một buổi kiểm thử thực tế, bạn cần tách rõ hai bộ ca kiểm thử: bộ ca xác thực (đăng nhập sai mật khẩu, quên mật khẩu, khóa tài khoản sau nhiều lần sai) và bộ ca phân quyền (vai trò X có được làm Y không). Gộp lẫn hai loại này rất dễ khiến bạn báo cáo sai loại lỗi, hoặc tệ hơn là bỏ sót hẳn một nhóm ca kiểm thử quan trọng.
3. Vì sao người mới cần thạo kiểm thử phân quyền
Lỗi phân quyền là một trong những nhóm lỗi NGUY HIỂM NHẤT vì nó thường không hiện ra khi bạn chỉ test theo đúng vai trò được giao. Một tester chỉ đăng nhập bằng tài khoản Admin để test sẽ không bao giờ thấy được rằng Thành viên thường cũng vào được trang Quản trị nếu gõ đúng URL. Vì vậy, kiểm thử phân quyền đòi hỏi bạn phải chủ động đổi vai — không chỉ test 'đúng vai trò của mình' mà còn test 'vai trò khác có lọt qua được không'.
Đây cũng là kỹ năng rất được đánh giá cao khi phỏng vấn vị trí Tester, vì nó cho thấy bạn hiểu ứng dụng ở tầng bảo mật cơ bản, không chỉ dừng ở giao diện đẹp/xấu. Câu hỏi phỏng vấn phổ biến: 'Làm sao bạn kiểm thử để chắc chắn người dùng A không xem được dữ liệu của người dùng B?' — trả lời được bằng ví dụ cụ thể (đổi ID trên URL, gọi API bằng token khác) cho thấy tư duy kiểm thử phân quyền vững chắc.
Và quan trọng hơn cả: lỗ hổng phân quyền chính là một trong những nguyên nhân hàng đầu gây rò rỉ dữ liệu và thất thoát tiền bạc trong thực tế — như nhân viên kho xóa được đơn hàng của khách, hoặc thành viên tự nâng quyền thành Admin. Đầu tư đúng mức vào kiểm thử phân quyền là bạn đang bảo vệ trực tiếp dữ liệu và uy tín của doanh nghiệp.
4. Chuẩn bị: dựng ma trận quyền theo vai trò
Trước khi viết bất kỳ ca kiểm thử phân quyền nào, bạn cần một BẢN ĐỒ rõ ràng: hệ thống có những vai trò nào, và mỗi vai trò được phép làm gì. Đây gọi là ma trận quyền (permission matrix) — công cụ nền tảng để không bỏ sót góc kiểm thử nào.
▶ Bước 1: Liệt kê tất cả vai trò trong hệ thống (ví dụ ShopEasy: Khách, Thành viên, Nhân viên kho, Admin).
▶ Bước 2: Liệt kê tất cả chức năng/trang/API quan trọng (xem sản phẩm, đặt hàng, xem đơn, cập nhật tồn kho, quản lý người dùng...).
▶ Bước 3: Với mỗi ô (vai trò × chức năng), đánh dấu ĐƯỢC PHÉP hay KHÔNG — đây chính là bộ ca kiểm thử phân quyền của bạn.
💬 Bình luận (0)
Chưa có bình luận nào. Hãy là người đầu tiên!