Cách viết báo cáo lỗi (bug report) chuẩn cho app Android
Một bug report tốt không chỉ nói "app bị lỗi" — nó phải giúp developer tái hiện được trong 5 phút mà không cần hỏi lại bạn. Dưới đây là cấu trúc 6 thành phần mà đội VietTest dùng cho mọi ứng dụng đang được kiểm thử:
1. Tiêu đề ngắn gọn, chỉ rõ vấn đề
Tốt: [Cart] Nút “Đặt hàng” bị chặn khi mã giảm giá hết hạn
Không tốt: app không đặt hàng được
Quy tắc: [Tên màn hình/chức năng] — hành vi lỗi. Developer lọc theo màn hình, QA lọc theo chức năng — dùng cả hai.
2. Các bước tái hiện (Steps to reproduce)
- Mở app (cold start), đăng nhập bằng [email protected].
- Vào tab Giỏ hàng với 2 sản phẩm đã thêm.
- Nhập mã giảm giá
SALE10(mã đã hết hạn) → bấm Áp dụng. - Bấm Đặt hàng → quan sát.
Luôn bắt đầu từ trạng thái xác định được: “cài mới”, “sau khi đăng nhập”, “sau khi khởi động lại thiết bị”. Nếu lỗi chỉ xảy ra ngẫu nhiên, ghi rõ tỉ lệ: “lặp lại 2/5 lần”.
3. Mong đợi vs Thực tế
Mong đợi: App hiển thị thông báo "Mã giảm giá đã hết hạn" và vẫn cho đặt hàng với giá gốc.
Thực tế: Nút "Đặt hàng" bị disabled; không có thông báo; người dùng không biết phải làm gì.
4. Môi trường
- Thiết bị / OS: Pixel 6 / Android 15, build AP (build #123).
- Phiên bản app: v1.4.2 (versionCode 42).
- Mạng: Wi-Fi / 4G, điều kiện bình thường.
- Dữ liệu: tài khoản demo, không có phiên bản dữ liệu đặc biệt.
5. Logcat / bằng chứng
Chạy adb logcat *:E trong lúc tái hiện và đính kèm đoạn có E/ (Error). Nếu app crash, kèm cả stack trace. Một bug kèm log được ưu tiên xử lý hơn bug "không có bằng chứng".
6. Severity đúng chuẩn
Tham khảo khung S1–S4 trong VietTest: S1 (Slam Dunk) = crash/treo/mất dữ liệu; S2 (Three-Pointer) = tính năng chính hỏng; S3 (Field Goal) = lỗi thông thường; S4 (Free Throw) = lỗi nhỏ về UI/copy. Xem thêm: cách phân loại severity.
Checklist trước khi gửi
- Tái hiện được ít nhất 2 lần với cùng điều kiện?
- Tiêu đề đúng mẫu
[Màn hình] — hành vi? - Steps, Expected/Actual, Environment đầy đủ?
- Đã kiểm tra lỗi tương tự trong Lỗi đã biết của dự án?
- Severity đúng; đã đính kèm log/screenshot?
Đăng ký vai trò Tester, tham gia đợt kiểm thử thật và luyện kỹ năng viết bug report chuẩn với cộng đồng. Mở App Test →