CYBERSOFT
Đăng nhập

Phân biệt Smoke test & Sanity test cho người mới: khi nào dùng cái nào (có trắc nghiệm)

Chuyên công nghệTMĐTNền tảngNgười mớiChuẩn SEO
🗓 1 tháng trước19 phút đọc·👁 926 lượt xem👤 230 người đọc

Bài cho người mới: phân biệt smoke test và sanity test qua app TMĐT ShopEasy — smoke rộng-nông trên chức năng sống còn sau mỗi bản build mới, sanity hẹp-sâu đúng vùng vừa sửa, khác regression thế nào. Có checklist smoke thực tế, hai tình huống chọn sai loại kiểm thử, cách quyết định 'đủ ổn định để test tiếp?', nhiều mockup giao diện, FAQ và trắc nghiệm 5 câu. Chuẩn SEO, dẫn về khóa Tester CyberSoft.

1. Tóm tắt nhanh & màn hình build bạn sẽ kiểm

⭐ TL;DR — Nhiều bạn mới nhầm lẫn smoke test và sanity test vì cả hai đều nhanh. Khác biệt nằm ở PHẠM VI: smoke test rộng-nông, kiểm vài chức năng sống còn (đăng nhập, tìm kiếm, giỏ hàng, đặt hàng) ngay sau mỗi bản build mới; sanity test hẹp-sâu, chỉ tập trung đúng vùng vừa sửa/thêm. Cả hai đều khác regression test — vốn rộng VÀ sâu hơn hẳn. Bài này bám vào bản build thật của app TMĐT ShopEasy, có checklist smoke, hai tình huống chọn sai loại kiểm thử, và cách quyết định 'build đã đủ ổn định để test tiếp chưa?'.

Chào bạn mới! Câu hỏi 'phân biệt smoke test và sanity test' là một trong những câu phỏng vấn hay gặp nhất với tester mới vào nghề, vì hai khái niệm này rất dễ nhầm — cả hai đều là 'kiểm tra nhanh sau khi có thay đổi'. Nhưng nếu bạn từng đọc bài về hồi quy & smoke test, bài này sẽ đi một hướng khác: không nói về mối quan hệ smoke–regression nữa, mà đào sâu vào ranh giới thật sự giữa SMOKE và SANITY — hai loại kiểm thử rất dễ bị dùng lẫn cho nhau, và việc chọn sai loại có thể khiến bạn bỏ sót lỗi nghiêm trọng hoặc lãng phí thời gian quý giá.

🔒 shopeasy.vn/ci-cd/build/482 ShopEasy · CI/CD Build #482 · nhánh main · vừa deploy staging CI: Unit test ✓ · Build ✓ · Deploy staging ✓ — chờ Tester kiểm tra 08:32 · gộp PR #1290 "Thêm mã giảm giá" + PR #1288 "Sửa API đăng nhập"▶ Chạy Smoke Test (chức năng sống còn)Chạy Sanity (vùng vừa sửa) BUILD MỚI · gộp nhiều thay đổi → nên ưu tiên Smoke trước
Màn hình CI/CD: build #482 vừa lên staging, gộp nhiều thay đổi — cần quyết định chạy Smoke hay Sanity
📖 Smoke Test: kiểm thử nhanh, rộng nhưng nông trên vài chức năng sống còn của hệ thống, chạy ngay sau mỗi bản build mới, để trả lời 'build có đủ ổn định để test tiếp không'.

2. Smoke test là gì & khi nào chạy

Tên gọi 'smoke test' xuất phát từ ngành điện: sau khi lắp ráp một mạch điện, kỹ sư cấp điện lần đầu và chỉ cần xem có bốc KHÓI hay không — nếu có khói, mạch hỏng rõ ràng, chưa cần kiểm chi tiết từng linh kiện. Trong phần mềm, smoke test cũng vậy: sau mỗi bản build mới (deploy lên staging, hoặc production), tester chạy nhanh qua vài chức năng SỐNG CÒN của hệ thống — đăng nhập, tìm kiếm, thêm vào giỏ, đặt hàng — để xem build có 'bốc khói' (lỗi rõ ràng, sập ngay) hay không.

Vì sao smoke test luôn chạy TRƯỚC các loại kiểm thử khác? Vì nó rẻ và nhanh (thường 5–15 phút), giúp bạn tránh lãng phí hàng giờ test sâu trên một bản build hỏng ngay từ gốc. Nếu smoke fail — ví dụ trang chủ không tải được, hoặc đăng nhập báo lỗi 500 — quy tắc vàng là DỪNG LẠI, báo lỗi ngay và trả bản build về cho đội dev, thay vì cố gắng test tiếp trên nền không vững.

