Font size
WorksheetsQuiz về Kiểm thử Phần mềm
Total questions: 67
Worksheet time: 34mins
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()
returnWhenCalled()
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 Unit?
Sử dụng annotation @ExpectExeeption
Sử dụng try-catch
Sử dụng phương thức ExpectExeeption trên đối tượng test
Sử dụng phương thức assertThrows()
Annonation 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 Hamerest nào giống toán tử &&?
all
and
anyOf
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 để 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 một phương thức có được gọi hay không.
Giả sử đối tượng giả lập objA có một phương thức f(). Lệnh nào sau đây dùng để xác định phương thức f() không được gọi.
assert (objA,never()).f()
verifyNoInteractions(objA)
verifyNever(objA)
assertNever(objA).f()
Phát biểu nào phù hợp nhất cho kết quả mọng đợi (expeeted 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.
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ị.
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
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
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 mềm.
Phụ thuộc vào phần cứng.
Độc lập với phần mềm và phần cứng.
Phát biểu nào sau đây đúng về phương thức thenReturn() 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.
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 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ả mock là đối tượng thật.
Phát biểu nào sau đây đúng về mock và stub?
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 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ả 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() 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 để 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ả.
assertThat(1.03, is(closeTo(1.0,0.03))) có kết quả gì?
false
true
error
null
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()
newMock()
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.
Đề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 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 dùng để truy cập giá trị của biến x trong Selenium IDE là gì?
{x}
x
$x
${x}
Phương thức nào được sử dụng trong Junit để kiểm tra xem hai đối tượng có phải cùng một thể hiện (instance) hay không?
assertSameInstance()
assertInstance()
assertThat()
sameInstance()
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.
While Box Testing
Usability Testing
Security Testing
Unit Testing
Ngồ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 đều kiện A là đúng.
Khẳng định rằng A chứa "message".
Khẳng định rằng đều kiện A là sai.
Khẳng định rằng "message" = A
Phát biểu nào sau đây đúng về annotation @Spy trong Mockito?
Nó được sử dụng để tạo một đối tượng giả (mock).
Nó được sử dụng để tạo một đối tượng giả một phần.
Nó được sử dụng để đưa các phần phụ thuộc vào một lớp kiểm tra.
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ả
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à gì?
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.
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 assertSpeed.
Sử dụng phương thức Timeout.
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
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 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.
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.
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.
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.
Annotation nào xác định 1 phương thức test có tham số?
@ParameterizedTest
@DataDrivenTest
@Parameters
@TestWithParams
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.
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 đối vớ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
@IgnoreTest
@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 để 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 để 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 để đối tượng giả thực hiện 1 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)
TDD không yêu cầu unit test
Tester tham gia code
D. Test case được viết trước khi code
Code trước test sau
Tính chất nào sau đây thuộc về chức năng
. Khả năng bảo trì (Maintainability
Tính tương thích (Portability)
Tính khả dụng (Usability)
Tính chính xác (Accuracy)
Điều nào sau đây là đúng về phương thức doThrow() trong Mockito?
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ả
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 để xác minh rằng phương thức được gọi có ném ra 1 ngoại lệ không
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ái nào sau đây không phải là ưu điểm của Mockito framework?
Giúp tạo ra các đối tượng giả lập
Giúp test trong trường hợp thành phần mà nó phụ thuộc vào chưa hoạt động
Giúp test nhanh hơn
Giúp test độc lập
Bạn đang test một hệ thống xác định mức phí vận chuyển cho một nhà phân phối phụ tùng ô tô
dựa trên web trong khu vực. Trọng lượng mà nhỏ hơn hoặc bằng 0 được xem là không hợp lệ. Xác định
có bao nhiêu lớp tương đương cần thiết để test theo bảng giá sau
2
3
4
5
Trong JUnit 5, phương thức nào sau đây dùng để kiểm tra đối tượng là null
void assertChecks(Object object, boolean toCheckAsNull)
void assertCheck(Object object, boolean toCheckAsNull)
void assertNull(Object object)
void checkNull(Object object)
Phân vùng tương đương (còn gọi là lớp tương đương) là gì?
Một dải (range) giá trị đầu vào hoặc đầu ra sao cho chỉ một giá trị trong dải đó trở thành một test case
Tập hợp các test case để test các lớp đối tượng
Một dải (range) đầu vào hoặc đầu ra của các giá trị sao cho mỗi giá trị trong dải trở thành một test case
Một dải (range) giá trị đầu vào hoặc đầu ra sao cho mọi giá trị thứ mười trong dải đều trở thành test case
Các bước cơ bản của quá trình kiểm thử dòng điều khiển là
Tính độ phức tạp của chu trình để xác định loại đồ thị dòng điều khiển, xác định đường thi hành, sinh
test case dựa vào đường thi hành
Sinh đồ thị dòng điều khiển CFG với tiêu chí độ đo cần kiểm thử, sinh các đường thi hành, sinh
Sinh đồ thị các test case từ code với độ đo cần kiểm thử, thực hiện các test case
Sinh đồ thị dòng điều khiển CFG với tiêu chí độ đo cần kiểm thử, sinh các test case, thực hiện các test case
Kỹ thuật nào sau đây là một kỹ thuật kiểm thử hộp trắng
Statement Testing
Boundary Testing
Decision Testing
Condition Coverage
Phát biểu nào sau đây là đúng về phương thức timeout() 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 hành vi của một lệnh gọi phương thức trên một đối tượng gỉả
Nó được sử dụng để thiết lập thời gian để bắt đầu một lệnh gọi phương thức trên một đối tượng giả
Nó được sử dụng để chỉ định thời gian tối đa nên dành để chờ một lệnh gọi phương thức trên một đối tượng giả
Sự khác biệt giữa đối tượng mock và đối tượng dummy trong Mockito là gì?
Một đối tượng giả được tạo bằng cách sử dụng @Mock, trong khi một đối tượng giả được tạo bằng cách
sử dụng @Dummy
Một đối tượng mock được sử dụng để xác minh rằng một phương thức đã được gọi, trong khi một đối tượng dummy thì không
Đối tượng mock mô phỏng hành vi của đối tượng thực, trong khi đối tượng dummy thì không
Không có sự khác biệt giữa đối tượng mock và đối tượng dummy trong Mockito
Trong JUnit 5, phương thức nào sau đây dùng để kiểm tra 2 đối tượng có giống nhau không
assertEqual
assertCheck
assertObject
assertSame
Mục đích của phương thức verify() trong Mockito là gì?
Để khẳng định rằng một giá trị bằng một giá trị nhất định
Để tạo một đối tượng giả
Đưa các phụ thuộc vào một lớp kiểm tra
Để xác minh rằng một phương thức đã được gọi trên một đối tượng giả
Phương pháp nào sau đây không phải là 1 phương pháp test gia tăng (incremental testing)?
Sandwich
Bottom up
Big-bang
Top down
Phát biểu nào sau đây là phù hợp nhất cho hoạt động “review”?
Review nên được thực hiện dựa vào đặc tả, code và test plan
Review là cách test code kém hiệu quả nhất
Review không có khả năng tìm thấy lỗi trong test plan
Review không thể được thực hiện dựa vào các đặc tả yêu cầu của người dùng
Độ phức tạp chu trình của đoạn mã giả sau là bao nhiêu?
IF X<Y THEN
Statement 1;
ENDIF
IF Y>=Z THEN
Statement 2;
ENDIF
2
3
4
5
Trong JUnit 5, Annotation nào được sử dụng để tự động đưa các field giả lập vào đối tượng test
kiểm tra?
@Mock
@Inject
@InjectMocks
@InjectMockObject
Những hoạt động nào tạo thành một phần của test plan?
i) Phát triển các test case
ii) Xác định các phương hướng test (test approach)
iii) Phân công tài nguyên
iv) Xây dựng môi trường test
iv là đúng, i, ii & iii là sai
i, ii & iii là đúng, iv là sai
i, ii & iv là đúng, iii là sai
. ii & iii là đúng, i & iv là sai
Trong Mockito, để giả lập hàm check() của đối tượng mock có tên là sut có giá trị trả về là true
when(sut.check()).thenReturn(true);
when(sut.check()) then return(true);
when(sut).check().thenReturn(true);
when(sut.check()) thenReturn(true);
