wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

ÔN TRẮC NGHIỆM KIỂM THỬ PHẦN MỀM

Total questions: 84

Worksheet time: 42mins

Name
Class
Date
1.

Lệnh nào sau đây dùng để thiết lập giá trị trả về của một đối tượng giả lập

a)

onInvokeReturn()

b)

returnValue()

c)

return WhenCalled()

d)

when().thenReturn()

2.

JUnit chủ yếu được sử dụng để làm gì?

a)

Unit Test

b)

Debug

c)

Tích hợp liên tục

d)

Thiết kế test case

3.

Làm thế nào có thể mong đợi một ngoại lệ cụ thể được đưa ra trong 1 test case JUnit?

a)

Sử dụng annotation @ExpectException

b)

Sử dụng try-catch

c)

Sử dụng phương thức ExpectException trên đối tượng test

d)

Sử dụng phương thức assertThrows()

4.

Annotation nào được sử dụng để chỉ ra một phương thức là phương thức test trong JUnit

a)

@Testing

b)

@Testify

c)

@TestCase

d)

@Test

5.

Hàm so khớp Hamcrest nào giống toán tử &&

a)

all

b)

and

c)

C.any Of

d)

D.allof

6.

Việc thực hiện các test case chức năng là một phần của

a)

Quá trình xác minh (verification)

b)

Quá trình báo cáo kết quả test

c)

Quá trình thiết kế cấp cao

d)

Quá trình xác nhận (validation)

7.

Test case Selenium IDE có ba cột: command, target và value. Cột Target lưu trữ dữ liệu gì?

a)

Phần từ hoặc vị trí nơi lệnh được thực thi

b)

Bước tiếp theo

c)

Kết quả thực hiện của 1 bước test

d)

Mục đích của 1 bước test

8.

Hàm verify() của Mockito dùng để làm gì?

a)

So sánh kết quả thực tế với kết quả mong đợi

b)

Tạo đối tượng giả lập bán phần

c)

Tạo đối tượng giả lập toàn phần

d)

Xác minh 1 phương thức có được gọi hay không

9.

Giả sử đối tượng giả lập objA có 1 phương thức f() không được gọi phương thức f(). Lệnh nào sau đây dùng để xác định phương thức f() có được gọi hay không?

a)

assert(objA,never()).f()

b)

verifyNolnteractions(objA)

c)

verifyNever(objA);

d)

assertNever(objA).f()

10.

Phát biểu nào phù hợp nhất cho kết quả mong đợi (expected result)

a)

Chỉ được sử dụng trong test component

b)

Tốt nhất là giá trị khi thực thi chương trình

c)

Hữu ích nhất khi được xác định trước

d)

Chỉ quan trọng trong test hệ thống

11.

Câu 11: Phát biểu nào sau đây đúng với Unit test

a)

Đó là việc xác nhận các thành phần đơn vị, được thực hiện bởi developer trong môi trường test

b)

Đó là việc xác nhận các thành phần đơn vị, được thực hiện bởi tester trong môi trường test

c)

Đó là việc xác nhận các thành phần đơn vị, được thực hiện bởi developer trong môi trường phát triển

d)

Đó là xác nhận giao diện (interface) giữa các thành phần đơn vị

12.

Câu 12: Phát biểu nào sau đây sai về test tĩnh

a)

Test tĩnh có thể đưa ra các phép đo như độ phức tạp chu trình

b)

Test tĩnh yêu cầu phải chạy code

c)

Là quá trình review một tài liệu như test plan

d)

Là quá trình review source code

13.

Câu 13: Sự khác biệt giữa lệnh assert và lệnh verify của Selenium IDE là gì?

a)

Lệnh assert không thành công sẽ dừng kiểm tra nhưng lệnh verify không thành công thì vẫn tiếp tục.

b)

Lệnh verify không thành công sẽ dừng kiểm tra nhưng lệnh assert không thành công thì vẫn tiếp tục.

c)

Lệnh verify ít phổ biến hơn các lệnh assert

d)

Lệnh assert ít phổ biến hơn các lệnh verify

14.

Câu 14: Kiểm tra thời gian chờ là

a)

Phụ thuộc vào phần mềm và phần cứng

b)

Phụ thuộc vào phần cứng

c)

