Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 23 Kiếm thử và đánh giá chương trình
1. Khi kiểm thử một chức năng tìm kiếm, nếu người dùng nhập một chuỗi ký tự không có trong cơ sở dữ liệu, kết quả mong đợi là gì?
A. Thông báo "Không tìm thấy kết quả phù hợp".
B. Chương trình bị treo hoặc hiển thị lỗi không xác định.
C. Hiển thị tất cả các bản ghi có trong cơ sở dữ liệu.
D. Tự động gợi ý một chuỗi ký tự tương tự có trong cơ sở dữ liệu.
2. Nếu một chương trình gặp lỗi hiển thị sai định dạng ngày tháng (ví dụ: 31/02/2023 thay vì 01/03/2023 hoặc thông báo lỗi hợp lý), đây là loại lỗi gì?
A. Lỗi chức năng (Functional error)
B. Lỗi hiệu năng (Performance error)
C. Lỗi bảo mật (Security error)
D. Lỗi giao diện người dùng (UI error)
3. Trong kiểm thử hộp trắng, kỹ thuật nào đòi hỏi mức độ bao phủ cao nhất đối với cấu trúc mã nguồn?
A. Kiểm thử đường đi (Path coverage)
B. Kiểm thử câu lệnh (Statement coverage)
C. Kiểm thử quyết định (Decision coverage)
D. Kiểm thử điều kiện (Condition coverage)
4. Khi một chương trình không hiển thị kết quả mong đợi cho một đầu vào hợp lệ, đây là lỗi thuộc loại nào?
A. Lỗi chức năng (Functional bug)
B. Lỗi logic (Logic bug)
C. Lỗi cú pháp (Syntax error)
D. Lỗi thời gian chạy (Runtime error)
5. Trong kiểm thử hộp trắng, nếu một đoạn mã có nhiều câu lệnh `if-else if-else`, việc đạt được "Kiểm thử quyết định" (Decision Coverage) có nghĩa là gì?
A. Mỗi biểu thức điều kiện (ví dụ: `if (a > 5)`, `else if (b < 10)`) phải có cả kết quả là đúng (true) và sai (false) được kiểm tra.
B. Tất cả các câu lệnh trong đoạn mã đó phải được thực thi.
C. Tất cả các đường đi có thể có của đoạn mã phải được kiểm tra.
D. Mỗi điều kiện con trong các biểu thức điều kiện phải được kiểm tra.
6. Một trường hợp kiểm thử (test case) được coi là hiệu quả khi nào?
A. Khi nó có khả năng phát hiện lỗi.
B. Khi nó dễ dàng thực hiện.
C. Khi nó có thể tái hiện lại một lỗi đã biết.
D. Khi nó bao phủ nhiều chức năng cùng lúc.
7. Khi đánh giá hiệu quả sử dụng (Usability) của một chương trình, yếu tố nào sau đây là quan trọng nhất?
A. Khả năng người dùng mới có thể nhanh chóng học cách sử dụng chương trình.
B. Tốc độ xử lý của chương trình.
C. Mức độ bảo mật của dữ liệu người dùng.
D. Khả năng tương thích với nhiều loại thiết bị.
8. Kỹ thuật nào trong kiểm thử hộp trắng được thiết kế để kiểm tra tất cả các điều kiện con trong một biểu thức logic phức tạp?
A. Kiểm thử điều kiện (Condition coverage)
B. Kiểm thử câu lệnh (Statement coverage)
C. Kiểm thử quyết định (Decision coverage)
D. Kiểm thử đường đi (Path coverage)
9. Mục tiêu của kiểm thử hiệu năng (Performance Testing) là gì?
A. Đánh giá tốc độ, khả năng phản hồi và sự ổn định của chương trình dưới các tải công việc khác nhau.
B. Kiểm tra xem chương trình có hoạt động đúng theo yêu cầu chức năng hay không.
C. Phát hiện các lỗ hổng bảo mật trong chương trình.
D. Đảm bảo giao diện người dùng thân thiện và dễ sử dụng.
10. Thế nào là "kiểm thử chấp nhận" (Acceptance Testing)?
A. Là giai đoạn kiểm thử cuối cùng do người dùng cuối hoặc khách hàng thực hiện để xác nhận xem phần mềm có đáp ứng được nhu cầu kinh doanh và sẵn sàng để triển khai hay không.
B. Là quá trình kiểm tra các thành phần riêng lẻ của phần mềm.
C. Là quá trình kiểm tra cách các thành phần khác nhau tương tác với nhau.
D. Là quá trình kiểm thử hiệu năng của hệ thống dưới tải.
11. Trong quá trình kiểm thử phần mềm, kỹ thuật nào được áp dụng để phát hiện các lỗi logic và luồng điều khiển của chương trình bằng cách kiểm tra tất cả các nhánh có thể có của mã nguồn?
A. Kiểm thử hộp trắng (White-box testing)
B. Kiểm thử hộp đen (Black-box testing)
C. Kiểm thử hồi quy (Regression testing)
D. Kiểm thử hiệu năng (Performance testing)
12. Mục đích của việc tạo "báo cáo lỗi" (bug report) là gì?
A. Cung cấp thông tin đầy đủ và rõ ràng cho nhà phát triển để họ có thể tái hiện và sửa lỗi một cách hiệu quả.
B. Ghi lại danh sách các chức năng đã được kiểm thử.
C. Đánh giá hiệu suất của người kiểm thử.
D. Đề xuất các tính năng mới cho phiên bản tiếp theo.
13. Kỹ thuật "Phân tích giá trị biên" (Boundary Value Analysis - BVA) tập trung vào kiểm thử những loại giá trị nào?
A. Các giá trị ngay sát ranh giới của các phân vùng tương đương, bao gồm giá trị biên và các giá trị ngay bên cạnh biên.
B. Các giá trị nằm ở giữa các phân vùng tương đương.
C. Các giá trị ngẫu nhiên được chọn từ các phân vùng tương đương.
D. Các giá trị mặc định hoặc giá trị phổ biến nhất được sử dụng.
14. Đâu là một trường hợp kiểm thử (test case) điển hình cho kiểm thử hộp đen, tập trung vào việc nhập các giá trị nằm ngoài phạm vi cho phép của một trường dữ liệu?
A. Nhập một số âm vào trường "Số lượng sản phẩm" yêu cầu giá trị không âm.
B. Nhập một chuỗi ký tự hợp lệ vào trường "Tên người dùng".
C. Nhập một số nguyên dương vào trường "Tuổi" yêu cầu người dùng trên 18 tuổi.
D. Nhập một địa chỉ email hợp lệ vào trường "Email".
15. Kỹ thuật "Phân vùng tương đương" (Equivalence Partitioning) trong kiểm thử hộp đen giúp gì cho người thực hiện kiểm thử?
A. Chia tập hợp các giá trị đầu vào thành các nhóm (phân vùng) mà mỗi nhóm được giả định là sẽ được xử lý giống nhau, từ đó giảm số lượng trường hợp kiểm thử cần thực hiện.
B. Tập trung vào việc kiểm tra tất cả các tổ hợp có thể có của các điều kiện đầu vào.
C. Đảm bảo mỗi câu lệnh trong mã nguồn được thực thi ít nhất một lần.
D. Kiểm tra các trường hợp sử dụng chương trình bởi nhiều người dùng đồng thời.
16. Mục đích chính của kiểm thử hộp đen là gì?
A. Xác minh hoạt động của chương trình dựa trên các yêu cầu chức năng mà không cần biết cấu trúc mã nguồn bên trong.
B. Kiểm tra hiệu quả sử dụng tài nguyên hệ thống của chương trình.
C. Phân tích chi tiết cấu trúc và luồng dữ liệu bên trong mã nguồn.
D. Đảm bảo chương trình hoạt động ổn định dưới tải cao.
17. Khi một lỗi được phát hiện và báo cáo, người phát triển cần làm gì để khắc phục nó?
A. Phân tích nguyên nhân gốc rễ của lỗi, sửa mã nguồn và sau đó thông báo cho bộ phận kiểm thử để kiểm thử lại.
B. Xóa bỏ chức năng gây ra lỗi.
C. Chỉ cập nhật tài liệu hướng dẫn sử dụng.
D. Bỏ qua lỗi nếu nó không ảnh hưởng nghiêm trọng đến hoạt động chung.
18. Kỹ thuật nào trong kiểm thử hộp trắng liên quan đến việc đảm bảo mỗi câu lệnh trong mã nguồn được thực thi ít nhất một lần?
A. Kiểm thử câu lệnh (Statement coverage)
B. Kiểm thử quyết định (Decision coverage)
C. Kiểm thử điều kiện (Condition coverage)
D. Kiểm thử nhánh (Branch coverage)
19. Trong kiểm thử hộp trắng, việc đạt được "Kiểm thử quyết định" (Decision Coverage) có ý nghĩa gì?
A. Đảm bảo mỗi kết quả của một quyết định (ví dụ: điều kiện true/false trong câu lệnh if) đều được kiểm tra ít nhất một lần.
B. Đảm bảo mỗi câu lệnh trong mã nguồn được thực thi ít nhất một lần.
C. Đảm bảo mỗi đường đi độc lập trong mã nguồn được thực thi ít nhất một lần.
D. Đảm bảo mỗi điều kiện con trong một biểu thức logic được kiểm tra.
20. Kiểm thử hồi quy (Regression Testing) là gì và tại sao nó lại quan trọng?
A. Là quá trình kiểm thử lại các chức năng đã hoạt động đúng trước đó sau khi có những thay đổi trong mã nguồn, nhằm đảm bảo các thay đổi không gây ra lỗi mới.
B. Là quá trình kiểm thử các chức năng mới được thêm vào chương trình.
C. Là quá trình kiểm thử hiệu năng của chương trình khi có nhiều người dùng truy cập.
D. Là quá trình kiểm thử giao diện người dùng để đảm bảo tính thẩm mỹ.
21. Trong quá trình đánh giá chương trình, tiêu chí nào sau đây thường được sử dụng để đo lường mức độ chương trình đáp ứng đúng và đủ các yêu cầu đề ra?
A. Tính đúng đắn (Correctness)
B. Tính hiệu quả (Efficiency)
C. Tính khả dụng (Usability)
D. Tính bảo mật (Security)
22. Trong ngữ cảnh kiểm thử, "test data" (dữ liệu kiểm thử) là gì?
A. Tập hợp các giá trị đầu vào được sử dụng để thực thi một trường hợp kiểm thử và kiểm tra hành vi của chương trình.
B. Các báo cáo về lỗi đã được tìm thấy.
C. Các tài liệu mô tả chức năng của chương trình.
D. Các công cụ được sử dụng để tự động hóa kiểm thử.
23. Khi phát hiện một lỗi trong chương trình, bước tiếp theo quan trọng nhất sau khi ghi nhận lỗi là gì?
A. Báo cáo lỗi chi tiết cho nhóm phát triển để họ có thể sửa chữa.
B. Thực hiện lại kiểm thử với các trường hợp tương tự để xác nhận lỗi.
C. Tạm dừng tất cả các hoạt động kiểm thử khác.
D. Thiết kế thêm nhiều trường hợp kiểm thử mới.
24. Kỹ thuật "Kiểm thử cặp" (Pairwise testing) khác với kiểm thử tất cả các tổ hợp (all-combinations testing) ở điểm nào?
A. Kiểm thử cặp chỉ kiểm tra các tương tác giữa hai tham số tại một thời điểm, giúp giảm đáng kể số lượng trường hợp kiểm thử so với kiểm thử mọi tổ hợp.
B. Kiểm thử cặp kiểm tra tất cả các tổ hợp của tất cả các tham số.
C. Kiểm thử cặp chỉ áp dụng cho kiểm thử hộp trắng.
D. Kiểm thử cặp không tập trung vào phát hiện lỗi.
25. Việc phân tích kết quả kiểm thử nhằm mục đích gì?
A. Đánh giá chất lượng tổng thể của phần mềm, xác định các khu vực cần cải thiện và đưa ra quyết định về việc phát hành sản phẩm.
B. Viết thêm các tính năng mới cho chương trình.
C. Thay đổi yêu cầu ban đầu của dự án.
D. Chỉ đơn giản là ghi lại các lỗi đã tìm thấy.