📚 Test Suite là gì?
Một bộ nhiều test case gom lại chạy chung.
1
Hiểu nó là gì
Test Suite là tập hợp các test case liên quan, thường nhóm theo tính năng hoặc theo mục đích, để chạy một lượt cho gọn.
Nói theo đời thường:
Như cả đề thi gồm nhiều câu, thay vì đưa từng câu lẻ cho thí sinh làm rồi lại thu.
Như cả đề thi gồm nhiều câu, thay vì đưa từng câu lẻ cho thí sinh làm rồi lại thu.
⚠ Chỗ ẩn dụ này hỏng
Đề thi thì làm câu nào trước cũng được. Bộ test thì thứ tự chạy có thể quyết định đỏ hay xanh — nếu ca số 3 để lại dữ liệu rác làm ca số 7 chết.
Bộ test tốt phải chạy được theo bất kỳ thứ tự nào, kể cả chạy song song. Ca test phụ thuộc vào ca test khác là mầm mống của flaky test.
2
Code trông thế nào
describe('Giỏ hàng', () => { test('thêm sản phẩm', ...) test('xoá sản phẩm', ...) test('cập nhật số lượng', ...) })
Gom theo tính năng, không gom theo “ca dễ trước ca khó sau”.
3
Khi nào bạn dùng nó
✓ Dùng khi
- Nhiều ca test cùng phục vụ một tính năng
- Muốn chạy riêng một nhóm mà không chạy cả nghìn ca
- Cần báo cáo tách theo từng mảng
✗ Đừng dùng khi
- Mới có 2-3 ca test tổng cộng
- Gom bừa cho có nhóm, sau tìm không ra ca nào ở đâu
Chưa cần biết: gắn thẻ (tag), lọc theo nhóm khi chạy, chia nhỏ để chạy song song.
Để 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ộ test chạy quá 10 phút và bạn bắt đầu ngại bấm nút chạy.
4
Đi đâu tiếp
- Test RunnerThứ đọc bộ test của bạn rồi chạy nó.
- Test CaseĐơn vị nhỏ nhất tạo nên bộ test.
- Regression TestBộ test lớn nhất thường là bộ hồi quy.