wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Kiểm Thử Phần Mềm

Total questions: 91

Worksheet time: 48mins

Name
Class
Date
1.

Mục tiêu chính của kiểm thử phần mềm là gì?

a)

Đảm bảo phần mềm chạy nhanh

b)

Phát hiện lỗi, đảm bảo phần mềm đáp ứng yêu cầu

c)

Thiết kế phần mềm đẹp

d)

Đảm bảo phần mềm miễn phí

2.

Kiểm thử (Testing) khác gì với Gỡ lỗi (Debugging)?

a)

Testing là phát hiện lỗi, Debugging là xác định và sửa lỗi

b)

Cả hai đều giống nhau

c)

Debugging là kiểm tra test case

d)

Testing là sửa lỗi, Debugging là thực thi phần mềm

3.

Vì sao kiểm thử phần mềm không thể tìm ra hết mọi lỗi?

a)

Tester thiếu kinh nghiệm

b)

Số lượng test case là vô hạn, giới hạn tài nguyên

c)

Phần mềm đơn giản

d)

Không cần kiểm thử

4.

Nguyên nhân phổ biến gây lỗi phần mềm KHÔNG BAO GỒM:

a)

Sai sót trong thiết kế

b)

Lỗi lập trình

c)

Tài liệu yêu cầu rõ ràng

d)

Giao tiếp không hiệu quả

5.

Đâu KHÔNG phải nguyên tắc kiểm thử phần mềm?

a)

Kiểm thử toàn diện là không thể

b)

Tester nên tự viết code sản phẩm

c)

Kiểm thử nên thực hiện càng sớm càng tốt

d)

Tập trung vào khu vực rủi ro

6.

Lý do nên kiểm thử sớm là gì?

a)

Để tăng chi phí sửa lỗi

b)

Để phát hiện lỗi ở giai đoạn đầu, tiết kiệm chi phí

c)

Để tăng số lượng lỗi

d)

Để có nhiều người tham gia kiểm thử

7.

Vai trò của Tester trong phát triển phần mềm là:

a)

Chỉ tìm lỗi

b)

Đánh giá, xác thực phần mềm, báo lỗi, góp ý quy trình

c)

Viết code

d)

Thiết kế giao diện

8.

Nếu phát hiện lỗi nhưng không tái hiện lại được, bạn nên:

a)

Bỏ qua

b)

Ghi nhận chi tiết, báo cáo lỗi, thử lại nhiều môi trường

c)

Xoá phần mềm

d)

Không báo lỗi

9.

Khi nào nên kiểm thử tự động?

a)

Khi kiểm thử giao diện

b)

Khi kiểm thử hồi quy, lặp lại nhiều lần

c)

Khi mới có sản phẩm

d)

Khi không cần kiểm thử

10.

Làm sao để kiểm thử phần mềm hiệu quả?

a)

Không cần kế hoạch kiểm thử

b)

Kết hợp tự động & thủ công, môi trường phù hợp, kiểm thử liên tục

c)

Không cần đào tạo tester

d)

Bỏ qua kiểm thử hồi quy

11.

Các giai đoạn chính trong SDLC là:

a)

Phân tích yêu cầu - Thiết kế - Lập trình - Kiểm thử - Triển khai - Bảo trì

b)

Lập trình -

12.

Các giai đoạn chính trong SDLC là:

a)

Phân tích yêu cầu - Thiết kế - Lập trình - Kiểm thử - Triển khai - Bảo trì

b)

Lập trình - Báo cáo - Xây dựng

c)

Thiết kế - Đóng gói - Bán hàng

d)

Chỉ lập trình

13.

Ưu điểm của mô hình Waterfall là:

a)

Linh hoạt thay đổi liên tục

b)

Quy trình rõ ràng, dễ quản lý

c)

Khó theo dõi tiến độ

d)

Không có ưu điểm

14.

Điểm khác biệt nổi bật của Agile so với truyền thống là:

a)

Có thể thay đổi yêu cầu trong quá trình phát triển

