Shift Left Testing là cách tiếp cận đưa testing về sớm hơn trong Software Development Lifecycle. Team không đợi đến khi code hoàn thiện hoặc các component đã tích hợp xong mới bắt đầu kiểm tra chất lượng.
Shift left là hiện thực hóa nguyên tắc early testing, nhưng không có nghĩa là mọi testing đều phải chuyển sang bên trái hoặc testing muộn không còn cần thiết.
“Left” nghĩa là gì?
Nếu SDLC được vẽ từ requirement ở bên trái đến deployment ở bên phải, shift left đưa các hoạt động review, phân tích, thiết kế test và kiểm tra tự động đến gần phía requirement và coding hơn.
Các Good Practices để Shift Left
- Review specification từ góc nhìn tester: tìm điểm mù mờ, chưa hoàn thiện và thiếu nhất quán trong tài liệu của PO/BA
- Viết test case trước code: làm rõ behavior và expected outputs từ sớm; có thể dựa vào Figma design để viết test case nếu khả thi
- Sử dụng CI/CD: dev tự chạy các bộ test mà phía tester đưa cho ở local, có bug thì fix luôn
- Static analysis sớm: kiểm tra source code trước dynamic testing hoặc tự động hóa trong pipeline.
- Bắt đầu non-functional testing sớm: kiểm tra performance, security hoặc reliability sớm ở phạm vi phù hợp.
Ví dụ thực tế
| Cách làm truyền thống | Cách làm Shift Left 👌 |
|---|---|
| Tester đọc requirement sau khi code xong | Tester review user story và acceptance criteria trong buổi refinement |
| Chờ dev code xong hết, đẩy lên môi trường DEV thì mới bắt đầu test | Viết test case từ sớm, phối hợp với dev để có thể test ngay trong khi dev đang coding |
| Regression cuối Sprint | Regression chạy liên tục hàng ngày qua Jenkins |
Shift Left không có nghĩa là gì?
- Không phải chuyển toàn bộ trách nhiệm chất lượng cho developer. 😅
- Không phải bỏ hết manual test hoặc những loại test ở cuối ví dụ như UAT
- Không đảm bảo phần mềm không có defect; nó chỉ giúp feedback đến sớm và giảm chi phí sửa lỗi.
Bug càng phát hiện muộn thì càng tệ, và chi phí sửa càng cao
Chi phí và điều kiện thành công
Shift left có thể làm tăng training, effort hoặc cost ở giai đoạn đầu, nhưng kỳ vọng tiết kiệm nhiều hơn ở giai đoạn sau. Stakeholder cần hiểu và ủng hộ vì lợi ích không phải lúc nào cũng xuất hiện ngay lập tức.
Việc thuyết phục được "sếp" của bạn áp dụng sẽ là khá thử thách vì nó còn tuỳ thuộc vào văn hoá công ty, chi phí, và mindset của họ 😅
Kết luận
Shift Left Testing là phát hiện và phòng ngừa defect sớm bằng review, test-first, static analysis, CI/CD và kiểm thử phi chức năng phù hợp. Tuy nhiên, testing ở phía phải vẫn cần để đánh giá hệ thống hoàn chỉnh và trải nghiệm thực tế.




