WorksheetsÔN TRẮC NGHIỆM KIỂM THỬ PHẦN MỀM
Total questions: 84
Worksheet time: 42mins
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
onInvokeReturn()
returnValue()
return WhenCalled()
when().thenReturn()
JUnit chủ yếu được sử dụng để làm gì?
Unit Test
Debug
Tích hợp liên tục
Thiết kế test case
Làm thế nào có thể mong đợi một ngoại lệ cụ thể được đưa ra trong 1 test case JUnit?
Sử dụng annotation @ExpectException
Sử dụng try-catch
Sử dụng phương thức ExpectException trên đối tượng test
Sử dụng phương thức assertThrows()
Annotation nào được sử dụng để chỉ ra một phương thức là phương thức test trong JUnit
@Testing
@Testify
@TestCase
@Test
Hàm so khớp Hamcrest nào giống toán tử &&
all
and
C.any Of
D.allof
Việc thực hiện các test case chức năng là một phần của
Quá trình xác minh (verification)
Quá trình báo cáo kết quả test
Quá trình thiết kế cấp cao
Quá trình xác nhận (validation)
Test case Selenium IDE có ba cột: command, target và value. Cột Target lưu trữ dữ liệu gì?
Phần từ hoặc vị trí nơi lệnh được thực thi
Bước tiếp theo
Kết quả thực hiện của 1 bước test
Mục đích của 1 bước test
Hàm verify() của Mockito dùng để làm gì?
So sánh kết quả thực tế với kết quả mong đợi
Tạo đối tượng giả lập bán phần
Tạo đối tượng giả lập toàn phần
Xác minh 1 phương thức có được gọi hay không
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?
assert(objA,never()).f()
verifyNolnteractions(objA)
verifyNever(objA);
assertNever(objA).f()
Phát biểu nào phù hợp nhất cho kết quả mong đợi (expected result)
Chỉ được sử dụng trong test component
Tốt nhất là giá trị khi thực thi chương trình
Hữu ích nhất khi được xác định trước
Chỉ quan trọng trong test hệ thống
Câu 11: Phát biểu nào sau đây đúng với Unit test
Đó 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
Đó 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
Đó 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
Đó là xác nhận giao diện (interface) giữa các thành phần đơn vị
Câu 12: Phát biểu nào sau đây sai về test tĩnh
Test tĩnh có thể đưa ra các phép đo như độ phức tạp chu trình
Test tĩnh yêu cầu phải chạy code
Là quá trình review một tài liệu như test plan
Là quá trình review source code
Câu 13: Sự khác biệt giữa lệnh assert và lệnh verify của Selenium IDE là gì?
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.
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.
Lệnh verify ít phổ biến hơn các lệnh assert
Lệnh assert ít phổ biến hơn các lệnh verify
Câu 14: Kiểm tra thời gian chờ là
Phụ thuộc vào phần mềm và phần cứng
Phụ thuộc vào phần cứng
Phụ thuộc vào phần mềm
Độc lập với phần mềm và phần cứng
Câu 15: Phát biểu nào sau đây đứng về phương thức then Return() trong Mockito?
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ả
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ả
Nó được sử dụng để tạo một đối tượng giả
Nó không phải là một phương thức hợp lệ trong Mockito
Câu 16: Trong test double,đối tượng stub khác với đối tượng mock như thế nào?
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.
Mock là đối tượng giả còn stub là đối tượng thật
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
Stub là đối tượng giả còn mock là đối tượng thật.
Phát biểu nào sau đây đúng về phương thức when() trong Mockito?
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ả
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ả
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ả
Nó được sử dụng để tạo một đối tượng giả
Phát biểu nào sau đây phù hợp cho khái niệm độ bao phủ
Chỉ áp dụng cho unit test, không áp dụng cho system test
Là thước đo một phần của tính kỹ lưỡng của bài kiểm tra
Độ bao phủ nhánh là bắt buộc đối với tất cả các phần mềm
Khi nào đạt được độ bao phủ 100% thì việc kiểm thử hoàn thành
Phát biểu nào sau đây đúng về phương thức never() của Mockito?
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ả
Nó được sử dụng để tạo một đối tượng già
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ả
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ả
Hàm nào sau đây được sử dụng để tạo một phần mô phỏng với Mockito
spy()
partialMock()
halfMock()
mockPartial()
Cách nào sau đây dùng để tạo mới 1 đối tượng giả lập bằng Mockito
mock()
createMock()
new Mock()
new Mock()
Chọn phát biểu đúng cho Smoke testing
Nó được thực hiện sau khi quá trình test hệ thống kết thúc
Nó là sự thay thế cho test hồi quy
Nó là sự thay thế cho test chấp nhận
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
Điều quan trọng nhất về thiết kế kiểm thử sớm là:
Không cần kiểm duyệt.
Sẽ tìm thấy tất cả các lỗi.
Làm cho việc chuẩn bị kiểm thử dễ dàng hơn.
Có thể ngăn chặn lỗi gia tăng.
Mục đích của annotation @DisplayName trong JUnit là gì?
Để chỉ định tên của test suite.
Đổi tên phương pháp thử trong thời gian chạy.
Đặt tên hiển thị tùy chỉnh cho phương pháp thử nghiệm.
Hiển thị tên người chạy thử.
Củ pháp đúng để truy cập giá trị của biến x trong Selenium IDE là gì?
(x)
x
Sx
D.S(x)
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
White Box Testing
Usability Testing
Security Testing
Unit Testing
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
Đặc tả chương trình
Đặc tả hệ thống
Yêu cầu của người dùng
Kết quả thực tế
Hàm assertTrue("message",A) làm gì?
Khẳng định rằng điều kiện A là đúng
Khẳng định rằng A chứa "message"
Khẳng định rằng điều kiện A là sai
Khẳng định rằng "message"-A
Phát biểu nào sau đây phù hợp nhất về kiểm thử
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.
Mục đích của kiểm thử là để chứng minh rằng chương trình không có lỗi.
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
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
Phủ lệnh và phủ nhánh có nghĩa là
Mỗi dòng lệnh đều được test
Mọi câu lệnh và mọi nhánh đều được kiểm
Tất cả các câu lệnh if đều được kiểm
Đã kiểm tra mọi tổ hợp giá trị của câu lệnh IF trong chương trình
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?
Sử dụng phương thức assertTimeout
Sử dụng annotation @Speed
Sử dụng phương thức assert Speed
Sử dụng phương thức Timeout
Câu 35: Cái nào sau đây là một CSS locator tương đương với Xpath //div[@id='example']
css div.example
css-div#example
css-div@example
css-div example
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?
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
Kiểm tra xem người dùng có thể đặt vé từ Mumbai đến Goa không
Đo thời gian đáp ứng của hệ thống
Đảm bảo người già cũng có thể sử dụng dễ dàng
Câu 37: Phát biểu nào sau đây đúng về các hoạt động "verification" trong kiểm thử
Kiểm tra xem chúng ta đang xây dựng hệ thống có đúng không
Kiểm tra xem chúng ta có đang xây dựng đúng hệ thống không
Được thực hiện bởi một nhóm kiểm thử độc lập
Đảm bảo rằng đó là điều người dùng thực sự muốn
Câu 38: Một kỹ thuật kiểm thử phổ biến trong quá trình Unit test là
Kiểm tra độ phủ lệnh và phủ nhánh
Đánh giá năng suất
Kiểm tra tính khả dụng
Kiểm tra tính bảo mật
Câu 39: Annotation nào xác định 1 phương thức test có tham số?
@ParameterizedTest
@DataDriven Test
@Parameters
@TestWithParams
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.
Trải qua 3 giai đoạn: test, code, retest
Trải qua 2 giai đoạn: test trước, code sau
Trải qua 3 giai đoạn: red, green, refactor
Phải thực hiện việc test 2 lần để có ít bug
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ử
Lỗi thường phân bố tập trung
Kiểm thử càng sớm càng tốt
Kiểm thử phải đạt được 100% độ bao phủ
Nghịch l
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ử
Lỗi thường phân bố tập trung
Kiểm thử càng sớm càng tốt
Kiểm thử phải đạt được 100% độ bao phủ
Nghịch lý thuốc trừ sâu
Trong test double, đối tượng dummy khác với đối tượng fake như thế nào?
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
Hai đối tượng này không khác nhau
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
Fake là giả hành vi, dummy là giả kết quả
Trình tự đúng của các giai đoạn kiểm thử phần mềm là:
Đơn vị -> Tích hợp -> Hệ thống -> Chấp nhận.
Hệ thống - Đơn vị - Tích hợp Chấp nhận
Tích hợp -> Chấp nhận -> Đơn vị -> Hệ thống
Đơn vị - Tích hợp -> Chấp nhận - Hệ thống
Kiểm thử được thực hiện đầy đủ khi
Đạt độ tin cậy cần thiết được thiết lập trong test plan.
Người dùng hài lòng.
Hết thời gian.
Không tìm thấy lỗi nào nữa
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
@Skip
@Ignore Test
@Disabled
@Avoid
Phát biểu nào sau đây là đúng về phương thức times() trong Mockito?
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ả
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ả
Nó được sử dụng để đối tượng giả thực hiện một hành vi nào đó nhiều lần
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ả
Phát biểu nào sau đây là đúng về Test-driven development (TDD)?
Tester tham gia code
TDD không yêu cầu unit test
Code trước test sau
Test case được viết trước khi code
Điều nào sau đây là đúng về @Spy trong Mockito?
Nó được sử dụng để tạo đối tượng giả một phần
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ả
Nó được sử dụng để đưa các phụ thuộc vào một lớp kiểm tra
Nó được sử dụng để tạo một đối tượng giả
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ể?
verify()
when()
doReturn()
spy()
Phát biểu nào sau đây là đúng về phương thức doThrow() trong Mockito?
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ả
Nó được sử dụng để mô phỏng một phương thức ném ra ngoại lệ
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
Nó được sử dụng để tạo một đối tượng giả
Phát biểu nào sau đây là đúng về @Mock trong Mockito?
Nó được sử dụng để tạo một đối tượng giả
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ả
Nó được sử dụng để đưa các phụ thuộc vào một lớp kiểm tra
Nó được sử dụng để tạo một đối tượng giả một phần
Phát biểu nào sau đây là đúng về @InjectMocks trong Mockito?
Nó được sử dụng để tạo một đối tượng giả
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ả
Nó được sử dụng để tự động chèn các mock vào một đối tượng thật
Nó được sử dụng để tạo một đối tượng giả một phần
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?
verify()
when()
spy()
times()
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?
never()
verify()
when()
atMost()
Trong quá trình kiểm thử, loại lỗi nào thường được phát hiện bằng Unit Test?
Lỗi giao diện người dùng
Lỗi logic trong phương thức hoặc hàm
Lỗi hiệu suất hệ thống
Lỗi cấu hình mạng.
Trong quá trình kiểm thử, loại lỗi nào thường được phát hiện bằng Unit Test?
Lỗi giao diện người dùng
Lỗi logic trong phương thức hoặc hàm
Lỗi hiệu suất hệ thống
Lỗi cấu hình mạng.
Mục đích chính của kiểm thử đơn vị (Unit Test) là gì?
Kiểm thử toàn bộ hệ thống để đảm bảo hoạt động trơn tru
Kiểm thử các module riêng lẻ để đảm bảo chúng hoạt động đúng như mong đợi
Kiểm thử tích hợp giữa các module khác nhau
Kiểm thử giao diện người dùng
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ế?
doReturn()
when()
verify()
spy()
Trong kiểm thử phần mềm, "test coverage" đề cập đến điều gì?
Tỷ lệ các chức năng của hệ thống đã được kiểm thử
Số lượng tester tham gia kiểm thử
Tỷ lệ lỗi tìm thấy trong quá trình kiểm thử
Thời gian cần thiết để kiểm thử một phần mềm
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?
atLeastOnce()
never()
times()
when()
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?
Kiểm thử đơn vị (Unit Test)
Kiểm thử hệ thống (System Test)
Kiểm thử chấp nhận (Acceptance Test)
Kiểm thử tích hợp (Integration Test)
Trong TDD (Test-Driven Development), bước nào được thực hiện đầu tiên?
Viết test case
Viết code triển khai
Chạy phần mềm để tìm lỗi
Tối ưu hóa code
Phương thức atMostOnce() trong Mockito có ý nghĩa gì?
Xác minh rằng một phương thức đã được gọi nhiều nhất một lần
Xác minh rằng một phương thức đã được gọi ít nhất một lần
Mô phỏng hành vi của một phương thức
Chặn một phương thức không cho thực thi
Trong kiểm thử phần mềm, "mocking" có nghĩa là gì?
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
Viết mã để thực thi kiểm thử tự động
Kiểm thử hệ thống trên môi trường thật
Kiểm thử hiệu suất phần mềm
n mềm, "mocking" có nghĩa là gì?
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
Viết mã để thực thi kiểm thử tự động
Kiểm thử hệ thống trên môi trường thật
Kiểm thử hiệu suất phần mềm
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?
@BeforeEach
@BeforeAll
@Test
@AfterEach
Trong Mockito, phương thức doThrow() được sử dụng để làm gì?
Mô phỏng việc ném ra một exception khi một phương thức cụ thể được gọi
Kiểm tra xem một phương thức có được gọi hay không
Xác minh số lần một phương thức đã được gọi
Tạo một mock object mới
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ó?
Regression Testing
Unit Testing
Integration Testing
Performance Testing
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?
when()
verify()
spy()
never()
JUnit 5 có annotation nào để chạy một phương thức trước tất cả các test case?
@BeforeAll
@BeforeEach
@Test
@AfterAll
Trong kiểm thử đơn vị, "stub" là gì?
Một đối tượng giả trả về giá trị cố định khi được gọi
Một loại kiểm thử hiệu suất
Một phần mềm trung gian để ghi lại các cuộc gọi API
Một lỗi phần mềm
Annotation nào trong JUnit được dùng để chạy một phương thức sau mỗi test case?
@AfterEach
@BeforeEach
@Test
@AfterAll
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?
verify()
when()
doThrow()
spy()
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?
@AfterAll
@AfterEach
@BeforeAll
@Test
Trong Mockito, phương thức nào giúp theo dõi một object thực thay vì tạo mock?
spy()
mock()
when()
verify()
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?
Unit Testing
Integration Testing
Regression Testing
Load Testing
Annotation nào trong JUnit giúp chỉ định thứ tự chạy của các test case?
@Order
@TestMethodOrder
@RunWith
@BeforeAll
Trong kiểm thử, Test Double là gì?
Một kỹ thuật sử dụng các object giả lập để kiểm thử
Một loại kiểm thử hiệu suất
Một framework kiểm thử tự động
Một loại kiểm thử giao diện người dùng
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ể?
@Test
@BeforeEach
@AfterEach
@ParameterizedTest
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?
verify(mock, never())
when()
doThrow()
spy()
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?
Regression Testing
Unit Testing
Integration Testing
Load Testing
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?
doThrow()
when()
verify()
spy()
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?
Load Testing
Unit Testing
Integration Testing
Regression Testing
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ể?
verify(mock).method(param)
when()
doThrow()
spy()
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?
Unit Testing
Regression Testing
Load Testing
Integration Testing
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?
Stress Testing
Unit Testing
Integration Testing
Regression Testing
