"Luồng chính" và "luồng phụ", bạn sẽ nghiệm thu phần mềm theo luồng nào?

Trong khi luồng chính được xem là "long mạch", thì luồng phụ được xem là các con đường tiểu ngạch giúp dữ liệu được thông suốt hơn, vận hành trơn tru hơn (tương tự như được bôi trơn dầu mỡ vậy), thuận tiện cho mở rộng danh sách các tiện ích...

Kiểm thử chấp nhận nghiệm thu là một quá trình phức tạp
Kiểm thử chấp nhận nghiệm thu là một quá trình phức tạp

Luồng chính

Luồng chính được ví như "long mạch", hay dòng chảy chính (upstream) của hệ thống. Thí dụ đối với phần mềm quản lý tài liệu DMS (Document Management System), luồng chính bao gồm các chức năng chính là: lưu trữ tài liệu, quản lý tài liệu và theo dõi, giám sát các thay đổi thông tin (metadata) của tài liệu.

Có thể luồng chính bao gồm các tính năng quan trọng, đã được lên ý tưởng khi dự án chưa bắt đầu, sau đó được đặc tả (spec) và mô hình hóa đi vào mockup, prototype.

Luồng phụ

Thí dụ về luồng phụ: Chức năng "Hủy phê duyệt" là luồng phụ vì không có "hủy phê duyệt", hệ thống vẫn hoạt động bình thường trên luồng chính. Cụ thể là Admin sẽ "ignore" các yêu cầu gửi đến, điều này xem như là "không phê duyệt", hoặc "hủy phê duyệt".

Luồng phụ là dòng chảy phụ (downstream) của các chức năng và cả dòng chảy dữ liệu.

Luồng chính và luồng phụ, điều gì là quan trọng cho phần mềm?
Luồng chính và luồng phụ, điều gì là quan trọng cho phần mềm?

Không có luồng phụ, phần mềm có vận hành được bình thường?

Về lý thuyết, phần mềm phải "sạch lỗi" (bug-zero) thì mới được nghiệm thu. Tuy vậy từ lý thuyết đến thực tế rất khác nhau. Các phần mềm lớn như Facebook, Google... thời kỳ đầu ra mắt không tránh khỏi phát sinh lỗi. Kể cả khi họ đã thành ông lớn, lỗi nghiêm trọng vẫn có thể xảy ra bất cứ lúc nào.

Nếu tìm hiểu về lịch sử Facebook thì có thể thấy ban đầu Facebook không khác gì một trang Web đơn giản, với vài tính năng rất cơ bản. Nhưng các tính năng đó chính là luồng chính của một phần mềm thời kỳ sơ khai. Phải mất hơn 10 năm thì Facebook mới trở thành 1 hệ thống phần mềm phức tạp với hàng vạn luồng phụ đan xen.

Vậy thì phần mềm nếu có các luồng chính chạy ổn định, khép kín thì phần mềm đó đáp ứng yêu cầu đề ra. Các luồng phụ nếu đã được thiết kế từ đầu (spec, mockup, prototype) hoặc được 2 bên đồng ý đưa vào CR (Change Request) thì 2 bên nên nghiệm thu trên cả các luồng phụ này.

Luồng phụ được nghiệm thu như thế nào?

Ngoài các luồng chính bắt buộc phải hoạt động tốt, các Test Case nằm trong vùng luồng chính bắt buộc phải "ĐẠT", thì các Test Cases nằm trong vùng luồng phụ có yêu cầu phải đạt hay không, tối thiểu đạt bao nhiêu % thì vẫn đang là vấn đề gây tranh cãi khi nghiệm thu phần mềm.

Kịch bản Test Case không thể tách rời các luồng phụ
Kịch bản User Case không thể tách rời các luồng phụ

Thí dụ: Sơ đồ các luồng nghiệp vụ từ dự án Business Portal do TIGO phát triển cho Bộ KHĐT.

Nhìn vào sơ đồ này, bạn có thể nhận ra đâu là luồng chính, đâu là luồng phụ?
Nhìn vào sơ đồ này, bạn có thể nhận ra đâu là luồng chính, đâu là luồng phụ?

 

Đây là câu trả lời cho luồng chính và luồng phụ
Đây là câu trả lời cho luồng chính và luồng phụ

Cảm ơn các bạn đã quan tâm, theo dõi.
TIGO Solutions

Tìm hiểu thêm: Bí quyết nghiệm thu dự án phần mềm?