1. Loại lỗi nào khó phát hiện nhất trong quá trình kiểm thử?
A. Lỗi cú pháp.
B. Lỗi logic.
C. Lỗi giao diện người dùng.
D. Lỗi hiệu năng.
2. So sánh kiểm thử thủ công (Manual testing) và kiểm thử tự động hóa (Automated testing), ưu điểm chính của kiểm thử thủ công là:
A. Tốc độ thực hiện nhanh hơn.
B. Độ chính xác cao hơn.
C. Khả năng linh hoạt và khám phá lỗi mới tốt hơn.
D. Chi phí thấp hơn trong dài hạn.
3. Lỗi (Bug) trong phần mềm được định nghĩa là:
A. Bất kỳ sự cố nào gây ra sự chậm trễ trong dự án.
B. Sự khác biệt giữa hành vi mong đợi và hành vi thực tế của phần mềm.
C. Bất kỳ đoạn code nào khó đọc.
D. Bất kỳ yêu cầu nào chưa được thực hiện.
4. Quy trình kiểm thử V-model nhấn mạnh vào:
A. Tính linh hoạt và thích ứng với thay đổi.
B. Kiểm thử liên tục và tự động hóa.
C. Sự tương ứng giữa giai đoạn phát triển và giai đoạn kiểm thử.
D. Sự tham gia sớm của khách hàng vào quá trình kiểm thử.
5. Ma trận truy vết yêu cầu (Requirements traceability matrix) được sử dụng để:
A. Đo độ bao phủ mã.
B. Quản lý lỗi phần mềm.
C. Đảm bảo rằng tất cả các yêu cầu đều được kiểm thử.
D. Lập kế hoạch kiểm thử.
6. Điều gì là quan trọng nhất khi báo cáo lỗi (Bug report)?
A. Báo cáo phải dài dòng và chi tiết nhất có thể.
B. Báo cáo phải chứa ý kiến cá nhân của người kiểm thử.
C. Báo cáo phải rõ ràng, ngắn gọn, dễ tái hiện lỗi và cung cấp đủ thông tin cần thiết.
D. Báo cáo nên đổ lỗi cho nhà phát triển gây ra lỗi.
7. Độ bao phủ mã (Code coverage) là một thước đo quan trọng trong loại kiểm thử nào?
A. Kiểm thử hộp đen.
B. Kiểm thử hộp trắng.
C. Kiểm thử hiệu năng.
D. Kiểm thử khả năng sử dụng.
8. Nguyên tắc `Pesticide Paradox` trong kiểm thử phần mềm nói về điều gì?
A. Việc sử dụng quá nhiều công cụ kiểm thử tự động hóa.
B. Việc lặp lại cùng một bộ test case sẽ giảm hiệu quả phát hiện lỗi mới.
C. Sự khó khăn trong việc tìm lỗi ở giai đoạn cuối của dự án.
D. Mâu thuẫn giữa chi phí và lợi ích của kiểm thử.
9. Kỹ thuật kiểm thử nào bao gồm việc kiểm thử tất cả các đường dẫn độc lập trong một module?
A. Kiểm thử hộp đen.
B. Kiểm thử hộp trắng.
C. Kiểm thử tích hợp.
D. Kiểm thử hệ thống.
10. Loại kiểm thử nào xác minh rằng các thành phần phần mềm hoạt động cùng nhau một cách chính xác?
A. Kiểm thử đơn vị (Unit testing).
B. Kiểm thử tích hợp (Integration testing).
C. Kiểm thử hệ thống (System testing).
D. Kiểm thử chấp nhận (Acceptance testing).
11. Kiểm thử hộp trắng (White-box testing) còn được gọi là:
A. Kiểm thử chức năng.
B. Kiểm thử cấu trúc.
C. Kiểm thử hiệu năng.
D. Kiểm thử chấp nhận.
12. Mục đích của `Test plan` (Kế hoạch kiểm thử) là gì?
A. Để ghi lại kết quả kiểm thử.
B. Để mô tả chi tiết từng ca kiểm thử.
C. Để xác định phạm vi, mục tiêu, nguồn lực và lịch trình kiểm thử.
D. Để theo dõi lỗi và quá trình sửa lỗi.
13. Kiểm thử phần mềm là quá trình:
A. Xây dựng phần mềm.
B. Gỡ lỗi phần mềm.
C. Đánh giá chất lượng phần mềm để phát hiện lỗi.
D. Triển khai phần mềm.
14. Kịch bản nào sau đây phù hợp nhất để sử dụng kiểm thử hiệu năng?
A. Kiểm tra chức năng đăng nhập của ứng dụng.
B. Đảm bảo ứng dụng web có thể xử lý đồng thời hàng ngàn người dùng.
C. Kiểm tra giao diện người dùng của ứng dụng di động.
D. Xác minh logic nghiệp vụ của một module cụ thể.
15. Kiểm thử khói (Smoke testing) là gì?
A. Kiểm thử hiệu năng dưới tải nặng.
B. Một loại kiểm thử chấp nhận.
C. Kiểm thử nhanh chóng các chức năng cốt lõi để đảm bảo build ổn định.
D. Kiểm thử bảo mật xâm nhập.
16. Kiểm thử hồi quy (Regression testing) được thực hiện khi nào?
A. Sau khi phát hành phần mềm.
B. Trước khi bắt đầu phát triển phần mềm.
C. Sau khi có thay đổi hoặc sửa lỗi trong phần mềm.
D. Trong giai đoạn lập kế hoạch dự án.
17. 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 trước khi phát hành.
C. Đảm bảo phần mềm đáp ứng mọi yêu cầu của khách hàng.
D. Tăng tốc độ phát triển phần mềm.
18. Trong kiểm thử hiệu năng (Performance testing), `stress testing` nhằm mục đích:
A. Đo 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. Kiểm tra khả năng mở rộng của hệ thống.
D. Đảm bảo hệ thống hoạt động ổn định trong điều kiện bình thường.
19. Loại kiểm thử nào tập trung vào việc đánh giá trải nghiệm người dùng?
A. Kiểm thử chức năng.
B. Kiểm thử hiệu năng.
C. Kiểm thử bảo mật.
D. Kiểm thử khả năng sử dụng (Usability testing).
20. Trong ngữ cảnh Agile, kiểm thử thường được thực hiện:
A. Chỉ ở cuối mỗi Sprint.
B. Liên tục và lặp đi lặp lại trong suốt Sprint.
C. Chỉ sau khi hoàn thành tất cả các Sprint.
D. Bởi một nhóm kiểm thử riêng biệt sau khi phát triển xong.
21. Test case (Ca kiểm thử) là gì?
A. Một loại lỗi phần mềm.
B. Một tài liệu mô tả các bước kiểm thử, dữ liệu đầu vào và kết quả mong đợi.
C. Một công cụ tự động hóa kiểm thử.
D. Một báo cáo về kết quả kiểm thử.
22. Chỉ số `Defect Density` (Mật độ lỗi) đo lường điều gì?
A. Số lượng lỗi đã sửa.
B. Số lượng lỗi tìm thấy trên kích thước phần mềm (ví dụ: lỗi trên mỗi nghìn dòng code).
C. Thời gian trung bình để sửa một lỗi.
D. Mức độ nghiêm trọng của lỗi.
23. Kiểm thử hộp đen (Black-box testing) tập trung vào:
A. Cấu trúc code bên trong của phần mềm.
B. Yêu cầu chức năng và đầu vào/đầu ra của phần mềm.
C. Hiệu suất của phần mềm.
D. Mức độ bảo mật của phần mềm.
24. Kiểm thử đơn vị (Unit testing) thường được thực hiện bởi:
A. Nhóm kiểm thử độc lập.
B. Nhà phát triển phần mềm.
C. Khách hàng.
D. Quản lý dự án.
25. Khi nào thì nên dừng kiểm thử?
A. Khi đã kiểm thử mọi thứ có thể.
B. Khi hết thời gian hoặc ngân sách.
C. Khi đạt được tiêu chí dừng kiểm thử đã xác định (ví dụ: độ bao phủ, mật độ lỗi).
D. Khi không còn lỗi nào được tìm thấy.
26. Chọn phát biểu ĐÚNG về kiểm thử hộp xám (Gray-box testing):
A. Không cần kiến thức về cấu trúc bên trong.
B. Yêu cầu truy cập đầy đủ vào mã nguồn.
C. Kết hợp kiến thức về cả hộp đen và hộp trắng.
D. Chỉ tập trung vào giao diện người dùng.
27. Phương pháp kiểm thử nào mà người kiểm thử hoạt động như người dùng cuối để khám phá lỗi?
A. Kiểm thử hộp trắng.
B. Kiểm thử hộp đen.
C. Kiểm thử thăm dò (Exploratory testing).
D. Kiểm thử tự động hóa.
28. Trong quản lý lỗi (Defect Management), `Severity` (Mức độ nghiêm trọng) của lỗi mô tả điều gì?
A. Thời gian cần thiết để sửa lỗi.
B. Ảnh hưởng của lỗi đến hoạt động của phần mềm.
C. Khả năng xảy ra lỗi.
D. Số lượng người dùng bị ảnh hưởng bởi lỗi.
29. Chọn phát biểu SAI về kiểm thử tự động hóa:
A. Kiểm thử tự động hóa luôn nhanh hơn kiểm thử thủ công.
B. Kiểm thử tự động hóa có thể giúp tăng độ bao phủ kiểm thử.
C. Kiểm thử tự động hóa đặc biệt hiệu quả cho kiểm thử hồi quy.
D. Kiểm thử tự động hóa có thể giảm chi phí kiểm thử trong dài hạn.
30. Kiểm thử chấp nhận (Acceptance testing) được thực hiện bởi:
A. Nhóm phát triển.
B. Nhóm kiểm thử độc lập.
C. Người dùng cuối hoặc khách hàng.
D. Quản lý chất lượng.