🔁 Regression Test là gì?
Chạy lại cái cũ để chắc chưa làm hỏng gì.
1
Hiểu nó là gì
Regression Test chạy lại các test đã có sau mỗi lần sửa code, để phát hiện thay đổi mới có phá vỡ tính năng cũ hay không.
Nói theo đời thường:
Sửa xong vòi nước thì mở thử luôn mấy vòi khác trong nhà: đôi khi vặn chỗ này lại rò chỗ kia.
Sửa xong vòi nước thì mở thử luôn mấy vòi khác trong nhà: đôi khi vặn chỗ này lại rò chỗ kia.
⚠ Chỗ ẩn dụ này hỏng
Mở thử vài vòi nước khác thì mất một phút. Bộ test hồi quy thật thì lớn tới mức không ai chạy đủ trước mỗi lần sửa.
Nên nghề này thực chất là nghề chọn: chạy nhóm nào, bỏ nhóm nào, chấp nhận rủi ro tới đâu. Không phải nghề chạy hết.
2
Code trông thế nào
# Trước khi phát hành: chạy toàn bộ npx playwright test # Mỗi lần đẩy code: chỉ chạy nhóm quan trọng npx playwright test --grep @smoke
Gắn thẻ cho ca test để chọn nhóm mà chạy — đây là lý do chính người ta dùng thẻ.
3
Khi nào bạn dùng nó
✓ Dùng khi
- Sau mỗi lần sửa code
- Trước mỗi lần phát hành
- Sau khi nâng cấp thư viện hoặc đổi hạ tầng
✗ Đừng dùng khi
- Tính năng đang xây dở, chưa chốt hành vi
Chưa cần biết: chọn ca test theo vùng code đã đổi, phân tầng bộ hồi quy.
Để dành tới Mốc 3 — Tự sửa được khi nó hỏng: Test đỏ trên CI mà xanh ở máy bạn, và bạn biết bắt đầu tìm từ đâu.
Dấu hiệu bạn đã cần học nó: Khi bộ hồi quy chạy lâu tới mức cả đội bắt đầu bỏ qua nó cho nhanh.
4
Đi đâu tiếp
- Smoke TestBộ nhỏ chạy trước, để không phí thời gian chạy bộ lớn.
- CI/CDNơi hồi quy nên chạy tự động thay vì nhớ chạy tay.
- Test SuiteCách gom và gắn thẻ để chọn nhóm chạy.