b)

Không cần kiểm thử

c)

Waterfall linh hoạt hơn

d)

Agile không làm việc nhóm

15.

Tại sao kiểm thử phần mềm xuất hiện ở nhiều giai đoạn SDLC?

a)

Chỉ kiểm thử 1 lần

b)

Đảm bảo phát hiện lỗi sớm, giảm chi phí

c)

Để kiểm tra tài liệu

d)

Tăng chi phí phát triển

16.

Mô hình phù hợp nhất cho dự án yêu cầu thay đổi thường xuyên là:

a)

Waterfall

b)

V-model

c)

Agile

d)

Big Bang

17.

Để tester hiệu quả trong Agile cần:

a)

Tham gia từ đầu, phối hợp, tự động hóa test case, review

b)

Chỉ viết test case sau khi có sản phẩm

c)

Chỉ báo cáo lỗi

d)

Không cần test case

18.

Chiến lược kiểm thử dự án thương mại điện tử nên gồm:

a)

Chỉ kiểm thử giao diện

b)

Lập kế hoạch, kết hợp kiểm thử thủ công & tự động, kiểm thử liên tục

c)

Không cần môi trường kiểm thử

d)

Chỉ kiểm thử bảo mật

19.

Quy trình kiểm thử phần mềm KHÔNG BAO GỒM bước nào?

a)

Lập kế hoạch kiểm thử

b)

Thiết kế test case

c)

Thiết lập môi trường kiểm thử

d)

Mua phần mềm

20.

Ai chịu trách nhiệm lập Test Plan?

a)

Developer

b)

Test Manager/QA Manager

c)

User

d)

Product Owner

21.

Tài liệu nào ghi tiêu chí dừng kiểm thử?

a)

Test Plan/Test Strategy

b)

User Manual

c)

Source Code

d)

Requirements Document

22.

Trong nhóm kiểm thử, vai trò của Test Lead là:

a)

Viết code

b)

Điều phối đội kiểm thử, giám sát tiến độ

c)

Chỉ báo lỗi

d)

Thiết kế cơ sở dữ liệu

23.

Nếu có thay đổi yêu cầu khi đã lên kế hoạch kiểm thử, bạn làm gì?

a)

Bỏ qua

b)

Đánh giá tác động, cập nhật tài liệu test, thông báo các bên liên quan

c)

Không cần cập nhật

d)

Chỉ cập nhật khi test case lỗi

24.

hoạch kiểm thử, bạn làm gì?

a)

Bỏ qua

b)

Đánh giá tác động, cập nhật tài liệu test, thông báo các bên liên quan

c)

Không cần cập nhật

d)

Chỉ cập nhật khi test case lỗi

25.

Chỉ số đo lường hiệu quả kiểm thử KHÔNG BAO GỒM:

a)

Tỷ lệ bao phủ test case

b)

Số lỗi phát hiện

c)

Số lượng tester

d)

Thời gian xử lý lỗi

26.

Các mức kiểm thử phần mềm gồm:

a)

Unit, Integration, System, UAT

b)

UAT, GUI Testing, Load Testing

c)

Integration, Coding, Debugging

d)

None of above

27.

Unit Testing chủ yếu do ai thực hiện?

a)

User

b)

Developer

c)

Test Lead

d)

Khách hàng

28.

So sánh Alpha và Beta Testing, đâu là điểm đúng?

a)

Alpha do user thực hiện

b)

Beta do tester nội bộ

c)

Beta do người dùng thực tế kiểm thử ngoài nội bộ

d)

Alpha kiểm thử môi trường ngoài công ty

29.

Trong kiểm thử tích hợp, Stubs dùng khi nào?

a)

Khi thiếu module phía dưới

b)

Khi thiếu module phía trên

c)

Khi thiếu toàn bộ hệ thống

d)

Khi test GUI

30.

Kỹ thuật kiểm thử tích hợp Big Bang là:

a)

Tích hợp từng module một

b)

