Trắc nghiệm Công nghệ Phần mềm Bài: KIỂM THỬ PHA CÀI ĐẶT VÀ TÍCH HỢP

Làm bài thi

Mục Lục

Trắc nghiệm Công nghệ Phần mềm Bài: KIỂM THỬ PHA CÀI ĐẶT VÀ TÍCH HỢP là một trong những đề thi thuộc Chương 9: PHA CÀI ĐẶT VÀ TÍCH HỢP 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 song song với việc cài đặt mã nguồn và kết hợp các module, nhằm đảm bảo chất lượng sản phẩm ngay từ các giai đoạn sớm của quá trình xây dựng hệ thố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ư: mục đích của kiểm thử trong pha cài đặt và tích hợp, các cấp độ kiểm thử chính (kiểm thử đơn vị, kiểm thử tích hợp), các kỹ thuật kiểm thử (hộp trắng, hộp đen), vai trò của kiểm thử tự động, lợi ích của việc phát hiện lỗi sớm ở các cấp độ này, và những thách thức thường gặp. Việc hiểu rõ cách kiểm thử pha cài đặt và tích hợp sẽ trang bị cho sinh viên khả năng xây dựng mã nguồn và hệ thống chất lượng cao, giảm thiểu chi phí sửa lỗi và nâng cao sự tin cậy của sản phẩm.

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 CÀI ĐẶT VÀ TÍCH HỢP

Câu 1.Mục đích chính của Kiểm thử đơn vị (Unit Testing) trong Pha Cài đặt là gì?
A. Kiểm tra toàn bộ hệ thống đã hoàn thiện.
B. Kiểm tra sự tương tác giữa các module.
C. Kiểm tra giao diện người dùng.
D. Xác minh rằng mỗi module hoặc thành phần riêng lẻ hoạt động đúng theo đặc tả.

Câu 2.Kiểm thử đơn vị (Unit Testing) thường được thực hiện bởi ai?
A. Người dùng cuối.
B. Nhóm kiểm thử độc lập.
C. Quản lý dự án.
D. Lập trình viên đã viết mã cho đơn vị đó.

Câu 3.Kỹ thuật kiểm thử nào tập trung vào việc kiểm tra cấu trúc bên trong của mã nguồn, luồng điều khiển và đường dẫn mã?
A. Kiểm thử hộp đen (Black-box Testing).
B. Kiểm thử chấp nhận (Acceptance Testing).
C. Kiểm thử hồi quy (Regression Testing).
D. Kiểm thử hộp trắng (White-box Testing).

Câu 4.Kiểm thử tích hợp (Integration Testing) có mục đích chính là gì?
A. Tìm lỗi trong từng module riêng lẻ.
B. Kiểm tra hiệu suất của hệ thống.
C. Kiểm tra tính năng mới.
D. Phát hiện lỗi phát sinh từ sự tương tác (interface) giữa các module đã được tích hợp.

Câu 5.Chiến lược tích hợp nào (và kiểm thử tích hợp tương ứng) thường được khuyến khích trong các phương pháp phát triển linh hoạt (Agile)?
A. Tích hợp Big Bang.
B. Tích hợp từ trên xuống (Top-down).
C. Tích hợp từ dưới lên (Bottom-up).
D. Tích hợp liên tục (Continuous Integration).

Câu 6.Trong kiểm thử tích hợp, “Stub” (phần mềm giả lập) được sử dụng khi nào?
A. Để kiểm thử các module cấp cao hơn chưa có.
B. Để kiểm thử toàn bộ hệ thống.
C. Để gỡ lỗi mã nguồn.
D. Khi kiểm thử một module cấp cao nhưng module cấp thấp mà nó gọi đến chưa được phát triển.

Câu 7.Lợi ích chính của việc phát hiện lỗi sớm trong Pha Cài đặt và Tích hợp 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 cần thiết để khắc phục lỗi.

Câu 8.Kiểm thử nào sau đây thuộc loại kiểm thử hộp đen, tập trung vào việc kiểm tra chức năng từ góc độ người dùng, không quan tâm đến cấu trúc nội bộ?
A. Kiểm thử đường dẫn.
B. Kiểm thử vòng lặp.
C. Kiểm thử điều kiện.
D. Kiểm thử chức năng (Functional Testing).

