WorksheetsPractice - Câu Hỏi Kiểm Thử Phần Mềm
Total questions: 90
Worksheet time: 2hrs 30mins
Kiểm thử phần mềm là gì?
Quá trình phát triển phần mềm
Quá trình kiểm tra chất lượng phần mềm
Quá trình thiết kế giao diện người dùng
Quá trình lập trình phần mềm
Vai trò của kiểm thử phần mềm là gì?
Tăng tốc độ phát triển phần mềm
Đảm bảo chất lượng và độ tin cậy của phần mềm
Giảm chi phí phát triển phần mềm
Thiết kế giao diện người dùng
Lợi ích của kiểm thử phần mềm bao gồm:
Phát hiện lỗi sớm
Giảm chi phí bảo trì
Tăng sự hài lòng của người dùng
Tất cả các đáp án trên
Lộ trình sự nghiệp của một Tester bao gồm:
Tester → Senior Tester → Test Lead → Test Manager
Tester → Developer → Senior Developer
Tester → Project Manager
Tester → Business Analyst
Quy trình kiểm thử phần mềm bao gồm các bước:
Lập kế hoạch, thiết kế, thực hiện, báo cáo
Phân tích, thiết kế, lập trình, kiểm thử
Phân tích, kiểm thử, bảo trì
Thiết kế, lập trình, kiểm thử
Mô hình phát triển phần mềm nào được mô tả là tuyến tính và tuần tự?
Waterfall
V-Model
Agile
Spiral
Mô hình phát triển phần mềm nào nhấn mạnh vào việc kiểm thử song song với phát triển?
Waterfall
V-Model
Agile
Spiral
Mô hình phát triển phần mềm nào linh hoạt và thay đổi theo yêu cầu của khách hàng?
Waterfall
V-Model
Agile
Spiral
Mô hình phát triển phần mềm nào kết hợp giữa Waterfall và Agile?
V-Model
Spiral
Incremental
RAD
Mô hình phát triển phần mềm nào tập trung vào việc phát triển nhanh chóng và phản hồi liên tục từ khách hàng?
Waterfall
V-Model
Agile
Spiral
Kiểm thử hộp trắng (White box testing) tập trung vào:
Kiểm tra chức năng của phần mềm
Kiểm tra cấu trúc bên trong của phần mềm
Kiểm tra giao diện người dùng
Kiểm tra hiệu suất của phần mềm
Kiểm thử hộp đen (Black box testing) tập trung vào:
Kiểm tra chức năng của phần mềm
Kiểm tra cấu trúc bên trong của phần mềm
Kiểm tra giao diện người dùng
Kiểm tra hiệu suất của phần mềm
Kiểm thử hộp xám (Gray box testing) là sự kết hợp giữa:
White box và Black box testing
Unit testing và Integration testing
System testing và Acceptance testing
Functional testing và Non-functional testing
Phương pháp kiểm thử nào sử dụng phân vùng dữ liệu để giảm số lượng trường hợp kiểm thử?
Equivalence Partitioning
Boundary Value Analysis
Decision Table
State Transition
Phương pháp kiểm thử nào tập trung vào việc kiểm tra các giá trị biên của dữ liệu?
Equivalence Partitioning
Boundary Value Analysis
Decision Table
State Transition
Phương pháp kiểm thử nào sử dụng bảng quyết định để mô tả các tình huống kiểm thử?
Equivalence Partitioning
Boundary Value Analysis
Decision Table
State Transition
Phương pháp kiểm thử nào kiểm tra sự chuyển tiếp giữa các trạng thái của hệ thống?
Equivalence Partitioning
Boundary Value Analysis
Decision Table
State Transition
Phương pháp kiểm thử nào dựa trên kinh nghiệm để dự đoán các lỗi tiềm ẩn?
Equivalence Partitioning
Boundary Value Analysis
Decision Table
Error Guessing
Kỹ thuật nào giúp giảm số lượng trường hợp kiểm thử bằng cách nhóm các đầu vào tương tự?
Equivalence Partitioning
Boundary Value Analysis
Decision Table
State Transition
Kỹ thuật nào giúp xác định các giá trị biên quan trọng để kiểm thử?
Equivalence Partitioning
Boundary Value Analysis
Decision Table
State Transition
Unit Testing kiểm tra:
Mã nguồn của từng đơn vị nhỏ nhất
Tính tương thích giữa các hệ thống
Toàn bộ hệ thống
Phản hồi của người dùng
Integration Testing kiểm tra:
Mã nguồn của từng đơn vị nhỏ nhất
Tính tương thích giữa các hệ thống
Toàn bộ hệ thống
Phản hồi của người dùng
System Testing kiểm tra:
Mã nguồn của từng đơn vị nhỏ nhất
Tính tương thích giữa các hệ thống
Toàn bộ hệ thống
Phản hồi của người dùng
Acceptance Testing kiểm tra:
Mã nguồn của từng đơn vị nhỏ nhất
Tính tương thích giữa các hệ thống
Toàn bộ hệ thống
Phản hồi
Functional Testing kiểm tra:
Chức năng của phần mềm
Hiệu suất của phần mềm
Bảo mật của phần mềm
Tính tương thích của phần mềm
Loại nào dưới đây KHÔNG PHẢI là Non-Functional Testing:
Chức năng của phần mềm
Hiệu suất của phần mềm
Bảo mật của phần mềm
Tính tương thích của phần mềm
Re-Testing là:
Kiểm tra lại chức năng sau khi sửa lỗi
Kiểm tra hiệu suất của phần mềm
Kiểm tra bảo mật của phần mềm
Kiểm tra tính tương thích của phần mềm
Regression Testing là:
Kiểm tra lại hệ thống sau khi có sự thay đổi
Kiểm tra hiệu suất của phần mềm
Kiểm tra bảo mật của phần mềm
Kiểm tra tính tương thích của phần mềm
Alpha Testing được thực hiện bởi:
Người dùng cuối
Nhóm phát triển phần mềm
Nhóm kiểm thử độc lập
Khách hàng/người nghiệm thu sản phẩm
Beta Testing được thực hiện bởi:
Người dùng cuối
Nhóm phát triển phần mềm
Nhóm kiểm thử độc lập
Tất cả các đáp án trên
Structure Testing kiểm tra:
Cấu trúc bên trong của phần mềm
Chức năng của phần mềm
Hiệu suất của phần mềm
Tính tương thích của phần mềm
Maintenance Testing kiểm tra:
Cấu trúc bên trong của phần mềm
Chức năng của phần mềm
Hiệu suất của phần mềm
Tính tương thích của phần mềm
SQL là viết tắt của:
Structured Query Language
Simple Query Language
Standard Query Language
None of the above
MySQL là:
Hệ quản trị cơ sở dữ liệu quan hệ
Ngôn ngữ lập trình
Hệ điều hành
Phần mềm đồ họa
Kiểu dữ liệu nào trong MySQL dùng để lưu trữ số nguyên?
INT
VARCHAR
DATE
FLOAT
Kiểu dữ liệu nào trong MySQL dùng để lưu trữ chuỗi văn bản?
INT
VARCHAR
DATE
FLOAT
Kiểu dữ liệu nào trong MySQL dùng để lưu trữ ngày tháng?
INT
VARCHAR
DATE
FLOAT
Kiểu dữ liệu nào trong MySQL dùng để lưu trữ số thực?
INT
VARCHAR
DATE
FLOAT
Ràng buộc PRIMARY KEY trong MySQL đảm bảo:
Giá trị duy nhất và không NULL
Giá trị không NULL
Giá trị duy nhất
Không có ràng buộc
Mối quan hệ 1-n trong cơ sở dữ liệu là:
Một bản ghi ở bảng A liên kết với nhiều bản ghi ở bảng B
Nhiều bản ghi ở bảng A liên kết với nhiều bản ghi ở bảng B
Một bản ghi ở bảng A liên kết với một bản ghi ở bảng B
Không có liên kết
Câu lệnh tạo bảng trong MySQL là:
CREATE DATABASE
CREATE TABLE
CREATE SCHEMA
NEW TABLE
Câu lệnh nào dùng để thêm dữ liệu vào bảng?
INSERT INTO
UPDATE
SELECT
DELETE
Lệnh SQL nào dùng để lọc dữ liệu?
WHERE
ORDER BY
GROUP BY
JOIN
Để sắp xếp kết quả truy vấn, dùng lệnh:
ORDER BY
GROUP BY
WHERE
HAVING
Để kết hợp dữ liệu từ hai bảng, ta dùng:
JOIN
GROUP
ORDER
INSERT
Lệnh SQL nào dùng để thay đổi dữ liệu?
UPDATE
ALTER
CHANGE
MODIFY
Lệnh SQL nào dùng để xóa dữ liệu?
DELETE
REMOVE
DROP
ERASE
GROUP BY trong SQL thường được sử dụng để:
Sắp xếp dữ liệu theo thứ tự tăng dần
Lọc dữ liệu theo điều kiện cụ thể
Nhóm dữ liệu dựa trên giá trị của một hoặc nhiều cột
Xóa các bản ghi trùng lặp
Để lọc dữ liệu theo điều kiện LIKE, cú pháp đúng là:
WHERE column LIKE '%value%'
WHERE column EQUAL '%value%'
WHERE LIKE column '%value%'
IF column LIKE '%value%'
Câu lệnh SELECT dùng để:
Truy vấn dữ liệu
Tạo bảng
Xóa bảng
Cập nhật bảng
INNER JOIN sẽ trả về:
Các bản ghi có liên kết ở cả hai bảng
Tất cả các bản ghi từ bảng bên trái
Tất cả các bản ghi từ bảng bên phải
Không bản ghi nào
LEFT JOIN sẽ trả về:
Tất cả bản ghi bảng trái + khớp bảng phải
Tất cả bản ghi bảng phải
Chỉ các bản ghi khớp giữa 2 bảng
Không bản ghi nào
RIGHT JOIN là:
Tất cả bản ghi ở bảng bên phải và khớp bên trái
Kết hợp 3 bảng
Chỉ dùng trong Oracle
Không có trong MySQL
GROUP BY thường được dùng với:
Hàm tổng hợp như COUNT, SUM
Lệnh UPDATE
Lệnh JOIN
Lệnh ORDER
Hàm COUNT(*) trả về:
Số lượng bản ghi
Tổng giá trị
Giá trị nhỏ nhất
Giá trị lớn nhất
SUBQUERY là:
Truy vấn lồng trong truy vấn khác
Truy vấn phụ
Truy vấn sai
Không phải truy vấn SQL
API là viết tắt của:
Application Programming Interface
Application Processing Interface
Advanced Protocol Interface
App Program Integration
Postman là:
Công cụ kiểm thử API
Công cụ kiểm thử hiệu năng
IDE cho lập trình
CSDL NoSQL
Phương pháp nào thường được dùng trong kiểm thử API?
GET, POST, PUT, DELETE
SEND, RECEIVE
PUSH, POP
TEST, BUILD
Dữ liệu phản hồi của API thường ở dạng:
JSON hoặc XML
DOC hoặc PDF
TXT hoặc HTML
JPG hoặc PNG
Kiểm thử hiệu năng giúp:
Đánh giá tốc độ và độ ổn định của hệ thống
Kiểm tra chức năng hệ thống
Kiểm tra bảo mật hệ thống
Đảm bảo hệ thống không có bug
JMeter là công cụ dùng để:
Kiểm thử hiệu năng
Quản lý dự án
Kiểm thử giao diện
Viết mã nguồn
Load Testing nhằm mục tiêu:
Đánh giá hiệu suất khi tải cao
Tìm lỗi logic
Kiểm tra bảo mật
Kiểm thử API
Stress Testing kiểm tra:
Giới hạn cực đại của hệ thống
Tính logic của phần mềm
Giao diện người dùng
Cơ sở dữ liệu
Soak Testing đánh giá:
Hệ thống khi chạy lâu dài
Tốc độ mạng
Tốc độ CPU
Khả năng backup dữ liệu
Automation Testing là:
Kiểm thử sử dụng công cụ tự động
Kiểm thử thủ công
Lập trình phần mềm
Thiết kế giao diện
Một lợi ích chính của kiểm thử tự động là:
Tăng tốc độ kiểm thử
Giảm nhân sự
Tăng lỗi phần mềm
Giảm tốc độ
Selenium là công cụ:
Kiểm thử tự động giao diện web
Tạo database
Thiết kế API
Viết Unit Test
Kiểm thử tự động phù hợp nhất với:
Các bài test lặp đi lặp lại
Một lần kiểm thử duy nhất
Không có quy trình
Đội phát triển frontend
Kiểm thử tự động không phù hợp khi:
Yêu cầu test thay đổi liên tục
Hệ thống lớn
Nhiều module
Có dữ liệu ổn định
Ưu điểm chính của mô hình Agile là:
Linh hoạt và dễ thay đổi theo yêu cầu
Tuần tự và dễ kiểm soát
Không cần kiểm thử
Tập trung vào tài liệu hơn phần mềm
Một hệ thống yêu cầu người dùng nhập tuổi từ 18 đến 60. Với kỹ thuật Phân lớp tương đương, chọn giá trị đại diện phù hợp cho lớp hợp lệ?
17
18
61
100
Kiểm thử nào được thực hiện sớm nhất trong SDLC?
Unit Testing
System Testing
Regression Testing
Beta Testing
Kiểm thử nào liên quan đến người dùng cuối?
Acceptance Testing
Unit Testing
Integration Testing
Smoke Testing
Quy trình kiểm thử nào giúp phát hiện lỗi trước khi phần mềm đến tay khách hàng?
Alpha Testing
Beta Testing
Acceptance Testing
Usability Testing
Mục tiêu chính của Regression Testing là:
Đảm bảo tính năng cũ không bị ảnh hưởng
Phát triển thêm tính năng mới
Tăng tốc độ hệ thống
Tối ưu giao diện
Acceptance Criteria là:
Tiêu chí chấp nhận tính năng từ người dùng
Tài liệu kỹ thuật
Giao diện mẫu
Yêu cầu bảo mật
Kỹ thuật kiểm thử nào giúp giảm số lượng test case nhưng vẫn đủ kiểm tra?
Equivalence Partitioning
Exploratory Testing
Sanity Testing
A/B Testing
Kỹ thuật kiểm thử nào áp dụng cho hệ thống có trạng thái thay đổi?
State Transition
Boundary Value
Decision Table
Equivalence Partitioning
Một hệ thống yêu cầu người dùng nhập số điểm trong khoảng từ 0 đến 100. Giá trị nào sau đây thuộc lớp dữ liệu hợp lệ?
-5
101
85
150
Một form yêu cầu nhập số lượng sản phẩm từ 1 đến 20. Sử dụng kỹ thuật phân lớp tương đương, chọn 1 giá trị đại diện cho mỗi lớp?
0, 10, 21
1, 20, 30
-1, 15, 100
5, 25, 50
Một ứng dụng chấp nhận tuổi người dùng từ 18 đến 60. Giá trị nào sau đây là giá trị biên?
19
59
60
61
Đầu vào hợp lệ là số nguyên từ 1 đến 100. Theo phương pháp phân tích giá trị biên, bộ kiểm thử nên bao gồm các giá trị nào?
0, 1, 2, 99, 100, 101
1, 50, 100
0, 50, 101
1, 99
Một ứng dụng giảm giá như sau: Nếu là thành viên VIP và mua > 1 triệu → giảm 10% Nếu là khách thường và mua > 2 triệu → giảm 5% Trường hợp khác → không giảm Khách hàng thường mua 2.5 triệu, hệ thống nên:
Giảm 10%
Giảm 5%
Không giảm
Yêu cầu nâng cấp tài khoản
Một hệ thống mở khóa như sau: Đúng mật khẩu và đúng mã OTP → cho đăng nhập Sai mật khẩu → báo lỗi Đúng mật khẩu, sai OTP → yêu cầu nhập lại OTP Trường hợp đúng mật khẩu, đúng OTP sẽ dẫn tới:
Báo lỗi
Cho đăng nhập
Khóa tài khoản
Không phản hồi
Máy bán hàng tự động có các trạng thái: Idle → Selecting → Dispensing → Idle Nếu người dùng chọn hàng mà không đưa tiền, hệ thống sẽ:
Chuyển sang Dispensing
Chuyển về Idle
Không đổi trạng thái
Báo lỗi và chuyển về Idle
Một máy ATM có các trạng thái: Thẻ đã được đưa vào Nhập đúng mã PIN → truy cập tài khoản Nhập sai PIN 3 lần → khóa thẻ Nếu người dùng nhập sai PIN lần thứ 3, trạng thái tiếp theo là:
Cho nhập lại
Truy cập tài khoản
Khóa thẻ
Vô hiệu hóa hệ thống
Trong các kỹ thuật kiểm thử sau, kỹ thuật nào phù hợp để kiểm tra luồng logic nhiều điều kiện?
Phân lớp tương đương
Phân tích giá trị biên
Bảng quyết định
Bảng chuyển đổi trạng thái
Kỹ thuật nào thích hợp nhất để kiểm tra các hành vi thay đổi theo sự kiện hoặc trạng thái?
Phân tích giá trị biên
Bảng chuyển đổi trạng thái
Bảng quyết định
Phân lớp tương đương
Một hệ thống yêu cầu nhập số lượng vé đặt mua từ 1 đến 10. Dựa vào kỹ thuật phân lớp tương đương và phân tích giá trị biên, chọn tập giá trị kiểm thử đầy đủ và hiệu quả nhất dưới đây:
0, 1, 5, 10, 11
1, 2, 3, 4, 5
0, 11
1, 10