Tích hợp đồng loạt tất cả các module rồi kiểm thử toàn hệ thống

c)

Chỉ test đơn lẻ

d)

Không kiểm thử

31.

Kiểm thử chức năng (Functional Testing) khác gì kiểm thử phi chức năng (Non-functional Testing)?

a)

Kiểm tra chức năng vs kiểm tra hiệu suất, bảo mật

b)

Đều giống nhau

c)

Chỉ kiểm tra giao diện

d)

Non-functional chỉ kiểm tra code

32.

Kiểm thử hiệu năng (Performance Testing) gồm kỹ thuật nào?

a)

Load, Stress, Spike, Volume, Soak Testing

b)

Decision Table Testing

c)

UAT

d)

GUI Testing

33.

Khi nào cần kiểm thử lại (Re-testing)?

a)

Khi phát hiện lỗi mới

b)

Sau khi đã sửa lỗi

c)

Khi thay đổi tester

d)

Khi hết deadline

34.

Ví dụ nào là kiểm thử bảo mật?

a)

Nhập chuỗi độc hại vào form để kiểm tra chống SQL Injection

b)

Test giao diện đẹp

c)

Test load 100 user

d)

Kiểm tra hiệu suất

35.

Kiểm thử hộp trắng là:

a)

Kiểm thử dựa vào mã nguồn, luồng điều khiển bên trong

b)

Chỉ kiểm thử giao diện

c)

Không cần biết code

d)

Kiểm thử qua user

36.

Statement Coverage là gì?

4 lines
37.

Statement Coverage là gì?

a)

Đo lường % số câu lệnh được thực thi qua test case

b)

Đo hiệu suất phần mềm

c)

Đo số tester

d)

Đo lỗi logic

38.

Branch Coverage là:

a)

Đảm bảo kiểm thử đủ các nhánh điều kiện

b)

Đo lường tài liệu

c)

Kiểm thử GUI

d)

Kiểm thử trải nghiệm

39.

Cyclomatic Complexity dùng để:

a)

Đo độ phức tạp code, xác định số test case tối thiểu

b)

Đo tài liệu

c)

Đo số bug

d)

Đo hiệu suất

40.

Kiểm thử hộp đen là gì?

a)

Kiểm thử dựa yêu cầu và chức năng, không cần biết cấu trúc bên trong

b)

Tester phải biết lập trình

c)

Chỉ kiểm thử giao diện

d)

Chỉ kiểm tra tài liệu

41.

Phân vùng tương đương (Equivalence Partitioning) là:

a)

Phân chia đầu vào thành nhóm tương đương để kiểm thử đại diện

b)

Đo hiệu năng

c)

Test GUI

d)

Đo số tester

42.

Phân tích giá trị biên (Boundary Value Analysis) kiểm thử:

a)

Giá trị ở ranh giới, gần ranh giới, ngoài ranh giới đầu vào

b)

Chỉ kiểm tra giá trị trung bình

c)

Đo hiệu suất

d)

Không kiểm thử ranh giới

43.

Kỹ thuật bảng quyết định (Decision Table) dùng khi nào?

a)

Khi có nhiều tổ hợp điều kiện và kết quả

b)

Chỉ có 1 điều kiện

c)

Test GUI

d)

Test performance

44.

State Transition Testing kiểm thử:

a)

Các trạng thái hệ thống và chuyển đổi giữa các trạng thái

b)

Đo lỗi bảo mật

c)

Đo hiệu suất

d)

Chỉ kiểm thử giao diện

45.

Test case là gì?

a)

Tập hợp điều kiện tiên quyết, bước thực hiện, kết quả mong đợi để kiểm thử một chức năng

b)

Đo hiệu suất

c)

Kịch bản kiểm thử tự động

d)

Tài liệu quản lý lỗi

46.

Yếu tố nào KHÔNG quyết định chất lượng test case?

a)

Đầy đủ

b)

Rõ ràng

c)

Tốn thời gian

d)

Độc lập

47.