Câu 9.Hệ thống kiểm soát phiên bản (Version Control System – VCS) như Git có vai trò gì trong việc kiểm thử pha cài đặt và tích hợp?
A. Tự động kiểm thử tất cả các trường hợp.
B. Chỉ tìm lỗi hiệu suất.
C. Không liên quan đến kiểm thử.
D. Quản lý các phiên bản mã nguồn, giúp theo dõi các thay đổi và hỗ trợ kiểm thử hồi quy.

Câu 10.Kiểm thử hồi quy (Regression Testing) có mục đích chính là gì?
A. Tìm lỗi trong các phiên bản cũ của phần mềm.
B. Kiểm thử các tính năng mới được thêm vào.
C. Đảm bảo phần mềm hoạt động trên môi trường mới.
D. Đảm bảo rằng các thay đổi (sửa lỗi, thêm tính năng) không làm hỏng các chức năng đã hoạt động đúng trước đó.

Câu 11.Phát biểu nào sau đây **không đúng** về kiểm thử pha cài đặt và tích hợp?
A. Đây là giai đoạn nơi lỗi được phát hiện và sửa chữa nhiều nhất.
B. Kiểm thử tự động ngày càng trở nên quan trọng.
C. Nó đòi hỏi sự cộng tác chặt chẽ giữa lập trình viên và kiểm thử viên.
D. Kiểm thử ở pha này có thể đảm bảo 100% phần mềm không có lỗi.

Câu 12.Môi trường Phát triển Tích hợp (IDE) hỗ trợ kiểm thử trong pha cài đặt như thế nào?
A. Bằng cách tự động viết code kiểm thử.
B. Bằng cách triển khai phần mềm.
C. Bằng cách chỉ kiểm tra cú pháp.
D. Cung cấp các công cụ gỡ lỗi (debugger), chạy kiểm thử đơn vị và phân tích tĩnh mã nguồn.