Phụ thuộc vào phần mềm

d)

Độc lập với phần mềm và phần cứng

15.

Câu 15: Phát biểu nào sau đây đứng về phương thức then Return() trong Mockito?

a)

Nó được sử dụng để xác minh rằng một phương thức đã được gọi trên một đối tượng giả

b)

Nó được sử dụng để chỉ định giá trị trả về của một lệnh gọi phương thức trên một đối tượng giả

c)

Nó được sử dụng để tạo một đối tượng giả

d)

Nó không phải là một phương thức hợp lệ trong Mockito

16.

Câu 16: Trong test double,đối tượng stub khác với đối tượng mock như thế nào?

a)

Mock mô phỏng kết quả xử lý của một hành động còn stub được sử dụng để xác nhận một hành động có được thực hiện hay không.

b)

Mock là đối tượng giả còn stub là đối tượng thật

c)

Stub mô phỏng kết quả xử lý của một hành động còn mock được sử dụng để xác nhận một hành động có được thực hiện hay không

d)

Stub là đối tượng giả còn mock là đối tượng thật.

17.

Phát biểu nào sau đây đúng về phương thức when() trong Mockito?

a)

Nó được sử dụng để xác minh rằng một phương thức đã được gọi trên một đối tượng giả

b)

Nó được sử dụng để ném một ngoại lệ khi một phương thức được gọi trên một đối tượng giả

c)

Nó được sử dụng để chỉ định hành vi của một lệnh gọi phương thức trên một đối tượng giả

d)

Nó được sử dụng để tạo một đối tượng giả

18.

Phát biểu nào sau đây phù hợp cho khái niệm độ bao phủ

a)

Chỉ áp dụng cho unit test, không áp dụng cho system test

b)

Là thước đo một phần của tính kỹ lưỡng của bài kiểm tra

c)

Độ bao phủ nhánh là bắt buộc đối với tất cả các phần mềm

d)

Khi nào đạt được độ bao phủ 100% thì việc kiểm thử hoàn thành

19.

Phát biểu nào sau đây đúng về phương thức never() của Mockito?

a)

Nó được sử dụng để xác minh rằng một phương thức đã được gọi trên một đối tượng giả

b)

Nó được sử dụng để tạo một đối tượng già

c)

Nó được sử dụng để xác minh rằng một phương thức không được gọi trên một đối tượng giả

d)

Nó được sử dụng để chỉ định hành vi của một lệnh gọi phương thức trên một đối tượng giả

20.

Hàm nào sau đây được sử dụng để tạo một phần mô phỏng với Mockito

a)

spy()

b)

partialMock()

c)

halfMock()

d)

mockPartial()

21.

Cách nào sau đây dùng để tạo mới 1 đối tượng giả lập bằng Mockito

a)

mock()

b)

createMock()

c)

new Mock()

d)

new Mock()

22.

Chọn phát biểu đúng cho Smoke testing

a)

Nó được thực hiện sau khi quá trình test hệ thống kết thúc

b)

Nó là sự thay thế cho test hồi quy

c)

Nó là sự thay thế cho test chấp nhận

d)

Nó được thực hiện để đảm bảo hệ thống đã sẵn sàng trải qua quá trình kiểm tra chuyên sâu và nghiêm ngặt hơn

23.

Điều quan trọng nhất về thiết kế kiểm thử sớm là:

a)

Không cần kiểm duyệt.

b)

Sẽ tìm thấy tất cả các lỗi.

c)

Làm cho việc chuẩn bị kiểm thử dễ dàng hơn.

d)

Có thể ngăn chặn lỗi gia tăng.

24.

Mục đích của annotation @DisplayName trong JUnit là gì?

a)

Để chỉ định tên của test suite.

b)

Đổi tên phương pháp thử trong thời gian chạy.

c)

Đặt tên hiển thị tùy chỉnh cho phương pháp thử nghiệm.

d)

Hiển thị tên người chạy thử.

25.

Củ pháp đúng để truy cập giá trị của biến x trong Selenium IDE là gì?

a)

(x)

b)

x

c)

Sx

d)

D.S(x)

26.

Loại test nào được thực hiện để kiểm tra xem giao diện người dùng có dễ sử dụng không

a)

White Box Testing

b)