Nguyên tắc viết test case tối ưu là:

a)

Mỗi test case kiểm tra một chức năng riêng biệt, rõ ràng, dễ bảo trì

b)

Viết càng dài càng tốt

c)

Test case phụ thuộc lẫn nhau

d)

Không cần ghi kết quả mong đợi

48.

Test design kiểm thử chức năng đăng nhập nên kiểm tra gì?

a)

Tính hợp lệ username/password, cơ chế khóa tài khoản, thông báo lỗi

b)

Giao diện đẹp

49.

Test design kiểm thử chức năng đăng nhập nên kiểm tra gì?

a)

Tính hợp lệ username/password, cơ chế khóa tài khoản, thông báo lỗi

b)

Giao diện đẹp

c)

Độ bảo mật mạng

d)

Tài liệu hướng dẫn sử dụng

50.

Lỗi phần mềm là gì?

a)

Sự sai lệch giữa kết quả thực tế và mong đợi

b)

Là phần mềm tốt

c)

Đo hiệu suất

d)

Đo code đẹp

51.

Vòng đời lỗi phần mềm gồm trạng thái nào?

a)

New - Assigned - Fixed - Retest - Closed

b)

Tạo mới - Viết code - Xoá

c)

Đánh giá tài liệu

d)

Không có trạng thái

52.

Phân biệt Severity và Priority của lỗi:

a)

Severity là mức độ nghiêm trọng, Priority là mức ưu tiên sửa lỗi

b)

Đều là một

c)

Chỉ dành cho tester

d)

Đo hiệu suất

53.

Thành phần báo cáo lỗi KHÔNG BAO GỒM:

a)

Tiêu đề lỗi

b)

Ảnh chụp màn hình (nếu cần)

c)

Đánh giá marketing

d)

Mô tả lỗi

54.

Test Report cần tạo khi nào?

a)

Sau mỗi chu kỳ kiểm thử quan trọng hoặc trước khi đưa sản phẩm vào triển khai

b)

Sau khi test xong 1 ngày

c)

Khi không còn lỗi

d)

Khi muốn báo cáo

55.

Một công ty phát hiện tỷ lệ bug lặp lại sau khi "fix" vẫn cao. Đâu là giải pháp kiểm thử phù hợp?

a)

Chỉ kiểm thử tính năng mới

b)

Tăng kiểm thử hồi quy và cải thiện quy trình xác nhận lỗi đã fix

c)

Dừng kiểm thử thủ công

d)

Không cần kiểm thử nữa

56.

Khi nhận được phản hồi người dùng về lỗi khó tái hiện trên môi trường sản xuất, bạn nên ưu tiên điều gì?

a)

Gửi lỗi cho nhóm dev mà không điều tra

b)

Thu thập log, chi tiết bước tái hiện, điều kiện môi trường và trao đổi với dev

c)

Tự sửa lỗi

d)

Đợi lần sau test lại

57.

Một tester khi test một hệ thống ngân hàng phát hiện giao dịch chuyển khoản thành công nhưng số dư không bị trừ. Đây là loại lỗi gì?

a)

Lỗi giao diện

b)

Lỗi nghiệp vụ (logic)

c)

Lỗi hiệu suất

d)

Lỗi bảo mật

58.

Khi thực hiện kiểm thử hiệu năng một trang web bán hàng vào dịp Tết, chỉ số nào sau đây nên ưu tiên theo dõi?

a)

Số lượng bug đã fix

b)

Thời gian phản hồi, tỉ lệ request thành công, CPU, RAM, bandwidth

c)

Số lượng tester tham gia

d)

Tên người mua hàng

59.

Khi kiểm thử đăng nhập hệ thống, trường hợp nào sau đây nên kiểm thử để tăng tính an toàn bảo mật?

a)

Nhập đúng username, password

b)

Nhập script độc hại vào trường username/password để kiểm tra tấn công SQL Injection

c)

Đăng nhập từ 1 thiết bị duy nhất

d)

