🐛 Bug là gì?
Lỗi khiến sản phẩm hoạt động không đúng ý.
1
Hiểu nó là gì
Bug là sai sót trong mã, dữ liệu hoặc thiết kế gây ra hành vi ngoài dự tính.
Nói theo đời thường:
Như công thức ghi nhầm một muỗng muối thành một bát muối: mọi bước vẫn làm, nhưng kết quả sai.
Như công thức ghi nhầm một muỗng muối thành một bát muối: mọi bước vẫn làm, nhưng kết quả sai.
⚠ Chỗ ẩn dụ này hỏng
Công thức ghi nhầm muối — nhưng phần lớn bug không phải do ai gõ sai.
Chúng sinh ra ở chỗ hai người hiểu yêu cầu khác nhau, hoặc ở tình huống không ai nghĩ tới: người dùng bấm hai lần, mạng rớt giữa chừng, nhập tên có dấu tiếng Việt. Bug đắt nhất thường không nằm trong code — nó nằm trong bản yêu cầu mà không ai đọc kỹ.
2
Code trông thế nào
Báo cáo bug tốt luôn có đủ ba phần:
Các bước: 1. Mở /gio-hang 2. Nhập số lượng 0 3. Bấm Thanh toán
Mong đợi: Báo lỗi "Số lượng phải lớn hơn 0"
Thực tế: Đơn hàng tạo thành công với tổng tiền 0đ
Kèm: ảnh chụp, trình duyệt, thời điểm, tài khoản dùng để test
Thiếu phần “các bước” thì dev không tái hiện được, và bug sẽ bị đóng với lý do “không lặp lại được”.
3
Khi nào bạn dùng nó
✓ Dùng khi
- Sản phẩm chạy khác với điều đã thống nhất
- Có cách tái hiện lại được
✗ Đừng dùng khi
- Bạn không thích thiết kế (đó là góp ý, không phải bug)
- Chưa ai chốt hành vi đúng là gì (đi hỏi trước đã)
Chưa cần biết: phân loại mức độ, quy trình vòng đời bug, phân tích nguyên nhân gốc.
Để dành tới Mốc 2 — Đọc hiểu được: Nhìn một sơ đồ hệ thống hoặc một log lỗi, bạn đoán được chỗ nào đang hỏng.
Dấu hiệu bạn đã cần học nó: Khi bạn phải trả lời “bug này có đáng hoãn ngày phát hành không?”
4
Đi đâu tiếp
- DebugViệc tiếp theo sau khi bug được báo.
- Test CaseMỗi bug tìm ra nên thành một ca test mới.
- QANghề tìm cách để bug đừng sinh ra từ đầu.