Câu 13.Khi một lập trình viên sử dụng một Framework kiểm thử như JUnit (cho Java) hoặc NUnit (cho C#) để viết các trường hợp kiểm thử, họ đang thực hiện hoạt động nào?
A. Kiểm thử tích hợp.
B. Kiểm thử hệ thống.
C. Kiểm thử chấp nhận.
D. Viết kiểm thử đơn vị tự động.

Câu 14.Nếu một module đã được kiểm thử đơn vị cẩn thận, nhưng khi tích hợp với module khác lại gây ra lỗi, lỗi này có khả năng là loại gì?
A. Lỗi logic trong module.
B. Lỗi cú pháp.
C. Lỗi hiệu suất.
D. Lỗi giao diện (Interface Error) hoặc lỗi tương tác.

Câu 15.Công cụ nào sau đây thường được sử dụng để tự động hóa quá trình kiểm thử tích hợp liên tục (Continuous Integration)?
A. Microsoft Word.
B. Adobe Photoshop.
C. Google Sheets.
D. Jenkins, GitLab CI, CircleCI.

Câu 16.Để đảm bảo “khả năng bao phủ mã nguồn” (Code Coverage) khi thực hiện kiểm thử đơn vị, người kiểm thử cần chú ý điều gì?
A. Chỉ kiểm thử các đường dẫn chính.
B. Chỉ kiểm thử các lỗi nghiêm trọng.
C. Không quan tâm đến số lượng dòng code được kiểm thử.
D. Đảm bảo rằng một tỷ lệ phần trăm lớn của mã nguồn đã được thực thi bởi các trường hợp kiểm thử.

Câu 17.Vấn đề “Flaky Tests” (kiểm thử không ổn định) thường xảy ra trong kiểm thử pha cài đặt và tích hợp khi nào?
A. Kiểm thử luôn thành công.
B. Kiểm thử luôn thất bại.
C. Kiểm thử chỉ chạy một lần.
D. Kiểm thử cho ra kết quả khác nhau (thành công hoặc thất bại) khi chạy nhiều lần với cùng điều kiện.

Câu 18.Sự khác biệt chính giữa kiểm thử tích hợp từ dưới lên (Bottom-up) và từ trên xuống (Top-down) là gì?
A. Bottom-up sử dụng Stub, Top-down sử dụng Driver.
B. Bottom-up nhanh hơn, Top-down chậm hơn.
C. Bottom-up chỉ dành cho dự án nhỏ, Top-down cho dự án lớn.
D. Bottom-up tích hợp các module cấp thấp trước; Top-down tích hợp các module cấp cao trước.

Câu 19.Trong kiểm thử hộp trắng, kỹ thuật “Kiểm thử đường dẫn độc lập” (Independent Path Testing) tập trung vào điều gì?
A. Kiểm tra các giá trị biên.
B. Kiểm tra tất cả các điều kiện.
C. Kiểm tra các vòng lặp.
D. Đảm bảo rằng mọi đường dẫn thực thi độc lập trong một module đều được kiểm thử ít nhất một lần.

Câu 20.Để một mã nguồn dễ dàng được kiểm thử đơn vị, điều gì cần được chú trọng trong thiết kế và cài đặt?
A. Mã nguồn phải rất phức tạp.
B. Hàm phải có nhiều phụ thuộc.
C. Không cần phải tài liệu hóa.
D. Tính mô-đun (Modularity), tính đóng gói (Encapsulation) và tính phụ thuộc thấp (Low Coupling).

Câu 21.Lợi ích của việc sử dụng một “Trình gỡ lỗi” (Debugger) trong pha cài đặt là gì?
A. Tự động sửa lỗi.
B. Làm cho code chạy nhanh hơn.
C. Chỉ kiểm tra cú pháp.
D. Cho phép lập trình viên theo dõi và phân tích hành vi của chương trình từng bước, xem xét giá trị biến để tìm lỗi.

Câu 22.Kiểm thử pha cài đặt và tích hợp là một phần của quy trình “Đảm bảo chất lượng phần mềm” (SQA) nhằm mục đích gì?
A. Chỉ để báo cáo lỗi.
B. Chỉ để đánh giá hiệu suất của lập trình viên.
C. Chỉ để quản lý dự án.
D. Để phòng ngừa và phát hiện lỗi, đảm bảo chất lượng của các thành phần và sự tương tác giữa chúng.

Câu 23.Thách thức nào liên quan đến việc kiểm thử các ứng dụng đa luồng (multi-threaded) hoặc song song (concurrent) trong pha cài đặt?
A. Chúng luôn dễ kiểm thử.
B. Không cần kiểm thử hiệu suất.
C. Chỉ cần kiểm thử trên một luồng.
D. Các lỗi điều kiện tranh chấp (race conditions) và deadlock rất khó tái tạo và phát hiện.

Câu 24.Mục tiêu của việc sử dụng các “Test Harness” (Hệ thống kiểm thử) trong kiểm thử đơn vị là gì?
A. Để triển khai phần mềm.
B. Để làm cho code phức tạp hơn.
C. Để gỡ lỗi trực tiếp.
D. Cung cấp môi trường kiểm thử cho đơn vị, bao gồm các driver để gọi đơn vị và stub để giả lập các module phụ thuộc.

Câu 25.Khi một nhóm sử dụng Docker để đóng gói các module của họ, điều này ảnh hưởng đến kiểm thử tích hợp như thế nào?
A. Làm cho kiểm thử tích hợp chậm hơn.
B. Gây ra nhiều lỗi hơn.
C. Không liên quan đến kiểm thử.
D. Đơn giản hóa việc thiết lập môi trường kiểm thử, đảm bảo tính nhất quán và khả năng lặp lại của các kiểm thử tích hợp.

×

Bạn ơi!!! Để xem được kết quả
bạn vui lòng làm nhiệm vụ nhỏ xíu này nha

LƯU Ý: Không sử dụng VPN hoặc 1.1.1.1 khi vượt link

Bước 1: Mở tab mới, truy cập Google.com

Bước 2: Tìm kiếm từ khóa: Từ khóa

Bước 3: Trong kết quả tìm kiếm Google, hãy tìm website giống dưới hình:

(Nếu trang 1 không có hãy tìm ở trang 2, 3, 4... nhé )

Bước 4: Cuộn xuống cuối bài viết rồi bấm vào nút GIỐNG HÌNH DƯỚI và chờ 1 lát để lấy mã: