1. Kiểm thử thăm dò (Exploratory testing) phù hợp nhất với tình huống nào?
A. Khi có yêu cầu đặc tả chi tiết và đầy đủ
B. Khi thời gian kiểm thử hạn chế và cần tìm lỗi nhanh
C. Khi cần kiểm thử tự động hóa
D. Khi đội kiểm thử có nhiều kinh nghiệm về hệ thống
2. Trong kiểm thử tích hợp (Integration testing), phương pháp `Top-down` (Từ trên xuống) tiếp cận kiểm thử như thế nào?
A. Kiểm thử các module mức thấp trước, sau đó tích hợp dần lên các module mức cao hơn
B. Kiểm thử các module mức cao trước, sau đó tích hợp dần xuống các module mức thấp hơn
C. Kiểm thử tất cả các module cùng một lúc
D. Kiểm thử ngẫu nhiên các module mà không theo thứ tự cụ thể
3. Kiểm thử biên (Boundary value testing) dựa trên nguyên tắc nào?
A. Lỗi thường tập trung ở các giá trị biên của dữ liệu đầu vào
B. Mọi đường dẫn trong code cần được kiểm tra
C. Chia dữ liệu thành các phân vùng hợp lệ và không hợp lệ
D. Kiểm thử ngẫu nhiên để tìm lỗi bất ngờ
4. Độ bao phủ code (Code coverage) là một chỉ số quan trọng trong kiểm thử hộp trắng, nó đo lường điều gì?
A. Phần trăm yêu cầu đã được kiểm thử
B. Phần trăm dòng code đã được thực thi bởi test case
C. Số lượng lỗi tìm thấy trên mỗi nghìn dòng code
D. Thời gian cần thiết để thực hiện kiểm thử
5. Trong Agile/Scrum, kiểm thử thường được thực hiện như thế nào?
A. Theo mô hình Waterfall, tuần tự và độc lập với phát triển
B. Lặp đi lặp lại trong mỗi Sprint, tích hợp chặt chẽ với phát triển
C. Chỉ thực hiện vào cuối dự án, sau khi tất cả các tính năng đã hoàn thành
D. Chỉ tập trung vào kiểm thử tự động hóa và bỏ qua kiểm thử thủ công
6. Trong kiểm thử hiệu năng, `Thời gian phản hồi` (Response time) đo lường điều gì?
A. Tổng thời gian thực hiện tất cả các test case hiệu năng
B. Thời gian từ khi người dùng gửi yêu cầu đến khi hệ thống trả về phản hồi
C. Số lượng yêu cầu hệ thống có thể xử lý trong một đơn vị thời gian
D. Thời gian cần thiết để sửa lỗi hiệu năng
7. Khi nào nên sử dụng kiểm thử tự động hóa (Automation testing) thay vì kiểm thử thủ công (Manual testing)?
A. Cho tất cả các loại kiểm thử để tiết kiệm chi phí
B. Cho các test case lặp đi lặp lại, kiểm thử hồi quy, và kiểm thử hiệu năng
C. Cho các test case phức tạp và cần tư duy sáng tạo
D. Cho giai đoạn kiểm thử chấp nhận của người dùng
8. 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 theo mô hình chữ V (V-model)?
A. Kiểm thử hệ thống (System 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ử đơn vị (Unit Testing)
9. Trong kiểm thử hiệu năng (Performance testing), loại kiểm thử nào đo lường khả năng chịu tải của hệ thống khi số lượng người dùng đồng thời tăng lên?
A. Kiểm thử tải (Load testing)
B. Kiểm thử stress (Stress testing)
C. Kiểm thử độ bền (Endurance testing)
D. Kiểm thử dung lượng (Volume testing)
10. Kỹ thuật `Pair testing` (Kiểm thử cặp đôi) mang lại lợi ích gì?
A. Giảm thiểu thời gian kiểm thử
B. Tăng cường khả năng tìm lỗi và chia sẻ kiến thức
C. Tự động hóa hoàn toàn quá trình kiểm thử
D. Giảm chi phí kiểm thử
11. Trong kiểm thử hộp đen, kỹ thuật `Kiểm thử chuyển trạng thái` (State Transition Testing) hữu ích nhất khi nào?
A. Khi hệ thống có luồng dữ liệu phức tạp
B. Khi hệ thống có số lượng lớn các trạng thái và chuyển đổi trạng thái
C. Khi cần kiểm thử hiệu năng của hệ thống
D. Khi yêu cầu đặc tả không rõ ràng
12. Phương pháp kiểm thử nào KHÔNG thuộc nhóm kiểm thử hộp trắng (White-box testing)?
A. Kiểm thử đường dẫn cơ bản (Basic Path Testing)
B. Kiểm thử phân vùng tương đương (Equivalence Partitioning)
C. Kiểm thử dòng điều khiển (Control Flow Testing)
D. Kiểm thử dòng dữ liệu (Data Flow Testing)
13. Phương pháp kiểm thử nào tập trung vào việc đánh giá trải nghiệm người dùng (User Experience - UX) và tính dễ sử dụng của phần mềm?
A. Kiểm thử chức năng (Functional 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ử bảo mật (Security testing)
14. Phương pháp kiểm thử `Kiểm thử dựa trên rủi ro` (Risk-based testing) ưu tiên kiểm thử khu vực nào của phần mềm?
A. Các chức năng mới được thêm vào gần đây
B. Các khu vực có rủi ro cao về lỗi và ảnh hưởng lớn đến hệ thống
C. Các chức năng được sử dụng thường xuyên nhất bởi người dùng
D. Tất cả các khu vực của phần mềm với mức độ ưu tiên như nhau
15. Kỹ thuật kiểm thử hộp đen nào tập trung vào việc thiết kế test case dựa trên các điều kiện và hành động có thể xảy ra trong hệ thống?
A. Kiểm thử bảng quyết định (Decision table testing)
B. Kiểm thử phân vùng tương đương (Equivalence Partitioning)
C. Kiểm thử giá trị biên (Boundary Value Analysis)
D. Kiểm thử chuyển trạng thái (State Transition Testing)
16. Sự khác biệt chính giữa kiểm thử Alpha và kiểm thử Beta là gì?
A. Alpha test do developer thực hiện, Beta test do tester thực hiện
B. Alpha test thực hiện tại môi trường của nhà phát triển, Beta test thực hiện tại môi trường của người dùng cuối
C. Alpha test tập trung vào chức năng, Beta test tập trung vào hiệu năng
D. Alpha test là kiểm thử hộp trắng, Beta test là kiểm thử hộp đen
17. Công cụ theo dõi lỗi (Bug tracking tool) được sử dụng để làm gì trong quy trình kiểm thử phần mềm?
A. Tự động tạo test case
B. Quản lý và theo dõi vòng đời của lỗi
C. Thực hiện kiểm thử hiệu năng
D. Đo lường độ bao phủ code
18. Mục tiêu chính của kiểm thử hồi quy (Regression testing) là gì?
A. Tìm ra các lỗi mới phát sinh sau khi thay đổi code
B. Đảm bảo tất cả các yêu cầu chức năng đều được kiểm tra
C. Kiểm tra hiệu suất của phần mềm dưới tải lớn
D. Xác định các lỗ hổng bảo mật trong phần mềm
19. Mục đích của việc xây dựng `Ma trận truy vết yêu cầu` (Requirement Traceability Matrix - RTM) là gì?
A. Đo lường hiệu suất của tester
B. Theo dõi mối quan hệ giữa yêu cầu, test case và lỗi
C. Tự động tạo báo cáo kiểm thử
D. Quản lý rủi ro dự án
20. Trong kiểm thử API (Application Programming Interface), mục tiêu chính là gì?
A. Kiểm tra giao diện người dùng của ứng dụng
B. Kiểm tra giao tiếp và tích hợp giữa các thành phần phần mềm
C. Kiểm tra hiệu suất của cơ sở dữ liệu
D. Kiểm tra bảo mật của hệ thống mạng
21. Trong kiểm thử chấp nhận (Acceptance testing), ai là người thực hiện kiểm thử chính?
A. Nhà phát triển phần mềm
B. Tester chuyên nghiệp
C. Người dùng cuối hoặc đại diện khách hàng
D. Quản lý dự án
22. Lỗi (Error), Sai sót (Fault/Defect), và Hỏng hóc (Failure) có mối quan hệ như thế nào trong kiểm thử phần mềm?
A. Lỗi gây ra Sai sót, Sai sót dẫn đến Hỏng hóc
B. Hỏng hóc gây ra Sai sót, Sai sót dẫn đến Lỗi
C. Sai sót gây ra Lỗi, Lỗi dẫn đến Hỏng hóc
D. Lỗi, Sai sót và Hỏng hóc là các khái niệm tương đương
23. Kiểm thử bảo mật (Security testing) tập trung vào việc xác định điều gì?
A. Hiệu suất và khả năng chịu tải của hệ thống
B. Các lỗ hổng bảo mật và rủi ro tiềm ẩn
C. Tính dễ sử dụng và trải nghiệm người dùng
D. Tính đúng đắn của chức năng phần mềm
24. Kiểm thử chấp nhận của người dùng (User Acceptance Testing - UAT) thường diễn ra ở giai đoạn nào của vòng đời phát triển phần mềm?
A. Giai đoạn phân tích yêu cầu
B. Giai đoạn thiết kế
C. Giai đoạn kiểm thử hệ thống
D. Giai đoạn triển khai và bảo trì
25. Kiểm thử `Sanity testing` (Kiểm thử tỉnh táo) khác với `Smoke testing` (Kiểm thử khói) ở điểm nào?
A. Sanity testing chi tiết hơn Smoke testing
B. Sanity testing tập trung vào một phần nhỏ chức năng, Smoke testing bao phủ các chức năng chính
C. Sanity testing chỉ thực hiện bởi developer, Smoke testing chỉ thực hiện bởi tester
D. Sanity testing thực hiện trước Smoke testing
26. Chỉ số `Defect Density` (Mật độ lỗi) được tính như thế nào?
A. Tổng số lỗi tìm thấy / Tổng số test case thực hiện
B. Tổng số lỗi tìm thấy / Kích thước phần mềm (ví dụ: dòng code)
C. Tổng số lỗi nghiêm trọng / Tổng số lỗi tìm thấy
D. Tổng số lỗi đã sửa / Tổng số lỗi tìm thấy
27. Kiểm thử hộp đen (Black-box testing) tập trung chủ yếu vào khía cạnh nào của phần mềm?
A. Cấu trúc code bên trong của phần mềm
B. Yêu cầu và chức năng của phần mềm
C. Hiệu suất và khả năng mở rộng của phần mềm
D. Mức độ bảo mật của phần mềm
28. Loại tài liệu nào mô tả chi tiết các bước thực hiện, dữ liệu đầu vào, và kết quả mong đợi cho một trường hợp kiểm thử cụ thể?
A. Kế hoạch kiểm thử (Test plan)
B. Báo cáo kiểm thử (Test report)
C. Kịch bản kiểm thử (Test script)
D. Trường hợp kiểm thử (Test case)
29. Kiểm thử khói (Smoke testing) thường được thực hiện khi nào?
A. Trước khi release phần mềm cho người dùng cuối
B. Sau mỗi thay đổi code hoặc build mới
C. Trong giai đoạn kiểm thử hệ thống
D. Chỉ khi có yêu cầu kiểm thử hiệu năng
30. Vai trò của `Test Lead` (Trưởng nhóm kiểm thử) trong dự án kiểm thử phần mềm là gì?
A. Viết code kiểm thử tự động
B. Thiết kế và thực hiện test case chi tiết
C. Lập kế hoạch kiểm thử, quản lý đội kiểm thử và theo dõi tiến độ
D. Báo cáo lỗi cho nhà phát triển