WorksheetsKiểm thử cơ bản - Lab 3 Các mức độ trong kiểm thử phần mềm
Total questions: 20
Worksheet time: 7mins
Name
Class
Date
1.
Theo tài liệu, mức kiểm thử nào được thực hiện đầu tiên trong vòng đời phát triển và do lập trình viên thực hiện?
a)
Kiểm thử tích hợp (Integration Testing)
b)
Kiểm thử hệ thống (System Testing)
c)
Kiểm thử thành phần (Component Testing)
d)
Kiểm thử chấp nhận (Acceptance Testing)
2.
Stub và Driver được sử dụng trong Kiểm thử thành phần để làm gì?
a)
Để tự động hóa việc thực thi test case
b)
Để giả lập các module chưa hoàn thiện hoặc chưa có sẵn
c)
Để ghi lại kết quả kiểm thử
d)
Để phân tích độ bao phủ của mã nguồn
3.
Phương pháp kiểm thử tích hợp nào tích hợp tất cả các module lại với nhau và kiểm tra cùng một lúc?
a)
Top Down
b)
Bottom Up
c)
Big Bang
d)
Sandwich
4.
Kiểm thử tích hợp Top Down đòi hỏi phải sử dụng nhiều thành phần giả lập nào?
a)
Drivers
b)
Stubs
c)
Cả Stubs và Drivers
d)
Không cần thành phần nào
5.
Mục tiêu chính của Kiểm thử Hệ thống (System Testing) là gì?
a)
Kiểm tra từng hàm và phương thức riêng lẻ
b)
Kiểm tra sự tương tác giữa các module
c)
Kiểm tra toàn bộ hệ thống đã tích hợp hoàn chỉnh so với yêu cầu
d)
Để khách hàng quyết định có chấp nhận sản phẩm hay không
6.
Kiểm thử nào được thực hiện bởi khách hàng hoặc người dùng cuối tại môi trường thực tế của họ?
a)
Unit Testing
b)
Alpha Testing
c)
Smoke Testing
d)
Beta Testing
7.
Sự khác biệt chính giữa Alpha Testing và Beta Testing là gì?
a)
Alpha testing do khách hàng thực hiện, Beta testing do lập trình viên thực hiện
b)
Alpha testing thực hiện ở môi trường của nhà phát triển, Beta testing thực hiện ở môi trường của người dùng cuối
c)
Alpha testing chỉ kiểm tra chức năng, Beta testing chỉ kiểm tra hiệu năng
d)
Không có sự khác biệt nào đáng kể
8.
Loại kiểm thử nào được thực hiện để xác định nhanh xem một bản build mới có đủ ổn định để kiểm thử sâu hơn hay không?
a)
Kiểm thử hồi quy (Regression Testing)
b)
Kiểm thử độ tỉnh táo (Sanity Testing)
c)
Kiểm thử khói (Smoke Testing)
d)
Kiểm thử chấp nhận (Acceptance Testing)
9.
Kiểm thử độ tỉnh táo (Sanity Testing) thường được thực hiện sau hoạt động nào?
a)
Sau khi nhận được bản build hoàn toàn mới
b)
Sau khi sửa một lỗi hoặc có một thay đổi nhỏ trong mã nguồn
c)
Trước khi bắt đầu kiểm thử đơn vị
d)
Là bước kiểm thử cuối cùng trước khi phát hành
10.
Mục đích của Kiểm thử hồi quy (Regression Testing) là gì?
a)
Chỉ kiểm tra các chức năng mới được thêm vào
b)
Đảm bảo rằng các thay đổi mới không làm hỏng các chức năng đã tồn tại
c)
Kiểm tra hiệu suất của hệ thống
d)
Xác nhận lại các lỗi đã được sửa
11.
Đâu là một nhược điểm của Kiểm thử thành phần (Component Testing)?
a)
Không thể phát hiện lỗi sớm
b)
Chi phí sửa lỗi rất cao
c)
Việc viết và duy trì Unit Test có thể tốn nhiều thời gian và công sức
d)
Chỉ có thể thực hiện vào cuối dự án
12.
Kiểm thử tích hợp tập trung vào việc phát hiện lỗi ở đâu?
a)
Trong các thuật toán của từng hàm riêng lẻ
b)
Trong giao diện và luồng dữ liệu giữa các thành phần được tích hợp
c)
Trong yêu cầu của người dùng
d)
Trong tài liệu hướng dẫn sử dụng
13.
Loại kiểm thử nào đánh giá các đặc tính phi chức năng như hiệu năng, bảo mật và độ tin cậy của toàn bộ hệ thống?
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ử khói (Smoke Testing)
14.
Nếu Smoke Test thất bại, hành động tiếp theo của đội kiểm thử thường là gì?
a)
Tiếp tục kiểm thử sâu hơn để tìm thêm lỗi
b)
Báo cáo cho khách hàng rằng sản phẩm đã sẵn sàng
c)
Từ chối bản build và yêu cầu đội phát triển sửa lỗi cơ bản
d)
Bắt đầu viết test case cho kiểm thử chấp nhận
15.
Cơ sở đầu vào chính để thực hiện Kiểm thử hệ thống là gì?
a)
Mã nguồn chi tiết của từng lớp
b)
Đặc tả yêu cầu hệ thống và phần mềm (cả chức năng và phi chức năng)
c)
Các test case của Unit Test
d)
Phản hồi từ các bài kiểm tra Alpha
16.
Việc một phần mềm đã vượt qua tất cả các bài kiểm tra chức năng nhưng vẫn khiến người dùng cuối thất vọng vì khó sử dụng là một ví dụ cho thấy tầm quan trọng của loại kiểm thử nào?
a)
Kiểm thử tích hợp
b)
Kiểm thử đơn vị
c)
Kiểm thử chấp nhận (Acceptance Testing)
d)
Kiểm thử hồi quy
17.
Lỗi 'Giao diện không khớp' (ví dụ: một module gửi dữ liệu lớn hơn mức mà module khác có thể nhận) là một loại lỗi điển hình được phát hiện trong mức kiểm thử nào?
a)
Kiểm thử thành phần (Component 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ử khói (Smoke Testing)
18.
Một bản build mới được triển khai sau khi tích hợp nhiều chức năng lớn. Team QA cần thực hiện một loại kiểm thử nhanh để đảm bảo các chức năng cốt lõi (như đăng nhập, điều hướng chính) hoạt động và bản build này đủ ổn định cho việc kiểm thử chi tiết. Đây là ví dụ điển hình của loại kiểm thử nào?
a)
Kiểm thử hồi quy (Regression Testing)
b)
Kiểm thử độ tỉnh táo (Sanity Testing)
c)
Kiểm thử khói (Smoke Testing)
d)
Kiểm thử chấp nhận (Acceptance Testing)
19.
Trong một dự án theo phương pháp tích hợp từ dưới lên (Bottom-up), đội phát triển đã hoàn thành các module xử lý thanh toán và quản lý kho (cấp thấp), nhưng module Giao diện người dùng (cấp cao) vẫn chưa sẵn sàng. Để có thể kiểm thử các module cấp thấp đã hoàn thành, đội kiểm thử cần tạo ra thành phần giả lập nào?
a)
Stubs để mô phỏng Giao diện người dùng
b)
Drivers để gọi và truyền dữ liệu xuống module thanh toán và quản lý kho
c)
Một kịch bản Smoke Test
d)
Một bộ test case hồi quy
20.
Một đội phát triển đã sửa tất cả các lỗi (bugs) mà đội kiểm thử báo cáo và hệ thống không còn gặp sự cố (failures). Tuy nhiên, khi phát hành, sản phẩm vẫn thất bại vì nó được thiết kế quá phức tạp và không giải quyết đúng nhu cầu thực tế của người dùng. Tình huống này là minh hoạ rõ nhất cho nguyên lý kiểm thử nào?
a)
Kiểm thử phụ thuộc vào ngữ cảnh (Testing is context dependent)
b)
Nghịch lý thuốc trừ sâu (Pesticide Paradox)
c)
Ảo tưởng về sự vắng mặt của lỗi (Absence-of-errors fallacy)
d)
Kiểm thử sớm (Early testing)
100 %
