Trắc nghiệm Công nghệ Phần mềm Bài: KIỂM THỬ PHA BẢO TRÌ là một trong những đề thi thuộc Chương 10: PHA BẢO TRÌ 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 thực tiễn cốt lõi, tập trung vào các hoạt động kiểm thử được thực hiện sau khi phần mềm đã được triển khai, nhằm đảm bảo rằng các thay đổi (sửa lỗi, nâng cấp, cải tiến) không gây ra tác dụng phụ tiêu cực và sản phẩm vẫn hoạt động ổn định, đáp ứng yêu cầu.
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ư: mục đích của kiểm thử trong pha bảo trì, tầm quan trọng của kiểm thử hồi quy (Regression Testing), các loại kiểm thử khác được áp dụng (xác nhận lỗi, kiểm thử chức năng cho tính năng mới), những thách thức đặc trưng (hệ thống kế thừa, thiếu tài liệu, quản lý tập kiểm thử), và vai trò của tự động hóa trong việc tối ưu hóa chi phí và hiệu quả kiểm thử bảo trì. Việc hiểu rõ kiểm thử pha bảo trì sẽ trang bị cho sinh viên khả năng duy trì chất lượng sản phẩm phần mềm xuyên suốt vòng đời của nó.
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: KIỂM THỬ PHA BẢO TRÌ
Câu 1.Mục đích chính của kiểm thử trong pha bảo trì là gì?
A. Để tìm lỗi trong mã nguồn ban đầu.
B. Để kiểm tra hiệu suất của phần cứng mới.
C. Để xác định yêu cầu mới.
D. Đảm bảo rằng các thay đổi (sửa lỗi, nâng cấp, thêm tính năng) không gây ra lỗi mới hoặc làm hỏng chức năng hiện có.
Câu 2.Loại kiểm thử nào sau đây là quan trọng nhất và chiếm phần lớn nỗ lực kiểm thử trong pha bảo trì?
A. Kiểm thử đơn vị (Unit Testing).
B. Kiểm thử tích hợp (Integration Testing).
C. Kiểm thử chấp nhận (Acceptance Testing).
D. Kiểm thử hồi quy (Regression Testing).
Câu 3.Khi một lỗi đã được báo cáo và sửa chữa, loại kiểm thử nào được thực hiện để xác nhận rằng lỗi đó đã được khắc phục và không còn xuất hiện?
A. Kiểm thử hiệu suất.
B. Kiểm thử bảo mật.
C. Kiểm thử hồi quy.
D. Kiểm thử xác nhận lỗi (Confirmation Testing/Re-testing).
Câu 4.Tại sao việc kiểm thử hồi quy lại là một thách thức lớn trong pha bảo trì?
A. Vì nó chỉ tìm thấy các lỗi nhỏ.
B. Vì nó không cần nhiều công cụ.
C. Vì nó luôn được tự động hóa hoàn toàn.
D. Vì số lượng các trường hợp kiểm thử hồi quy có thể rất lớn và tốn thời gian.
Câu 5.Trong pha bảo trì, khi một tính năng mới được thêm vào phần mềm, loại kiểm thử nào là cần thiết để xác minh tính năng đó hoạt động đúng?
A. Kiểm thử hồi quy.
B. Kiểm thử phục hồi.
C. Kiểm thử hiệu suất.
D. Kiểm thử chức năng (Functional Testing) cho tính năng mới.
Câu 6.Vấn đề nào sau đây thường là một thách thức khi kiểm thử bảo trì các “hệ thống kế thừa” (Legacy Systems)?
A. Có tài liệu kiểm thử rất chi tiết.
B. Mã nguồn luôn rõ ràng.
C. Dễ dàng thiết lập môi trường kiểm thử.
D. Thiếu tài liệu, mã nguồn phức tạp và khó hiểu.
Câu 7.Mục tiêu chính của việc “chọn lọc kiểm thử hồi quy” (Regression Test Selection) là gì?
A. Thực hiện tất cả các kiểm thử hồi quy.
B. Bỏ qua hoàn toàn kiểm thử hồi quy.
C. Chỉ kiểm thử các tính năng mới.
D. Lựa chọn một tập hợp con tối ưu các trường hợp kiểm thử hồi quy để chạy, tiết kiệm thời gian và tài nguyên.
Câu 8.Để giảm chi phí và thời gian kiểm thử hồi quy, phương pháp nào sau đây là hiệu quả nhất?
A. Thực hiện kiểm thử thủ công thường xuyên hơn.
B. Giảm số lượng lập trình viên.
C. Bỏ qua kiểm thử hồi quy.
D. Tự động hóa kiểm thử hồi quy (Automated Regression Testing).
Câu 9.Phát biểu nào sau đây **không đúng** về kiểm thử pha bảo trì?
A. Kiểm thử bảo trì là một phần không thể thiếu của quá trình bảo trì.
B. Chi phí kiểm thử bảo trì thường rất đáng kể.
C. Mục tiêu chính là đảm bảo chất lượng sau thay đổi.
D. Kiểm thử bảo trì chỉ tập trung vào việc sửa lỗi, không bao gồm các cải tiến.
Câu 10.Khi một phần mềm được bảo trì để thích nghi với một môi trường mới (ví dụ: phiên bản hệ điều hành mới), loại kiểm thử nào là cần thiết để đảm bảo tính tương thích?
A. Kiểm thử xác nhận lỗi.
B. Kiểm thử chức năng.
C. Kiểm thử hiệu suất.
D. Kiểm thử tương thích (Compatibility Testing).
Câu 11.Vấn đề “Oracle Problem” (Vấn đề Oracle) trong kiểm thử bảo trì là gì?
A. Khó khăn trong việc tìm ra người có thể kiểm thử.
B. Phần mềm không thể chạy trên các hệ điều hành khác nhau.
C. Phần mềm luôn đưa ra kết quả ngẫu nhiên.
D. Thách thức trong việc xác định liệu kết quả đầu ra của phần mềm đã sửa đổi có đúng hay không.
Câu 12.Ai là người chịu trách nhiệm chính về việc thực hiện kiểm thử trong pha bảo trì?
A. Chỉ người dùng cuối.
B. Chỉ quản lý dự án.
C. Chỉ lập trình viên đã sửa lỗi.
D. Nhóm kiểm thử (Test Team) hoặc các thành viên trong nhóm bảo trì.
Câu 13.Khi sửa một lỗi trong hệ thống phần mềm, một rủi ro tiềm tàng là việc “tạo ra lỗi mới” (introducing new defects). Loại kiểm thử nào giúp giảm thiểu rủi ro này?
A. Kiểm thử đơn vị.
B. Kiểm thử tích hợp.
C. Kiểm thử chấp nhận.
D. Kiểm thử hồi quy.
Câu 14.Hệ thống “Quản lý lỗi” (Bug Tracking System) có vai trò gì trong việc kiểm thử pha bảo trì?
A. Tự động sửa lỗi.
B. Chỉ lưu trữ mã nguồn.
C. Chỉ tạo báo cáo.
D. Quản lý, theo dõi trạng thái của các lỗi được báo cáo và xác minh việc khắc phục.
Câu 15.Mục tiêu của việc “phân tích tác động” (Impact Analysis) trong pha bảo trì là gì?
A. Để tìm lỗi trong mã nguồn.
B. Để ước lượng chi phí bảo trì.
C. Để xác định người mắc lỗi.
D. Đánh giá những phần nào của hệ thống có thể bị ảnh hưởng bởi một thay đổi hoặc sửa chữa.
Câu 16.Phát biểu nào sau đây đúng về mối quan hệ giữa kiểm thử bảo trì và vòng đời sản phẩm?
A. Kiểm thử bảo trì chỉ là một lần duy nhất.
B. Kiểm thử bảo trì kết thúc khi sản phẩm được triển khai.
C. Kiểm thử bảo trì là một phần của phát triển ban đầu.
D. Kiểm thử bảo trì là một hoạt động liên tục trong suốt tuổi thọ của phần mềm.
Câu 17.Nếu một công ty muốn cải thiện hiệu quả kiểm thử bảo trì của mình, họ nên đầu tư vào điều gì?
A. Giảm số lượng kiểm thử viên.
B. Chỉ kiểm thử thủ công.
C. Không cần tài liệu.
D. Phát triển và duy trì một bộ kiểm thử hồi quy tự động.
Câu 18.Khái niệm “nợ kỹ thuật” (technical debt) ảnh hưởng đến kiểm thử bảo trì như thế nào?
A. Làm cho kiểm thử dễ dàng hơn.
B. Giảm sự cần thiết của kiểm thử.
C. Làm cho mã nguồn rõ ràng hơn.
D. Tăng độ phức tạp của việc kiểm thử do mã nguồn kém chất lượng và khó hiểu.
Câu 19.Kiểm thử nào sau đây thường được thực hiện để xác minh rằng phần mềm có thể phục hồi một cách an toàn và đúng cách sau khi gặp lỗi hoặc sự cố hệ thống trong môi trường sản xuất?
A. Kiểm thử hiệu suất.
B. Kiểm thử bảo mật.
C. Kiểm thử cài đặt.
D. Kiểm thử phục hồi (Recovery Testing).
Câu 20.Để đảm bảo một bộ kiểm thử hồi quy hiệu quả, các trường hợp kiểm thử cần được:
A. Viết ngẫu nhiên.
B. Chỉ viết cho tính năng mới.
C. Chỉ viết cho lỗi cũ.
D. Thường xuyên xem xét, cập nhật và bổ sung.
Câu 21.Trong pha bảo trì, khi một tính năng cũ được cải thiện hoặc tối ưu hóa (Bảo trì hoàn thiện), loại kiểm thử nào là cần thiết để xác minh rằng sự cải thiện này hoạt động như mong đợi và không ảnh hưởng đến chức năng khác?
A. Kiểm thử xác nhận lỗi.
B. Kiểm thử cài đặt.
C. Kiểm thử tương thích.
D. Kiểm thử chức năng và hồi quy.
Câu 22.Mục tiêu của việc “kiểm thử lại toàn bộ” (retest all) trong hồi quy là gì?
A. Để chọn lọc các trường hợp kiểm thử.
B. Để giảm thời gian kiểm thử.
C. Để bỏ qua các lỗi nhỏ.
D. Để thực hiện tất cả các trường hợp kiểm thử hiện có sau mỗi thay đổi, đảm bảo an toàn tối đa nhưng rất tốn kém.
Câu 23.Sự “thiếu thông tin” về các thay đổi (ví dụ: không có nhật ký thay đổi rõ ràng) là một vấn đề nào trong kiểm thử bảo trì?
A. Làm cho kiểm thử dễ dàng hơn.
B. Giảm sự cần thiết của kiểm thử.
C. Tăng tốc độ triển khai.
D. Gây khó khăn trong việc xác định phạm vi của kiểm thử hồi quy và các kịch bản kiểm thử cần thiết.
Câu 24.Khi một phần mềm được cập nhật để khắc phục các lỗ hổng bảo mật, loại kiểm thử nào là cần thiết để xác minh hiệu quả của việc khắc phục đó?
A. Kiểm thử hiệu suất.
B. Kiểm thử khả năng sử dụng.
C. Kiểm thử chức năng.
D. Kiểm thử bảo mật (Security Testing).
Câu 25.Mục tiêu của việc “quản lý cấu hình phần mềm” (Software Configuration Management – SCM) trong kiểm thử pha bảo trì là gì?
A. Chỉ để quản lý tài chính.
B. Chỉ để quản lý nhân sự.
C. Chỉ để phát triển công cụ mới.
D. Đảm bảo rằng kiểm thử được thực hiện trên phiên bản mã nguồn và môi trường chính xác, và các thay đổi được theo dõi.