Về Blog
Lập trìnhCông nghệHọc hỏiQA
Đọc bằngvien

Smoke test tối thiểu cho team nhỏ: 10 test đủ sống

Không cần hàng trăm test case — 10 luồng 「chạm là toang」, mỗi test có mục tiêu kinh doanh, dữ liệu seed và kết quả mong đợi.

·7 phút đọc
Nghe đọc
1 / 22

Smoke test tối thiểu cho team nhỏ: 10 test đủ sống Không cần hàng trăm test case — 10 luồng 「chạm là toang」, mỗi test có mục tiêu kinh doanh, dữ liệu seed và kết quả mong đợi.

Team bốn người không cần 400 test case. Cần 10 test mà fail là đêm đó khó ngủ.

Đây là bộ smoke tối thiểu mình hay đề xuất cho SaaS / web app nhỏ. Copy, đổi tên flow cho sản phẩm của bạn, chạy sau mỗi lần deploy.

Dành cho: startup, squad nhỏ, founder tự ship — chưa có thời gian xây framework test lớn.

Chỉ số và dashboard — smoke test bảo vệ đường sống sản phẩm

Ý chính: Smoke ngắn, chạy mỗi lần ship — đừng nhồi hết regression vào đây.

Bốn nguyên tắc chọn test

  • Kinh doanh trước kỹ thuật: fail = mất tiền, mất user, hoặc mất niềm tin.
  • Chạy xong trong ~5 phút (song song nếu được).
  • Dữ liệu seed cố định — không phụ thuộc data production ngẫu nhiên.
  • Mỗi test một lý do fail rõ ràng.

Viết bằng Playwright, Cypress, hoặc checklist tay có người ký tên — quan trọng là chạy đều.


10 test đủ sống

1. Đăng nhập thành công

  • Mục tiêu: User vào được app
  • Dữ liệu: buyer@test.local / mật khẩu cố định
  • Mong đợi: Redirect dashboard, hiện tên user

2. Đăng nhập sai mật khẩu

  • Mục tiêu: Không lộ thông tin, không crash
  • Dữ liệu: User tồn tại, mật khẩu sai
  • Mong đợi: Thông báo lỗi chung, HTTP 401/403, không vào app

3. Thanh toán / conversion chính

  • Mục tiêu: Luồng kiếm tiền hoạt động
  • Dữ liệu: Gói/sản phẩm test, thẻ Stripe test
  • Mong đợi: Trạng thái Paid/Success, màn hình xác nhận

4. Tạo tài nguyên cốt lõi (đơn, ticket, project…)

  • Mục tiêu: Giá trị chính của sản phẩm
  • Dữ liệu: User có quyền tạo
  • Mong đợi: Item trong danh sách, ID hợp lệ

5. Xem chi tiết tài nguyên vừa tạo

  • Mục tiêu: CRUD không chỉ 「tạo cho có」
  • Dữ liệu: Kết quả test #4 hoặc seed sẵn
  • Mong đợi: Trang chi tiết đúng dữ liệu, không 404

6. Phân quyền cơ bản (user vs admin)

  • Mục tiêu: Không lộ khu vực admin
  • Dữ liệu: user@test không có role admin
  • Mong đợi: Route admin 403/redirect, không thấy nút nguy hiểm

7. Health / trang public chính

  • Mục tiêu: Site còn sống
  • Dữ liệu: Không cần đăng nhập
  • Mong đợi: / hoặc /health trả 200, title đúng

8. Form quan trọng — gửi hợp lệ

  • Mục tiêu: Lead, support, feedback không mất
  • Dữ liệu: Field tối thiểu hợp lệ
  • Mong đợi: Toast thành công + bản ghi trong DB (hoặc email test)

9. Form — lỗi validation

  • Mục tiêu: Input sai không im lặng 500
  • Dữ liệu: Email sai định dạng / field bắt buộc trống
  • Mong đợi: Lỗi inline, không crash server

10. Đăng xuất và kết thúc phiên

  • Mục tiêu: Không session 「zombie」
  • Dữ liệu: User đã đăng nhập
  • Mong đợi: Sau logout, nút Back không vào trang bảo vệ; cookie cleared

Template · Ghi một test (copy)

## Test số [NN]: [Tên luồng]

- Mục tiêu kinh doanh:
- Dữ liệu / tài khoản:
- Các bước (≤ 5):
- Kết quả mong đợi:
- Người phụ trách:
- Công cụ: tay | Playwright | ...

Chạy khi nào?

Thời điểmBắt buộc?
Sau deploy staging
Trước merge nhánh release
Sau deploy productionCó (dữ liệu test)
Mỗi PR nhỏTùy — tối thiểu #1, #7

Team lớn hơn: thêm regression từ incident → test. Đừng nhét hết vào smoke.


Mở spreadsheet, liệt kê 10 luồng 「chạm là toang」 của sản phẩm bạn. Chưa đủ 10? Ưu tiên chỗ gần tiền nhất.

Cùng trao đổi

Bình luận

Chưa có bình luận

0 / 1000

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

My Little World | Tam Vo