Cả hai đều là kiểm nhanh trước khi test sâu, nhưng khác về phạm vi và độ sâu:
- Smoke testing — rộng và nông. Chạy nhanh qua các chức năng cốt lõi để xác nhận build đủ ổn định để test tiếp (app mở được, đăng nhập được, luồng chính không sập). Thường chạy trên mỗi build mới.
- Sanity testing — hẹp và sâu. Sau một sửa lỗi hoặc thay đổi nhỏ, kiểm một vùng chức năng cụ thể hoạt động đúng như mong đợi. Là một tập con của regression.
Câu chốt: smoke hỏi "build này có đáng để test không?", sanity hỏi "chỗ vừa sửa đã đúng chưa?".