💡 Chọn chức năng cho Smoke theo tiêu chí: NẾU HỎNG THÌ CẢ APP GẦN NHƯ VÔ DỤNG. Với ShopEasy đó là tải trang, đăng nhập, tìm kiếm, giỏ hàng, đặt hàng — không phải mọi tính năng nhỏ lẻ.

3. Sanity test là gì & khác smoke, khác regression thế nào

Nếu smoke test là 'khám tổng quát nhanh cả cơ thể', thì sanity test giống 'khám kỹ đúng một chỗ vừa bị đau'. Sanity test chỉ chạy SAU KHI có một thay đổi cụ thể, nhỏ — sửa lỗi, thêm một tính năng nhỏ, vá một trường dữ liệu — và tập trung HẸP nhưng SÂU vào đúng vùng đó cùng các chức năng lân cận gần nhất, để xác nhận thay đổi đúng như mong đợi và không gây vỡ những gì gần nó nhất. Sanity KHÔNG cần bao phủ toàn hệ thống như smoke, và cũng không cần đào sâu toàn bộ chức năng liên quan như regression.

So sánh Smoke Test · Sanity Test · Regression Test Tiêu chíSmoke TestSanity TestRegression TestKhi nào chạyNgay sau mỗi bản build mớiNgay sau khi sửa/thêm 1 vùng cụ thểTrước khi release / định kỳPhạm viRộng nhưng NÔNGHẹp nhưng SÂURộng và sâuCâu hỏi trả lờiBuild có 'sống' để test tiếp không?Chỗ vừa sửa đúng, không vỡ lân cận?Thay đổi có làm hỏng chức năng cũ?Thời lượng thường gặp5–15 phút5–15 phútVài giờ – vài ngàyAi thường chạyTester hoặc CI tự độngTester phụ trách vùng vừa sửaĐội test / bộ tự động hoá lớnSmoke và Sanity đều NHANH; khác nhau ở PHẠM VI — Smoke rộng-nông, Sanity hẹp-sâu. Regression thì rộng VÀ sâu, tốn thời gian hơn hẳn.
Bảng so sánh Smoke · Sanity · Regression theo phạm vi, thời điểm và mục tiêu

Điểm dễ nhầm nhất với người mới: cả smoke và sanity đều 'nhanh', nên nhiều bạn nghĩ chúng là một. Chìa khoá để phân biệt là hỏi 2 câu: (1) 'Đây là build hoàn toàn mới, hay chỉ một thay đổi nhỏ vừa vá?' — build mới thì nghiêng về smoke, thay đổi nhỏ thì nghiêng về sanity; (2) 'Mình đang kiểm TOÀN BỘ hệ thống hay ĐÚNG một vùng cụ thể?' — toàn bộ là smoke, một vùng cụ thể là sanity. Còn regression thì khác hẳn về quy mô: nó không phải kiểm tra nhanh, mà là một vòng kiểm tra đầy đủ, có kế hoạch, thường chạy trước khi release hoặc theo chu kỳ cố định.

📖 Sanity Test: kiểm thử nhanh, hẹp nhưng sâu vào đúng vùng vừa sửa/thêm cùng các chức năng lân cận gần nhất, chạy sau một thay đổi nhỏ cụ thể.

4. Chuẩn bị: khi nào chọn Smoke, khi nào chọn Sanity

Trước khi bấm nút test, hãy dành 30 giây trả lời câu hỏi 'nên chạy loại nào' — chọn đúng ngay từ đầu giúp bạn tiết kiệm rất nhiều thời gian và không bỏ sót lỗi. Ba bước dưới đây là cách tester ShopEasy vẫn dùng mỗi khi có build hoặc bản vá mới.

▶ Bước 1: Xác định đây là BUILD MỚI (deploy lại toàn bộ, gộp nhiều thay đổi) hay chỉ một BẢN VÁ NHỎ (sửa/thêm đúng 1 vùng).

▶ Bước 2: Nếu là build mới hoặc gộp nhiều PR → chạy SMOKE rộng trên các chức năng sống còn trước tiên, chưa test sâu.

🔒

Nội dung bị khoá

Bạn đang xem bản xem trước. Đăng nhập để mở khoá toàn bộ bài viết và tất cả tài liệu Tester/QA.

Đã xem 24% nội dung
  • Đọc trọn vẹn mọi bài viết
  • Lưu bài & ghi chú cá nhân
  • Theo dõi tiến độ đã đọc
  • Luyện phỏng vấn, ISTQB, Mock
Đăng nhập để đọc tiếp

Chưa có mã? Lấy mã qua Fanpage / Zalo CyberSoft.

0

💬 Bình luận (0)

Bạn có thể đọc mọi bình luận. Đăng nhập để bình luận

Chưa có bình luận nào. Hãy là người đầu tiên!