Usability Testing

c)

Security Testing

d)

Unit Testing

27.

Nguồn nào sau đây là nguồn tốt nhất về "Kết quả mong đợi" cho các test case "Kiếm thử chấp nhận" của người dùng

a)

Đặc tả chương trình

b)

Đặc tả hệ thống

c)

Yêu cầu của người dùng

d)

Kết quả thực tế

28.

Hàm assertTrue("message",A) làm gì?

a)

Khẳng định rằng điều kiện A là đúng

b)

Khẳng định rằng A chứa "message"

c)

Khẳng định rằng điều kiện A là sai

d)

Khẳng định rằng "message"-A

29.

Phát biểu nào sau đây phù hợp nhất về kiểm thử

a)

Mục tiêu mục đích của kiểm thử là để chứng minh rằng chương trình hoạt động.

b)

Mục đích của kiểm thử là để chứng minh rằng chương trình không có lỗi.

c)

Mục đích của kiểm thử là để chứng minh rằng chương trình được thực hiện đúng phương pháp

d)

Kiểm thử là thực thi phần mềm nhằm mục đích tìm ra những khuyết điểm của phần mềm

30.

Phủ lệnh và phủ nhánh có nghĩa là

a)

Mỗi dòng lệnh đều được test

b)

Mọi câu lệnh và mọi nhánh đều được kiểm

c)

Tất cả các câu lệnh if đều được kiểm

d)

Đã kiểm tra mọi tổ hợp giá trị của câu lệnh IF trong chương trình

31.

Câu 34: Làm cách nào để đánh giá thời gian chạy của một phương thức trong JUnit?

a)

Sử dụng phương thức assertTimeout

b)

Sử dụng annotation @Speed

c)

Sử dụng phương thức assert Speed

d)

Sử dụng phương thức Timeout

32.

Câu 35: Cái nào sau đây là một CSS locator tương đương với Xpath //div[@id='example']

a)

css div.example

b)

css-div#example

c)

css-div@example

d)

css-div example

33.

Câu 36: Trường hợp nào sẽ là trường hợp kiểm thử chức năng cho hệ thống đặt chỗ trực tuyến?

a)

Kiểm tra cách hệ thống hoạt động khi số lượng lớn người dùng đang truy cập trang web

b)

Kiểm tra xem người dùng có thể đặt vé từ Mumbai đến Goa không

c)

Đo thời gian đáp ứng của hệ thống

d)

Đảm bảo người già cũng có thể sử dụng dễ dàng

34.

Câu 37: Phát biểu nào sau đây đúng về các hoạt động "verification" trong kiểm thử

a)

Kiểm tra xem chúng ta đang xây dựng hệ thống có đúng không

b)

Kiểm tra xem chúng ta có đang xây dựng đúng hệ thống không

c)

Được thực hiện bởi một nhóm kiểm thử độc lập

d)

Đảm bảo rằng đó là điều người dùng thực sự muốn

35.

Câu 38: Một kỹ thuật kiểm thử phổ biến trong quá trình Unit test là

a)

Kiểm tra độ phủ lệnh và phủ nhánh

b)

Đánh giá năng suất

c)

Kiểm tra tính khả dụng

d)

Kiểm tra tính bảo mật

36.

Câu 39: Annotation nào xác định 1 phương thức test có tham số?

a)

@ParameterizedTest

b)

@DataDriven Test

c)

@Parameters

d)

@TestWithParams

37.

Câu 40: Phát biểu nào sau đây đúng về quá trình xây dựng phần mềm theo hướng tiếp cận TDD.

a)

Trải qua 3 giai đoạn: test, code, retest

b)

Trải qua 2 giai đoạn: test trước, code sau

c)

Trải qua 3 giai đoạn: red, green, refactor

d)

Phải thực hiện việc test 2 lần để có ít bug

38.

Câu 41: Phát biểu nào sau đây không phải là một trong những nguyên tắc của kiểm thử

a)

Lỗi thường phân bố tập trung

b)

Kiểm thử càng sớm càng tốt

c)

Kiểm thử phải đạt được 100% độ bao phủ

d)

Nghịch l

39.

Phát biểu nào sau đây không phải là một trong những nguyên tắc của kiểm thử

a)

Lỗi thường phân bố tập trung

