1. Tóm tắt nhanh & màn hình bạn sẽ test
Nếu bạn đã quen kiểm thử chức năng cho một bản build ổn định, chương này đưa bạn sang một lớp rủi ro hoàn toàn khác: kiểm thử cài đặt và nâng cấp — nơi 'ca kiểm thử' không chỉ là thao tác trên giao diện mà là cả một QUY TRÌNH vận hành (backup, dừng dịch vụ, chạy migration, cài đặt, kiểm tra, hoặc rollback) diễn ra trên hạ tầng thật. Với một ERP triển khai ở nhiều nhà máy, mỗi nơi có thể khác nhau về hệ điều hành, phiên bản cơ sở dữ liệu, cấu hình mạng và cả lượng dữ liệu tồn kho tích luỹ nhiều năm — nên một kịch bản nâng cấp 'chạy ngon' ở nhà máy này hoàn toàn có thể gãy ở nhà máy khác. Chúng ta sẽ học qua dự án nâng cấp NovaERP thật, có hình minh hoạ chi tiết và phần thực hành.
2. Ba khái niệm dễ nhầm: cài mới, nâng cấp, di trú dữ liệu
Người mới học kiểm thử cài đặt thường gộp chung 'cài mới' và 'nâng cấp' vì cả hai đều dùng chung một bộ cài (installer). Nhưng về bản chất rủi ro, chúng khác nhau hoàn toàn: cài mới thao tác trên một môi trường TRỐNG, còn nâng cấp thao tác trên một môi trường ĐANG SỐNG với dữ liệu và cấu hình thật. Di trú dữ liệu (migration) lại là một khái niệm hẹp hơn, nằm BÊN TRONG quy trình nâng cấp — cụ thể là bước chuyển đổi cấu trúc/nội dung dữ liệu từ schema cũ sang schema mới.
Rollback lại là một khái niệm khác nữa: nó KHÔNG phải 'cài lại bản cũ từ đầu' mà là khôi phục hệ thống về đúng trạng thái hoạt động trước khi nâng cấp bắt đầu — bao gồm cả dữ liệu. Nếu chỉ cài lại phần mềm v3.8 mà không khôi phục đúng bản backup DB tương ứng, hệ thống có thể 'chạy được' nhưng dữ liệu đã sai lệch so với trước khi nâng cấp. Vì vậy rollback testing luôn phải kiểm tra CẢ phần mềm lẫn dữ liệu, không chỉ một trong hai.
3. Vì sao ERP đa nhà máy cần kiểm thử cài đặt & nâng cấp ở mức nâng cao
Với một ứng dụng web thông thường, nâng cấp thường chỉ là deploy một bản build mới lên server, có thể rollback bằng cách deploy lại bản cũ trong vài phút. Nhưng NovaERP chạy TẠI CHỖ (on-premise) ở từng nhà máy, với cơ sở dữ liệu riêng, phần cứng riêng, và đội IT tại chỗ có năng lực khác nhau. Một lỗi nâng cấp không chỉ là 'website bị lỗi 500' mà có thể khiến TOÀN BỘ dây chuyền sản xuất phải dừng, công nhân phải ghi chép thủ công, và đơn hàng giao trễ — thiệt hại tính bằng tiền thật, không phải chỉ uy tín.
Ngoài ra, mỗi nhà máy trong chuỗi Nova Manufacturing đã tích luỹ dữ liệu vận hành nhiều năm — từ dữ liệu 'sạch' của nhà máy mới mở tới dữ liệu 'lẫn lỗi' của nhà máy đã hoạt động cả thập kỷ với hàng chục lần vá lỗi thủ công trực tiếp trên database. Một script migration được viết và test kỹ trên dữ liệu mẫu 'đẹp' hoàn toàn có thể gãy khi gặp dữ liệu thật đầy những ngoại lệ như vậy. Đây chính là lý do kiểm thử cài đặt & nâng cấp ở cấp độ nâng cao không thể chỉ dừng ở 'nâng cấp thành công trên môi trường test', mà phải chủ động mô phỏng cả những điều kiện bất lợi nhất.
Cuối cùng, quyết định nâng cấp một nhà máy ERP không thể 'thử rồi sửa' như một tính năng web — cửa sổ bảo trì thường chỉ có vài giờ ban đêm hoặc cuối tuần, và một lần rollback thất bại có thể khiến nhà máy ngừng hoạt động cả ngày. Vì vậy, tư duy kiểm thử ở đây phải chuyển từ 'tìm lỗi trên tính năng' sang 'giảm thiểu rủi ro cho một quy trình vận hành một lần, khó đảo ngược' — đòi hỏi kỹ năng thiết kế ca kiểm thử nâng cao hơn hẳn kiểm thử chức năng thông thường.
4. Chuẩn bị: ma trận tương thích môi trường & quy trình nâng cấp
Trước khi viết bất kỳ ca kiểm thử nào, hãy dựng hai thứ: (1) ma trận tương thích môi trường — liệt kê tổ hợp OS, phiên bản DB, .NET runtime, dung lượng đĩa tối thiểu mà v4.0 hỗ trợ, đối chiếu với thực tế từng nhà máy; (2) sơ đồ quy trình nâng cấp CHÍNH THỨC kèm đường rollback, để biết chính xác bước nào cần một ca kiểm thử riêng.
▶ Bước 1: Liệt kê từng bước trong sơ đồ quy trình chính thức (backup, dừng dịch vụ, migration, cài đặt, smoke test, go-live) và đường rẽ rollback tương ứng.
💬 Bình luận (0)
Chưa có bình luận nào. Hãy là người đầu tiên!