Trắc nghiệm Tin học 10 Kết nối tri thức Bài 30 (có đáp án): Kiểm thử và gỡ lỗi chương trình
Haylamdo biên soạn và sưu tầm 15 câu hỏi trắc nghiệm Tin học 10 Bài 30: Kiểm thử và gỡ lỗi chương trình có đáp án và lời giải chi tiết đầy đủ các mức độ sách Kết nối tri thức sẽ giúp học sinh ôn luyện trắc nghiệm Tin 10.
Trắc nghiệm Tin học 10 Kết nối tri thức Bài 30 (có đáp án): Kiểm thử và gỡ lỗi chương trình
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”
A. Tìm ra lỗi, phòng ngừa, ngăn chặn.
B. Tìm ra lỗi, phòng ngừa, xử lí.
C. Phòng ngừa, ngăn chặn, xử lí lỗi.
D. Xử lí lỗi, phòng ngừa, ngăn chặn.
Câu 2. Đâu không là công cụ để kiểm thử chương trình?
A. Công cụ in biến trung gian.
B. Công cụ sinh các bộ dữ liệu test.
C. Công cụ thống kê dữ liệu
D. 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?
A. Hiện nay, có ít phương pháp và công cụ khác nhau để kiểm thử chương trình.
B. Chương trình cần được thử với một số bộ dữ liệu test gồm đầu vào tiêu biểu và kết quả đầu ra biết trước.
C. Các bộ test phụ thuộc vào các tiêu chí khác nhau.
D. Các bộ test dữ liệu nên có nhiều bộ test ngẫu nhiên,...
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?
A. Các bộ test có thể có đầu vào theo các tiêu chí khác nhau.
B. Các bộ test có đầu vào theo một số tiêu chí nhất định.
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.
D. Các bộ test có đầu vào phải theo các tiêu chí về độ 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.
A. 2.
B. 3.
C. 1.
D. 4.
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?
A. Kiểm tra lại giá trị số chia.
B. Kiểm tra lại chỉ số trong mảng.
C. Kiểm tra giá trị của số bị chia.
D. Kiểm tra kiểu dữ liệu nhập vào.
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))
A. 2.
B. 3.
C. 4.
D. Không phát sinh lỗi
Câu 8. Chương trình sau phát sinh lỗi gì?
>>> 1 / 0
0.5
>>> 2 ** 3
8
A. NameError.
B. TypeError.
C. ZeroDivisionError.
D. Syntax Error.
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?
A. Kiểm tra lại giá trị số chia.
B. Kiểm tra lại chỉ số trong mảng.
C. Kiểm tra giá trị của số bị chia.
D. Kiểm tra kiểu dữ liệu nhập vào.
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
A. 1.
B. 2.
C. 3.
D. 4.
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?
A. Kiểm tra lại chỉ số trong mảng.
B. Kiểm tra lại giá trị số chia.
C. Kiểm tra giá trị của số bị chia.
D. Kiểm tra kiểu dữ liệu nhập vào.
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))
A. TypeError.
B. ZeroDivisionError.
C. Syntax Error.
D. NameError.
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 ?
A. NameError.
B. ZeroDivisionError.
C. Không thể xảy ra lỗi
D. Có thể xảy ra cả hai lỗi trên.
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?
A. Kiểm tra lại chỉ số trong mảng.
B. Kiểm tra lại tên các biến và hàm.
C. Kiểm tra giá trị của số bị chia.
D. Kiểm tra kiểu dữ liệu nhập vào.
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])
A. Thay đổi kiểu dữ liệu của từng phần tử trong mảng.
B. Kiểm tra chỉ số của mảng khi thực hiện lệnh.
C. Thay đổi tên mảng.
D. Chương trình không có lỗi.