b)

Kiểm thử càng sớm càng tốt

c)

Kiểm thử phải đạt được 100% độ bao phủ

d)

Nghịch lý thuốc trừ sâu

40.

Trong test double, đối tượng dummy khác với đối tượng fake như thế nào?

a)

Dummy là đối tượng giả lập, fake là một đối tượng thật nhưng giả đối tượng khác

b)

Hai đối tượng này không khác nhau

c)

Fake là đối tượng giả lập, dummy là một đối tượng thật nhưng giả đối tượng khác

d)

Fake là giả hành vi, dummy là giả kết quả

41.

Trình tự đúng của các giai đoạn kiểm thử phần mềm là:

a)

Đơn vị -> Tích hợp -> Hệ thống -> Chấp nhận.

b)

Hệ thống - Đơn vị - Tích hợp Chấp nhận

c)

Tích hợp -> Chấp nhận -> Đơn vị -> Hệ thống

d)

Đơn vị - Tích hợp -> Chấp nhận - Hệ thống

42.

Kiểm thử được thực hiện đầy đủ khi

a)

Đạt độ tin cậy cần thiết được thiết lập trong test plan.

b)

Người dùng hài lòng.

c)

Hết thời gian.

d)

Không tìm thấy lỗi nào nữa

43.

Làm thế nào để chỉ định một phương thức kiểm thử cụ thể sẽ bị bỏ qua trong quá trình thực thi

a)

@Skip

b)

@Ignore Test

c)

@Disabled

d)

@Avoid

44.

Phát biểu nào sau đây là đúng về phương thức times() trong Mockito?

a)

Nó được sử dụng để xác minh rằng một phương thức đã được gọi hay chưa trên một đối tượng giả

b)

Nó được sử dụng để chỉ định hành vi của một lệnh gọi phương thức trên một đối tượng giả

c)

Nó được sử dụng để đối tượng giả thực hiện một hành vi nào đó nhiều lần

d)

Nó được sử dụng để đưa ra một ngoại lệ khi một phương thức được gọi trên một đối tượng giả

45.

Phát biểu nào sau đây là đúng về Test-driven development (TDD)?

a)

Tester tham gia code

b)

TDD không yêu cầu unit test

c)

Code trước test sau

d)

Test case được viết trước khi code

46.

Điều nào sau đây là đúng về @Spy trong Mockito?

a)

Nó được sử dụng để tạo đối tượng giả một phần

b)

Nó được sử dụng để xác minh rằng một phương thức đã được gọi trên một đối tượng giả

c)

Nó được sử dụng để đưa các phụ thuộc vào một lớp kiểm tra

d)

Nó được sử dụng để tạo một đối tượng giả

47.

Phương thức nào sau đây được sử dụng để xác minh rằng một phương thức trên một mock object đã được gọi một số lần cụ thể?

a)

verify()

b)

when()

c)

doReturn()

d)

spy()

48.

Phát biểu nào sau đây là đúng về phương thức doThrow() trong Mockito?

a)

Nó được sử dụng để xác minh rằng một phương thức đã được gọi hay chưa trên một đối tượng giả

b)

Nó được sử dụng để mô phỏng một phương thức ném ra ngoại lệ

c)

Nó được sử dụng để thực hiện một hành động nào đó khi một phương thức được gọi

d)

Nó được sử dụng để tạo một đối tượng giả

49.

Phát biểu nào sau đây là đúng về @Mock trong Mockito?

a)

Nó được sử dụng để tạo một đối tượng giả

b)

Nó được sử dụng để xác minh rằng một phương thức đã được gọi trên một đối tượng giả

c)

Nó được sử dụng để đưa các phụ thuộc vào một lớp kiểm tra

d)

Nó được sử dụng để tạo một đối tượng giả một phần

50.

Phát biểu nào sau đây là đúng về @InjectMocks trong Mockito?

a)

Nó được sử dụng để tạo một đối tượng giả

b)

Nó được sử dụng để xác minh rằng một phương thức đã được gọi trên một đối tượng giả

c)

Nó được sử dụng để tự động chèn các mock vào một đối tượng thật

d)

Nó được sử dụng để tạo một đối tượng giả một phần

51.

