Degrade là gì?
Degrade là thuật ngữ được sử dụng trong lĩnh vực Công nghệ thông tin để chỉ những vấn đề gây giảm sút chất lượng phần mềm. Ví dụ, khi sửa một lỗi (bug) trong phần mềm, có thể làm cho các phần khác – vốn đang hoạt động bình thường – bị ngừng hoạt động. Trong ngành Công nghệ thông tin ở Việt Nam và Nhật Bản, degrade là thuật ngữ quen thuộc để chỉ những vấn đề kiểu này. Tuy nhiên, ở các nước nói tiếng Anh, từ “Regression” được sử dụng nhiều hơn. Theo định nghĩa của ISTQB – Standard Glossary of Terms used in Software Testing, degrade hay regression là sự suy giảm chất lượng thành phần hay hệ thống do các thay đổi gây ra.
Loại degrade
Có rất nhiều loại degrade, tuy nhiên trong bài viết này, chúng ta sẽ phân thành 3 loại lớn tùy theo vị trí gây phát sinh degrade:
Degrade do xử lý không đúng trong quá trình implement/chỉnh sửa program
Đây là loại degrade chúng ta gặp nhiều nhất. Phạm vi ảnh hưởng của loại degrade này khác nhau tùy thuộc vào nội dung cũng như vị trí source code. Loại degrade này có thể phát sinh ảnh hưởng không chỉ đối với chức năng liên quan trực tiếp mà còn đối với các chức năng khác. Đối với loại degrade này, khi chỉnh sửa cần phải có sự tham gia của người phụ trách chức năng đã gây ra ảnh hưởng.
Degrade do bị ảnh hưởng bởi những thay đổi của môi trường cơ sở hạ tầng
Đây là loại degrade khá khó chịu trong hệ thống bao gồm nhiều cơ sở hạ tầng hoặc kết hợp của nhiều dịch vụ khác nhau. Loại degrade này phát sinh không chỉ do việc thay đổi từng giá trị cài đặt môi trường riêng lẻ, mà còn có thể do việc nâng cấp phiên bản phần mềm trung gian hoặc thư viện, hoặc việc migrate môi trường. Trong các trường hợp này, phạm vi ảnh hưởng có xu hướng tương đối lớn, cần thận trọng trong việc phòng tránh phát sinh degrade bất ngờ ở giai đoạn trước release.
Degrade do debug không liên quan trực tiếp đến program
Đối với các chức năng không ảnh hưởng trực tiếp đến khách hàng là người dùng cuối, nếu implement không chính xác có thể phát sinh degrade. Ví dụ, nếu xuất quá nhiều log có thể gây ảnh hưởng đến sự ổn định của hệ thống, dẫn đến không thể thực hiện các xử lý thông thường được. Ngoài ra, việc xử lý lưu dữ liệu debug quá mức cần thiết có thể gây mở rộng cơ sở dữ liệu hơn mức dự kiến, ngay cả các xử lý thông thường cũng có thể phát sinh lỗi. Điều này có thể xảy ra đối với môi trường STG, do có hạn chế về dung lượng.
Nguyên nhân phát sinh degrade
Một số nguyên nhân phát sinh degrade có thể kể đến như sau:
Nguyên nhân do lỗi của người implement
Nguyên nhân đầu tiên có thể là do lỗi từ phía người implement, cụ thể là hiểu sai specs khi implement hoặc điều tra phạm vi ảnh hưởng dẫn đến xảy ra sai lầm hoặc thiếu sót. Hiểu lầm, hiểu sai là nguyên nhân trực tiếp, và điều này có thể thường đơn giản được coi là “vấn đề cá nhân mắc lỗi”. Tuy nhiên, có những vấn đề khác như những vấn đề mang tính hệ thống hoặc những tình huống dễ xảy ra sai sót.
Nguyên nhân do specs không được cập nhật hoặc maintain đầy đủ
Nếu các thông số kỹ thuật không được cập nhật mới nhất và chính xác, có thể xảy ra tình huống “không thể xem xét chính xác dựa trên thông tin chính xác”. Ngoài ra, nếu xem xét cụ thể hơn về nguyên nhân gây chậm trễ trong việc cập nhật/maintain specs, có thể thấy có các vấn đề như rule cập nhật/maintain specs không rõ ràng, rule không được thực hiện triệt để hoặc các rule hiện tại có vấn đề.
Nguyên nhân do sai sót trong quá trình communication
Communication quan trọng trong dự án, nếu không xác nhận đầy đủ về Q&A hay specs mới nhất, có thể dẫn đến degrade không mong muốn. Đặc biệt, đối với các dự án có nhiều vendor làm việc cùng nhau, degrade có thể xảy ra do vấn đề giao tiếp giữa các nhóm hoặc giữa các thành viên trong nhóm. Cần thiết lập quy tắc và tạo sự thông suốt trong dự án để tránh rào cản giao tiếp.
Đánh giá rủi ro khi phát sinh degrade
Sự phát sinh degrade có thể dẫn đến mất lòng tin của khách hàng và yêu cầu effort và chi phí ngoài dự kiến để khắc phục. Ngoài ra, tái phát degrade có thể xảy ra do rủi ro đã bị che giấu từ đầu. Điều quan trọng là đối ứng thận trọng dựa trên thông tin chính xác và đánh giá hiệu quả các biện pháp kiểm soát degrade.
Hướng xử lý degrade
Hướng xử lý degrade có thể chia thành 2 loại:
Biện pháp phòng ngừa
Cần xem xét các biện pháp hữu hiệu để ngăn chặn phát sinh degrade, bao gồm tiêu chuẩn hóa việc quản lý và điều tra phạm vi ảnh hưởng đầy đủ.
Biện pháp đối phó
Cần xem xét các biện pháp đối phó để giảm thiểu mức độ ảnh hưởng khi degrade xảy ra. Điều này có thể bao gồm regression testing, continuous testing & automated testing, degrade improvement và release control.
Trên thực tế, không có biện pháp nào hoàn hảo để ngăn chặn degrade hoàn toàn. Tuy nhiên, bằng cách xem xét các biện pháp phòng ngừa và đối phó thích hợp, chúng ta có thể giảm thiểu rủi ro và kiểm soát chất lượng hệ thống.
Lưu ý: Bài viết này đã được chỉnh sửa bởi HEFC, chuyên gia về SEO và viết nội dung.