IT nói tiếng người
Kiểm thử

Smoke Test và Sanity Test khác nhau thế nào?

Trả lời ngắnSmoke hỏi “bản build này còn sống không?” — rộng và nông. Sanity hỏi “chỗ vừa sửa đã đúng chưa?” — hẹp và sâu.

Bảng so sánh

Smoke TestSanity Test
Câu hỏi trả lờiCó đáng bỏ công test tiếp không?Chỗ vừa vá đã chạy đúng chưa?
Phạm viRộng — chạm mọi chức năng sống cònHẹp — chỉ quanh chỗ vừa động vào
Độ sâuNông — chỉ cần chạy đượcSâu — soi kỹ các trường hợp của tính năng đó
Chạy khi nàoNgay khi có bản build mớiNgay sau khi dev báo đã fix
Số ca test5–10 ca, dưới 2 phútVài ca, khoảng 1 phút

💡 Cách nhớ

Smoke = rộng và nông. Sanity = hẹp và sâu. Smoke chạy trước để khỏi phí công; sanity chạy sau khi có người vừa sửa gì đó.

Chọn cái nào?

⚠ Bẫy thường gặp

Ranh giới giữa hai loại này không rõ ràng như sách vở, và mỗi công ty định nghĩa một kiểu. Đừng tốn thời gian tranh cãi định nghĩa với đồng nghiệp — hỏi thẳng “ở đây mình đang hiểu smoke test là gì” rồi làm theo cách đội đang dùng.

Câu hỏi hay gặp

Smoke test có phải là regression test không?
Không. Smoke chỉ vài ca kiểm tra chức năng sống còn, chạy dưới 2 phút. Regression là bộ đầy đủ chạy lại mọi thứ, thường mất hàng chục phút tới hàng giờ.
Có cần chạy cả hai không?
Có, nhưng ở hai thời điểm khác nhau. Smoke chạy khi có bản build mới. Sanity chạy khi có người vừa sửa một chỗ cụ thể.

Đọc kỹ từng thuật ngữ

← Xem các bảng so sánh khác