Đăng nhập lúc nửa đêm

60.

Nếu trong một sprint Agile, team dev liên tục thay đổi yêu cầu, tester cần làm gì để đảm bảo test case luôn đúng?

a)

Không cập nhật test case

b)

Cập nhật test case ngay khi có thay đổi, phối hợp chặt chẽ với dev và PO

c)

Đợi đến cuối sprint mới cập nhật

d)

Không cần test case

61.

Một khách hàng phàn nàn tốc độ tải trang web quá chậm vào giờ cao điểm. Bạn nên đề xuất kiểm thử nào?

a)

Kiểm thử thủ công tính năng đăng nhập

b)

Load testing và Stress testing vào các khung giờ cao điểm

c)

Chỉ kiểm thử bảo mật

d)

Test tính năng trên máy dev

62.

Khi test chức năng chuyển tiền trên app banking, trường hợp nào là kiểm thử giá trị biên?

a)

Chuyển số tiền tối thiểu được phép, chuyển số tiền tối đa được phép

b)

Chuyển số tiền trung bình

c)

Chuyển số tiền ngẫu nhiên

d)

Chuyển cho người nhận bất kỳ

63.

Đối với một hệ thống cần đảm bảo tính toàn vẹn dữ liệu khi mất điện đột ngột, loại kiểm thử nào là phù hợp?

a)

Recovery Testing

b)

Usability Testing

c)

A/B Testing

d)

GUI Testing

64.

Một dự án yêu cầu bảo mật cao, khi test chức năng đổi mật khẩu, trường hợp nào sau đây cần kiểm thử thêm?

a)

Cho phép mật khẩu đơn giản

b)

Không kiểm tra session

c)

Kiểm thử timeout, kiểm tra gửi OTP, kiểm tra thay đổi ở nhiều session cùng lúc

d)

Chỉ kiểm tra trường hợp đúng

65.

Bạn là tester chính cho ứng dụng quản lý nhà hàng. Khi test chức năng đặt bàn, test case nào sau đây là hợp lý nhất cho "test case âm"?

a)

Đặt bàn cho thời gian đã qua

b)

Đặt bàn giờ cao điểm

c)

Đặt bàn đúng giờ

d)

Đặt bàn cho khách VIP

66.

Trong quy trình báo lỗi, thông tin nào sau đây KHÔNG cần thiết phải có?

a)

Bước tái hiện lỗi

b)

Thông tin môi trường kiểm thử

c)

Tên bạn gái tester

d)

Ảnh màn hình lỗi (nếu có)

67.

Trong quy trình báo lỗi, thông tin nào sau đây KHÔNG cần thiết phải có?

a)

Bước tái hiện lỗi

b)

Thông tin môi trường kiểm thử

c)

Tên bạn gái tester

d)

Ảnh màn hình lỗi (nếu có)

68.

Hệ thống e-commerce phát sinh lỗi khi cùng lúc nhiều người cùng đặt hàng một sản phẩm còn 1 chiếc, cách kiểm thử nào hợp lý nhất?

a)

Kiểm thử cạnh tranh (Concurrency Testing)

b)

Usability Testing

c)

A/B Testing

d)

Documentation Testing

69.

Khi phát triển một app giao đồ ăn, câu nào sau đây là functional test?

a)

Đặt món thành công khi đủ tiền

b)

Ứng dụng tải trang dưới 2 giây

c)

Độ ổn định server khi có 5000 user

d)

Tỷ lệ click vào banner quảng cáo

70.

Trong thực tế, khi test ứng dụng có quy trình nhiều bước liên tục (checkout, nhập thông tin, xác nhận, thanh toán), kiểm thử nào nên ưu tiên tự động hóa?

a)

Các bước lặp đi lặp lại, hồi quy, quy trình checkout chuẩn

b)

Chỉ kiểm thử giao diện

c)

Kiểm thử A/B

d)

Kiểm thử bảo mật

71.

