1. Thế nào là 'Test case′?
A. Một báo cáo lỗi.
B. Một tập hợp các điều kiện đầu vào, hành động thực hiện và kết quả mong đợi để kiểm tra một chức năng cụ thể.
C. Một công cụ tự động hóa kiểm thử.
D. Một bản kế hoạch kiểm thử.
2. Trong kiểm thử API, phương pháp nào thường được sử dụng để gửi yêu cầu và nhận phản hồi?
A. Selenium.
B. JUnit.
C. Postman hoặc cURL.
D. Jenkins.
3. Đâu là nhược điểm chính của kiểm thử thủ công (Manual testing) so với kiểm thử tự động hóa?
A. Khó phát hiện lỗi logic.
B. Tốn thời gian và dễ xảy ra lỗi do con người, đặc biệt với các test case lặp đi lặp lại.
C. Không thể kiểm thử hiệu suất.
D. Không thể kiểm thử giao diện người dùng.
4. Kiểm thử hồi quy (Regression testing) được thực hiện khi nào?
A. Sau khi phát triển một tính năng mới.
B. Trước khi bắt đầu kiểm thử hệ thống.
C. Sau khi sửa lỗi và thay đổi mã nguồn.
D. Trong giai đoạn lập kế hoạch kiểm thử.
5. Quy trình kiểm thử V-model nhấn mạnh vào điều gì?
A. Kiểm thử được thực hiện độc lập với phát triển.
B. Mỗi giai đoạn phát triển tương ứng với một giai đoạn kiểm thử song song.
C. Kiểm thử chỉ thực hiện sau khi phát triển hoàn tất.
D. Ưu tiên kiểm thử tự động hóa.
6. Trong ngữ cảnh Agile, kiểm thử thường được thực hiện như thế nào?
A. Chỉ thực hiện kiểm thử hệ thống vào cuối mỗi sprint.
B. Kiểm thử được tích hợp liên tục và thực hiện trong suốt sprint.
C. Tách biệt đội kiểm thử và đội phát triển.
D. Chỉ tập trung vào kiểm thử tự động hóa.
7. Mục đích của '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 phần mềm.
B. Theo dõi tiến độ kiểm thử.
C. Đảm bảo rằng tất cả các yêu cầu đều được kiểm thử.
D. Quản lý lỗi và theo dõi vòng đời lỗi.
8. Kỹ thuật 'Phân vùng tương đương′ (Equivalence Partitioning) được sử dụng để làm gì trong kiểm thử?
A. Kiểm tra tất cả các giá trị đầu vào có thể.
B. Chia dữ liệu đầu vào thành các nhóm có giá trị tương đương để giảm số lượng test case.
C. Đảm bảo kiểm thử bao phủ tất cả các đường dẫn mã.
D. Tự động hóa quá trình kiểm thử.
9. Công cụ nào sau đây thường được sử dụng để quản lý test case và test execution?
A. JMeter.
B. Selenium WebDriver.
C. TestRail hoặc Zephyr.
D. SonarQube.
10. Phương pháp 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).
11. 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. Đảm bảo phần mềm đáp ứng tất cả các yêu cầu của người dùng.
C. Tìm càng nhiều lỗi càng tốt trước khi phát hành phần mềm.
D. Tăng tốc độ phát triển phần mềm.
12. Thế nào là 'Defect Severity′ và 'Defect Priority′ trong quản lý lỗi?
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 và Priority đều chỉ mức độ nghiêm trọng của lỗi.
C. Severity và Priority đều chỉ mức độ ưu tiên sửa lỗi.
D. 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 người dùng.
13. Trong kiểm thử hiệu suất, 'kiểm thử độ bền′ (Endurance testing∕Soak testing) nhằm mục đích gì?
A. Đo thời gian phản hồi tối đa của hệ thống.
B. Xác định số lượng người dùng tối đa hệ thống có thể chịu tải.
C. Kiểm tra khả năng chịu tải của hệ thống trong thời gian dài để phát hiện rò rỉ bộ nhớ hoặc các vấn đề khác.
D. Kiểm tra khả năng phục hồi của hệ thống sau sự cố.
14. Trong kiểm thử bảo mật (Security testing), 'SQL injection′ là loại tấn công nào?
A. Tấn công từ chối dịch vụ (Denial of Service).
B. Tấn công giả mạo (Spoofing).
C. Tấn công bằng cách chèn mã SQL độc hại vào các truy vấn cơ sở dữ liệu.
D. Tấn công bằng cách vượt qua xác thực.
15. Điểm khác biệt chính giữa kiểm thử Alpha và kiểm thử Beta là gì?
A. Kiểm thử Alpha do người dùng cuối thực hiện, Beta do nhà phát triển.
B. Kiểm thử Alpha thực hiện tại môi trường của nhà phát triển, Beta tại môi trường của người dùng cuối.
C. Kiểm thử Alpha tập trung vào chức năng, Beta tập trung vào hiệu suất.
D. Kiểm thử Alpha là kiểm thử hộp đen, Beta là kiểm thử hộp trắng.
16. Khái niệm 'Coverage′ (Độ bao phủ) trong kiểm thử phần mềm đo lường điều gì?
A. Số lượng lỗi đã được phát hiện.
B. Phần trăm mã nguồn hoặc yêu cầu đã được kiểm thử.
C. Hiệu suất của hệ thống kiểm thử.
D. Thời gian cần thiết để hoàn thành kiểm thử.
17. Phương pháp kiểm thử nào sau đây thuộc loại kiểm thử hộp trắng?
A. Kiểm thử biên (Boundary Value Analysis).
B. Kiểm thử đường dẫn cơ bản (Basis Path Testing).
C. Kiểm thử phân vùng tương đương (Equivalence Partitioning).
D. Kiểm thử bảng quyết định (Decision Table Testing).
18. 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.
B. Luồng dữ liệu qua các module.
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.
19. Khi nào nên dừng kiểm thử phần mềm?
A. Khi tất cả các test case đã được thực hiện.
B. Khi không còn lỗi nào được tìm thấy.
C. Khi đạt đến thời hạn hoặc ngân sách cho kiểm thử, hoặc khi đạt được mức độ rủi ro chấp nhận được.
D. Khi tất cả các yêu cầu đã được đáp ứng.
20. Trong kiểm thử hiệu suất (Performance testing), 'kiểm thử tải′ (Load testing) nhằm mục đích gì?
A. Đánh giá thời gian phản hồi của hệ thống.
B. Xác định điểm giới hạn chịu tải của hệ thống.
C. Mô phỏng số lượng người dùng đồng thời dự kiến để kiểm tra hiệu suất.
D. Kiểm tra khả năng phục hồi của hệ thống sau sự cố.
21. Lợi ích chính của việc tự động hóa kiểm thử là gì?
A. Loại bỏ hoàn toàn nhu cầu kiểm thử thủ công.
B. Giảm thời gian và chi phí cho các test case lặp đi lặp lại.
C. Đảm bảo tìm ra tất cả các lỗi.
D. Tăng cường sự sáng tạo trong kiểm thử.
22. Kiểm thử khói (Smoke testing) thường được thực hiện khi nào?
A. Cuối chu kỳ phát triển phần mềm.
B. Trước mỗi bản dựng (build) mới để kiểm tra tính ổn định cơ bản.
C. Sau khi hoàn thành kiểm thử tích hợp.
D. Chỉ khi có thay đổi lớn trong mã nguồn.
23. Vai trò của 'Trưởng nhóm kiểm thử' (Test Lead) là gì?
A. Viết test case và thực hiện kiểm thử.
B. Quản lý đội kiểm thử, lập kế hoạch kiểm thử, và theo dõi tiến độ.
C. Phát triển mã nguồn phần mềm.
D. Thiết kế kiến trúc phần mềm.
24. Loại lỗi nào sau đây thường khó phát hiện nhất trong kiểm thử phần mềm?
A. Lỗi cú pháp (Syntax errors).
B. Lỗi logic (Logic errors).
C. Lỗi giao diện người dùng (UI errors).
D. Lỗi hiệu suất (Performance errors).
25. Loại kiểm thử nào tập trung vào việc đánh giá hiệu suất, độ tin cậy, và khả năng sử dụng của phần mềm?
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).
26. Kiểm thử hộp xám (Grey-box testing) kết hợp yếu tố nào của kiểm thử hộp đen và hộp trắng?
A. Chỉ kiểm tra giao diện người dùng và hiệu suất.
B. Chỉ tập trung vào mã nguồn và cấu trúc dữ liệu.
C. Có kiến thức hạn chế về cấu trúc bên trong, kết hợp kiểm thử chức năng và cấu trúc.
D. Hoàn toàn không cần kiến thức về cấu trúc bên trong.
27. Loại kiểm thử nào sau đây tập trung vào việc đảm bảo phần mềm hoạt động tốt trên các môi trường khác nhau (ví dụ: hệ điều hành, trình duyệt)?
A. Kiểm thử chức năng (Functional testing).
B. Kiểm thử tương thích (Compatibility testing).
C. Kiểm thử hiệu suất (Performance testing).
D. Kiểm thử bảo mật (Security testing).
28. Thế nào là 'Acceptance Criteria′ trong kiểm thử chấp nhận (Acceptance testing)?
A. Các điều kiện mà phần mềm phải đáp ứng để được người dùng hoặc khách hàng chấp nhận.
B. Các loại test case được sử dụng trong kiểm thử chấp nhận.
C. Quy trình thực hiện kiểm thử chấp nhận.
D. Báo cáo kết quả kiểm thử chấp nhận.
29. Kỹ thuật 'Kiểm thử theo cặp′ (Pairwise testing) giúp gì trong việc thiết kế test case?
A. Kiểm tra tất cả các tổ hợp giá trị đầu vào có thể.
B. Giảm số lượng test case bằng cách kiểm tra tất cả các cặp giá trị đầu vào quan trọng.
C. Tập trung vào kiểm tra các giá trị biên.
D. Tự động hóa việc tạo test case.
30. Thế nào là 'Test Driven Development′ (TDD)?
A. Một phương pháp kiểm thử tự động hóa.
B. Một quy trình phát triển phần mềm trong đó kiểm thử được viết trước khi mã nguồn.
C. Một loại kiểm thử hiệu suất.
D. Một công cụ quản lý test case.