1. Kiểm thử chấp nhận của người dùng (UAT) được thực hiện bởi ai?
A. Nhà phát triển phần mềm.
B. Người kiểm thử chuyên nghiệp.
C. Người dùng cuối hoặc đại diện người dùng.
D. Quản lý dự án.
2. Đâu là một công cụ kiểm thử tự động phổ biến cho kiểm thử web?
A. JMeter.
B. Selenium.
C. JUnit.
D. Mockito.
3. Đâu là lợi ích chính của việc tự động hóa kiểm thử?
A. Loại bỏ hoàn toàn nhu cầu kiểm thử thủ công.
B. Tăng tốc độ kiểm thử và giảm chi phí dài hạn.
C. Đảm bảo tìm ra tất cả các lỗi trong phần mềm.
D. Giảm sự phụ thuộc vào kỹ năng của người kiểm thử.
4. Loại kiểm thử nào tập trung vào việc kiểm tra khả năng sử dụng (usability) của phần mềm?
A. Kiểm thử bảo mật (Security testing).
B. Kiểm thử hiệu năng (Performance testing).
C. Kiểm thử khả năng sử dụng (Usability testing).
D. Kiểm thử chức năng (Functional testing).
5. Kỹ thuật 'Kiểm thử theo cặp′ (Pairwise testing) nhằm mục đích gì?
A. Kiểm tra tất cả các kết hợp có thể của các giá trị đầu vào.
B. Kiểm tra các cặp kết hợp quan trọng nhất của các giá trị đầu vào.
C. Kiểm tra các giá trị đầu vào đơn lẻ một cách độc lập.
D. Kiểm tra các giá trị đầu ra mong đợi.
6. Chỉ số 'Defect Density′ (Mật độ lỗi) được tính bằng cách nào?
A. Tổng số lỗi tìm thấy chia cho tổng số giờ kiểm thử.
B. Tổng số lỗi nghiêm trọng chia cho tổng số lỗi.
C. Tổng số lỗi tìm thấy chia cho kích thước phần mềm (ví dụ: số dòng mã).
D. Tổng số lỗi được sửa chia cho tổng số lỗi tìm thấy.
7. Trong mô hình chữ V (V-model), giai đoạn kiểm thử 'Kiểm thử hệ thống′ tương ứng với giai đoạn phát triển nào?
A. Giai đoạn phân tích yêu cầu.
B. Giai đoạn thiết kế kiến trúc.
C. Giai đoạn thiết kế chi tiết.
D. Giai đoạn lập trình.
8. Đâu là một lợi ích của việc sử dụng 'Data-driven testing′?
A. Giảm sự phụ thuộc vào dữ liệu kiểm thử.
B. Dễ dàng thực hiện kiểm thử hộp trắng hơn.
C. Tăng khả năng tái sử dụng test case và dữ liệu kiểm thử.
D. Giảm thời gian thiết kế test case.
9. Kiểm thử hồi quy (Regression testing) được thực hiện khi nào?
A. Khi bắt đầu một dự án phần mềm mới.
B. Sau khi sửa lỗi hoặc thực hiện thay đổi mã nguồn.
C. Trước khi phát hành phiên bản phần mềm đầu tiên.
D. Chỉ khi phát hiện lỗi nghiêm trọng trong quá trình kiểm thử hệ thống.
10. Nguyên tắc 'Kiểm thử sớm′ (Early testing) nhấn mạnh điều gì?
A. Bắt đầu kiểm thử sau khi hoàn thành phần lớn mã nguồn.
B. Thực hiện kiểm thử chỉ trong giai đoạn cuối của dự án.
C. Bắt đầu kiểm thử càng sớm càng tốt trong vòng đời phát triển phần mềm.
D. Chỉ kiểm thử các chức năng quan trọng nhất ở giai đoạn đầu.
11. Test case tốt cần có thuộc tính nào sau đây?
A. Mô tả chung chung và dễ hiểu.
B. Có nhiều bước kiểm tra để bao phủ nhiều tình huống.
C. Rõ ràng, ngắn gọn, và dễ thực hiện.
D. Chỉ tập trung vào các chức năng quan trọng nhất.
12. Kiểm thử hộp đen (Black-box testing) tập trung vào khía cạnh nào của phần mềm?
A. Cấu trúc mã nguồn bên trong của phần mềm.
B. Luồng dữ liệu và logic điều khiển của phần mềm.
C. Chức năng và hành vi bên ngoài của phần mềm.
D. Hiệu suất và khả năng mở rộng của phần mềm.
13. Mục tiêu chính của kiểm thử phần mềm là gì?
A. Chứng minh rằng phần mềm không có lỗi.
B. Tìm càng nhiều lỗi càng tốt trong phần mềm.
C. Đảm bảo phần mềm đáp ứng tất cả các yêu cầu của người dùng.
D. Cải thiện chất lượng phần mềm và giảm thiểu rủi ro.
14. Vai trò của 'Test Manager′ trong dự án kiểm thử là gì?
A. Viết và thực hiện các test case chi tiết.
B. Quản lý kế hoạch kiểm thử, nguồn lực và tiến độ.
C. Báo cáo lỗi và theo dõi quá trình sửa lỗi.
D. Thiết kế kiến trúc hệ thống kiểm thử tự động.
15. Kỹ thuật 'Phân vùng tương đương′ (Equivalence Partitioning) được sử dụng trong loại kiểm thử nào?
A. Kiểm thử hộp trắng.
B. Kiểm thử hộp xám.
C. Kiểm thử hộp đen.
D. Kiểm thử hiệu năng.
16. Đâu là một thách thức phổ biến trong kiểm thử phần mềm Agile?
A. Thời gian kiểm thử quá dài.
B. Thiếu tài liệu yêu cầu.
C. Sự thay đổi yêu cầu liên tục.
D. Khó khăn trong việc tự động hóa kiểm thử.
17. Sự khác biệt giữa 'Error′, 'Fault′, và 'Failure′ trong kiểm thử là gì?
A. Chúng là các thuật ngữ đồng nghĩa và có thể sử dụng thay thế cho nhau.
B. Error là lỗi do con người gây ra, Fault là lỗi trong mã, Failure là sự cố hệ thống.
C. Error là kết quả của Failure, Fault là nguyên nhân của Error.
D. Fault là lỗi do yêu cầu sai, Error là lỗi trong thiết kế, Failure là lỗi trong mã.
18. Đâu là một ví dụ về kiểm thử phi chức năng?
A. Kiểm tra chức năng đăng nhập của hệ thống.
B. Kiểm tra thời gian phản hồi của hệ thống khi có nhiều người dùng truy cập.
C. Kiểm tra các trường hợp sử dụng của hệ thống.
D. Kiểm tra giao diện người dùng của hệ thống.
19. Mục đích của việc báo cáo lỗi (Bug report) là gì?
A. Khen thưởng người kiểm thử đã tìm ra lỗi.
B. Cung cấp thông tin đầy đủ để nhà phát triển có thể tái tạo và sửa lỗi.
C. Đánh giá hiệu suất của nhà phát triển.
D. Thống kê số lượng lỗi tìm thấy trong dự án.
20. Phương pháp kiểm thử nào kiểm tra tất cả các đường dẫn quyết định trong mã nguồn?
A. Kiểm thử đường dẫn cơ bản (Basis path testing).
B. Kiểm thử hộp đen (Black-box testing).
C. Kiểm thử hiệu năng (Performance testing).
D. Kiểm thử giao diện người dùng (UI testing).
21. Kiểm thử khói (Smoke testing) thường được thực hiện khi nào?
A. Trước khi phát hành phần mềm cho người dùng cuối.
B. Sau mỗi lần tích hợp mã nguồn mới.
C. Trong giai đoạn kiểm thử hệ thống chi tiết.
D. Chỉ khi có lỗi nghiêm trọng được báo cáo.
22. Sự khác biệt chính giữa 'Verification′ và 'Validation′ trong kiểm thử là gì?
A. Verification kiểm tra 'chúng ta đã xây dựng sản phẩm đúng chưa?', Validation kiểm tra 'chúng ta đã xây dựng đúng sản phẩm chưa?'.
B. Verification tập trung vào kiểm thử tĩnh, Validation tập trung vào kiểm thử động.
C. Verification được thực hiện bởi nhà phát triển, Validation được thực hiện bởi người kiểm thử độc lập.
D. Verification là kiểm thử hộp đen, Validation là kiểm thử hộp trắng.
23. Kiểm thử hiệu năng (Performance testing) có thể bao gồm loại kiểm thử nào?
A. Kiểm thử chức năng.
B. Kiểm thử bảo mật.
C. Kiểm thử tải và kiểm thử chịu tải.
D. Kiểm thử khả năng sử dụng.
24. Mục tiêu chính của kiểm thử bảo mật (Security testing) là gì?
A. Đảm bảo phần mềm chạy nhanh và ổn định.
B. Xác định các lỗ hổng bảo mật và rủi ro tiềm ẩn.
C. Kiểm tra chức năng của các tính năng bảo mật.
D. Đảm bảo phần mềm dễ sử dụng và thân thiện với người dùng.
25. Kỹ thuật kiểm thử 'Giá trị biên′ (Boundary Value Analysis) tập trung vào loại giá trị đầu vào nào?
A. Giá trị ngẫu nhiên.
B. Giá trị trung bình.
C. Giá trị lớn nhất và nhỏ nhất.
D. Giá trị không hợp lệ.
26. Khi nào nên sử dụng kiểm thử thủ công thay vì kiểm thử tự động?
A. Khi kiểm thử các chức năng cốt lõi của hệ thống.
B. Khi thực hiện kiểm thử hồi quy lặp đi lặp lại.
C. Khi cần khám phá và đánh giá khả năng sử dụng (usability).
D. Khi kiểm thử hiệu năng và tải.
27. Kiểm thử tải (Load testing) thuộc loại kiểm thử nào?
A. Kiểm thử chức năng (Functional testing).
B. Kiểm thử phi chức năng (Non-functional testing).
C. Kiểm thử hộp trắng (White-box testing).
D. Kiểm thử tích hợp (Integration testing).
28. Loại kiểm thử nào được thực hiện đầu tiên trong quy trình kiểm thử phần mềm?
A. Kiểm thử tích hợp (Integration testing).
B. Kiểm thử hệ thống (System testing).
C. Kiểm thử đơn vị (Unit testing).
D. Kiểm thử chấp nhận (Acceptance testing).
29. Đâu không phải là một cấp độ kiểm thử phần mềm phổ biến?
A. Kiểm thử thành phần (Component testing).
B. Kiểm thử hệ thống con (Subsystem testing).
C. Kiểm thử chấp nhận người dùng (User acceptance testing).
D. Kiểm thử bàn (Table testing).
30. Chỉ số 'Độ bao phủ mã' (Code coverage) đo lường điều gì?
A. Số lượng lỗi được tìm thấy trên mỗi dòng mã.
B. Tỷ lệ phần trăm mã nguồn đã được thực thi bởi các test case.
C. Thời gian trung bình để sửa một lỗi trong mã.
D. Mức độ phức tạp của mã nguồn.