[OpenCPS] Quy trình kiểm soát chất lượng nguồn mở trong OpenCPS

Nguyen Kim Cuong nkcuong at cmc.com.vn
Thu Dec 15 17:29:09 ICT 2016


Nhất trí với các đề xuất của anh Tuấn!

 
nkcuong

 

On 12/15/16, 17:13, "OpenCPS on behalf of Truong Anh Tuan" <opencps-bounces at lists.opencps.vn on behalf of tuanta at iwayvietnam.com> wrote:

    On 12/13/2016 10:08 AM, Hieu LE wrote:
    > 
    > Nhưng tạm để lại những thành công bước đầu về mặt cộng đồng cũng
    > như ý nghĩa của OpenCPS, mail này em muốn nhắc tới chất lượng của
    > OpenCPS, đặc biệt là quy trình kiểm soát chất lượng.
    > 
    > Như đã có lần em gửi mail và tới seminar cho cộng đồng mình về việc
    > cần thiết của unit test, functional test trong code-base của một
    > PMNM cũng như hệ thống CI/CD, em có nói tới kết quả của việc không
    > có quy trình kiểm soát chất lượng PM thì các lỗi sẽ xảy ra cấp số
    > nhân. Thời gian vừa rồi, đã có một số đơn vị tiến hành kiểm thử
    > OpenCPS và report một số lỗi, theo cá nhân em đánh giá là lỗi cơ
    > bản, không đáng có và có thể kiểm soát được ngay từ đầu.
    > 
    > Vậy nên, được sự động viên của một số thành viên OpenCPS, em mạo
    > muội tiếp tục viết mail đề xuất cộng đồng OpenCPS một số việc như
    > sau: 1. Yêu cầu đội dev phải implement các unit test và functional
    > test cho các tính năng đã hoàn thiện tới phiên bản bây giờ của
    > OpenCPS để đảm bảo sau này có mở rộng, tích hợp thêm các dịch vụ sẽ
    > không ảnh hưởng đến các chức năng đã ổn định.
    
    Cảm ơn Hiếu đã đưa ra đề xuất đúng lúc.
    
    Theo cá nhân anh nhìn nhận, quá trình phát triển OpenCPS đã trải qua
    một giai đoạn "phát triển nóng", nhằm chạy kịp deadlines ra mắt, chiếm
    lĩnh thị trường. Vì vậy, không tránh khỏi nhiều bất cập.
    Đề xuất đưa CI/CD vào áp dụng, anh nghĩ là rất cần thiết & anh đề xuất
    là Hiếu tham gia (& lead) luôn việc này, tùy theo thời lượng Hiếu có
    thể cam kết đóng góp cho OpenCPS.
    
    Ngoài ra, còn 2 vấn đề "nóng" trong chất lượng của OpenCPS:
    1. Vấn đề về logic/quality code.
    2. Vấn đề về security.
    
    Đối với vấn đề #1, cần sớm áp dụng phương pháp TDD - Test Driven
    Development. Theo thống kê [1], chi phí sửa 1 bug khi đã production sẽ
    tiêu tốn hơn 100 lần so với khi design và hơn 15 lần so với khi
    implement. Ngoài TDD, cũng cần áp dụng sớm việc code review kỹ đến
    từng dòng code (thế giới FOSS thường dùng côn cụ Review Board).
    
    Vấn đề #2 cũng không kém phần "nóng". Hiện tại OpenCPS đã qua 1 vài
    vòng được Security Test (do Velatek đóng góp), nhưng quả thật, nếu
    Review code không được làm cẩn trọng thì tiềm ẩn nhiều lỗi security là
    chuyện đương nhiên (đến những dự án lớn như Linux hay chính Liferay,
    được phát triển kỹ thế, mà còn tìm ra vô khối lỗi sau một thời gian
    dài đưa vào sử dụng).
    Khi OpenCPS được ứng dụng rộng rãi, nếu những lỗi này bị khai thác,
    hậu quả sẽ khó có thể đo đếm được và chi phí để xử lý cũng cao hơn rất
    rất nhiều.
    
    Thời điểm hiện tại cũng không gọi là quá muộn. Ta hoàn toàn có thể
    điều chỉnh qui trình, kế hoạch phát triển để đảm bảo những việc trên.
    
    -- 
    Rgds,
    Tuan
    
    [1]
    https://medium.com/javascript-scene/the-outrageous-cost-of-skipping-tdd-code-reviews-57887064c412#.cruae23be
    
    



More information about the OpenCPS mailing list