Phương thức nào sau đây được sử dụng để mô phỏng hành vi của một phương thức trên một mock object trong Mockito?

a)

verify()

b)

when()

c)

spy()

d)

times()

52.

Trong Mockito, phương thức nào sau đây được sử dụng để xác minh rằng một phương thức không bao giờ được gọi trên một mock object?

a)

never()

b)

verify()

c)

when()

d)

atMost()

53.

Trong quá trình kiểm thử, loại lỗi nào thường được phát hiện bằng Unit Test?

a)

Lỗi giao diện người dùng

b)

Lỗi logic trong phương thức hoặc hàm

c)

Lỗi hiệu suất hệ thống

d)

Lỗi cấu hình mạng.

54.

Trong quá trình kiểm thử, loại lỗi nào thường được phát hiện bằng Unit Test?

a)

Lỗi giao diện người dùng

b)

Lỗi logic trong phương thức hoặc hàm

c)

Lỗi hiệu suất hệ thống

d)

Lỗi cấu hình mạng.

55.

Mục đích chính của kiểm thử đơn vị (Unit Test) là gì?

a)

Kiểm thử toàn bộ hệ thống để đảm bảo hoạt động trơn tru

b)

Kiểm thử các module riêng lẻ để đảm bảo chúng hoạt động đúng như mong đợi

c)

Kiểm thử tích hợp giữa các module khác nhau

d)

Kiểm thử giao diện người dùng

56.

Trong Mockito, phương thức nào sau đây được sử dụng để mô phỏng hành vi của một phương thức mà không cần gọi phương thức thực tế?

a)

doReturn()

b)

when()

c)

verify()

d)

spy()

57.

Trong kiểm thử phần mềm, "test coverage" đề cập đến điều gì?

a)

Tỷ lệ các chức năng của hệ thống đã được kiểm thử

b)

Số lượng tester tham gia kiểm thử

c)

Tỷ lệ lỗi tìm thấy trong quá trình kiểm thử

d)

Thời gian cần thiết để kiểm thử một phần mềm

58.

Trong Mockito, phương thức nào sau đây được sử dụng để xác minh rằng một phương thức đã được gọi ít nhất một lần trên một mock object?

a)

atLeastOnce()

b)

never()

c)

times()

d)

when()

59.

Kiểm thử nào sau đây thường được thực hiện đầu tiên trong vòng đời phát triển phần mềm?

a)

Kiểm thử đơn vị (Unit Test)

b)

Kiểm thử hệ thống (System Test)

c)

Kiểm thử chấp nhận (Acceptance Test)

d)

Kiểm thử tích hợp (Integration Test)

60.

Trong TDD (Test-Driven Development), bước nào được thực hiện đầu tiên?

a)

Viết test case

b)

Viết code triển khai

c)

Chạy phần mềm để tìm lỗi

d)

Tối ưu hóa code

61.

Phương thức atMostOnce() trong Mockito có ý nghĩa gì?

a)

Xác minh rằng một phương thức đã được gọi nhiều nhất một lần

b)

Xác minh rằng một phương thức đã được gọi ít nhất một lần

c)

Mô phỏng hành vi của một phương thức

d)

Chặn một phương thức không cho thực thi

62.

Trong kiểm thử phần mềm, "mocking" có nghĩa là gì?

a)

Tạo ra các đối tượng giả để mô phỏng hành vi của các thành phần thực

b)

Viết mã để thực thi kiểm thử tự động

c)

Kiểm thử hệ thống trên môi trường thật

d)

Kiểm thử hiệu suất phần mềm

63.

n mềm, "mocking" có nghĩa là gì?

a)

Tạo ra các đối tượng giả để mô phỏng hành vi của các thành phần thực

b)

Viết mã để thực thi kiểm thử tự động

c)

Kiểm thử hệ thống trên môi trường thật

d)

Kiểm thử hiệu suất phần mềm

64.

Trong JUnit, annotation nào sau đây được sử dụng để chạy một phương thức trước mỗi test case?

a)

@BeforeEach

b)

@BeforeAll

c)

@Test

d)

@AfterEach

65.

Trong Mockito, phương thức doThrow() được sử dụng để làm gì?

a)

Mô phỏng việc ném ra một exception khi một phương thức cụ thể được gọi

b)

Kiểm tra xem một phương thức có được gọi hay không

