Trắc nghiệm Bài 30: Kiểm thử và gỡ lỗi chương trình có đáp án
-
481 lượt thi
-
15 câu hỏi
-
30 phút
Danh sách câu hỏi
Câu 1:
Hoàn thành phát biểu sau: “Có rất nhiều công cụ và phương pháp khác nhau để kiểm thử chương trình. Các công cụ có mục đích … của chương trình và …, … các lỗi phát sinh trong tương lai”
Đáp án đúng là: A
Có rất nhiều công cụ và phương pháp khác nhau để kiểm thử chương trình. Các công cụ có mục đích tìm ra lỗi của chương trình và phòng ngừa, ngăn chặn các lỗi phát sinh trong tương lai.
Câu 2:
Đâu không là công cụ để kiểm thử chương trình?
Đáp án đúng là: C
Một số công cụ để kiểm thử chương trình như Công cụ in biến trung gian, công cụ sinh các bộ dữ liệu test, công cụ điểm dừng trong phần mềm soạn thảo lập trình,...
Câu 3:
Trong các phát biểu sau, phát biểu nào chưa chính xác về kiểm thử chương trình?
Đáp án đúng là: A
Có nhiều phương pháp và công cụ khác nhau để kiểm thử chương trình
Câu 4:
Phát biểu nào sau đây đúng nhất khi nói về các bộ dữ liệu test khi kiểm thử chương trình?
Đáp án đúng là: C
Các bộ test có thể có đầu vào theo các tiêu chí khác nhau như độ lớn, tính đa dạng của dữ liệu.
Câu 5:
Số phát biểu đúng trong các phát biểu sau:
1) Cần chú ý nên có nhiều bộ test khi test các bộ dữ liệu.
2) Việc sinh ngẫu nhiên dữ liệu đầu vào trong miền xác định của chương trình làm tăng khả năng tìm lỗi.
3) Thực tế cho thấy ít khi phát sinh lỗi tại các vùng biên hoặc lân cận biên.
4) Không thể sử dụng các lệnh print() để in ra các biến trung gian.
Đáp án đúng là: A
Thực tế cho thấy thường khi phát sinh lỗi tại các vùng biên hoặc lân cận biên.
⇒ 3) Sai.
Có thể sử dụng các lệnh print() để in ra các biến trung gian.
⇒ 4) Sai
Câu 6:
Chương trình chạy phát sinh lỗi ngoại lệ ZeroDivision, nên xử lí như thế nào?
Đáp án đúng là: A
Lỗi ngoại lệ ZeroDivision xảy ra khi lệnh thực hiện phép chia cho giá trị 0 nên cần kiểm tra lại giá trị số chia.
Câu 7:
Chương trình sau bị lỗi ở dòng lệnh thứ bao nhiêu ?
>>> fruits = ['Banana', 'Apple', 'Lime']
>>> loud_fruits = [fruit.upper() for fruit in fruits]
>>> print(loud_fruits)
>>> list(enumerate(fruits))
Đáp án đúng là: D
Chương trình đúng không có lỗi.
Câu 8:
Chương trình sau phát sinh lỗi gì?
>>> 1 / 0
0.5
>>> 2 ** 3
8
Đáp án đúng là: C
ZeroDivisionError: câu lệnh chia cho số 0.
Câu 9:
Chương trình chạy phát sinh lỗi ngoại lệ IndexError, nên xử lí như thế nào?
Đáp án đúng là: B
Lỗi ngoại lệ IndexError xảy ra khi lệnh cố gắn truy cập phần tử của danh sách nhưng chỉ số vượt giới hạn.
Câu 10:
Chương trình sau có lỗi ở dòng lệnh nào?
n = int(input("Nhập số tự nhiên n: "))
s = ""
for i in range(10):
s = s + i
Đáp án đúng là: D
Sai cấu trúc ngữ pháp ở dòng 4: s = s + i.
Câu 11:
Chương trình chạy phát sinh lỗi ngoại lệ TypeError, nên xử lí như thế nào?
Đáp án đúng là: D
Lỗi ngoại lệ TypeError xảy ra khi xuất hiện lỗi kiểu dữ liệu.
Câu 12:
Chương trình sau mắc lỗi gì?
def func(n)
a, b = 0, 1
while a < n:
print(a, end=' ')
a, b = b, a+b
print()
print(func(1000))
Đáp án đúng là: C
Thiếu dấu hai chấm sau tên hàm
Câu 13:
Để tính giá trị trung bình của một danh sách số A, người lập trình đã dùng lệnh gttb = sum(A) / len(A). Những mã lỗi ngoại lệ nào có thể xảy ra ?
Đáp án đúng là: D
NameError: chưa khai báo biến A
ZeroDivisionError: danh sách A rỗng.
Câu 14:
Chương trình chạy phát sinh lỗi ngoại lệ NameError, nên xử lí như thế nào?
Đáp án đúng là: B
Lỗi ngoại lệ NameError xảy ra không tìm được tên biến hoặc tên hàm
Câu 15:
Chương trình sau nên sửa như thế nào. Chọn phương án đúng nhất.
fruits = ['Banana', 'Apple', 'Lime']
print(fruits[4])
Đáp án đúng là: B
Danh sách có 3 phần tử nên trong lệnh print() cần thay đổi chỉ số của danh sách.