Trắc nghiệm Công nghệ Phần mềm Bài: KIỂM CHỨ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 quan trọng, tập trung vào khái niệm Kiểm chứng (Verification) – một tập hợp các hoạt động đảm bảo rằng sản phẩm phần mềm đang được xây dựng “đúng cách” và tuân thủ các đặc tả, tiêu chuẩn đã đề ra.
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 Kiểm chứng và sự khác biệt với Kiểm thử (Testing) hoặc Thẩm định (Validation), tầm quan trọng của việc Kiểm chứng trong suốt vòng đời phát triển phần mềm, các phương pháp Kiểm chứng tĩnh (Static Verification) như đánh giá mã (code review), đi bộ mã (walkthroughs), kiểm tra (inspections), và các công cụ hỗ trợ. Việc hiểu rõ Kiểm chứng sẽ giúp sinh viên áp dụng các kỹ thuật phòng ngừa lỗi hiệu quả, góp phần tạo ra sản phẩm phần mềm chất lượng cao ngay từ đầu.
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 CHỨNG PHẦN MỀM
Câu 1.Kiểm chứng phần mềm (Software Verification) là quá trình gì?
A. Kiểm tra xem phần mềm có đáp ứng nhu cầu người dùng hay không.
B. Thực thi phần mềm để tìm lỗi.
C. Triển khai phần mềm cho môi trường sản xuất.
D. Đảm bảo rằng phần mềm đang được xây dựng “đúng cách” (Are we building the product right?).
Câu 2.Sự khác biệt chính giữa Kiểm chứng (Verification) và Thẩm định (Validation) là gì?
A. Kiểm chứng là về “cái gì”, Thẩm định là về “cách thức”.
B. Kiểm chứng là tìm lỗi, Thẩm định là sửa lỗi.
C. Kiểm chứng là sau triển khai, Thẩm định là trước triển khai.
D. Kiểm chứng là “xây dựng đúng cách”, Thẩm định là “xây dựng đúng sản phẩm” (Are we building the right product?).
Câu 3.Hoạt động nào sau đây là một ví dụ của Kiểm chứng tĩnh (Static Verification)?
A. Chạy phần mềm và nhập dữ liệu.
B. Kiểm tra hiệu suất của hệ thống.
C. Thực hiện kiểm thử chấp nhận.
D. Đánh giá mã nguồn (Code Review).
Câu 4.Mục tiêu chính của các hoạt động Kiểm chứng là gì?
A. Chỉ để tìm lỗi trong giai đoạn cuối.
B. Chỉ để đảm bảo giao diện đẹp.
C. Để tăng tốc độ phát triển.
D. Phát hiện sớm các lỗi, sai sót và sự không tuân thủ tiêu chuẩn trong các sản phẩm trung gian của quá trình phát triển.
Câu 5.Trong các phương pháp Kiểm chứng tĩnh, “Peer Review” (Đánh giá đồng cấp) là gì?
A. Một cuộc họp chỉ để phân công công việc.
B. Một phiên làm việc mà không có tài liệu.
C. Một hoạt động kiểm thử hiệu suất.
D. Việc một đồng nghiệp xem xét mã nguồn, tài liệu hoặc thiết kế của người khác để tìm kiếm lỗi và cải thiện chất lượng.
Câu 6.Phát biểu nào sau đây **đúng** về Kiểm chứng tĩnh so với Kiểm thử động?
A. Kiểm chứng tĩnh luôn hiệu quả hơn kiểm thử động.
B. Kiểm thử động không cần thiết nếu có kiểm chứng tĩnh.
C. Kiểm chứng tĩnh chỉ áp dụng cho tài liệu, không áp dụng cho mã nguồn.
D. Kiểm chứng tĩnh không yêu cầu thực thi mã nguồn, trong khi kiểm thử động thì có.
Câu 7.Một lợi ích chính của việc thực hiện Kiểm chứng sớm trong vòng đời phát triển phần mềm là gì?
A. Tăng chi phí dự án.
B. Kéo dài thời gian phát triển.
C. Làm cho sản phẩm phức tạp hơn.
D. Giảm đáng kể chi phí và công sức sửa lỗi, vì lỗi được phát hiện khi còn nhỏ.
Câu 8.Kiểm tra (Inspection) là một hoạt động Kiểm chứng có cấu trúc và quy củ hơn so với đánh giá thông thường, thường bao gồm các vai trò như:
A. Lập trình viên, người dùng cuối.
B. Người bán hàng, người mua hàng.
C. Quản lý dự án, kỹ sư phần mềm.
D. Người điều phối (moderator), người ghi chép (scribe), người đọc (reader), và người kiểm tra (inspector).
Câu 9.Công cụ nào sau đây thường được sử dụng để thực hiện “Phân tích tĩnh mã nguồn” (Static Code Analysis) trong quá trình Kiểm chứng?
A. Trình duyệt web.
B. Phần mềm bảng tính.
C. Công cụ quản lý dự án.
D. SonarQube, Checkmarx, Fortify.
Câu 10.Kiểm chứng giúp đảm bảo các thuộc tính chất lượng nào của phần mềm?
A. Chỉ về tốc độ thực thi.
B. Chỉ về giao diện người dùng.
C. Chỉ về tính năng.
D. Tính đúng đắn (correctness), khả năng bảo trì, khả năng hiểu và tuân thủ tiêu chuẩn.
Câu 11.Khi một nhóm xem xét tài liệu đặc tả yêu cầu để đảm bảo chúng rõ ràng, đầy đủ và nhất quán, đây là hoạt động Kiểm chứng ở giai đoạn nào?
A. Pha Cài đặt.
B. Pha Kiểm thử.
C. Pha Triển khai.
D. Pha Yêu cầu/Đặc tả.
Câu 12.Phát biểu nào sau đây **không đúng** về Kiểm chứng phần mềm?
A. Kiểm chứng là một phần của Đảm bảo Chất lượng Phần mềm (SQA).
B. Kiểm chứng nên được thực hiện xuyên suốt vòng đời phát triển.
C. Mục tiêu của Kiểm chứng là phòng ngừa lỗi.
D. Kiểm chứng chỉ liên quan đến việc chạy thử phần mềm trên môi trường thực tế.
Câu 13.Khái niệm “Walkthrough” (Đi bộ mã) trong Kiểm chứng là gì?
A. Một buổi tập thể dục của đội ngũ.
B. Một hoạt động kiểm thử hiệu suất.
C. Một cuộc thảo luận không chính thức.
D. Một buổi họp nơi người phát triển giới thiệu mã nguồn hoặc thiết kế cho các đồng nghiệp, từng bước đi qua logic.
Câu 14.Một trong những lý do chính để thực hiện Kiểm chứng, đặc biệt là đánh giá tài liệu, là gì?
A. Để tìm lỗi cú pháp trong mã nguồn.
B. Để tự động sửa lỗi.
C. Để triển khai phần mềm nhanh hơn.
D. Để phát hiện lỗi ở giai đoạn sớm nhất có thể, khi chúng còn rẻ để sửa.
Câu 15.Khái niệm “Phân tích luồng dữ liệu” (Data Flow Analysis) và “Phân tích luồng điều khiển” (Control Flow Analysis) là các kỹ thuật nào thường được sử dụng trong Kiểm chứng?
A. Kiểm thử đơn vị.
B. Kiểm thử tích hợp.
C. Kiểm thử hệ thống.
D. Phân tích tĩnh mã nguồn.
Câu 16.Nếu một tài liệu thiết kế không tuân thủ các nguyên tắc thiết kế tốt (ví dụ: tính phụ thuộc cao), hoạt động Kiểm chứng nào sẽ giúp phát hiện vấn đề này?
A. Kiểm thử chức năng.
B. Kiểm thử hiệu suất.
C. Kiểm thử chấp nhận.
D. Đánh giá thiết kế (Design Review).
Câu 17.Kiểm chứng giúp giảm thiểu “nợ kỹ thuật” (technical debt) bằng cách nào?
A. Bằng cách không bao giờ sửa lỗi.
B. Bằng cách thêm nhiều tính năng cùng lúc.
C. Bằng cách trì hoãn việc cải tiến.
D. Bằng cách đảm bảo mã nguồn và thiết kế tuân thủ các tiêu chuẩn và thực tiễn tốt ngay từ đầu.
Câu 18.Phát biểu nào sau đây mô tả vai trò của “Formal Methods” (Các phương pháp hình thức) trong Kiểm chứng?
A. Sử dụng ngôn ngữ tự nhiên để mô tả yêu cầu.
B. Không yêu cầu toán học hay logic.
C. Chỉ áp dụng cho các dự án nhỏ.
D. Sử dụng ký hiệu toán học và logic chặt chẽ để mô tả và xác minh tính đúng đắn của hệ thống.
Câu 19.Trong quy trình Kiểm chứng, “Checklist” (Danh sách kiểm tra) có vai trò gì?
A. Chỉ để đánh giá hiệu suất của lập trình viên.
B. Chỉ để tìm lỗi trong giao diện.
C. Chỉ để theo dõi tiến độ dự án.
D. Cung cấp một tập hợp các tiêu chí hoặc câu hỏi để đảm bảo rằng mọi khía cạnh quan trọng đã được xem xét trong quá trình đánh giá.
Câu 20.Ai là người chịu trách nhiệm chính trong việc thực hiện các hoạt động Kiểm chứng trong một dự án phần mềm?
A. Chỉ người quản lý dự án.
B. Chỉ các khách hàng.
C. Chỉ đội ngũ kiểm thử.
D. Tất cả các thành viên trong nhóm phát triển (lập trình viên, kiến trúc sư, chuyên viên phân tích) và nhóm SQA.
Câu 21.Mục tiêu của việc đảm bảo “Tính truy vết” (Traceability) trong tài liệu yêu cầu và thiết kế là gì trong bối cảnh Kiểm chứng?
A. Để làm cho tài liệu dài hơn.
B. Để che giấu thông tin quan trọng.
C. Để tìm ra người viết ra yêu cầu đó.
D. Giúp dễ dàng xác minh rằng mọi yêu cầu đều được đáp ứng trong thiết kế và mã nguồn, và mọi thành phần đều có nguồn gốc từ yêu cầu.
Câu 22.Lợi ích kinh tế chính của Kiểm chứng là gì?
A. Tăng chi phí dự án.
B. Kéo dài thời gian ra thị trường.
C. Làm giảm số lượng nhân viên.
D. Giảm đáng kể chi phí sửa lỗi do phát hiện sớm, tăng chất lượng sản phẩm và giảm rủi ro dự án.
Câu 23.Kiểm chứng và Kiểm thử là hai hoạt động:
A. Thay thế hoàn toàn cho nhau.
B. Độc lập và không liên quan.
C. Chỉ được thực hiện bởi cùng một người.
D. Bổ trợ cho nhau, cùng hướng tới mục tiêu đảm bảo chất lượng phần mềm.
Câu 24.Nếu một đoạn mã bị phát hiện vi phạm quy ước mã hóa của công ty trong quá trình đánh giá, đây là kết quả của hoạt động Kiểm chứng nào?
A. Kiểm thử đơn vị.
B. Kiểm thử tích hợp.
C. Kiểm thử hệ thống.
D. Đánh giá mã nguồn (Code Review).
Câu 25.Kiểm chứng giúp đảm bảo “sự tuân thủ” (compliance) của phần mềm đối với điều gì?
A. Chỉ sở thích cá nhân của lập trình viên.
B. Các công cụ lập trình.
C. Chi phí dự án.
D. Các tiêu chuẩn, quy định, chính sách và quy trình đã được thiết lập.