c)

Xác minh số lần một phương thức đã được gọi

d)

Tạo một mock object mới

66.

Loại kiểm thử nào giúp xác minh rằng một thay đổi mới trong code không phá vỡ các chức năng hiện có?

a)

Regression Testing

b)

Unit Testing

c)

Integration Testing

d)

Performance Testing

67.

Trong Mockito, phương thức nào sau đây dùng để mô phỏng giá trị trả về của một phương thức trên mock object?

a)

when()

b)

verify()

c)

spy()

d)

never()

68.

JUnit 5 có annotation nào để chạy một phương thức trước tất cả các test case?

a)

@BeforeAll

b)

@BeforeEach

c)

@Test

d)

@AfterAll

69.

Trong kiểm thử đơn vị, "stub" là gì?

a)

Một đối tượng giả trả về giá trị cố định khi được gọi

b)

Một loại kiểm thử hiệu suất

c)

Một phần mềm trung gian để ghi lại các cuộc gọi API

d)

Một lỗi phần mềm

70.

Annotation nào trong JUnit được dùng để chạy một phương thức sau mỗi test case?

a)

@AfterEach

b)

@BeforeEach

c)

@Test

d)

@AfterAll

71.

Phương thức nào trong Mockito dùng để kiểm tra xem một phương thức có được gọi đúng số lần mong muốn hay không?

a)

verify()

b)

when()

c)

doThrow()

d)

spy()

72.

Trong JUnit, annotation nào được sử dụng để chạy một phương thức sau tất cả các test case?

a)

@AfterAll

b)

@AfterEach

c)

@BeforeAll

d)

@Test

73.

Trong Mockito, phương thức nào giúp theo dõi một object thực thay vì tạo mock?

a)

spy()

b)

mock()

c)

when()

d)

verify()

74.

Loại kiểm thử nào giúp kiểm tra các thành phần riêng lẻ của một ứng dụng?

a)

Unit Testing

b)

Integration Testing

c)

Regression Testing

d)

Load Testing

75.

Annotation nào trong JUnit giúp chỉ định thứ tự chạy của các test case?

a)

@Order

b)

@TestMethodOrder

c)

@RunWith

d)

@BeforeAll

76.

Trong kiểm thử, Test Double là gì?

a)

Một kỹ thuật sử dụng các object giả lập để kiểm thử

b)

Một loại kiểm thử hiệu suất

c)

Một framework kiểm thử tự động

d)

Một loại kiểm thử giao diện người dùng

77.

Trong JUnit, annotation nào giúp chỉ định một test case chạy với một bộ dữ liệu cụ thể?

a)

@Test

b)

@BeforeEach

c)

@AfterEach

d)

@ParameterizedTest

78.

Trong Mockito, phương thức nào giúp kiểm tra xem một phương thức không được gọi?

a)

verify(mock, never())

b)

when()

c)

doThrow()

d)

spy()

79.

Loại kiểm thử nào giúp xác minh rằng các module riêng lẻ hoạt động cùng nhau đúng cách?

a)

Regression Testing

b)

Unit Testing

c)

Integration Testing

d)

Load Testing

80.

Trong Mockito, phương thức nào dùng để mô phỏng việc ném ngoại lệ khi một phương thức được gọi?

a)

doThrow()

b)

when()

c)

verify()

d)

spy()

81.

Loại kiểm thử nào được thực hiện để kiểm tra hiệu suất hệ thống dưới tải nặng?

a)

Load Testing

b)

Unit Testing

c)

Integration Testing

d)

Regression Testing

82.

Phương thức nào trong Mockito giúp kiểm tra nếu một phương thức đã được gọi với một tham số cụ thể?

a)

verify(mock).method(param)

b)

when()

c)

doThrow()

d)

spy()

83.

Loại kiểm thử nào giúp xác minh hệ thống vẫn hoạt động sau khi sửa lỗi hoặc cập nhật?

a)

Unit Testing

b)

Regression Testing

c)

Load Testing

d)

Integration Testing

84.

Loại kiểm thử nào đảm bảo rằng hệ thống có thể xử lý nhiều yêu cầu đồng thời?

a)

Stress Testing

b)

Unit Testing

c)

Integration Testing

d)

Regression Testing