Trắc nghiệm Công nghệ Phần mềm Bài: VẤN ĐỀ CHẤT LƯỢNG PHẦN MỀM là một trong những đề thi thuộc Chương 4: KIỂM THỬ trong học phần Công nghệ Phần mềm chuyên ngành Công Nghệ Thông Tin cấp độ Đại học. Đây là phần kiến thức vô cùng quan trọng, giúp sinh viên nhận thức sâu sắc về tầm ảnh hưởng của chất lượng đối với sự thành công của một sản phẩm phần mềm và những thách thức trong việc đảm bảo chất lượng.
Trong bài học này, người học cần nắm vững các nội dung cốt lõi như: định nghĩa chất lượng phần mềm, các thuộc tính của chất lượng (hiệu suất, độ tin cậy, khả năng sử dụng, bảo mật, khả năng bảo trì), các nguyên nhân phổ biến gây ra lỗi và vấn đề chất lượng (yêu cầu không rõ ràng, thiết kế yếu kém, lỗi lập trình, kiểm thử không đầy đủ), hậu quả của phần mềm kém chất lượng (tổn thất tài chính, mất uy tín, rủi ro an toàn), và tầm quan trọng của việc đảm bảo chất lượng (SQA) xuyên suốt vòng đời phát triển. Việc hiểu rõ các vấn đề chất lượng sẽ trang bị cho sinh viên tư duy phản biện và trách nhiệm trong việc xây dựng sản phẩm phần mềm đáng tin cậy.
Hãy cùng Dethitracnghiem.vn tìm hiểu về đề thi này và tham gia làm kiểm tra ngay lập tức!
Trắc nghiệm Công nghệ Phần mềm Bài: VẤN ĐỀ CHẤT LƯỢNG PHẦN MỀM
Câu 1.Chất lượng phần mềm (Software Quality) được định nghĩa là gì?
A. Phần mềm không có bất kỳ lỗi nào.
B. Phần mềm được viết bằng ngôn ngữ lập trình mới nhất.
C. Phần mềm có giao diện người dùng đẹp.
D. Mức độ phần mềm đáp ứng được các yêu cầu đã đặt ra (chức năng và phi chức năng), đồng thời thỏa mãn các kỳ vọng của người dùng.
Câu 2.Thuộc tính nào của chất lượng phần mềm liên quan đến khả năng hệ thống hoạt động không lỗi trong một khoảng thời gian nhất định?
A. Khả năng sử dụng (Usability).
B. Hiệu suất (Performance).
C. Khả năng bảo trì (Maintainability).
D. Độ tin cậy (Reliability).
Câu 3.Khi một phần mềm bị lỗi gây ra sự cố tài chính lớn cho người dùng, đây là hậu quả của vấn đề chất lượng nào?
A. Lỗi giao diện người dùng.
B. Lỗi tương thích.
C. Lỗi hiệu suất.
D. Lỗi chức năng nghiêm trọng hoặc lỗ hổng bảo mật.
Câu 4.Một trong những nguyên nhân hàng đầu gây ra các vấn đề chất lượng trong phần mềm là gì?
A. Ngôn ngữ lập trình quá khó.
B. Phần cứng máy tính không đủ mạnh.
C. Thiếu lập trình viên.
D. Yêu cầu không rõ ràng, không đầy đủ hoặc thay đổi liên tục.
Câu 5.Khái niệm “Bug” (Lỗi) trong phần mềm đề cập đến điều gì?
A. Một tính năng mới của phần mềm.
B. Một phương pháp lập trình.
C. Một loại tài liệu.
D. Một khuyết tật hoặc sai sót trong mã nguồn hoặc thiết kế, có thể dẫn đến hành vi không mong muốn của phần mềm.
Câu 6.Tại sao việc phát hiện lỗi ở giai đoạn cuối của vòng đời phát triển phần mềm (ví dụ: sau khi triển khai) lại tốn kém hơn nhiều?
A. Lỗi trở nên khó hiểu hơn.
B. Phần mềm không còn được sử dụng.
C. Lập trình viên không có thời gian.
D. Việc sửa lỗi yêu cầu thay đổi ở nhiều tầng của hệ thống và có thể ảnh hưởng đến nhiều phần khác, tốn nhiều thời gian và công sức.
Câu 7.Thuộc tính “Khả năng bảo trì” (Maintainability) của phần mềm có ý nghĩa gì đối với chất lượng?
A. Phần mềm không bao giờ cần sửa đổi.
B. Phần mềm tự động sửa lỗi.
C. Phần mềm không cần tài liệu.
D. Mức độ dễ dàng để sửa chữa lỗi, thích nghi với môi trường mới hoặc thêm tính năng mới vào phần mềm.
Câu 8.Một hệ thống phần mềm có “hiệu suất thấp” có nghĩa là gì?
A. Nó dễ bị tấn công bởi virus.
B. Nó thường xuyên gặp lỗi.
C. Nó khó sử dụng cho người dùng.
D. Nó hoạt động chậm chạp hoặc không đáp ứng được các yêu cầu về tốc độ và khả năng xử lý.
Câu 9.Vấn đề “nợ kỹ thuật” (technical debt) có ảnh hưởng như thế nào đến chất lượng phần mềm?
A. Luôn làm tăng chất lượng ngay lập tức.
B. Giảm chi phí bảo trì.
C. Làm cho mã nguồn dễ hiểu hơn.
D. Tăng chi phí bảo trì và rủi ro trong tương lai, làm giảm khả năng mở rộng và cải thiện chất lượng.
Câu 10.Đảm bảo chất lượng phần mềm (Software Quality Assurance – SQA) tập trung vào việc gì để giải quyết vấn đề chất lượng?
A. Chỉ sửa lỗi sau khi chúng xuất hiện.
B. Chỉ kiểm thử sản phẩm cuối cùng.
C. Chỉ đào tạo người dùng.
D. Phòng ngừa lỗi thông qua việc cải thiện quy trình phát triển và tuân thủ các tiêu chuẩn.
Câu 11.Nếu một phần mềm có giao diện người dùng khó hiểu, phức tạp và không trực quan, nó đang có vấn đề về thuộc tính chất lượng nào?
A. Độ tin cậy.
B. Hiệu suất.
C. Bảo mật.
D. Khả năng sử dụng (Usability).
Câu 12.Nguyên nhân nào sau đây thường dẫn đến các lỗ hổng bảo mật nghiêm trọng trong phần mềm?
A. Yêu cầu quá đơn giản.
B. Thiết kế quá chi tiết.
C. Kiểm thử quá kỹ lưỡng.
D. Thiết kế bảo mật yếu kém và lỗi lập trình liên quan đến xử lý dữ liệu nhạy cảm.
Câu 13.Phát biểu nào sau đây **không đúng** về chất lượng phần mềm?
A. Chất lượng không chỉ là không có lỗi mà còn là sự hài lòng của người dùng.
B. Chất lượng cần được xem xét xuyên suốt mọi giai đoạn của dự án.
C. Đầu tư vào chất lượng từ sớm giúp giảm chi phí về sau.
D. Phần mềm chất lượng cao luôn có nghĩa là nó không cần bất kỳ sự bảo trì nào.
Câu 14.Khi một phần mềm không thể chạy trên các hệ điều hành hoặc thiết bị khác nhau, nó đang có vấn đề về thuộc tính chất lượng nào?
A. Khả năng bảo trì.
B. Độ tin cậy.
C. Hiệu suất.
D. Khả năng tương thích/di động (Portability/Compatibility).
Câu 15.Một “Regression Bug” (Lỗi hồi quy) là gì và nó liên quan đến vấn đề chất lượng như thế nào?
A. Một lỗi mới xuất hiện sau khi thay đổi phần cứng.
B. Một lỗi chỉ xảy ra trên các hệ thống cũ.
C. Một lỗi xuất hiện do thiếu tài liệu.
D. Một lỗi mới xuất hiện trong các chức năng đã hoạt động đúng trước đó, do những thay đổi hoặc sửa chữa khác.
Câu 16.Để giảm thiểu các vấn đề chất lượng liên quan đến yêu cầu, hoạt động nào cần được thực hiện cẩn thận trong giai đoạn đầu?
A. Lập trình càng nhanh càng tốt.
B. Bỏ qua phản hồi của người dùng.
C. Không cần tài liệu.
D. Phân tích yêu cầu, thẩm định và quản lý sự thay đổi yêu cầu.
Câu 17.Thuộc tính “Khả năng mở rộng” (Scalability) của phần mềm có ý nghĩa gì đối với chất lượng?
A. Phần mềm có thể chạy trên nhiều ngôn ngữ lập trình.
B. Phần mềm có thể tích hợp với các hệ thống khác.
C. Phần mềm có thể được sử dụng bởi nhiều người.
D. Khả năng của hệ thống để xử lý khối lượng công việc tăng lên hoặc số lượng người dùng tăng lên mà vẫn duy trì hiệu suất.
Câu 18.Việc bỏ qua hoặc thực hiện không đủ kiểm thử phần mềm sẽ dẫn đến hậu quả gì về chất lượng?
A. Giảm chi phí phát triển.
B. Tăng tốc độ triển khai.
C. Làm cho phần mềm an toàn hơn.
D. Số lượng lỗi được phát hiện sau triển khai tăng cao, gây ra sự không hài lòng cho người dùng.
Câu 19.Một “Failure” (Sự cố/Thất bại) trong phần mềm là gì?
A. Một ý tưởng mới cho phần mềm.
B. Một lỗi trong mã nguồn.
C. Một hoạt động kiểm thử.
D. Sự kiện phần mềm không thực hiện chức năng mong muốn hoặc hoạt động không đúng theo đặc tả.
Câu 20.Để đảm bảo chất lượng phần mềm, vai trò của “Design Review” (Đánh giá thiết kế) là gì?
A. Chỉ để tìm lỗi cú pháp trong code.
B. Chỉ để đánh giá hiệu suất của lập trình viên.
C. Chỉ để kiểm tra giao diện người dùng.
D. Phát hiện sớm các vấn đề trong kiến trúc và thiết kế, trước khi chúng được cài đặt thành mã nguồn.
Câu 21.Trong một dự án phần mềm, “Chi phí chất lượng” (Cost of Quality) bao gồm những loại chi phí nào?
A. Chỉ chi phí sửa lỗi.
B. Chỉ chi phí kiểm thử.
C. Chỉ chi phí bảo hành.
D. Chi phí phòng ngừa (prevention), đánh giá (appraisal), lỗi nội bộ (internal failure) và lỗi bên ngoài (external failure).
Câu 22.Nếu một phần mềm mất nhiều thời gian để khởi động hoặc tải dữ liệu, nó đang có vấn đề về thuộc tính chất lượng nào?
A. Độ tin cậy.
B. Khả năng bảo trì.
C. Khả năng sử dụng.
D. Hiệu suất (Performance).
Câu 23.Khía cạnh nào của chất lượng phần mềm liên quan đến việc ngăn chặn truy cập trái phép, bảo vệ dữ liệu và đảm bảo tính toàn vẹn của hệ thống?
A. Hiệu suất.
B. Khả năng mở rộng.
C. Độ tin cậy.
D. Bảo mật (Security).
Câu 24.Tầm quan trọng của “Quản lý cấu hình phần mềm” (Software Configuration Management – SCM) trong việc giải quyết vấn đề chất lượng là gì?
A. Chỉ để sao lưu mã nguồn.
B. Chỉ để triển khai phần mềm.
C. Chỉ để quản lý tài chính.
D. Kiểm soát các thay đổi đối với mã nguồn và tài liệu, đảm bảo rằng mọi thay đổi đều được ghi lại và theo dõi, giúp giảm lỗi và đảm bảo tính nhất quán.
Câu 25.Phát biểu nào sau đây mô tả đúng nhất về “Product Quality” (Chất lượng sản phẩm) so với “Process Quality” (Chất lượng quy trình)?
A. Chất lượng sản phẩm quan trọng hơn chất lượng quy trình.
B. Chất lượng quy trình quan trọng hơn chất lượng sản phẩm.
C. Chúng là hai khái niệm hoàn toàn độc lập.
D. Chất lượng quy trình tốt thường dẫn đến chất lượng sản phẩm tốt, nhưng một sản phẩm tốt cũng có thể đạt được bằng một quy trình không hoàn hảo.