1. Trong quy trình kiểm thử, 'Test basis′ là gì?
A. Tài liệu mô tả các bước thực hiện kiểm thử.
B. Môi trường phần cứng và phần mềm dùng để kiểm thử.
C. Các tài liệu làm cơ sở để thiết kế test case, ví dụ như yêu cầu, đặc tả thiết kế.
D. Báo cáo tổng kết kết quả kiểm thử.
2. Đâu KHÔNG phải là một hoạt động trong giai đoạn 'Phân tích và Thiết kế kiểm thử'?
A. Xác định phạm vi và mục tiêu kiểm thử.
B. Thiết kế và ưu tiên hóa test case.
C. Thực hiện test case và ghi lại kết quả.
D. Xác định môi trường kiểm thử.
3. Nguyên tắc 'Early testing′ (Kiểm thử sớm) trong kiểm thử phần mềm nhấn mạnh điều gì?
A. Kiểm thử chỉ nên bắt đầu sau khi code đã hoàn thiện.
B. Kiểm thử nên được thực hiện càng sớm càng tốt trong vòng đời phát triển phần mềm.
C. Kiểm thử chỉ cần tập trung vào giai đoạn cuối của dự án.
D. Kiểm thử chỉ cần thực hiện bởi đội ngũ kiểm thử chuyên biệt.
4. Trong kiểm thử đột biến (Mutation testing), mục đích của việc tạo ra 'mutant′ (đột biến) trong code là gì?
A. Để tìm ra lỗi ẩn trong code gốc.
B. Để đánh giá chất lượng của bộ test case hiện có.
C. Để cải thiện hiệu suất của code.
D. Để tự động sửa lỗi trong code gốc.
5. Trong kiểm thử API (Application Programming Interface), chúng ta kiểm thử điều gì?
A. Giao diện người dùng của ứng dụng.
B. Sự tương tác và giao tiếp giữa các thành phần phần mềm khác nhau.
C. Cơ sở dữ liệu của ứng dụng.
D. Hiệu suất của ứng dụng khi tải trang web.
6. Đâu là một THÁCH THỨC chính khi kiểm thử phần mềm Agile?
A. Thời gian kiểm thử dài và quy trình kiểm thử phức tạp.
B. Thiếu tài liệu yêu cầu và đặc tả chi tiết.
C. Khó khăn trong việc tự động hóa kiểm thử.
D. Sự thay đổi yêu cầu thường xuyên và nhanh chóng.
7. Kiểm thử chấp nhận của người dùng (User Acceptance Testing - UAT) được thực hiện bởi ai?
A. Các lập trình viên của dự án.
B. Các kiểm thử viên chuyên nghiệp (QA testers).
C. Người dùng cuối hoặc đại diện của người dùng cuối.
D. Quản lý dự án và các bên liên quan.
8. Khi nào thì 'Exploratory testing′ (Kiểm thử khám phá) là phù hợp nhất?
A. Khi có yêu cầu và đặc tả chi tiết và đầy đủ.
B. Khi thời gian kiểm thử có hạn và cần khám phá nhanh các lỗi quan trọng.
C. Khi cần thực hiện kiểm thử hồi quy lặp đi lặp lại.
D. Khi muốn tự động hóa quá trình kiểm thử.
9. Mục tiêu chính của kiểm thử hồi quy (Regression testing) là gì?
A. Đảm bảo phần mềm đáp ứng tất cả các yêu cầu ban đầu.
B. Tìm ra lỗi trong các module mới được thêm vào hệ thống.
C. Xác nhận rằng các thay đổi hoặc sửa lỗi không gây ra lỗi mới ở các khu vực khác của phần mềm.
D. Đánh giá hiệu suất và khả năng mở rộng của phần mềm.
10. Kiểm thử hộp xám (Grey-box testing) là sự kết hợp của kiểm thử hộp đen và hộp trắng như thế nào?
A. Chỉ sử dụng kỹ thuật kiểm thử của cả hộp đen và hộp trắng.
B. Kiểm thử viên có kiến thức hạn chế về cấu trúc bên trong, nhưng không hoàn toàn mù mờ như hộp đen.
C. Thực hiện kiểm thử hộp đen trước, sau đó kiểm thử hộp trắng.
D. Kiểm thử viên có toàn bộ thông tin về cấu trúc code và yêu cầu.
11. Mục đích của 'Test closure′ (Kết thúc kiểm thử) là gì?
A. Bắt đầu giai đoạn kiểm thử mới.
B. Xác định khi nào nên dừng kiểm thử và đánh giá kết quả của quá trình kiểm thử.
C. Lập kế hoạch cho các test case tiếp theo.
D. Sửa chữa tất cả các lỗi còn tồn đọng.
12. 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 và logic thuật toán.
B. Yêu cầu chức năng và hành vi bên ngoài của phần mềm.
C. Hiệu suất và khả năng chịu tải của hệ thống.
D. Mức độ bảo mật và an toàn thông tin.
13. Lỗi (Bug∕Defect) và sự cố (Failure) trong phần mềm khác nhau như thế nào?
A. Lỗi là nguyên nhân gây ra sự cố; sự cố là biểu hiện ra bên ngoài của lỗi.
B. Sự cố là nguyên nhân gây ra lỗi; lỗi là biểu hiện ra bên ngoài của sự cố.
C. Lỗi và sự cố là hai thuật ngữ đồng nghĩa, không có sự khác biệt.
D. Lỗi xảy ra trong giai đoạn phát triển, sự cố xảy ra trong giai đoạn vận hành.
14. Trong kiểm thử hiệu năng (Performance testing), loại kiểm thử nào đo lường khả năng 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ử áp lực (Stress testing).
C. Kiểm thử độ bền (Endurance testing).
D. Kiểm thử khả năng mở rộng (Scalability testing).
15. Trong kiểm thử khả năng sử dụng (Usability testing), mục tiêu chính là đánh giá điều gì?
A. Tính đúng đắn về chức năng của phần mềm.
B. Mức độ thân thiện, dễ sử dụng và hiệu quả của giao diện người dùng.
C. Hiệu suất và khả năng chịu tải của hệ thống.
D. Mức độ bảo mật và an toàn thông tin.
16. Loại kiểm thử nào thường đượ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).
17. Mức độ bao phủ code (Code coverage) dùng để đo lường điều gì trong kiểm thử?
A. Số lượng lỗi được phát hiện trên tổng số lỗi tiềm ẩn.
B. Tỷ lệ phần trăm code đã được thực thi bởi các test case.
C. Thời gian cần thiết để thực hiện tất cả các test case.
D. Mức độ đáp ứng yêu cầu chức năng của phần mềm.
18. Kỹ thuật 'Equivalence Partitioning′ (Phân vùng tương đương) giúp làm gì trong thiết kế test case?
A. Kiểm tra tất cả các giá trị đầu vào có thể.
B. Giảm số lượng test case cần thiết bằng cách nhóm các giá trị đầu vào tương đương.
C. Tăng mức độ bao phủ code.
D. Tự động tạo test case từ đặc tả yêu cầu.
19. Loại tài liệu nào mô tả chi tiết các bước thực hiện kiểm thử, dữ liệu đầu vào, điều kiện tiên quyết và kết quả mong đợi cho một chức năng cụ thể?
A. Test plan (Kế hoạch kiểm thử).
B. Test case (Trường hợp kiểm thử).
C. Test summary report (Báo cáo tổng kết kiểm thử).
D. Defect report (Báo cáo lỗi).
20. Trong kiểm thử tích hợp (Integration testing), phương pháp 'Top-down′ tiếp cận như thế nào?
A. Kiểm thử từ các module cấp thấp nhất (lá) lên đến các module cấp cao hơn.
B. Kiểm thử từ các module cấp cao nhất (gốc) xuống đến các module cấp thấp hơn.
C. Kiểm thử đồng thời tất cả các module cùng một lúc.
D. Không có thứ tự cụ thể, kiểm thử module nào trước cũng được.
21. Trong quản lý lỗi (Defect management), 'Severity′ và 'Priority′ của lỗi khác nhau như thế nào?
A. Severity chỉ mức độ nghiêm trọng của lỗi đối với hệ thống; Priority chỉ mức độ ưu tiên sửa lỗi.
B. Severity chỉ mức độ ưu tiên sửa lỗi; Priority chỉ mức độ nghiêm trọng của lỗi đối với hệ thống.
C. Severity và Priority là hai thuật ngữ đồng nghĩa, đều chỉ mức độ nghiêm trọng của lỗi.
D. Severity và Priority là hai thuật ngữ đồng nghĩa, đều chỉ mức độ ưu tiên sửa lỗi.
22. Trong kiểm thử bảo mật (Security testing), loại kiểm thử nào mô phỏng các cuộc tấn công từ bên ngoài để tìm ra lỗ hổng?
A. Kiểm thử thâm nhập (Penetration testing).
B. Kiểm thử rủi ro bảo mật (Security risk assessment).
C. Kiểm thử mã tĩnh (Static code analysis).
D. Kiểm thử đánh giá lỗ hổng (Vulnerability assessment).
23. Đâu là một LỢI ÍCH của việc sử dụng 'Test Management Tool′ (Công cụ quản lý kiểm thử)?
A. Thay thế hoàn toàn con người trong quy trình kiểm thử.
B. Tự động thiết kế và thực hiện test case.
C. Tổ chức, quản lý test case, kết quả kiểm thử, và báo cáo một cách hiệu quả.
D. Đảm bảo phần mềm không có lỗi.
24. Kỹ thuật kiểm thử nào sau đây thuộc loại kiểm thử hộp trắng?
A. Phân tích giá trị biên (Boundary Value Analysis).
B. Phân vùng tương đương (Equivalence Partitioning).
C. Kiểm thử đường dẫn cơ bản (Basis Path Testing).
D. Kiểm thử bảng quyết định (Decision Table Testing).
25. Trong ngữ cảnh kiểm thử hiệu năng, 'Response time′ (Thời gian phản hồi) là gì?
A. Thời gian hệ thống cần để khởi động.
B. Thời gian từ khi người dùng gửi yêu cầu đến khi nhận được phản hồi hoàn chỉnh từ hệ thống.
C. Thời gian trung bình để thực hiện một test case.
D. Tổng thời gian thực hiện tất cả các test case trong một phiên kiểm thử.
26. Điểm khác biệt chính giữa 'Verification′ và 'Validation′ trong kiểm thử phần mềm là gì?
A. Verification kiểm tra xem phần mềm có được xây dựng đúng cách không; Validation kiểm tra xem phần mềm có xây dựng đúng sản phẩm mong muốn không.
B. Verification thực hiện bởi kiểm thử viên; Validation thực hiện bởi lập trình viên.
C. Verification thực hiện ở giai đoạn đầu; Validation thực hiện ở giai đoạn cuối.
D. Verification tập trung vào chức năng; Validation tập trung vào hiệu năng.
27. Đâu là ƯU ĐIỂM chính của việc sử dụng công 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. Giảm chi phí và thời gian kiểm thử, tăng độ tin cậy và khả năng lặp lại.
C. Đảm bảo phát hiện tất cả các lỗi trong phần mềm.
D. Công cụ tự động luôn hiệu quả hơn kiểm thử viên con người.
28. Phương pháp kiểm thử nào KHÔNG thuộc về kiểm thử hộp đen?
A. Kiểm thử dựa trên bảng quyết định (Decision Table Testing).
B. Kiểm thử dựa trên đồ thị nguyên nhân - kết quả (Cause-Effect Graphing).
C. Kiểm thử đường dẫn cơ sở (Basis Path Testing).
D. Phân tích giá trị biên (Boundary Value Analysis).
29. 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 phiên bản phần mềm cho người dùng cuối.
B. Sau khi hoàn thành tất cả các giai đoạn kiểm thử khác.
C. Sau mỗi lần build mới của phần mềm để đảm bảo build ổn định cơ bản.
D. Chỉ khi có sự thay đổi lớn trong yêu cầu phần mềm.
30. Kiểm thử 'ad-hoc′ là gì?
A. Kiểm thử được thực hiện theo kế hoạch và có kịch bản rõ ràng.
B. Kiểm thử được thực hiện một cách ngẫu nhiên, không có kế hoạch hoặc kịch bản trước.
C. Kiểm thử tự động sử dụng các công cụ chuyên dụng.
D. Kiểm thử hiệu năng dưới điều kiện tải cao.