Tìm hiểu về chất lượng phần mềm

0
49
Rate this post

Chào mừng bạn đến với Dnulib! Trong bài viết này, chúng ta sẽ cùng tìm hiểu về chất lượng phần mềm và những khía cạnh quan trọng liên quan đến nó.

Phần mềm là gì?

Theo IEEE, phần mềm bao gồm chương trình máy tính, thủ tục, các tài liệu liên quan và dữ liệu cần thiết cho hoạt động của hệ thống phần mềm. Định nghĩa của ISO (ISO 9000-3) gồm 4 thành phần cần thiết để đảm bảo chất lượng trong quá trình phát triển và bảo trì phần mềm.

Lỗi phần mềm, còn được gọi là “Software Error”, là các lỗi phát sinh do sai sót trong lôi cú pháp, logic hoặc phân tích, thiết kế. Sai sót, hay “Software Fault”, là những lỗi dẫn đến hoạt động không chính xác của phần mềm. Tuy nhiên, không phải lỗi nào cũng gây ra sự cố hoạt động. Khi một fault được kích hoạt và gây ra sự cố, chúng trở thành “Software Failure”.

Software errors, software faults và software failures

Dưới đây là một ví dụ để hiểu rõ hơn về khái niệm này:

public static int numZero (int[] x) {
    // Effects: if x == null throw NullPointerException
    //else return the number of occurrences of 0 in x
    int count = 0;
    for (int i = 1; i < x.length; i++) {
        if (x[i] == 0) {
            count++;
        }
    }
    return count;
}

Trong ví dụ trên, có một lỗi logic. Chúng ta chỉ đếm các số bằng 0 từ chỉ số 1 thay vì chỉ số 0. Ví dụ, numZero([2,7,0]) được tính chính xác là 1, nhưng numZero([0,7,2]) lại tính sai là 0.

Cả hai trường hợp đều có fault, nhưng chỉ trường hợp thứ hai gây ra failure.

Chín nguyên nhân gây ra lỗi phần mềm

1. Lỗi khi định nghĩa yêu cầu

Định nghĩa yêu cầu không chính xác, ví dụ như định nghĩa sai hoặc thiếu sót. Yêu cầu không đầy đủ hoặc không cần thiết cũng gây ra lỗi phần mềm.

2. Quan hệ Client-developer

Hiểu sai tài liệu yêu cầu, không tham gia đầy đủ vào quá trình phát triển và không thông báo cho khách hàng về những thay đổi yêu cầu là những nguyên nhân gây ra lỗi phần mềm.

3. Sai phạm có chủ ý với yêu cầu phần mềm

Việc tái sử dụng code đã có để tiết kiệm thời gian, việc chèn các thay đổi không được chấp nhận, và việc bỏ sót các phần không cần thiết trong code là những nguyên nhân gây ra lỗi phần mềm.

4. Lỗi thiết kế logic

Lỗi trong thuật toán, định nghĩa tiến trình, lỗi khi định nghĩa điều kiện biên, hay bỏ sót các trạng thái phần mềm là những nguyên nhân gây ra lỗi phần mềm. Chú ý rằng không phải tất cả các lỗi đều là software errors. Một số lỗi thuộc về lỗi thu tục và không phải là một phần của hệ thống.

5. Lỗi lập trình

Lỗi cú pháp, lỗi logic và lỗi run-time là những lỗi lập trình phổ biến trong phần mềm.

6. Không tuân thủ các hướng dẫn viết tài liệu và code

Việc không tuân thủ các mẫu templates, chuẩn coding và các yêu cầu về tài liệu và code cũng gây ra lỗi phần mềm.

7. Thiếu sót của quá trình kiểm thử

Kế hoạch kiểm thử không đầy đủ, không phát hiện được lỗi tài liệu hoặc không phát hiện được lỗi mà mô tả mập mờ là những nguyên nhân gây ra lỗi phần mềm.

8. Lỗi giao diện người dùng và thủ tục

Thủ tục hướng dẫn cho người dùng cách thao tác với phần mềm và lỗi trong tài liệu hướng dẫn sử dụng cũng có thể gây ra lỗi phần mềm.

9. Lỗi tài liệu

Lỗi trong thiết kế tài liệu, lỗi trong tài liệu hướng dẫn sử dụng, các chức năng không tồn tại, thông báo lỗi vô nghĩa và các lỗi liên quan đến hệ thống hỗ trợ cũng gây ra lỗi phần mềm.

Chất lượng phần mềm, định nghĩa của IEEE

Chất lượng phần mềm đạt mức độ phù hợp với các yêu cầu đã được đặt ra cho một hệ thống, thành phần hoặc tiến trình. Điều quan trọng là đáp ứng được các yêu cầu đã được đặt ra trong đặc tả và làm hài lòng khách hàng.

Các định nghĩa khác nhau về đảm bảo chất lượng phần mềm

1. Đảm bảo chất lượng phần mềm

Đảm bảo chất lượng phần mềm là một mô hình có kế hoạch và có hệ thống của tất cả các hành động cần thiết để tạo niềm tin rằng sản phẩm đáp ứng đủ các yêu cầu kỹ thuật đã thiết lập. Nó bao gồm việc đánh giá tiến trình phát triển/sản xuất sản phẩm.

2. Mục tiêu của hoạt động SQA trong phát triển phần mềm (Process-Oriented)

Hoạt động SQA nhằm đảm bảo một mức độ tin cậy chấp nhận được cho phần mềm, bao gồm đáp ứng các yêu cầu chức năng và quản lý về thời gian và tài chính. Nó cũng nhằm cải thiện hoạt động phát triển và hoạt động SQA.

3. Mục tiêu của hoạt động SQA trong bảo trì phần mềm (Product-Oriented)

Hoạt động SQA trong bảo trì phần mềm cũng nhằm đảm bảo một mức độ tin cậy chấp nhận được cho các hoạt động bảo trì phần mềm, bao gồm đáp ứng các yêu cầu chức năng và quản lý về thời gian và tài chính. Nó cũng nhằm cải thiện hoạt động bảo trì phần mềm và hoạt động SQA.

Dnulib là một nguồn tài liệu tuyệt vời cho bạn để tìm hiểu thêm về chất lượng phần mềm. Hãy truy cập vào dnulib.edu.vn để khám phá thêm nhiều thông tin hữu ích.