Cho đoạn mã sau: if (a > 0): print("A") print("B") Số test case tối thiểu cần để đảm bảo statement coverage là:

a)

1

b)

2

c)

3

d)

4

72.

Cho đoạn mã: if (x > 10): print("A") else: print("B") Để đảm bảo branch coverage, cần tối thiểu bao nhiêu test case?

a)

1

b)

2

c)

3

d)

4

73.

Cho đoạn code: if (y % 2 == 0): print("Even") print("End") Để đảm bảo statement coverage, cần tối thiểu bao nhiêu test case?

a)

1

b)

2

c)

3

d)

0

74.

Cho đoạn code: if (a > 5 and b > 5): print("Big") Để đảm bảo condition coverage, cần tối thiểu bao nhiêu test case?

a)

2

b)

3

c)

4

d)

1

75.

Cho code: if (a > 0): print("Positive") else: print("Non-positive") print("Done") Số test case tối thiểu để đảm bảo branch coverage là:

a)

1

b)

2

c)

3

d)

4

76.

Cho hàm: def check(n): if n > 0: print("A") if n % 2 == 0: print("B") Số test case tối thiểu để đảm bảo statement coverage?

a)

1

b)

2

c)

3

d)

4

77.

Cho đoạn code: if (a > 0 or b > 0): print("OK") Để đảm bảo condition coverage, cần tối thiểu bao nhiêu test case?

a)

2

b)

3

c)

4

d)

1

78.

Đoạn code: if x > 5: if y > 5: print("A") else: print("B") else: print("C") Cyclomatic Complexity của đoạn code trên là:

a)

2

b)

3

c)

4

d)

5

79.

Cyclomatic Complexity của đoạn code trên là:

a)

2

b)

3

c)

4

d)

5

80.

Số test case tối thiểu để đảm bảo decision coverage là:

a)

2

b)

3

c)

1

d)

4

81.

Số test case tối thiểu để đảm bảo condition coverage là:

a)

2

b)

3

c)

4

d)

1

82.

Để bao phủ nhánh (branch coverage), cần tối thiểu bao nhiêu test case?

a)

1

b)

2

c)

3

d)

4

83.

Test case nào dưới đây đảm bảo bao phủ đầy đủ câu lệnh (statement coverage)?

a)

n = 4

b)

n = 5

c)

n = 4 và n = 5

d)

Không cần test

84.

Số đường đi độc lập (Cyclomatic Complexity) của hàm trên là:

a)

2

b)

3

c)

4

d)

5

85.

Để đảm bảo bao phủ điều kiện (condition coverage), tổ hợp giá trị (a, b) nào sau đây là KHÔNG ĐỦ?

a)

(1, 1), (0, 1), (1, 0), (0, 0)

b)

(1, 1), (0, 0)

c)

(1, 0), (0, 1), (0, 0)

d)

(1, 1), (1, 0), (0, 1)

86.

Đâu là bộ test case theo Boundary Value Analysis?

a)

age = 17, 18, 60, 61

b)

age = 18, 60

c)

age = 17, 61

d)

age = 20, 40, 59

87.

Số test case tối thiểu đảm bảo statement coverage là:

a)

1

b)

2

c)

3

d)

4

88.

Để bao phủ tất cả các nhánh, bộ test case phù hợp là:

a)

a=1, b=2 và a=3, b=3

b)

a=2, b=1 và a=3, b=3

c)

a=2, b=1; a=3, b=3; a=1, b=2

d)

a=2, b=2

89.

Bộ giá trị biên theo kỹ thuật kiểm thử biên là:

a)

9_999_999; 10_000_000; 500_000_000; 500_000_001

b)

10_000_000; 20_000_000; 300_000_000

c)

9_000_000; 100_000_000

d)

10_000_000; 500_000_000

90.

Số test case tối thiểu cần để bao phủ đầy đủ các nhánh là:

a)

2

b)

3

c)

4

d)

5

91.

Số test case tối thiểu để đảm bảo condition coverage?

a)

1

b)

2

c)

3

d)

4