15+ Đề Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Đề 01

Đề 02

Đề 03

Đề 04

Đề 05

Đề 06

Đề 07

Đề 08

Đề 09

Đề 10

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình - Đề 01

Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình - Đề 01 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong lập trình, loại lỗi nào xảy ra khi câu lệnh được viết không tuân thủ đúng quy tắc ngữ pháp của ngôn ngữ lập trình (ví dụ: thiếu dấu hai chấm, sai tên hàm)?

  • A. Lỗi cú pháp (Syntax Error)
  • B. Lỗi ngoại lệ (Runtime Error)
  • C. Lỗi ngữ nghĩa (Logic Error)
  • D. Lỗi biên dịch (Compilation Error)

Câu 2: Lỗi nào thường xảy ra khi chương trình đang chạy và gặp phải một thao tác không thể thực hiện được tại thời điểm đó (ví dụ: chia cho số 0, truy cập tệp không tồn tại)?

  • A. Lỗi cú pháp
  • B. Lỗi ngoại lệ
  • C. Lỗi ngữ nghĩa
  • D. Lỗi thiết kế

Câu 3: Loại lỗi nào khiến chương trình vẫn chạy bình thường mà không báo lỗi, nhưng kết quả đầu ra lại sai so với yêu cầu (ví dụ: sử dụng sai công thức tính toán)?

  • A. Lỗi cú pháp
  • B. Lỗi ngoại lệ
  • C. Lỗi ngữ nghĩa
  • D. Lỗi hệ thống

Câu 4: Quan sát đoạn mã Python sau: `x = 10
y = 0
result = x / y
print(result)`
Khi chạy đoạn mã này, loại lỗi nào rất có thể xảy ra?

  • A. Lỗi cú pháp
  • B. Lỗi ngoại lệ
  • C. Lỗi ngữ nghĩa
  • D. Không có lỗi nào xảy ra

Câu 5: Cho đoạn mã Python: `age = input(

  • A. Lỗi cú pháp (Syntax Error)
  • B. Lỗi ngoại lệ (Runtime Error) do so sánh chuỗi với số
  • C. Lỗi ngữ nghĩa (Logic Error) do điều kiện sai
  • D. Không có lỗi, chương trình luôn chạy đúng

Câu 6: Mục đích chính của việc kiểm thử chương trình (Testing) là gì?

  • A. Phát hiện lỗi trong chương trình
  • B. Làm cho chương trình chạy nhanh hơn
  • C. Giảm dung lượng bộ nhớ mà chương trình sử dụng
  • D. Tự động sửa tất cả các lỗi

Câu 7: Mục đích chính của việc gỡ lỗi chương trình (Debugging) là gì?

  • A. Viết thêm các tính năng mới cho chương trình
  • B. Kiểm tra hiệu suất của chương trình
  • C. Tìm và sửa các lỗi đã được phát hiện trong quá trình kiểm thử
  • D. Thiết kế giao diện người dùng

Câu 8: Để kiểm thử một chương trình một cách hiệu quả, chúng ta cần tạo ra các bộ dữ liệu kiểm thử như thế nào?

  • A. Chỉ cần một bộ dữ liệu duy nhất
  • B. Chỉ dữ liệu ngẫu nhiên
  • C. Chỉ dữ liệu điển hình (thường gặp)
  • D. Đa dạng, bao gồm dữ liệu điển hình, dữ liệu biên và dữ liệu đặc biệt

Câu 9: Khi kiểm thử một chương trình tính diện tích hình chữ nhật với chiều dài và chiều rộng là số dương, bộ dữ liệu nào sau đây được xem là dữ liệu biên (boundary case)?

  • A. Chiều dài = 5, Chiều rộng = 10
  • B. Chiều dài = -2, Chiều rộng = 3 (dữ liệu không hợp lệ)
  • C. Chiều dài = 0.0001, Chiều rộng = 0.0001 (gần giới hạn dương)
  • D. Chiều dài = 1000000, Chiều rộng = 2000000 (dữ liệu lớn)

Câu 10: Khi kiểm thử một chương trình xử lý số nguyên, bộ dữ liệu nào sau đây được xem là dữ liệu đặc biệt (special case)?

  • A. Số 5
  • B. Số 100
  • C. Số -50
  • D. Số 0 (nếu 0 có ý nghĩa đặc biệt trong bài toán)

Câu 11: Trong quá trình gỡ lỗi, phương pháp nào hiệu quả nhất để theo dõi giá trị của các biến tại các điểm khác nhau trong chương trình?

  • A. Chỉ đọc lại mã nguồn
  • B. Sử dụng công cụ gỡ lỗi (debugger) để chạy từng bước và quan sát giá trị biến
  • C. Chạy chương trình với nhiều dữ liệu ngẫu nhiên
  • D. Hỏi bạn bè xem họ có gặp lỗi tương tự không

Câu 12: Công cụ nào trong các Môi trường phát triển tích hợp (IDE) giúp lập trình viên tạm dừng chương trình tại một dòng code cụ thể và kiểm tra trạng thái của chương trình?

  • A. Debugger
  • B. Compiler
  • C. Text Editor
  • D. Version Control System

Câu 13: Kỹ thuật gỡ lỗi nào liên quan đến việc thêm các câu lệnh in tạm thời vào mã nguồn để hiển thị giá trị của biến hoặc thông báo vị trí thực thi?

  • A. Unit Testing
  • B. Debugging bằng debugger
  • C. Tracing (truy vết) bằng câu lệnh in
  • D. Refactoring

Câu 14: Lỗi ngữ nghĩa (Logic Error) là loại lỗi khó phát hiện nhất trong ba loại lỗi cơ bản vì:

  • A. Ngôn ngữ lập trình không có công cụ nào hỗ trợ phát hiện lỗi ngữ nghĩa.
  • B. Lỗi ngữ nghĩa luôn khiến chương trình bị dừng đột ngột.
  • C. Lỗi ngữ nghĩa chỉ xảy ra trên một số hệ điều hành nhất định.
  • D. Chương trình vẫn chạy mà không báo lỗi, chỉ cho ra kết quả sai hoặc không như mong đợi.

Câu 15: Khi sử dụng công cụ Debugger, "điểm dừng" (breakpoint) có chức năng gì?

  • A. Tạm dừng việc thực thi chương trình tại dòng code đó.
  • B. Đánh dấu dòng code cần xóa.
  • C. Tự động sửa lỗi tại dòng code đó.
  • D. Thực thi dòng code đó nhiều lần.

Câu 16: Giả sử bạn viết một chương trình tính trung bình cộng của một danh sách các số. Nếu bạn quên chia tổng cho số lượng phần tử, chương trình sẽ mắc loại lỗi nào?

  • A. Lỗi cú pháp
  • B. Lỗi ngoại lệ
  • C. Lỗi ngữ nghĩa
  • D. Lỗi biên dịch

Câu 17: Tại sao việc kiểm thử với dữ liệu biên (boundary data) lại quan trọng?

  • A. Để kiểm tra xem chương trình có chạy nhanh không.
  • B. Vì lỗi thường xảy ra ở các giá trị đầu hoặc cuối của miền giá trị hợp lệ.
  • C. Để kiểm tra xem chương trình có tốn nhiều bộ nhớ không.
  • D. Để kiểm tra giao diện người dùng.

Câu 18: Một chương trình yêu cầu người dùng nhập một số nguyên dương. Nếu người dùng nhập một chuỗi ký tự ("abc"), loại lỗi nào sẽ xảy ra khi chương trình cố gắng chuyển đổi chuỗi đó thành số nguyên?

  • A. Lỗi cú pháp
  • B. Lỗi ngoại lệ (ValueError)
  • C. Lỗi ngữ nghĩa
  • D. Không có lỗi

Câu 19: Phương pháp "chia để trị" trong gỡ lỗi có nghĩa là gì?

  • A. Chia nhỏ chương trình thành các phần nhỏ hơn để kiểm tra và gỡ lỗi từng phần.
  • B. Chia sẻ lỗi với nhiều người khác để cùng giải quyết.
  • C. Chỉ tập trung vào một dòng code duy nhất mỗi lần.
  • D. Viết lại toàn bộ chương trình từ đầu.

Câu 20: Khi sử dụng debugger, thao tác "step over" (bước qua) một dòng lệnh gọi hàm có ý nghĩa gì?

  • A. Thực thi từng dòng lệnh bên trong hàm được gọi.
  • B. Thực thi toàn bộ hàm được gọi và dừng lại ở dòng lệnh ngay sau lời gọi hàm.
  • C. Bỏ qua không thực thi hàm đó.
  • D. Lặp lại việc thực thi hàm đó.

Câu 21: Khi sử dụng debugger, thao tác "step into" (bước vào) một dòng lệnh gọi hàm có ý nghĩa gì?

  • A. Đi vào bên trong hàm được gọi và thực thi từng dòng lệnh của hàm đó.
  • B. Thực thi toàn bộ hàm được gọi.
  • C. Bỏ qua không thực thi hàm đó.
  • D. Quay trở lại dòng lệnh trước đó.

Câu 22: Giả sử bạn có một chương trình tính tổng các số chẵn từ 1 đến N. Nếu chương trình luôn cho kết quả nhỏ hơn giá trị đúng, loại lỗi nào là khả năng cao nhất?

  • A. Lỗi cú pháp
  • B. Lỗi ngoại lệ (ví dụ: chia cho 0)
  • C. Lỗi ngữ nghĩa (ví dụ: điều kiện lặp sai hoặc công thức tính sai)
  • D. Lỗi hệ thống

Câu 23: Tại sao việc viết mã nguồn rõ ràng, dễ đọc lại giúp ích cho quá trình gỡ lỗi?

  • A. Mã rõ ràng tự động sửa lỗi cú pháp.
  • B. Mã rõ ràng làm cho chương trình chạy nhanh hơn.
  • C. Mã rõ ràng không bao giờ có lỗi ngoại lệ.
  • D. Dễ dàng theo dõi luồng thực thi và logic của chương trình để xác định vị trí lỗi.

Câu 24: Khi kiểm thử một hàm tính giai thừa của một số N, bộ dữ liệu nào sau đây là dữ liệu đặc biệt cần kiểm tra?

  • A. N = 0 hoặc N = 1 (các trường hợp cơ sở)
  • B. N = 5 (trường hợp điển hình)
  • C. N = -3 (dữ liệu không hợp lệ)
  • D. N = 100 (dữ liệu lớn)

Câu 25: Điều gì xảy ra khi một lỗi ngoại lệ không được xử lý (caught) trong chương trình?

  • A. Chương trình sẽ tự động sửa lỗi và tiếp tục chạy.
  • B. Chương trình sẽ bỏ qua dòng lệnh gây lỗi và chạy tiếp.
  • C. Chương trình sẽ dừng đột ngột và báo lỗi (crash).
  • D. Lỗi sẽ được ghi vào một tệp nhật ký mà người dùng không thấy.

Câu 26: Việc tạo ra các bộ dữ liệu kiểm thử đa dạng (điển hình, biên, đặc biệt) giúp phát hiện chủ yếu loại lỗi nào một cách hiệu quả hơn?

  • A. Lỗi cú pháp
  • B. Lỗi biên dịch
  • C. Lỗi ngữ nghĩa và một số lỗi ngoại lệ
  • D. Tất cả các loại lỗi với mức độ như nhau

Câu 27: Giả sử bạn đang gỡ lỗi một vòng lặp `for` mà bạn nghi ngờ đang lặp sai số lần. Kỹ thuật nào sau đây của debugger sẽ hữu ích nhất để xác nhận điều này?

  • A. Đặt breakpoint trước vòng lặp và sử dụng "step over" hoặc "step into" để theo dõi biến đếm vòng lặp.
  • B. Chỉ đọc lại mã nguồn của vòng lặp.
  • C. Thêm rất nhiều câu lệnh print bên trong vòng lặp.
  • D. Chạy toàn bộ chương trình với dữ liệu lớn.

Câu 28: Tại sao việc kiểm thử tự động (automated testing) lại được khuyến khích trong phát triển phần mềm chuyên nghiệp?

  • A. Vì nó giúp sửa lỗi ngữ nghĩa một cách tự động.
  • B. Vì nó hoàn toàn thay thế được việc gỡ lỗi thủ công.
  • C. Vì nó chỉ cần thực hiện một lần duy nhất.
  • D. Vì nó giúp chạy lại các bộ kiểm thử một cách nhanh chóng và đáng tin cậy mỗi khi mã nguồn thay đổi, giảm thiểu lỗi hồi quy.

Câu 29: Trong quá trình gỡ lỗi, nếu bạn thay đổi mã nguồn để sửa một lỗi, bước tiếp theo quan trọng cần làm là gì?

  • A. Gửi chương trình cho người dùng cuối ngay lập tức.
  • B. Chạy lại chương trình với bộ dữ liệu đã phát hiện lỗi để xác nhận lỗi đã được sửa và kiểm tra với các bộ dữ liệu khác.
  • C. Xóa tất cả các breakpoint đã đặt.
  • D. Bắt đầu viết tính năng mới.

Câu 30: Công cụ gỡ lỗi (Debugger) thường cho phép lập trình viên thực hiện những thao tác nào sau đây?

  • A. Chỉ xem mã nguồn.
  • B. Chỉ chạy chương trình một lần duy nhất.
  • C. Chỉ tự động sửa lỗi cú pháp.
  • D. Đặt điểm dừng, chạy từng bước, xem và thay đổi giá trị biến trong quá trình thực thi.

1 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 1: Trong lập trình, loại lỗi nào xảy ra khi câu lệnh được viết không tuân thủ đúng quy tắc ngữ pháp của ngôn ngữ lập trình (ví dụ: thiếu dấu hai chấm, sai tên hàm)?

2 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 2: Lỗi nào thường xảy ra khi chương trình đang chạy và gặp phải một thao tác không thể thực hiện được tại thời điểm đó (ví dụ: chia cho số 0, truy cập tệp không tồn tại)?

3 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 3: Loại lỗi nào khiến chương trình vẫn chạy bình thường mà không báo lỗi, nhưng kết quả đầu ra lại sai so với yêu cầu (ví dụ: sử dụng sai công thức tính toán)?

4 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 4: Quan sát đoạn mã Python sau: `x = 10
y = 0
result = x / y
print(result)`
Khi chạy đoạn mã này, loại lỗi nào rất có thể xảy ra?

5 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 5: Cho đoạn mã Python: `age = input("Nhập tuổi của bạn: ")
if age >= 18:
print("Bạn đủ tuổi.")`
Nếu người dùng nhập '20', chương trình có thể chạy và in ra kết quả. Nhưng nếu điều kiện `age >= 18` được sử dụng để kiểm tra tuổi, và `age` là một chuỗi ('20'), loại lỗi nào có thể xảy ra hoặc kết quả không như mong đợi?

6 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 6: Mục đích chính của việc kiểm thử chương trình (Testing) là gì?

7 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 7: Mục đích chính của việc gỡ lỗi chương trình (Debugging) là gì?

8 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 8: Để kiểm thử một chương trình một cách hiệu quả, chúng ta cần tạo ra các bộ dữ liệu kiểm thử như thế nào?

9 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 9: Khi kiểm thử một chương trình tính diện tích hình chữ nhật với chiều dài và chiều rộng là số dương, bộ dữ liệu nào sau đây được xem là dữ liệu biên (boundary case)?

10 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 10: Khi kiểm thử một chương trình xử lý số nguyên, bộ dữ liệu nào sau đây được xem là dữ liệu đặc biệt (special case)?

11 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 11: Trong quá trình gỡ lỗi, phương pháp nào hiệu quả nhất để theo dõi giá trị của các biến tại các điểm khác nhau trong chương trình?

12 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 12: Công cụ nào trong các Môi trường phát triển tích hợp (IDE) giúp lập trình viên tạm dừng chương trình tại một dòng code cụ thể và kiểm tra trạng thái của chương trình?

13 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 13: Kỹ thuật gỡ lỗi nào liên quan đến việc thêm các câu lệnh in tạm thời vào mã nguồn để hiển thị giá trị của biến hoặc thông báo vị trí thực thi?

14 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 14: Lỗi ngữ nghĩa (Logic Error) là loại lỗi khó phát hiện nhất trong ba loại lỗi cơ bản vì:

15 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 15: Khi sử dụng công cụ Debugger, 'điểm dừng' (breakpoint) có chức năng gì?

16 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 16: Giả sử bạn viết một chương trình tính trung bình cộng của một danh sách các số. Nếu bạn quên chia tổng cho số lượng phần tử, chương trình sẽ mắc loại lỗi nào?

17 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 17: Tại sao việc kiểm thử với dữ liệu biên (boundary data) lại quan trọng?

18 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 18: Một chương trình yêu cầu người dùng nhập một số nguyên dương. Nếu người dùng nhập một chuỗi ký tự ('abc'), loại lỗi nào sẽ xảy ra khi chương trình cố gắng chuyển đổi chuỗi đó thành số nguyên?

19 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 19: Phương pháp 'chia để trị' trong gỡ lỗi có nghĩa là gì?

20 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 20: Khi sử dụng debugger, thao tác 'step over' (bước qua) một dòng lệnh gọi hàm có ý nghĩa gì?

21 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 21: Khi sử dụng debugger, thao tác 'step into' (bước vào) một dòng lệnh gọi hàm có ý nghĩa gì?

22 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 22: Giả sử bạn có một chương trình tính tổng các số chẵn từ 1 đến N. Nếu chương trình luôn cho kết quả nhỏ hơn giá trị đúng, loại lỗi nào là khả năng cao nhất?

23 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 23: Tại sao việc viết mã nguồn rõ ràng, dễ đọc lại giúp ích cho quá trình gỡ lỗi?

24 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 24: Khi kiểm thử một hàm tính giai thừa của một số N, bộ dữ liệu nào sau đây là dữ liệu đặc biệt cần kiểm tra?

25 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 25: Điều gì xảy ra khi một lỗi ngoại lệ không được xử lý (caught) trong chương trình?

26 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 26: Việc tạo ra các bộ dữ liệu kiểm thử đa dạng (điển hình, biên, đặc biệt) giúp phát hiện chủ yếu loại lỗi nào một cách hiệu quả hơn?

27 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 27: Giả sử bạn đang gỡ lỗi một vòng lặp `for` mà bạn nghi ngờ đang lặp sai số lần. Kỹ thuật nào sau đây của debugger sẽ hữu ích nhất để xác nhận điều này?

28 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 28: Tại sao việc kiểm thử tự động (automated testing) lại được khuyến khích trong phát triển phần mềm chuyên nghiệp?

29 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 29: Trong quá trình gỡ lỗi, nếu bạn thay đổi mã nguồn để sửa một lỗi, bước tiếp theo quan trọng cần làm là gì?

30 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 1

Câu 30: Công cụ gỡ lỗi (Debugger) thường cho phép lập trình viên thực hiện những thao tác nào sau đây?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình - Đề 02

Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình - Đề 02 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Một lập trình viên viết đoạn mã Python sau:
`a = 10
b = 0
c = a / b
print(c)`
Khi chạy đoạn mã này, chương trình sẽ dừng lại và báo lỗi. Loại lỗi xảy ra trong trường hợp này là gì?

  • A. Lỗi cú pháp (Syntax Error)
  • B. Lỗi ngữ nghĩa (Semantic Error)
  • C. Lỗi ngoại lệ (Exception/Runtime Error)
  • D. Lỗi logic (Logic Error)

Câu 2: Đoạn mã Python sau có lỗi gì?
`if x > 0
print("Positive")`

  • A. Lỗi cú pháp (Syntax Error) do thiếu dấu hai chấm.
  • B. Lỗi ngữ nghĩa (Semantic Error) do biến x chưa được định nghĩa.
  • C. Lỗi ngoại lệ (Exception Error) do giá trị của x.
  • D. Không có lỗi.

Câu 3: Một chương trình được thiết kế để tính diện tích hình chữ nhật. Công thức đúng là `dien_tich = chieu_dai * chieu_rong`. Tuy nhiên, lập trình viên lại viết `dien_tich = chieu_dai + chieu_rong`. Chương trình vẫn chạy được và không báo lỗi khi thực thi, nhưng kết quả tính toán bị sai. Đây là loại lỗi gì?

  • A. Lỗi cú pháp (Syntax Error)
  • B. Lỗi ngữ nghĩa (Semantic/Logic Error)
  • C. Lỗi ngoại lệ (Exception Error)
  • D. Lỗi hệ thống (System Error)

Câu 4: Đâu là đặc điểm khiến lỗi ngữ nghĩa (semantic error) thường khó phát hiện hơn so với lỗi cú pháp hoặc ngoại lệ?

  • A. Trình biên dịch hoặc thông dịch luôn báo lỗi rõ ràng khi gặp lỗi ngữ nghĩa.
  • B. Lỗi ngữ nghĩa chỉ xảy ra trên một số hệ điều hành nhất định.
  • C. Lỗi ngữ nghĩa làm chương trình dừng đột ngột và hiển thị thông báo lỗi.
  • D. Chương trình vẫn chạy bình thường về mặt kỹ thuật (không dừng, không báo lỗi cú pháp/ngoại lệ), nhưng kết quả đầu ra bị sai so với yêu cầu.

Câu 5: Để kiểm thử một chương trình tính căn bậc hai của một số, bộ dữ liệu kiểm thử nào sau đây là quan trọng nhất để phát hiện lỗi ngoại lệ?

  • A. Các số dương lớn (ví dụ: 100, 1000)
  • B. Số 0 và các số âm (ví dụ: 0, -5)
  • C. Các số dương nhỏ (ví dụ: 0.5, 1)
  • D. Các số nguyên tố

Câu 6: Khi kiểm thử một chương trình, việc sử dụng "dữ liệu biên" (boundary data) nhằm mục đích gì?

  • A. Kiểm tra hoạt động của chương trình với các giá trị tại ranh giới của phạm vi hợp lệ (ví dụ: giá trị nhỏ nhất/lớn nhất, giá trị 0, giá trị chuyển đổi điều kiện).
  • B. Kiểm tra chương trình có xử lý được dữ liệu không hợp lệ hay không.
  • C. Kiểm tra hiệu suất của chương trình với lượng dữ liệu lớn.
  • D. Kiểm tra chương trình có chạy được trên nhiều hệ điều hành khác nhau hay không.

Câu 7: Bạn đang viết một chương trình xử lý danh sách. Bạn gặp lỗi khi truy cập phần tử ở chỉ mục cuối cùng của danh sách trong một số trường hợp. Loại dữ liệu kiểm thử nào sau đây có khả năng giúp bạn tìm ra lỗi này nhanh nhất?

  • A. Danh sách chỉ chứa các số dương.
  • B. Danh sách có kích thước rất lớn.
  • C. Danh sách rỗng hoặc danh sách chỉ có một phần tử.
  • D. Danh sách chứa cả số dương và số âm.

Câu 8: Công cụ nào trong môi trường phát triển tích hợp (IDE) thường được sử dụng để "truy vết" (trace) quá trình thực thi của chương trình, cho phép chạy từng câu lệnh một và quan sát giá trị các biến?

  • A. Trình soạn thảo mã nguồn (Code Editor)
  • B. Trình biên dịch/thông dịch (Compiler/Interpreter)
  • C. Công cụ quản lý phiên bản (Version Control)
  • D. Công cụ gỡ lỗi (Debugger)

Câu 9: Trong quá trình sử dụng công cụ gỡ lỗi (debugger), hành động "Step Over" (Bước qua) một dòng lệnh có ý nghĩa gì?

  • A. Thực thi toàn bộ hàm hoặc thủ tục được gọi trong dòng lệnh đó như một bước duy nhất mà không đi sâu vào chi tiết bên trong hàm.
  • B. Đi sâu vào thực thi từng câu lệnh bên trong hàm hoặc thủ tục được gọi.
  • C. Tiếp tục chạy chương trình cho đến khi gặp điểm dừng (breakpoint) tiếp theo hoặc kết thúc chương trình.
  • D. Dừng chương trình ngay lập tức.

Câu 10: Khi đang gỡ lỗi một chương trình bằng debugger, bạn muốn kiểm tra giá trị của một biến cụ thể sau khi một đoạn mã phức tạp được thực thi mà không cần chạy từng dòng lệnh bên trong đoạn mã đó. Chức năng nào của debugger sẽ hữu ích nhất?

  • A. Step Into
  • B. Set Breakpoint (Thiết lập điểm dừng)
  • C. Step Out
  • D. Restart Debugging

Câu 11: Phương pháp gỡ lỗi bằng cách thêm các câu lệnh `print()` hoặc hiển thị thông báo vào mã nguồn để kiểm tra giá trị biến và luồng thực thi được gọi là gì?

  • A. Kiểm thử đơn vị (Unit Testing)
  • B. Kiểm thử tích hợp (Integration Testing)
  • C. Gỡ lỗi bằng in ấn (Print Debugging)
  • D. Kiểm thử hệ thống (System Testing)

Câu 12: So với việc sử dụng công cụ debugger chuyên nghiệp, phương pháp gỡ lỗi bằng cách in giá trị (print debugging) có nhược điểm chính là gì?

  • A. Cần phải sửa đổi mã nguồn gốc, có thể quên xóa các câu lệnh in sau khi gỡ lỗi xong và khó kiểm soát luồng thực thi chi tiết (ví dụ: bỏ qua một số dòng, chỉ chạy đến một điểm nhất định).
  • B. Không thể xem được giá trị của biến.
  • C. Chỉ áp dụng được cho các chương trình rất đơn giản.
  • D. Không thể phát hiện được lỗi ngoại lệ.

Câu 13: Khi thiết kế bộ dữ liệu kiểm thử cho một chương trình, tại sao việc bao gồm "dữ liệu không hợp lệ" (invalid data) lại quan trọng?

  • A. Để kiểm tra xem chương trình có chạy nhanh hơn với dữ liệu sai không.
  • B. Để chương trình bỏ qua việc xử lý dữ liệu sai.
  • C. Dữ liệu không hợp lệ giúp tìm lỗi ngữ nghĩa dễ dàng hơn.
  • D. Để kiểm tra khả năng xử lý các trường hợp ngoại lệ hoặc báo lỗi một cách thân thiện khi người dùng nhập sai dữ liệu.

Câu 14: Bạn nhận được báo cáo rằng chương trình của bạn thỉnh thoảng đưa ra kết quả sai cho một số trường hợp đầu vào cụ thể, nhưng không báo lỗi gì cả. Loại lỗi nào có khả năng nhất đang xảy ra?

  • A. Lỗi cú pháp.
  • B. Lỗi ngữ nghĩa/logic.
  • C. Lỗi ngoại lệ.
  • D. Lỗi hệ thống.

Câu 15: Trong quá trình gỡ lỗi bằng debugger, chức năng "Step Into" (Bước vào) khác "Step Over" (Bước qua) ở điểm nào?

  • A. Step Into chạy nhanh hơn Step Over.
  • B. Step Over được dùng cho vòng lặp, Step Into dùng cho hàm.
  • C. Step Into sẽ đi sâu vào thực thi từng câu lệnh bên trong một hàm được gọi, trong khi Step Over thực thi toàn bộ hàm đó như một bước duy nhất.
  • D. Step Into dùng để bỏ qua dòng lệnh, Step Over dùng để chạy dòng lệnh.

Câu 16: Khi chương trình Python gặp lỗi ngoại lệ (exception), điều gì thường xảy ra mặc định nếu ngoại lệ đó không được xử lý?

  • A. Chương trình dừng đột ngột và in ra thông báo lỗi (traceback) chi tiết về loại lỗi và vị trí xảy ra lỗi.
  • B. Chương trình tự động sửa lỗi và tiếp tục chạy.
  • C. Chương trình bỏ qua dòng lệnh gây lỗi và tiếp tục chạy từ dòng tiếp theo.
  • D. Chương trình chỉ in ra cảnh báo và vẫn tiếp tục chạy.

Câu 17: Mục tiêu chính của việc kiểm thử chương trình là gì?

  • A. Chứng minh chương trình hoàn toàn không có lỗi.
  • B. Làm cho chương trình chạy nhanh hơn.
  • C. Thay thế hoàn toàn quá trình gỡ lỗi.
  • D. Tìm ra càng nhiều lỗi càng tốt để đảm bảo chất lượng và độ tin cậy của chương trình.

Câu 18: Một chương trình tính tổng các số từ 1 đến N. Lập trình viên viết vòng lặp `for i in range(N): sum += i`. Khi chạy với N=5, kết quả thu được là 10 (0+1+2+3+4) thay vì 15 (1+2+3+4+5). Đây là loại lỗi gì và cách khắc phục trong trường hợp này?

  • A. Lỗi ngữ nghĩa/logic. Vòng lặp `range(N)` chạy từ 0 đến N-1. Cần sửa thành `range(1, N+1)` hoặc khởi tạo `sum = 0` và vòng lặp `range(N+1)`.
  • B. Lỗi cú pháp. Thiếu dấu hai chấm sau `range(N)`. (Sai cấu trúc câu hỏi)
  • C. Lỗi ngoại lệ. Khi N quá lớn. (Không đúng trong ví dụ)
  • D. Lỗi ngữ nghĩa. Cần sử dụng `while` loop thay vì `for` loop. (Không cần thiết)

Câu 19: Khi sử dụng công cụ debugger, "Watch" (Theo dõi) một biến có ý nghĩa là gì?

  • A. Thay đổi giá trị của biến trong quá trình chạy.
  • B. Hiển thị giá trị hiện tại của biến đó trong một cửa sổ riêng và cập nhật khi giá trị thay đổi qua từng bước thực thi.
  • C. Thực thi chỉ dòng lệnh chứa biến đó.
  • D. Đặt điểm dừng (breakpoint) tại dòng lệnh mà biến đó xuất hiện.

Câu 20: Bạn đang gỡ lỗi một chương trình phức tạp và nghi ngờ lỗi nằm trong một hàm cụ thể. Bạn muốn chương trình chạy bình thường cho đến khi vào đầu hàm đó, sau đó mới bắt đầu chạy từng bước. Bạn nên sử dụng công cụ debugger như thế nào?

  • A. Đặt một breakpoint tại dòng lệnh đầu tiên của hàm đó và sử dụng chức năng "Run" (Chạy) hoặc "Continue" (Tiếp tục).
  • B. Sử dụng chức năng "Step Into" từ đầu chương trình.
  • C. Sử dụng chức năng "Step Over" cho toàn bộ chương trình.
  • D. Thêm nhiều câu lệnh print vào trong hàm đó.

Câu 21: Phát biểu nào sau đây mô tả đúng nhất về vai trò của việc kiểm thử chương trình trước khi đưa vào sử dụng?

  • A. Kiểm thử giúp chứng minh chương trình không có bất kỳ lỗi nào.
  • B. Kiểm thử giúp phát hiện lỗi và đảm bảo chương trình hoạt động đúng với các yêu cầu đặt ra trong nhiều trường hợp khác nhau.
  • C. Kiểm thử chỉ cần thực hiện một lần duy nhất sau khi hoàn thành code.
  • D. Kiểm thử là quá trình chỉ dành cho người dùng cuối, không phải lập trình viên.

Câu 22: Một chương trình yêu cầu người dùng nhập một số nguyên dương. Nếu người dùng nhập một chuỗi văn bản (ví dụ: "abc") thay vì số, loại lỗi nào có khả năng xảy ra nhất khi chương trình cố gắng chuyển đổi chuỗi đó thành số nguyên?

  • A. Lỗi cú pháp (Syntax Error)
  • B. Lỗi ngữ nghĩa (Semantic Error)
  • C. Lỗi ngoại lệ (Exception/Runtime Error), cụ thể là ValueError.
  • D. Không có lỗi, chương trình sẽ tự động chuyển đổi.

Câu 23: Đâu là một ví dụ về "dữ liệu đặc biệt" (special data) khi kiểm thử một chương trình xử lý số?

  • A. Các số nguyên dương ngẫu nhiên.
  • B. Các số thực trong khoảng từ 1 đến 100.
  • C. Chuỗi ký tự "hello".
  • D. Số 0, số âm, số rất lớn, số rất nhỏ.

Câu 24: Khi gỡ lỗi một chương trình, việc phân tích "traceback" (dấu vết lỗi) được in ra khi xảy ra lỗi ngoại lệ mang lại thông tin quan trọng gì?

  • A. Loại lỗi xảy ra, dòng mã nguồn gây ra lỗi, và chuỗi các lệnh gọi hàm dẫn đến dòng mã đó.
  • B. Nguyên nhân gốc rễ của lỗi ngữ nghĩa.
  • C. Cách sửa lỗi tự động.
  • D. Thời gian cần thiết để gỡ lỗi.

Câu 25: Bạn có một hàm tính giai thừa của một số nguyên không âm N. Bạn muốn kiểm thử hàm này một cách kỹ lưỡng. Bộ dữ liệu kiểm thử nào sau đây là phù hợp nhất?

  • A. Chỉ các số nguyên dương lớn.
  • B. Chỉ các số âm.
  • C. Số 0, số 1 (trường hợp biên), một vài số nguyên dương nhỏ (ví dụ: 5, 10), và một số nguyên dương lớn (để kiểm tra giới hạn/hiệu suất).
  • D. Các số thực.

Câu 26: Công đoạn nào trong quy trình phát triển phần mềm thường được thực hiện song song hoặc ngay sau khi viết mã nguồn để tìm và sửa lỗi?

  • A. Thiết kế hệ thống.
  • B. Kiểm thử và gỡ lỗi.
  • C. Phân tích yêu cầu.
  • D. Triển khai (Deployment).

Câu 27: Khi gỡ lỗi một chương trình bằng cách đọc code và suy luận (desk checking), ưu điểm chính của phương pháp này là gì?

  • A. Không cần chạy chương trình, có thể phát hiện lỗi logic hoặc cú pháp ngay từ khi đọc code, đặc biệt hữu ích với các đoạn code ngắn.
  • B. Phát hiện lỗi ngoại lệ một cách tự động.
  • C. Luôn nhanh hơn và hiệu quả hơn so với sử dụng debugger.
  • D. Có thể áp dụng cho mọi chương trình, bất kể độ phức tạp.

Câu 28: Bạn đang gỡ lỗi một vòng lặp trong chương trình. Vòng lặp này dường như không kết thúc hoặc lặp sai số lần. Kỹ thuật gỡ lỗi nào sau đây có thể giúp bạn hiểu rõ hơn vấn đề?

  • A. Chỉ kiểm tra lỗi cú pháp.
  • B. Chạy toàn bộ chương trình một lần duy nhất.
  • C. Xóa bỏ vòng lặp đó.
  • D. Sử dụng debugger để chạy từng bước qua vòng lặp và theo dõi giá trị của biến đếm hoặc điều kiện lặp.

Câu 29: Lỗi nào sau đây thường được phát hiện sớm nhất trong quá trình viết mã và thường được IDE hoặc trình thông dịch báo ngay lập tức?

  • A. Lỗi cú pháp (Syntax Error)
  • B. Lỗi ngữ nghĩa (Semantic Error)
  • C. Lỗi ngoại lệ (Exception Error)
  • D. Lỗi logic (Logic Error)

Câu 30: Khi kiểm thử một chương trình xử lý dữ liệu đầu vào từ người dùng, việc tạo các bộ dữ liệu kiểm thử đa dạng (thường gặp, đặc biệt, không hợp lệ) giúp đảm bảo điều gì?

  • A. Chương trình sẽ chạy nhanh hơn.
  • B. Chương trình sẽ tự động sửa lỗi.
  • C. Chương trình chỉ hoạt động với dữ liệu hợp lệ.
  • D. Chương trình có khả năng xử lý đúng đắn và ổn định trong nhiều tình huống khác nhau, bao gồm cả các trường hợp bất thường hoặc sai sót từ phía người dùng.

1 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 1: Một lập trình viên viết đoạn mã Python sau:
`a = 10
b = 0
c = a / b
print(c)`
Khi chạy đoạn mã này, chương trình sẽ dừng lại và báo lỗi. Loại lỗi xảy ra trong trường hợp này là gì?

2 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 2: Đoạn mã Python sau có lỗi gì?
`if x > 0
print('Positive')`

3 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 3: Một chương trình được thiết kế để tính diện tích hình chữ nhật. Công thức đúng là `dien_tich = chieu_dai * chieu_rong`. Tuy nhiên, lập trình viên lại viết `dien_tich = chieu_dai + chieu_rong`. Chương trình vẫn chạy được và không báo lỗi khi thực thi, nhưng kết quả tính toán bị sai. Đây là loại lỗi gì?

4 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 4: Đâu là đặc điểm khiến lỗi ngữ nghĩa (semantic error) thường khó phát hiện hơn so với lỗi cú pháp hoặc ngoại lệ?

5 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 5: Để kiểm thử một chương trình tính căn bậc hai của một số, bộ dữ liệu kiểm thử nào sau đây là quan trọng nhất để phát hiện lỗi ngoại lệ?

6 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 6: Khi kiểm thử một chương trình, việc sử dụng 'dữ liệu biên' (boundary data) nhằm mục đích gì?

7 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 7: Bạn đang viết một chương trình xử lý danh sách. Bạn gặp lỗi khi truy cập phần tử ở chỉ mục cuối cùng của danh sách trong một số trường hợp. Loại dữ liệu kiểm thử nào sau đây có khả năng giúp bạn tìm ra lỗi này nhanh nhất?

8 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 8: Công cụ nào trong môi trường phát triển tích hợp (IDE) thường được sử dụng để 'truy vết' (trace) quá trình thực thi của chương trình, cho phép chạy từng câu lệnh một và quan sát giá trị các biến?

9 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 9: Trong quá trình sử dụng công cụ gỡ lỗi (debugger), hành động 'Step Over' (Bước qua) một dòng lệnh có ý nghĩa gì?

10 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 10: Khi đang gỡ lỗi một chương trình bằng debugger, bạn muốn kiểm tra giá trị của một biến cụ thể sau khi một đoạn mã phức tạp được thực thi mà không cần chạy từng dòng lệnh bên trong đoạn mã đó. Chức năng nào của debugger sẽ hữu ích nhất?

11 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 11: Phương pháp gỡ lỗi bằng cách thêm các câu lệnh `print()` hoặc hiển thị thông báo vào mã nguồn để kiểm tra giá trị biến và luồng thực thi được gọi là gì?

12 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 12: So với việc sử dụng công cụ debugger chuyên nghiệp, phương pháp gỡ lỗi bằng cách in giá trị (print debugging) có nhược điểm chính là gì?

13 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 13: Khi thiết kế bộ dữ liệu kiểm thử cho một chương trình, tại sao việc bao gồm 'dữ liệu không hợp lệ' (invalid data) lại quan trọng?

14 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 14: Bạn nhận được báo cáo rằng chương trình của bạn thỉnh thoảng đưa ra kết quả sai cho một số trường hợp đầu vào cụ thể, nhưng không báo lỗi gì cả. Loại lỗi nào có khả năng nhất đang xảy ra?

15 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 15: Trong quá trình gỡ lỗi bằng debugger, chức năng 'Step Into' (Bước vào) khác 'Step Over' (Bước qua) ở điểm nào?

16 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 16: Khi chương trình Python gặp lỗi ngoại lệ (exception), điều gì thường xảy ra mặc định nếu ngoại lệ đó không được xử lý?

17 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 17: Mục tiêu chính của việc kiểm thử chương trình là gì?

18 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 18: Một chương trình tính tổng các số từ 1 đến N. Lập trình viên viết vòng lặp `for i in range(N): sum += i`. Khi chạy với N=5, kết quả thu được là 10 (0+1+2+3+4) thay vì 15 (1+2+3+4+5). Đây là loại lỗi gì và cách khắc phục trong trường hợp này?

19 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 19: Khi sử dụng công cụ debugger, 'Watch' (Theo dõi) một biến có ý nghĩa là gì?

20 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 20: Bạn đang gỡ lỗi một chương trình phức tạp và nghi ngờ lỗi nằm trong một hàm cụ thể. Bạn muốn chương trình chạy bình thường cho đến khi vào đầu hàm đó, sau đó mới bắt đầu chạy từng bước. Bạn nên sử dụng công cụ debugger như thế nào?

21 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 21: Phát biểu nào sau đây mô tả đúng nhất về vai trò của việc kiểm thử chương trình trước khi đưa vào sử dụng?

22 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 22: Một chương trình yêu cầu người dùng nhập một số nguyên dương. Nếu người dùng nhập một chuỗi văn bản (ví dụ: 'abc') thay vì số, loại lỗi nào có khả năng xảy ra nhất khi chương trình cố gắng chuyển đổi chuỗi đó thành số nguyên?

23 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 23: Đâu là một ví dụ về 'dữ liệu đặc biệt' (special data) khi kiểm thử một chương trình xử lý số?

24 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 24: Khi gỡ lỗi một chương trình, việc phân tích 'traceback' (dấu vết lỗi) được in ra khi xảy ra lỗi ngoại lệ mang lại thông tin quan trọng gì?

25 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 25: Bạn có một hàm tính giai thừa của một số nguyên không âm N. Bạn muốn kiểm thử hàm này một cách kỹ lưỡng. Bộ dữ liệu kiểm thử nào sau đây là phù hợp nhất?

26 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 26: Công đoạn nào trong quy trình phát triển phần mềm thường được thực hiện song song hoặc ngay sau khi viết mã nguồn để tìm và sửa lỗi?

27 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 27: Khi gỡ lỗi một chương trình bằng cách đọc code và suy luận (desk checking), ưu điểm chính của phương pháp này là gì?

28 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 28: Bạn đang gỡ lỗi một vòng lặp trong chương trình. Vòng lặp này dường như không kết thúc hoặc lặp sai số lần. Kỹ thuật gỡ lỗi nào sau đây có thể giúp bạn hiểu rõ hơn vấn đề?

29 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 29: Lỗi nào sau đây thường được phát hiện sớm nhất trong quá trình viết mã và thường được IDE hoặc trình thông dịch báo ngay lập tức?

30 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 2

Câu 30: Khi kiểm thử một chương trình xử lý dữ liệu đầu vào từ người dùng, việc tạo các bộ dữ liệu kiểm thử đa dạng (thường gặp, đặc biệt, không hợp lệ) giúp đảm bảo điều gì?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình - Đề 03

Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình - Đề 03 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Loại lỗi nào xảy ra khi bạn viết sai cú pháp câu lệnh trong chương trình, ví dụ như quên dấu ngoặc, viết sai tên biến hoặc từ khóa?

  • A. Lỗi cú pháp (Syntax error)
  • B. Lỗi ngoại lệ (Runtime error)
  • C. Lỗi ngữ nghĩa (Semantic error)
  • D. Lỗi logic

Câu 2: Khi chương trình đang chạy, một phép toán không hợp lệ được thực hiện, ví dụ như chia cho 0 hoặc truy cập vào một vùng nhớ không được phép, lỗi này được gọi là gì?

  • A. Lỗi cú pháp (Syntax error)
  • B. Lỗi ngoại lệ (Runtime error)
  • C. Lỗi ngữ nghĩa (Semantic error)
  • D. Lỗi biên dịch

Câu 3: Chương trình dịch không báo lỗi và chương trình vẫn chạy được, nhưng kết quả lại không đúng với mong đợi. Đây là biểu hiện của loại lỗi nào?

  • A. Lỗi cú pháp (Syntax error)
  • B. Lỗi ngoại lệ (Runtime error)
  • C. Lỗi ngữ nghĩa (Semantic error)
  • D. Lỗi thời gian chạy

Câu 4: Công cụ "Debug" trong môi trường lập trình được sử dụng chủ yếu cho mục đích nào sau đây?

  • A. Biên dịch chương trình
  • B. Tối ưu hóa hiệu suất chương trình
  • C. Kiểm tra tính bảo mật của chương trình
  • D. Tìm và sửa lỗi chương trình

Câu 5: Trong quá trình kiểm thử chương trình, bạn nên tạo ra các bộ dữ liệu kiểm thử thuộc những nhóm nào để đảm bảo tính toàn diện?

  • A. Dữ liệu đầu vào nhỏ và dữ liệu đầu vào lớn
  • B. Dữ liệu hợp lệ và dữ liệu không hợp lệ
  • C. Dữ liệu điển hình, dữ liệu đặc biệt và dữ liệu biên
  • D. Dữ liệu công khai và dữ liệu bí mật

Câu 6: Thư viện "PDB" trong Python cung cấp chức năng chính nào liên quan đến việc phát triển phần mềm?

  • A. Hỗ trợ gỡ lỗi chương trình
  • B. Quản lý cơ sở dữ liệu
  • C. Xử lý đồ họa
  • D. Tính toán khoa học

Câu 7: Trong ba loại lỗi chính (cú pháp, ngoại lệ, ngữ nghĩa), loại lỗi nào thường khó phát hiện và sửa chữa nhất?

  • A. Lỗi cú pháp (Syntax error)
  • B. Lỗi ngoại lệ (Runtime error)
  • C. Lỗi ngữ nghĩa (Semantic error)
  • D. Cả ba loại lỗi đều khó như nhau

Câu 8: Để kiểm tra một hàm tính giai thừa, bạn cần chuẩn bị bộ dữ liệu kiểm thử nào để bao phủ các trường hợp quan trọng?

  • A. Chỉ cần số dương lớn
  • B. Số 0, số 1, số dương nhỏ, số dương lớn
  • C. Số âm và số dương
  • D. Số nguyên và số thực

Câu 9: Phương pháp "truy vết" (tracing) trong gỡ lỗi chương trình thường được thực hiện bằng cách nào?

  • A. Thêm các lệnh in giá trị biến trung gian
  • B. Sử dụng trình biên dịch
  • C. Chạy chương trình ở tốc độ chậm
  • D. Đọc mã nguồn chương trình

Câu 10: Trong môi trường lập trình tích hợp (IDE), "breakpoint" (điểm dừng) được dùng để làm gì trong quá trình gỡ lỗi?

  • A. Tối ưu hóa mã nguồn
  • B. Tạm dừng chương trình tại một dòng lệnh cụ thể
  • C. Kiểm tra lỗi cú pháp
  • D. Chạy toàn bộ chương trình từ đầu đến cuối

Câu 11: Xét đoạn mã Python: `x = 10 / 0`. Khi chạy đoạn mã này, loại lỗi nào sẽ phát sinh?

  • A. Lỗi cú pháp (SyntaxError)
  • B. Lỗi ngoại lệ (ZeroDivisionError)
  • C. Lỗi ngữ nghĩa (không có lỗi)
  • D. Lỗi logic

Câu 12: Để kiểm thử tính năng đăng nhập của một hệ thống, bạn cần chuẩn bị những loại dữ liệu kiểm thử nào?

  • A. Chỉ tài khoản và mật khẩu đúng
  • B. Chỉ tài khoản và mật khẩu sai
  • C. Tài khoản/mật khẩu đúng, sai, bỏ trống, ký tự đặc biệt
  • D. Dữ liệu ngẫu nhiên

Câu 13: Phát biểu nào sau đây mô tả đúng nhất về quá trình "gỡ lỗi" chương trình?

  • A. Viết lại toàn bộ chương trình
  • B. Biên dịch chương trình sang ngôn ngữ máy
  • C. Kiểm tra xem chương trình có chạy nhanh không
  • D. Tìm, phân tích và sửa các lỗi trong chương trình

Câu 14: Trong quá trình gỡ lỗi, việc "xem giá trị biến" tại một thời điểm cụ thể có ý nghĩa gì?

  • A. Hiểu được trạng thái chương trình và dòng chảy dữ liệu
  • B. Tăng tốc độ thực thi chương trình
  • C. Ngăn chặn lỗi cú pháp
  • D. Tự động sửa lỗi chương trình

Câu 15: Điều gì xảy ra khi bạn cố gắng mở một tập tin không tồn tại trong chương trình Python?

  • A. Chương trình tự động tạo tập tin mới
  • B. Chương trình bỏ qua lệnh mở tập tin
  • C. Chương trình phát sinh lỗi ngoại lệ (FileNotFoundError)
  • D. Chương trình chạy bình thường nhưng không đọc được dữ liệu

Câu 16: Cho đoạn code Python sau: `def tinh_tong(a, b): return a - b`. Nếu gọi `tinh_tong(5, 3)` bạn mong đợi kết quả là 8 nhưng thực tế nhận được 2. Đây là loại lỗi gì?

  • A. Lỗi cú pháp
  • B. Lỗi ngoại lệ
  • C. Lỗi ngữ nghĩa
  • D. Không có lỗi

Câu 17: Khi nào việc đọc kỹ mã nguồn chương trình (code review) trở thành một phương pháp tìm lỗi hiệu quả?

  • A. Khi chương trình rất lớn và phức tạp
  • B. Khi chương trình ngắn và logic tương đối đơn giản
  • C. Khi lỗi là lỗi ngoại lệ
  • D. Khi sử dụng công cụ debug không hiệu quả

Câu 18: Để kiểm tra một chương trình sắp xếp danh sách số, bạn nên sử dụng bộ dữ liệu kiểm thử nào để đảm bảo tính đúng đắn của thuật toán sắp xếp?

  • A. Danh sách số đã được sắp xếp
  • B. Danh sách số ngẫu nhiên
  • C. Danh sách số giảm dần
  • D. Kết hợp danh sách rỗng, danh sách một phần tử, danh sách có số trùng lặp, danh sách đã sắp xếp và danh sách ngẫu nhiên

Câu 19: Trong quá trình gỡ lỗi, nếu bạn nghi ngờ lỗi nằm trong một hàm cụ thể, bạn có thể sử dụng kỹ thuật nào để "cô lập" và kiểm tra hàm đó?

  • A. Chạy toàn bộ chương trình và theo dõi
  • B. Viết mã kiểm thử đơn vị (unit test) cho hàm đó
  • C. Xóa hàm và viết lại
  • D. Bình luận (comment) toàn bộ mã bên ngoài hàm

Câu 20: Vì sao việc kiểm thử chương trình lại quan trọng trước khi đưa vào sử dụng thực tế?

  • A. Đảm bảo chương trình hoạt động đúng chức năng và giảm thiểu rủi ro lỗi khi sử dụng
  • B. Tăng tốc độ phát triển chương trình
  • C. Giảm chi phí phát triển chương trình
  • D. Để chương trình trông chuyên nghiệp hơn

Câu 21: Cho đoạn code Python: `age = input(

  • A. Chương trình tự động chuyển "hai mươi" thành số 20
  • B. Chương trình có thể báo lỗi nếu mong đợi nhập số và thực hiện ép kiểu số
  • C. Chương trình bỏ qua giá trị nhập và tiếp tục chạy
  • D. Không có gì xảy ra, chương trình vẫn chạy bình thường

Câu 22: Trong quy trình phát triển phần mềm, giai đoạn "kiểm thử và gỡ lỗi" thường diễn ra vào thời điểm nào?

  • A. Trước khi viết mã chương trình
  • B. Song song với giai đoạn thiết kế chương trình
  • C. Sau khi viết mã chương trình và trước khi triển khai
  • D. Chỉ sau khi chương trình đã được triển khai và người dùng báo lỗi

Câu 23: Khi gặp lỗi ngoại lệ trong Python, để chương trình không bị dừng đột ngột và có thể xử lý lỗi một cách "nhẹ nhàng", bạn sử dụng cơ chế nào?

  • A. Sử dụng lệnh `if-else`
  • B. Sử dụng vòng lặp `for`
  • C. Sử dụng hàm `print()`
  • D. Sử dụng khối lệnh `try-except`

Câu 24: Trong quá trình gỡ lỗi, việc thay đổi mã nguồn chương trình một cách ngẫu nhiên (thử và sai mù quáng) có được khuyến khích không?

  • A. Rất khuyến khích vì có thể nhanh chóng tìm ra lỗi
  • B. Không khuyến khích vì có thể làm chương trình rối hơn và khó gỡ lỗi hơn
  • C. Chỉ nên áp dụng khi không còn cách nào khác
  • D. Tùy thuộc vào kinh nghiệm của người lập trình

Câu 25: Giả sử bạn viết một chương trình tính tổng các số trong một danh sách, nhưng kết quả luôn sai. Để tìm ra lỗi, bước đầu tiên bạn nên làm gì?

  • A. Viết lại toàn bộ chương trình
  • B. Chạy chương trình với dữ liệu đầu vào lớn
  • C. Kiểm tra lại thuật toán tính tổng và logic chương trình
  • D. Thay đổi ngôn ngữ lập trình

Câu 26: Khi kiểm thử chương trình, việc chỉ sử dụng dữ liệu "hợp lệ" có đủ để đảm bảo chất lượng của chương trình không?

  • A. Đủ, vì dữ liệu hợp lệ là phổ biến nhất
  • B. Không đủ, cần kiểm thử cả dữ liệu không hợp lệ để xem chương trình xử lý lỗi như thế nào
  • C. Tùy thuộc vào loại chương trình
  • D. Chỉ cần kiểm thử chức năng chính là đủ

Câu 27: Trong quá trình làm việc nhóm, việc chia sẻ thông tin về lỗi và cách gỡ lỗi giữa các thành viên có lợi ích gì?

  • A. Không có lợi ích gì đặc biệt
  • B. Làm chậm quá trình gỡ lỗi
  • C. Chỉ có lợi cho người mới học lập trình
  • D. Giúp mọi người học hỏi kinh nghiệm và gỡ lỗi nhanh hơn, hiệu quả hơn

Câu 28: Để kiểm tra một hàm tính căn bậc hai, bạn cần chú ý đặc biệt đến trường hợp dữ liệu đầu vào nào?

  • A. Số âm, vì căn bậc hai của số âm không xác định trong số thực
  • B. Số dương lớn, vì có thể gây tràn số
  • C. Số 0, vì căn bậc hai của 0 là 0
  • D. Số nguyên, vì hàm chỉ hoạt động với số nguyên

Câu 29: Khi chương trình báo lỗi "IndexError: list index out of range", điều này thường có nghĩa là gì?

  • A. Lỗi cú pháp khi khai báo danh sách
  • B. Lỗi kiểu dữ liệu khi truy cập phần tử danh sách
  • C. Cố gắng truy cập một phần tử của danh sách bằng chỉ số không hợp lệ (ngoài phạm vi)
  • D. Lỗi bộ nhớ khi làm việc với danh sách lớn

Câu 30: Mục tiêu cuối cùng của quá trình kiểm thử và gỡ lỗi chương trình là gì?

  • A. Làm cho chương trình chạy nhanh hơn
  • B. Nâng cao chất lượng và độ tin cậy của chương trình
  • C. Hoàn thành dự án đúng thời hạn
  • D. Làm hài lòng người quản lý dự án

1 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 1: Loại lỗi nào xảy ra khi bạn viết sai cú pháp câu lệnh trong chương trình, ví dụ như quên dấu ngoặc, viết sai tên biến hoặc từ khóa?

2 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 2: Khi chương trình đang chạy, một phép toán không hợp lệ được thực hiện, ví dụ như chia cho 0 hoặc truy cập vào một vùng nhớ không được phép, lỗi này được gọi là gì?

3 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 3: Chương trình dịch không báo lỗi và chương trình vẫn chạy được, nhưng kết quả lại không đúng với mong đợi. Đây là biểu hiện của loại lỗi nào?

4 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 4: Công cụ 'Debug' trong môi trường lập trình được sử dụng chủ yếu cho mục đích nào sau đây?

5 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 5: Trong quá trình kiểm thử chương trình, bạn nên tạo ra các bộ dữ liệu kiểm thử thuộc những nhóm nào để đảm bảo tính toàn diện?

6 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 6: Thư viện 'PDB' trong Python cung cấp chức năng chính nào liên quan đến việc phát triển phần mềm?

7 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 7: Trong ba loại lỗi chính (cú pháp, ngoại lệ, ngữ nghĩa), loại lỗi nào thường khó phát hiện và sửa chữa nhất?

8 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 8: Để kiểm tra một hàm tính giai thừa, bạn cần chuẩn bị bộ dữ liệu kiểm thử nào để bao phủ các trường hợp quan trọng?

9 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 9: Phương pháp 'truy vết' (tracing) trong gỡ lỗi chương trình thường được thực hiện bằng cách nào?

10 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 10: Trong môi trường lập trình tích hợp (IDE), 'breakpoint' (điểm dừng) được dùng để làm gì trong quá trình gỡ lỗi?

11 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 11: Xét đoạn mã Python: `x = 10 / 0`. Khi chạy đoạn mã này, loại lỗi nào sẽ phát sinh?

12 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 12: Để kiểm thử tính năng đăng nhập của một hệ thống, bạn cần chuẩn bị những loại dữ liệu kiểm thử nào?

13 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 13: Phát biểu nào sau đây mô tả đúng nhất về quá trình 'gỡ lỗi' chương trình?

14 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 14: Trong quá trình gỡ lỗi, việc 'xem giá trị biến' tại một thời điểm cụ thể có ý nghĩa gì?

15 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 15: Điều gì xảy ra khi bạn cố gắng mở một tập tin không tồn tại trong chương trình Python?

16 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 16: Cho đoạn code Python sau: `def tinh_tong(a, b): return a - b`. Nếu gọi `tinh_tong(5, 3)` bạn mong đợi kết quả là 8 nhưng thực tế nhận được 2. Đây là loại lỗi gì?

17 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 17: Khi nào việc đọc kỹ mã nguồn chương trình (code review) trở thành một phương pháp tìm lỗi hiệu quả?

18 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 18: Để kiểm tra một chương trình sắp xếp danh sách số, bạn nên sử dụng bộ dữ liệu kiểm thử nào để đảm bảo tính đúng đắn của thuật toán sắp xếp?

19 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 19: Trong quá trình gỡ lỗi, nếu bạn nghi ngờ lỗi nằm trong một hàm cụ thể, bạn có thể sử dụng kỹ thuật nào để 'cô lập' và kiểm tra hàm đó?

20 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 20: Vì sao việc kiểm thử chương trình lại quan trọng trước khi đưa vào sử dụng thực tế?

21 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 21: Cho đoạn code Python: `age = input("Nhập tuổi: ")`. Nếu người dùng nhập chữ 'hai mươi', điều gì có thể xảy ra?

22 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 22: Trong quy trình phát triển phần mềm, giai đoạn 'kiểm thử và gỡ lỗi' thường diễn ra vào thời điểm nào?

23 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 23: Khi gặp lỗi ngoại lệ trong Python, để chương trình không bị dừng đột ngột và có thể xử lý lỗi một cách 'nhẹ nhàng', bạn sử dụng cơ chế nào?

24 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 24: Trong quá trình gỡ lỗi, việc thay đổi mã nguồn chương trình một cách ngẫu nhiên (thử và sai mù quáng) có được khuyến khích không?

25 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 25: Giả sử bạn viết một chương trình tính tổng các số trong một danh sách, nhưng kết quả luôn sai. Để tìm ra lỗi, bước đầu tiên bạn nên làm gì?

26 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 26: Khi kiểm thử chương trình, việc chỉ sử dụng dữ liệu 'hợp lệ' có đủ để đảm bảo chất lượng của chương trình không?

27 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 27: Trong quá trình làm việc nhóm, việc chia sẻ thông tin về lỗi và cách gỡ lỗi giữa các thành viên có lợi ích gì?

28 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 28: Để kiểm tra một hàm tính căn bậc hai, bạn cần chú ý đặc biệt đến trường hợp dữ liệu đầu vào nào?

29 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 29: Khi chương trình báo lỗi 'IndexError: list index out of range', điều này thường có nghĩa là gì?

30 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 3

Câu 30: Mục tiêu cuối cùng của quá trình kiểm thử và gỡ lỗi chương trình là gì?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình - Đề 04

Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình - Đề 04 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong quá trình phát triển phần mềm, giai đoạn nào sau đây tập trung chủ yếu vào việc phát hiện và loại bỏ lỗi trong chương trình?

  • A. Phân tích yêu cầu
  • B. Thiết kế hệ thống
  • C. Viết mã chương trình
  • D. Kiểm thử và gỡ lỗi

Câu 2: Loại lỗi nào sau đây thường được trình biên dịch (compiler) hoặc trình thông dịch (interpreter) phát hiện trước khi chương trình thực sự chạy?

  • A. Lỗi cú pháp
  • B. Lỗi ngữ nghĩa
  • C. Lỗi ngoại lệ
  • D. Lỗi logic

Câu 3: Xét đoạn mã Python sau: `x = 10 / 0`. Khi chạy đoạn mã này, loại lỗi nào sẽ phát sinh?

  • A. Lỗi cú pháp
  • B. Lỗi ngữ nghĩa
  • C. Lỗi ngoại lệ (ZeroDivisionError)
  • D. Không có lỗi

Câu 4: Trong quá trình gỡ lỗi, kỹ thuật "in vết" (tracing) thường được sử dụng để làm gì?

  • A. Tăng tốc độ thực thi chương trình
  • B. Theo dõi giá trị của biến và luồng thực thi
  • C. Sửa lỗi cú pháp tự động
  • D. Biên dịch mã nguồn sang mã máy

Câu 5: Phương pháp kiểm thử "hộp đen" (black-box testing) tập trung vào khía cạnh nào của phần mềm?

  • A. Cấu trúc mã nguồn bên trong
  • B. Thuật toán và logic của chương trình
  • C. Chức năng và hành vi bên ngoài
  • D. Hiệu suất và khả năng mở rộng

Câu 6: Điều gì KHÔNG phải là mục tiêu chính của kiểm thử chương trình?

  • A. Phát hiện lỗi trong chương trình
  • B. Đảm bảo chương trình hoạt động đúng yêu cầu
  • C. Nâng cao chất lượng phần mềm
  • D. Chứng minh chương trình không có lỗi

Câu 7: Trong quy trình kiểm thử, "bộ dữ liệu kiểm thử" (test data set) được sử dụng để làm gì?

  • A. Cung cấp đầu vào cho chương trình để kiểm tra hành vi
  • B. Đo lường hiệu suất của chương trình
  • C. Sửa lỗi trong mã nguồn
  • D. Tối ưu hóa mã chương trình

Câu 8: Loại lỗi nào thường xảy ra do sai sót trong suy nghĩ logic của người lập trình, dẫn đến chương trình chạy không đúng theo ý định ban đầu?

  • A. Lỗi cú pháp
  • B. Lỗi ngữ nghĩa (logic)
  • C. Lỗi ngoại lệ
  • D. Lỗi biên dịch

Câu 9: Công cụ gỡ lỗi (debugger) thường cung cấp tính năng "đi từng bước" (step-by-step execution). Tính năng này giúp ích gì cho việc gỡ lỗi?

  • A. Tự động sửa lỗi chương trình
  • B. Tối ưu hóa hiệu suất chương trình
  • C. Quan sát quá trình thực thi lệnh và trạng thái biến
  • D. Biên dịch mã nguồn nhanh hơn

Câu 10: Khi gặp lỗi ngoại lệ trong Python, cơ chế "xử lý ngoại lệ" (exception handling) cho phép chương trình làm gì?

  • A. Bỏ qua lỗi và tiếp tục thực thi
  • B. Xử lý lỗi một cách "nhẹ nhàng" và tiếp tục thực thi
  • C. Tự động sửa lỗi và chạy lại chương trình
  • D. Ngăn chặn hoàn toàn việc phát sinh lỗi

Câu 11: Để kiểm thử một hàm tính tổng hai số nguyên, bộ dữ liệu kiểm thử nào sau đây KHÔNG phù hợp để phát hiện lỗi biên?

  • A. A. (-1, 5), (0, 0), (MAX_INT, 1)
  • B. B. (MIN_INT, -1), (-5, -5), (0, MAX_INT)
  • C. C. (2, 3), (10, 20), (100, 50)
  • D. D. (MAX_INT, MAX_INT), (MIN_INT, MIN_INT), (0, 0)

Câu 12: Giả sử bạn viết một chương trình tính diện tích hình tròn với công thức `S = π * r * r`. Nếu bạn nhập bán kính `r` là một số âm, chương trình có thể phát sinh loại lỗi nào?

  • A. Lỗi cú pháp
  • B. Lỗi ngữ nghĩa (logic)
  • C. Lỗi ngoại lệ
  • D. Lỗi biên dịch

Câu 13: Trong ngôn ngữ lập trình, thông báo lỗi (error message) cung cấp thông tin quan trọng nhất nào cho người lập trình khi gỡ lỗi?

  • A. Vị trí và loại lỗi
  • B. Gợi ý cách sửa lỗi
  • C. Nguyên nhân sâu xa của lỗi
  • D. Mức độ nghiêm trọng của lỗi

Câu 14: Kỹ thuật "kiểm thử đơn vị" (unit testing) thường được thực hiện ở mức độ nào của chương trình?

  • A. Toàn bộ hệ thống
  • B. Từng đơn vị nhỏ (hàm, module, lớp)
  • C. Giao diện người dùng
  • D. Cơ sở dữ liệu

Câu 15: Để tăng khả năng phát hiện lỗi ngữ nghĩa, người lập trình nên thực hiện công việc nào thường xuyên?

  • A. Chạy chương trình với dữ liệu ngẫu nhiên
  • B. Sử dụng công cụ kiểm tra cú pháp
  • C. Xem xét lại mã nguồn (code review)
  • D. Tối ưu hóa mã nguồn

Câu 16: Trong quá trình gỡ lỗi, việc "tái hiện lỗi" (reproducing bug) quan trọng như thế nào?

  • A. Rất quan trọng, vì cần tái hiện lỗi để phân tích
  • B. Không quan trọng, vì lỗi nào cũng có cách sửa
  • C. Chỉ quan trọng với lỗi cú pháp
  • D. Chỉ cần thiết khi lỗi xảy ra thường xuyên

Câu 17: Phương pháp kiểm thử "hộp trắng" (white-box testing) khác biệt với "hộp đen" ở điểm nào?

  • A. Hộp trắng kiểm thử chức năng, hộp đen kiểm thử hiệu suất
  • B. Hộp trắng dựa trên cấu trúc mã, hộp đen dựa trên đặc tả chức năng
  • C. Hộp trắng dùng cho kiểm thử đơn vị, hộp đen dùng cho kiểm thử hệ thống
  • D. Hộp trắng tự động, hộp đen thủ công

Câu 18: Điều gì có thể dẫn đến lỗi ngoại lệ "FileNotFoundError" trong Python?

  • A. Lỗi cú pháp trong tên file
  • B. File bị khóa bởi tiến trình khác
  • C. Cố gắng mở một file không tồn tại
  • D. Sai quyền truy cập vào file

Câu 19: Khi chương trình chạy và gặp lỗi, thông báo lỗi thường hiển thị "dấu vết ngăn xếp" (stack trace). Dấu vết này cung cấp thông tin gì hữu ích?

  • A. Dung lượng bộ nhớ chương trình sử dụng
  • B. Thời gian thực thi chương trình
  • C. Cấu trúc dữ liệu chương trình sử dụng
  • D. Chuỗi các lệnh gọi hàm dẫn đến lỗi

Câu 20: Trong kiểm thử phần mềm, "độ bao phủ mã" (code coverage) là một chỉ số đo lường điều gì?

  • A. Tỷ lệ phần trăm mã nguồn đã được thực thi bởi bộ kiểm thử
  • B. Số lượng lỗi được phát hiện trên mỗi dòng mã
  • C. Mức độ phức tạp của mã nguồn
  • D. Hiệu suất thực thi của mã nguồn

Câu 21: Cho đoạn code Python: `def chia(a, b): return a / b`. Nếu gọi `chia(10, "2")`, lỗi gì sẽ xảy ra?

  • A. Lỗi cú pháp
  • B. Lỗi ngoại lệ (TypeError)
  • C. Lỗi ngữ nghĩa
  • D. Không có lỗi

Câu 22: Khi thiết kế bộ dữ liệu kiểm thử, việc bao gồm "dữ liệu biên" (boundary data) quan trọng vì lý do gì?

  • A. Dữ liệu biên dễ tạo ra lỗi cú pháp
  • B. Dữ liệu biên giúp kiểm tra hiệu suất
  • C. Lỗi thường xuất hiện ở giá trị biên của dữ liệu
  • D. Dữ liệu biên giúp kiểm tra tính bảo mật

Câu 23: Hoạt động nào sau đây KHÔNG thuộc giai đoạn kiểm thử và gỡ lỗi?

  • A. Thiết kế bộ dữ liệu kiểm thử
  • B. Thực hiện kiểm thử
  • C. Gỡ lỗi và sửa lỗi
  • D. Phân tích yêu cầu phần mềm

Câu 24: Trong quá trình gỡ lỗi, nếu bạn đã thử nhiều cách nhưng vẫn không tìm ra lỗi, bạn nên làm gì tiếp theo?

  • A. Bỏ cuộc và viết lại chương trình
  • B. Tham khảo ý kiến của đồng nghiệp hoặc người có kinh nghiệm
  • C. Chạy chương trình với nhiều dữ liệu hơn
  • D. Chỉ tập trung vào lỗi cú pháp

Câu 25: Mục đích chính của việc viết mã lệnh rõ ràng, dễ đọc và có cấu trúc tốt là gì trong việc kiểm thử và gỡ lỗi?

  • A. Giúp dễ dàng phát hiện và sửa lỗi
  • B. Tăng tốc độ thực thi chương trình
  • C. Giảm dung lượng bộ nhớ sử dụng
  • D. Tăng tính bảo mật của chương trình

Câu 26: Để kiểm tra tính đúng đắn của một thuật toán sắp xếp, bạn cần bộ dữ liệu kiểm thử như thế nào?

  • A. Chỉ chứa các số dương
  • B. Chỉ chứa các số đã được sắp xếp
  • C. Bao gồm dữ liệu đã sắp xếp, ngẫu nhiên, và đảo ngược
  • D. Chỉ chứa dữ liệu số nguyên

Câu 27: Khi nào lỗi "IndexError" thường xảy ra trong Python?

  • A. Chia cho số 0
  • B. Truy cập phần tử của list/tuple/string với chỉ số không hợp lệ
  • C. Ép kiểu dữ liệu không thành công
  • D. Thiếu dấu hai chấm trong câu lệnh điều kiện

Câu 28: Trong quy trình gỡ lỗi, sau khi xác định được nguyên nhân gây lỗi, bước tiếp theo quan trọng nhất là gì?

  • A. Ghi lại lỗi vào nhật ký
  • B. Thông báo lỗi cho người dùng
  • C. Sửa lỗi và kiểm tra lại
  • D. Tìm kiếm lỗi tương tự ở nơi khác

Câu 29: Điều gì KHÔNG phải là một kỹ năng quan trọng của người lập trình trong quá trình kiểm thử và gỡ lỗi?

  • A. Khả năng phân tích vấn đề
  • B. Tính kiên nhẫn và tỉ mỉ
  • C. Kỹ năng đọc và hiểu mã nguồn
  • D. Khả năng viết mã nhanh

Câu 30: Giả sử bạn có một chương trình phức tạp. Chiến lược kiểm thử nào sau đây giúp phát hiện lỗi hiệu quả nhất ở giai đoạn đầu phát triển?

  • A. Kiểm thử hệ thống
  • B. Kiểm thử đơn vị (unit testing)
  • C. Kiểm thử chấp nhận
  • D. Kiểm thử hiệu suất

1 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 1: Trong quá trình phát triển phần mềm, giai đoạn nào sau đây tập trung chủ yếu vào việc phát hiện và loại bỏ lỗi trong chương trình?

2 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 2: Loại lỗi nào sau đây thường được trình biên dịch (compiler) hoặc trình thông dịch (interpreter) phát hiện trước khi chương trình thực sự chạy?

3 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 3: Xét đoạn mã Python sau: `x = 10 / 0`. Khi chạy đoạn mã này, loại lỗi nào sẽ phát sinh?

4 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 4: Trong quá trình gỡ lỗi, kỹ thuật 'in vết' (tracing) thường được sử dụng để làm gì?

5 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 5: Phương pháp kiểm thử 'hộp đen' (black-box testing) tập trung vào khía cạnh nào của phần mềm?

6 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 6: Điều gì KHÔNG phải là mục tiêu chính của kiểm thử chương trình?

7 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 7: Trong quy trình kiểm thử, 'bộ dữ liệu kiểm thử' (test data set) được sử dụng để làm gì?

8 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 8: Loại lỗi nào thường xảy ra do sai sót trong suy nghĩ logic của người lập trình, dẫn đến chương trình chạy không đúng theo ý định ban đầu?

9 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 9: Công cụ gỡ lỗi (debugger) thường cung cấp tính năng 'đi từng bước' (step-by-step execution). Tính năng này giúp ích gì cho việc gỡ lỗi?

10 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 10: Khi gặp lỗi ngoại lệ trong Python, cơ chế 'xử lý ngoại lệ' (exception handling) cho phép chương trình làm gì?

11 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 11: Để kiểm thử một hàm tính tổng hai số nguyên, bộ dữ liệu kiểm thử nào sau đây KHÔNG phù hợp để phát hiện lỗi biên?

12 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 12: Giả sử bạn viết một chương trình tính diện tích hình tròn với công thức `S = π * r * r`. Nếu bạn nhập bán kính `r` là một số âm, chương trình có thể phát sinh loại lỗi nào?

13 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 13: Trong ngôn ngữ lập trình, thông báo lỗi (error message) cung cấp thông tin quan trọng nhất nào cho người lập trình khi gỡ lỗi?

14 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 14: Kỹ thuật 'kiểm thử đơn vị' (unit testing) thường được thực hiện ở mức độ nào của chương trình?

15 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 15: Để tăng khả năng phát hiện lỗi ngữ nghĩa, người lập trình nên thực hiện công việc nào thường xuyên?

16 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 16: Trong quá trình gỡ lỗi, việc 'tái hiện lỗi' (reproducing bug) quan trọng như thế nào?

17 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 17: Phương pháp kiểm thử 'hộp trắng' (white-box testing) khác biệt với 'hộp đen' ở điểm nào?

18 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 18: Điều gì có thể dẫn đến lỗi ngoại lệ 'FileNotFoundError' trong Python?

19 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 19: Khi chương trình chạy và gặp lỗi, thông báo lỗi thường hiển thị 'dấu vết ngăn xếp' (stack trace). Dấu vết này cung cấp thông tin gì hữu ích?

20 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 20: Trong kiểm thử phần mềm, 'độ bao phủ mã' (code coverage) là một chỉ số đo lường điều gì?

21 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 21: Cho đoạn code Python: `def chia(a, b): return a / b`. Nếu gọi `chia(10, '2')`, lỗi gì sẽ xảy ra?

22 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 22: Khi thiết kế bộ dữ liệu kiểm thử, việc bao gồm 'dữ liệu biên' (boundary data) quan trọng vì lý do gì?

23 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 23: Hoạt động nào sau đây KHÔNG thuộc giai đoạn kiểm thử và gỡ lỗi?

24 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 24: Trong quá trình gỡ lỗi, nếu bạn đã thử nhiều cách nhưng vẫn không tìm ra lỗi, bạn nên làm gì tiếp theo?

25 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 25: Mục đích chính của việc viết mã lệnh rõ ràng, dễ đọc và có cấu trúc tốt là gì trong việc kiểm thử và gỡ lỗi?

26 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 26: Để kiểm tra tính đúng đắn của một thuật toán sắp xếp, bạn cần bộ dữ liệu kiểm thử như thế nào?

27 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 27: Khi nào lỗi 'IndexError' thường xảy ra trong Python?

28 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 28: Trong quy trình gỡ lỗi, sau khi xác định được nguyên nhân gây lỗi, bước tiếp theo quan trọng nhất là gì?

29 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 29: Điều gì KHÔNG phải là một kỹ năng quan trọng của người lập trình trong quá trình kiểm thử và gỡ lỗi?

30 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 4

Câu 30: Giả sử bạn có một chương trình phức tạp. Chiến lược kiểm thử nào sau đây giúp phát hiện lỗi hiệu quả nhất ở giai đoạn đầu phát triển?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình - Đề 05

Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình - Đề 05 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Khi viết chương trình Python, bạn quên đóng dấu ngoặc đơn trong lệnh `print()`. Loại lỗi nào sẽ xuất hiện khi bạn chạy chương trình?

  • A. Lỗi cú pháp (Syntax Error)
  • B. Lỗi ngoại lệ (Exception Error)
  • C. Lỗi ngữ nghĩa (Semantic Error)
  • D. Chương trình vẫn chạy bình thường

Câu 2: Chương trình Python đang chạy và gặp phải lệnh chia cho 0. Loại lỗi nào sẽ phát sinh và làm chương trình dừng lại?

  • A. Lỗi cú pháp (Syntax Error)
  • B. Lỗi ngoại lệ (Exception Error)
  • C. Lỗi ngữ nghĩa (Semantic Error)
  • D. Không có lỗi nào xảy ra

Câu 3: Bạn viết chương trình tính diện tích hình tròn với công thức `S = π * r * r`, nhưng lại nhầm lẫn viết `S = 2 * π * r`. Chương trình chạy không báo lỗi nhưng kết quả sai. Đây là loại lỗi gì?

  • A. Lỗi cú pháp (Syntax Error)
  • B. Lỗi ngoại lệ (Exception Error)
  • C. Lỗi ngữ nghĩa (Semantic Error)
  • D. Lỗi biên dịch (Compilation Error)

Câu 4: Trong quá trình kiểm thử chương trình, bạn nên ưu tiên kiểm tra những trường hợp dữ liệu nào trước?

  • A. Dữ liệu đầu vào thông thường, phổ biến
  • B. Dữ liệu đầu vào là giá trị biên (giá trị lớn nhất, nhỏ nhất)
  • C. Dữ liệu đầu vào bất thường, không hợp lệ
  • D. Tất cả các loại dữ liệu cùng lúc

Câu 5: Công cụ gỡ lỗi (debugger) cung cấp chức năng "đi từng bước" (step-by-step execution). Chức năng này giúp ích gì cho việc gỡ lỗi?

  • A. Tự động sửa lỗi chương trình
  • B. Tăng tốc độ chạy chương trình
  • C. Theo dõi giá trị biến và dòng lệnh thực thi
  • D. Biên dịch chương trình sang ngôn ngữ máy

Câu 6: Xét đoạn mã Python sau: `x = 10 / "5"`. Khi chạy đoạn mã này, lỗi gì sẽ xảy ra?

  • A. SyntaxError
  • B. TypeError
  • C. ValueError
  • D. Không có lỗi

Câu 7: Trong quá trình gỡ lỗi, sau khi xác định được vị trí và nguyên nhân gây lỗi, bước tiếp theo quan trọng nhất là gì?

  • A. Báo cáo lỗi cho người khác
  • B. Ghi lại lỗi vào nhật ký
  • C. Sửa chữa mã nguồn để khắc phục lỗi
  • D. Chạy lại chương trình với dữ liệu khác

Câu 8: Khi nào lỗi ngữ nghĩa thường trở nên khó phát hiện hơn so với lỗi cú pháp hoặc lỗi ngoại lệ?

  • A. Khi chương trình có ít dòng code
  • B. Khi sử dụng ngôn ngữ lập trình bậc cao
  • C. Khi có công cụ kiểm tra cú pháp tự động
  • D. Khi chương trình chạy mà không báo lỗi nhưng kết quả sai

Câu 9: Để kiểm tra chương trình tính tổng các số từ 1 đến n, bạn nên thiết kế bộ dữ liệu kiểm thử nào để bao phủ các trường hợp đặc biệt?

  • A. n là số lớn ngẫu nhiên (ví dụ: 1000)
  • B. n = 0, n = 1, n là số âm (nếu chương trình cho phép)
  • C. n là số chẵn, n là số lẻ
  • D. n là số nguyên tố

Câu 10: Thư viện `pdb` trong Python chủ yếu được sử dụng cho mục đích gì?

  • A. Quản lý cơ sở dữ liệu
  • B. Xử lý đồ họa
  • C. Tính toán khoa học
  • D. Gỡ lỗi chương trình

Câu 11: Trong quá trình kiểm thử, việc sử dụng dữ liệu có kích thước nhỏ, dễ kiểm soát kết quả bằng tay có lợi ích gì?

  • A. Dễ dàng kiểm tra tính đúng đắn của kết quả chương trình
  • B. Giảm thời gian chạy chương trình
  • C. Phát hiện lỗi cú pháp nhanh hơn
  • D. Tăng độ tin cậy của chương trình

Câu 12: Khẳng định nào sau đây là đúng về lỗi ngoại lệ trong Python?

  • A. Lỗi ngoại lệ luôn ngăn chương trình biên dịch
  • B. Lỗi ngoại lệ xảy ra khi chương trình đang thực thi
  • C. Lỗi ngoại lệ là do sai cú pháp ngôn ngữ
  • D. Lỗi ngoại lệ có thể tự động sửa chữa được

Câu 13: Để truy vết lỗi trong chương trình phức tạp, phương pháp nào sau đây hiệu quả hơn việc chỉ đọc mã nguồn?

  • A. Thử sửa đổi mã nguồn một cách ngẫu nhiên
  • B. Chạy chương trình với nhiều bộ dữ liệu khác nhau
  • C. Sử dụng công cụ gỡ lỗi (debugger)
  • D. Viết lại toàn bộ chương trình

Câu 14: Bạn muốn xem giá trị của biến `count` thay đổi như thế nào sau mỗi vòng lặp trong chương trình. Công cụ nào giúp bạn thực hiện điều này?

  • A. Trình soạn thảo văn bản thông thường
  • B. Công cụ gỡ lỗi (debugger)
  • C. Trình biên dịch Python
  • D. Hệ điều hành

Câu 15: Điều gì xảy ra khi chương trình cố gắng mở một tập tin để đọc, nhưng tập tin đó không tồn tại?

  • A. Chương trình tự động tạo tập tin mới
  • B. Chương trình bỏ qua lệnh mở tập tin
  • C. Chương trình báo lỗi ngoại lệ (FileNotFoundError)
  • D. Chương trình chạy nhưng đọc dữ liệu rỗng

Câu 16: Trong quy trình kiểm thử, sau khi phát hiện lỗi, bạn cần thực hiện hành động nào để đảm bảo lỗi không tái diễn trong tương lai?

  • A. Xóa bỏ bộ dữ liệu kiểm thử gây ra lỗi
  • B. Bỏ qua lỗi nếu nó không nghiêm trọng
  • C. Chỉ sửa lỗi mà không kiểm tra lại
  • D. Kiểm thử lại chương trình sau khi sửa lỗi

Câu 17: Giả sử bạn có một chương trình tính trung bình cộng của một danh sách số. Nếu danh sách đầu vào rỗng, chương trình của bạn nên xử lý tình huống này như thế nào?

  • A. Báo lỗi cú pháp
  • B. Xử lý ngoại lệ hoặc trả về giá trị mặc định (ví dụ: 0 hoặc thông báo lỗi)
  • C. Chạy vòng lặp vô hạn
  • D. Trả về một giá trị ngẫu nhiên

Câu 18: Trong lập trình, "bug" (lỗi) thường được hiểu là gì?

  • A. Một lỗi hoặc sai sót trong mã nguồn chương trình
  • B. Một tính năng không mong muốn của chương trình
  • C. Sự cố phần cứng máy tính
  • D. Virus máy tính

Câu 19: Tại sao việc kiểm thử chương trình với nhiều loại dữ liệu đầu vào khác nhau lại quan trọng?

  • A. Để tăng tốc độ chạy chương trình
  • B. Để làm cho mã nguồn ngắn gọn hơn
  • C. Để phát hiện lỗi tiềm ẩn trong nhiều tình huống sử dụng
  • D. Để chương trình dễ đọc hơn

Câu 20: Trong quá trình gỡ lỗi, khi bạn đặt điểm dừng (breakpoint) tại một dòng lệnh, điều gì sẽ xảy ra khi chạy chương trình?

  • A. Chương trình bỏ qua dòng lệnh đó
  • B. Chương trình tạm dừng tại dòng lệnh đó để bạn kiểm tra
  • C. Chương trình xóa dòng lệnh đó
  • D. Chương trình chạy chậm hơn bình thường

Câu 21: Xét đoạn mã Python: `age = input("Nhập tuổi của bạn: ")`. Nếu người dùng nhập chữ "hai mươi", lỗi gì có thể xảy ra khi chương trình tiếp tục xử lý `age` như một số nguyên?

  • A. ValueError
  • B. TypeError
  • C. SyntaxError
  • D. Không có lỗi

Câu 22: Để kiểm thử tính năng đăng nhập của một hệ thống, bạn cần chuẩn bị những loại dữ liệu kiểm thử nào?

  • A. Chỉ dữ liệu đăng nhập thành công
  • B. Chỉ dữ liệu đăng nhập thất bại
  • C. Dữ liệu đăng nhập thành công và thất bại (tên đăng nhập, mật khẩu đúng và sai)
  • D. Dữ liệu ngẫu nhiên không liên quan đến đăng nhập

Câu 23: Trong quá trình gỡ lỗi, việc xem "call stack" (ngăn xếp lệnh gọi) có thể giúp bạn làm gì?

  • A. Tăng tốc độ chương trình
  • B. Sửa lỗi cú pháp tự động
  • C. Hiển thị giá trị biến
  • D. Theo dõi trình tự các hàm đã được gọi trước khi xảy ra lỗi

Câu 24: Tại sao việc viết mã nguồn rõ ràng, dễ đọc lại giúp ích cho quá trình kiểm thử và gỡ lỗi?

  • A. Chương trình chạy nhanh hơn
  • B. Giúp người khác dễ dàng hiểu và kiểm tra mã nguồn, tìm lỗi
  • C. Giảm dung lượng bộ nhớ chương trình
  • D. Tăng tính bảo mật của chương trình

Câu 25: Trong kiểm thử phần mềm, thuật ngữ "test case" (ca kiểm thử) dùng để chỉ điều gì?

  • A. Một loại lỗi cụ thể trong chương trình
  • B. Một công cụ dùng để kiểm thử chương trình
  • C. Một tập hợp các điều kiện đầu vào, dữ liệu và kết quả mong đợi để kiểm tra một chức năng cụ thể
  • D. Một báo cáo về lỗi đã phát hiện

Câu 26: Để kiểm thử một hàm tính giai thừa, bạn nên thiết kế test case nào để kiểm tra trường hợp đầu vào không hợp lệ?

  • A. Số nguyên dương lớn (ví dụ: 20)
  • B. Số âm (ví dụ: -1)
  • C. Số 0
  • D. Số 1

Câu 27: Khi gặp lỗi ngoại lệ trong chương trình Python, bạn có thể sử dụng cấu trúc nào để "bắt" và xử lý ngoại lệ thay vì để chương trình dừng lại?

  • A. if-else
  • B. for loop
  • C. while loop
  • D. try-except

Câu 28: Trong quá trình phát triển phần mềm, giai đoạn nào mà việc kiểm thử và gỡ lỗi thường tốn nhiều thời gian và công sức nhất?

  • A. Giai đoạn thiết kế
  • B. Giai đoạn lập trình
  • C. Giai đoạn kiểm thử và sau triển khai
  • D. Giai đoạn phân tích yêu cầu

Câu 29: Lỗi nào sau đây thường được phát hiện trong giai đoạn biên dịch chương trình, trước khi chương trình thực sự chạy?

  • A. Lỗi cú pháp (Syntax Error)
  • B. Lỗi ngoại lệ (Exception Error)
  • C. Lỗi ngữ nghĩa (Semantic Error)
  • D. Lỗi logic (Logic Error - thường là một dạng của Semantic Error)

Câu 30: Khi chương trình chạy chậm hơn dự kiến, nhưng không báo lỗi, loại lỗi nào có thể là nguyên nhân và cần được truy vết?

  • A. Lỗi cú pháp
  • B. Lỗi ngoại lệ
  • C. Lỗi ngữ nghĩa (liên quan đến hiệu năng, logic không tối ưu)
  • D. Lỗi phần cứng

1 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 1: Khi viết chương trình Python, bạn quên đóng dấu ngoặc đơn trong lệnh `print()`. Loại lỗi nào sẽ xuất hiện khi bạn chạy chương trình?

2 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 2: Chương trình Python đang chạy và gặp phải lệnh chia cho 0. Loại lỗi nào sẽ phát sinh và làm chương trình dừng lại?

3 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 3: Bạn viết chương trình tính diện tích hình tròn với công thức `S = π * r * r`, nhưng lại nhầm lẫn viết `S = 2 * π * r`. Chương trình chạy không báo lỗi nhưng kết quả sai. Đây là loại lỗi gì?

4 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 4: Trong quá trình kiểm thử chương trình, bạn nên ưu tiên kiểm tra những trường hợp dữ liệu nào trước?

5 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 5: Công cụ gỡ lỗi (debugger) cung cấp chức năng 'đi từng bước' (step-by-step execution). Chức năng này giúp ích gì cho việc gỡ lỗi?

6 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 6: Xét đoạn mã Python sau: `x = 10 / '5'`. Khi chạy đoạn mã này, lỗi gì sẽ xảy ra?

7 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 7: Trong quá trình gỡ lỗi, sau khi xác định được vị trí và nguyên nhân gây lỗi, bước tiếp theo quan trọng nhất là gì?

8 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 8: Khi nào lỗi ngữ nghĩa thường trở nên khó phát hiện hơn so với lỗi cú pháp hoặc lỗi ngoại lệ?

9 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 9: Để kiểm tra chương trình tính tổng các số từ 1 đến n, bạn nên thiết kế bộ dữ liệu kiểm thử nào để bao phủ các trường hợp đặc biệt?

10 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 10: Thư viện `pdb` trong Python chủ yếu được sử dụng cho mục đích gì?

11 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 11: Trong quá trình kiểm thử, việc sử dụng dữ liệu có kích thước nhỏ, dễ kiểm soát kết quả bằng tay có lợi ích gì?

12 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 12: Khẳng định nào sau đây là đúng về lỗi ngoại lệ trong Python?

13 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 13: Để truy vết lỗi trong chương trình phức tạp, phương pháp nào sau đây hiệu quả hơn việc chỉ đọc mã nguồn?

14 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 14: Bạn muốn xem giá trị của biến `count` thay đổi như thế nào sau mỗi vòng lặp trong chương trình. Công cụ nào giúp bạn thực hiện điều này?

15 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 15: Điều gì xảy ra khi chương trình cố gắng mở một tập tin để đọc, nhưng tập tin đó không tồn tại?

16 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 16: Trong quy trình kiểm thử, sau khi phát hiện lỗi, bạn cần thực hiện hành động nào để đảm bảo lỗi không tái diễn trong tương lai?

17 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 17: Giả sử bạn có một chương trình tính trung bình cộng của một danh sách số. Nếu danh sách đầu vào rỗng, chương trình của bạn nên xử lý tình huống này như thế nào?

18 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 18: Trong lập trình, 'bug' (lỗi) thường được hiểu là gì?

19 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 19: Tại sao việc kiểm thử chương trình với nhiều loại dữ liệu đầu vào khác nhau lại quan trọng?

20 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 20: Trong quá trình gỡ lỗi, khi bạn đặt điểm dừng (breakpoint) tại một dòng lệnh, điều gì sẽ xảy ra khi chạy chương trình?

21 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 21: Xét đoạn mã Python: `age = input('Nhập tuổi của bạn: ')`. Nếu người dùng nhập chữ 'hai mươi', lỗi gì có thể xảy ra khi chương trình tiếp tục xử lý `age` như một số nguyên?

22 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 22: Để kiểm thử tính năng đăng nhập của một hệ thống, bạn cần chuẩn bị những loại dữ liệu kiểm thử nào?

23 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 23: Trong quá trình gỡ lỗi, việc xem 'call stack' (ngăn xếp lệnh gọi) có thể giúp bạn làm gì?

24 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 24: Tại sao việc viết mã nguồn rõ ràng, dễ đọc lại giúp ích cho quá trình kiểm thử và gỡ lỗi?

25 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 25: Trong kiểm thử phần mềm, thuật ngữ 'test case' (ca kiểm thử) dùng để chỉ điều gì?

26 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 26: Để kiểm thử một hàm tính giai thừa, bạn nên thiết kế test case nào để kiểm tra trường hợp đầu vào không hợp lệ?

27 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 27: Khi gặp lỗi ngoại lệ trong chương trình Python, bạn có thể sử dụng cấu trúc nào để 'bắt' và xử lý ngoại lệ thay vì để chương trình dừng lại?

28 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 28: Trong quá trình phát triển phần mềm, giai đoạn nào mà việc kiểm thử và gỡ lỗi thường tốn nhiều thời gian và công sức nhất?

29 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 29: Lỗi nào sau đây thường được phát hiện trong giai đoạn biên dịch chương trình, trước khi chương trình thực sự chạy?

30 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 5

Câu 30: Khi chương trình chạy chậm hơn dự kiến, nhưng không báo lỗi, loại lỗi nào có thể là nguyên nhân và cần được truy vết?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình - Đề 06

Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình - Đề 06 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Loại lỗi nào xảy ra khi câu lệnh trong chương trình vi phạm quy tắc ngữ pháp của ngôn ngữ lập trình, ví dụ như viết sai tên biến hoặc thiếu dấu chấm phẩy?

  • A. Lỗi cú pháp (Syntax error)
  • B. Lỗi ngoại lệ (Runtime error)
  • C. Lỗi ngữ nghĩa (Semantic error)
  • D. Lỗi logic (Logic error)

Câu 2: Trong quá trình chạy chương trình, nếu chương trình cố gắng thực hiện một phép toán không hợp lệ, chẳng hạn như chia cho 0 hoặc truy cập vào một vùng nhớ không được phép, loại lỗi nào sẽ phát sinh?

  • A. Lỗi cú pháp (Syntax error)
  • B. Lỗi ngoại lệ (Runtime error)
  • C. Lỗi ngữ nghĩa (Semantic error)
  • D. Lỗi biên dịch (Compilation error)

Câu 3: Xét đoạn mã Python sau: `x = 5 + "2"`. Khi chạy đoạn mã này, loại lỗi nào sẽ xuất hiện?

  • A. Lỗi cú pháp (Syntax error)
  • B. Lỗi ngoại lệ (Runtime error)
  • C. Lỗi ngữ nghĩa (Semantic error)
  • D. Không có lỗi

Câu 4: Lỗi ngữ nghĩa (Semantic error) trong chương trình thường liên quan đến vấn đề gì?

  • A. Vi phạm quy tắc chính tả của ngôn ngữ lập trình
  • B. Sử dụng sai thư viện hoặc hàm có sẵn
  • C. Sai sót trong logic hoặc thuật toán của chương trình
  • D. Lỗi phần cứng máy tính

Câu 5: Trong quá trình gỡ lỗi chương trình, bước đầu tiên quan trọng nhất là gì?

  • A. Xác định và mô tả lỗi một cách rõ ràng
  • B. Sửa đổi mã chương trình ngay lập tức
  • C. Tham khảo ý kiến của người khác
  • D. Chạy lại chương trình nhiều lần

Câu 6: Công cụ "Debug" trong môi trường lập trình được sử dụng chủ yếu để làm gì?

  • A. Tăng tốc độ biên dịch chương trình
  • B. Theo dõi và kiểm soát quá trình thực thi chương trình để tìm lỗi
  • C. Tự động sửa lỗi cú pháp
  • D. Tối ưu hóa hiệu suất chương trình

Câu 7: Khi sử dụng công cụ Debug, thao tác "Bước qua" (Step Over) thường được dùng để:

  • A. Thực hiện chương trình đến dòng lệnh tiếp theo và đi vào bên trong các hàm
  • B. Chạy chương trình liên tục đến điểm dừng tiếp theo
  • C. Thực hiện chương trình đến dòng lệnh tiếp theo nhưng bỏ qua việc đi vào bên trong các hàm
  • D. Khởi động lại chương trình từ đầu

Câu 8: Kỹ thuật "in vết" (tracing) trong gỡ lỗi chương trình là gì?

  • A. Sử dụng các lệnh in để hiển thị giá trị biến hoặc thông báo tại các điểm khác nhau trong chương trình
  • B. Sử dụng công cụ Debug để chạy từng bước
  • C. Đọc kỹ mã nguồn chương trình để tìm lỗi
  • D. Viết lại toàn bộ chương trình

Câu 9: Để kiểm thử chương trình, chúng ta nên thiết kế các bộ dữ liệu đầu vào như thế nào?

  • A. Chỉ tập trung vào dữ liệu đầu vào hợp lệ
  • B. Chỉ sử dụng dữ liệu đầu vào ngẫu nhiên
  • C. Chỉ kiểm thử với một vài trường hợp đơn giản
  • D. Đa dạng, bao gồm các trường hợp thông thường, trường hợp biên, và trường hợp đặc biệt

Câu 10: Loại dữ liệu kiểm thử nào sau đây giúp phát hiện lỗi liên quan đến giới hạn hoặc ngưỡng của chương trình?

  • A. Dữ liệu thông thường
  • B. Dữ liệu biên (Boundary data)
  • C. Dữ liệu ngẫu nhiên
  • D. Dữ liệu lớn

Câu 11: Xét chương trình tính tổng hai số nguyên. Trường hợp dữ liệu đầu vào nào sau đây là dữ liệu biên?

  • A. a = 5, b = 7
  • B. a = 100, b = 200
  • C. a = 0, b = 0 hoặc a = MAX_INT, b = 1
  • D. a = -5, b = 10

Câu 12: Giả sử bạn viết một hàm tính giai thừa. Nếu bạn nhập vào một số âm, điều gì có thể xảy ra nếu chương trình không được kiểm tra lỗi đầu vào?

  • A. Chương trình sẽ tính giai thừa của giá trị tuyệt đối của số âm.
  • B. Chương trình có thể gặp lỗi ngoại lệ hoặc cho kết quả không đúng.
  • C. Chương trình sẽ tự động sửa lỗi và tính giai thừa đúng.
  • D. Chương trình sẽ bỏ qua đầu vào âm và yêu cầu nhập lại.

Câu 13: Mục đích chính của việc kiểm thử chương trình là gì?

  • A. Chứng minh rằng chương trình là hoàn hảo và không có lỗi.
  • B. Tăng tốc độ thực thi của chương trình.
  • C. Phát hiện và sửa chữa lỗi trong chương trình.
  • D. Làm cho mã nguồn chương trình dễ đọc hơn.

Câu 14: Phát biểu nào sau đây là đúng về tầm quan trọng của việc gỡ lỗi chương trình?

  • A. Gỡ lỗi chỉ cần thiết cho các chương trình lớn và phức tạp.
  • B. Gỡ lỗi là công việc không quan trọng, có thể bỏ qua để tiết kiệm thời gian.
  • C. Gỡ lỗi chỉ giúp tìm lỗi cú pháp, không liên quan đến lỗi logic.
  • D. Gỡ lỗi là quá trình quan trọng để đảm bảo chương trình hoạt động đúng và tin cậy.

Câu 15: Khi gặp lỗi ngoại lệ trong quá trình chạy chương trình Python, thông báo lỗi thường cung cấp thông tin gì hữu ích nhất cho việc gỡ lỗi?

  • A. Kích thước của chương trình
  • B. Dòng lệnh gây ra lỗi và loại lỗi
  • C. Thời gian chạy chương trình
  • D. Tên biến đang được sử dụng

Câu 16: Trong quá trình phát triển phần mềm, giai đoạn kiểm thử và gỡ lỗi thường diễn ra vào thời điểm nào?

  • A. Trước khi viết mã chương trình
  • B. Song song với giai đoạn phân tích yêu cầu
  • C. Sau khi viết mã chương trình và trước khi triển khai
  • D. Chỉ sau khi chương trình đã được triển khai và người dùng báo lỗi

Câu 17: Để kiểm tra tính đúng đắn của một hàm phức tạp, phương pháp kiểm thử nào sau đây thường hiệu quả?

  • A. Kiểm thử chấp nhận (Acceptance testing)
  • B. Kiểm thử tích hợp (Integration testing)
  • C. Kiểm thử hệ thống (System testing)
  • D. Kiểm thử đơn vị (Unit testing)

Câu 18: Khi chương trình chạy không ra kết quả như mong đợi, nhưng không báo lỗi, loại lỗi nào có khả năng cao đang xảy ra?

  • A. Lỗi cú pháp (Syntax error)
  • B. Lỗi ngoại lệ (Runtime error)
  • C. Lỗi ngữ nghĩa (Semantic error)
  • D. Lỗi phần cứng (Hardware error)

Câu 19: Xét đoạn mã Python: `def chia(a, b): return a / b`. Nếu gọi `chia(10, 0)`, điều gì sẽ xảy ra?

  • A. Hàm sẽ trả về giá trị 0
  • B. Lỗi ngoại lệ ZeroDivisionError sẽ xảy ra
  • C. Hàm sẽ trả về giá trị vô cực (infinity)
  • D. Chương trình sẽ tiếp tục chạy mà không có vấn đề gì

Câu 20: Để gỡ lỗi hiệu quả, người lập trình nên có kỹ năng nào sau đây?

  • A. Gõ mã nhanh
  • B. Nhớ tất cả các lệnh của ngôn ngữ lập trình
  • C. Tư duy logic và khả năng phân tích vấn đề
  • D. Sử dụng nhiều thư viện bên ngoài

Câu 21: Khi kiểm thử một chương trình nhập liệu từ người dùng, loại dữ liệu đầu vào "không hợp lệ" là gì?

  • A. Dữ liệu không đúng định dạng hoặc nằm ngoài phạm vi dự kiến của chương trình
  • B. Dữ liệu được nhập vào quá nhanh
  • C. Dữ liệu có kích thước quá lớn
  • D. Dữ liệu đúng với yêu cầu của chương trình

Câu 22: Phương pháp "kiểm thử hộp đen" (black-box testing) tập trung vào việc kiểm tra khía cạnh nào của chương trình?

  • A. Cấu trúc mã nguồn bên trong chương trình
  • B. Chức năng và hành vi bên ngoài của chương trình
  • C. Hiệu suất và tốc độ của chương trình
  • D. Tính dễ đọc và dễ bảo trì của mã nguồn

Câu 23: Ưu điểm của việc sử dụng công cụ Debug so với phương pháp "in vết" (tracing) là gì?

  • A. Phương pháp Debug nhanh hơn phương pháp "in vết".
  • B. Phương pháp "in vết" dễ thực hiện hơn Debug.
  • C. Debug cho phép theo dõi và kiểm soát chương trình từng bước, quan sát giá trị biến trực tiếp.
  • D. Phương pháp "in vết" không làm thay đổi mã nguồn chương trình.

Câu 24: Khi nào lỗi ngữ nghĩa (semantic error) thường trở nên rõ ràng nhất?

  • A. Ngay khi biên dịch chương trình
  • B. Khi viết mã chương trình
  • C. Khi chương trình gặp lỗi ngoại lệ
  • D. Sau khi chạy chương trình với nhiều bộ dữ liệu kiểm thử khác nhau

Câu 25: Cho đoạn mã Python sau: `for i in range(10): print(j)`. Lỗi trong đoạn mã này là loại lỗi gì?

  • A. Lỗi cú pháp (Syntax error)
  • B. Lỗi ngoại lệ (Runtime error)
  • C. Lỗi ngữ nghĩa (Semantic error)
  • D. Không có lỗi

Câu 26: Trong quy trình gỡ lỗi, sau khi xác định được vị trí lỗi, bước tiếp theo quan trọng là gì?

  • A. Sửa lỗi một cách ngẫu nhiên
  • B. Chạy lại chương trình ngay lập tức
  • C. Phân tích nguyên nhân gây ra lỗi
  • D. Bỏ qua lỗi và tiếp tục viết mã

Câu 27: Điều gì có thể xảy ra nếu không kiểm thử chương trình kỹ lưỡng trước khi phát hành?

  • A. Chương trình sẽ chạy nhanh hơn
  • B. Chương trình sẽ tự động sửa lỗi sau khi phát hành
  • C. Chương trình sẽ được người dùng đánh giá cao hơn
  • D. Chương trình có thể chứa nhiều lỗi và gây ra sự cố cho người dùng

Câu 28: Khi sử dụng Debugger, "điểm dừng" (breakpoint) được dùng để làm gì?

  • A. Tạm dừng chương trình tại một dòng lệnh cụ thể để kiểm tra trạng thái
  • B. Tăng tốc độ chạy chương trình
  • C. Bỏ qua một phần mã chương trình
  • D. Tự động sửa lỗi tại dòng lệnh đó

Câu 29: Trong quá trình gỡ lỗi, nếu bạn thay đổi mã nguồn để sửa lỗi, điều quan trọng cần làm sau đó là gì?

  • A. Xóa các lệnh in vết đã thêm vào
  • B. Kiểm thử lại chương trình để đảm bảo lỗi đã được sửa và không có lỗi mới
  • C. Gửi chương trình cho người dùng kiểm thử
  • D. Sao lưu mã nguồn chương trình

Câu 30: Loại lỗi nào thường khó phát hiện nhất trong quá trình phát triển chương trình?

  • A. Lỗi cú pháp (Syntax error)
  • B. Lỗi ngoại lệ (Runtime error)
  • C. Lỗi ngữ nghĩa (Semantic error)
  • D. Lỗi biên dịch (Compilation error)

1 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 1: Loại lỗi nào xảy ra khi câu lệnh trong chương trình vi phạm quy tắc ng?? pháp của ngôn ngữ lập trình, ví dụ như viết sai tên biến hoặc thiếu dấu chấm phẩy?

2 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 2: Trong quá trình chạy chương trình, nếu chương trình cố gắng thực hiện một phép toán không hợp lệ, chẳng hạn như chia cho 0 hoặc truy cập vào một vùng nhớ không được phép, loại lỗi nào sẽ phát sinh?

3 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 3: Xét đoạn mã Python sau: `x = 5 + '2'`. Khi chạy đoạn mã này, loại lỗi nào sẽ xuất hiện?

4 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 4: Lỗi ngữ nghĩa (Semantic error) trong chương trình thường liên quan đến vấn đề gì?

5 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 5: Trong quá trình gỡ lỗi chương trình, bước đầu tiên quan trọng nhất là gì?

6 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 6: Công cụ 'Debug' trong môi trường lập trình được sử dụng chủ yếu để làm gì?

7 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 7: Khi sử dụng công cụ Debug, thao tác 'Bước qua' (Step Over) thường được dùng để:

8 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 8: Kỹ thuật 'in vết' (tracing) trong gỡ lỗi chương trình là gì?

9 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 9: Để kiểm thử chương trình, chúng ta nên thiết kế các bộ dữ liệu đầu vào như thế nào?

10 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 10: Loại dữ liệu kiểm thử nào sau đây giúp phát hiện lỗi liên quan đến giới hạn hoặc ngưỡng của chương trình?

11 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 11: Xét chương trình tính tổng hai số nguyên. Trường hợp dữ liệu đầu vào nào sau đây là dữ liệu biên?

12 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 12: Giả sử bạn viết một hàm tính giai thừa. Nếu bạn nhập vào một số âm, điều gì có thể xảy ra nếu chương trình không được kiểm tra lỗi đầu vào?

13 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 13: Mục đích chính của việc kiểm thử chương trình là gì?

14 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 14: Phát biểu nào sau đây là đúng về tầm quan trọng của việc gỡ lỗi chương trình?

15 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 15: Khi gặp lỗi ngoại lệ trong quá trình chạy chương trình Python, thông báo lỗi thường cung cấp thông tin gì hữu ích nhất cho việc gỡ lỗi?

16 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 16: Trong quá trình phát triển phần mềm, giai đoạn kiểm thử và gỡ lỗi thường diễn ra vào thời điểm nào?

17 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 17: Để kiểm tra tính đúng đắn của một hàm phức tạp, phương pháp kiểm thử nào sau đây thường hiệu quả?

18 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 18: Khi chương trình chạy không ra kết quả như mong đợi, nhưng không báo lỗi, loại lỗi nào có khả năng cao đang xảy ra?

19 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 19: Xét đoạn mã Python: `def chia(a, b): return a / b`. Nếu gọi `chia(10, 0)`, điều gì sẽ xảy ra?

20 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 20: Để gỡ lỗi hiệu quả, người lập trình nên có kỹ năng nào sau đây?

21 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 21: Khi kiểm thử một chương trình nhập liệu từ người dùng, loại dữ liệu đầu vào 'không hợp lệ' là gì?

22 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 22: Phương pháp 'kiểm thử hộp đen' (black-box testing) tập trung vào việc kiểm tra khía cạnh nào của chương trình?

23 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 23: Ưu điểm của việc sử dụng công cụ Debug so với phương pháp 'in vết' (tracing) là gì?

24 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 24: Khi nào lỗi ngữ nghĩa (semantic error) thường trở nên rõ ràng nhất?

25 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 25: Cho đoạn mã Python sau: `for i in range(10): print(j)`. Lỗi trong đoạn mã này là loại lỗi gì?

26 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 26: Trong quy trình gỡ lỗi, sau khi xác định được vị trí lỗi, bước tiếp theo quan trọng là gì?

27 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 27: Điều gì có thể xảy ra nếu không kiểm thử chương trình kỹ lưỡng trước khi phát hành?

28 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 28: Khi sử dụng Debugger, 'điểm dừng' (breakpoint) được dùng để làm gì?

29 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 29: Trong quá trình gỡ lỗi, nếu bạn thay đổi mã nguồn để sửa lỗi, điều quan trọng cần làm sau đó là gì?

30 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 6

Câu 30: Loại lỗi nào thường khó phát hiện nhất trong quá trình phát triển chương trình?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình - Đề 07

Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình - Đề 07 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Đâu là mô tả chính xác nhất về lỗi cú pháp trong lập trình?

  • A. Lỗi do viết câu lệnh không đúng theo quy tắc của ngôn ngữ lập trình.
  • B. Lỗi xảy ra khi chương trình chạy và gặp phải phép toán không hợp lệ.
  • C. Lỗi do logic chương trình sai, dẫn đến kết quả không mong muốn.
  • D. Lỗi do thiếu tài nguyên hệ thống khi chương trình chạy.

Câu 2: Loại lỗi nào thường được phát hiện bởi trình biên dịch hoặc trình thông dịch trước khi chương trình thực sự chạy?

  • A. Lỗi cú pháp.
  • B. Lỗi ngoại lệ.
  • C. Lỗi ngữ nghĩa.
  • D. Lỗi logic.

Câu 3: Trong quá trình phát triển phần mềm, giai đoạn nào sau đây chủ yếu tập trung vào việc tìm kiếm và sửa lỗi trong mã nguồn?

  • A. Giai đoạn đặc tả yêu cầu.
  • B. Giai đoạn thiết kế.
  • C. Giai đoạn kiểm thử và gỡ lỗi.
  • D. Giai đoạn triển khai.

Câu 4: Khi chương trình Python báo lỗi `TypeError: unsupported operand type(s) for +: "int" and "str"`, đây là loại lỗi gì?

  • A. Lỗi cú pháp.
  • B. Lỗi ngoại lệ (Runtime Error).
  • C. Lỗi ngữ nghĩa.
  • D. Lỗi biên dịch.

Câu 5: Phát biểu nào sau đây mô tả đúng nhất về "lỗi ngoại lệ" (Exception) trong lập trình?

  • A. Lỗi do câu lệnh viết sai chính tả.
  • B. Lỗi xảy ra trong quá trình chạy chương trình do một hoạt động không thể thực hiện được.
  • C. Lỗi do kết quả chương trình không đúng với mong muốn.
  • D. Lỗi do khai báo biến không đúng quy tắc.

Câu 6: Giả sử bạn viết chương trình tính diện tích hình tròn nhưng lại sử dụng công thức tính chu vi. Đây là loại lỗi gì?

  • A. Lỗi cú pháp.
  • B. Lỗi ngoại lệ.
  • C. Lỗi ngữ nghĩa (Lỗi logic).
  • D. Lỗi thời gian chạy.

Câu 7: Mục đích chính của việc "kiểm thử chương trình" là gì?

  • A. Chứng minh chương trình không có lỗi.
  • B. Phát hiện lỗi và đảm bảo chương trình hoạt động đúng.
  • C. Tăng tốc độ thực thi chương trình.
  • D. Làm cho mã nguồn dễ đọc hơn.

Câu 8: Trong quy trình kiểm thử, "dữ liệu kiểm thử" (test data) được sử dụng để làm gì?

  • A. Biên dịch mã nguồn.
  • B. Tối ưu hóa hiệu suất chương trình.
  • C. Cung cấp đầu vào cho chương trình để kiểm tra các chức năng.
  • D. Gỡ lỗi cú pháp.

Câu 9: Phương pháp "in vết" (print debugging) thường được sử dụng để làm gì trong quá trình gỡ lỗi?

  • A. Theo dõi giá trị của biến và luồng thực thi của chương trình.
  • B. Sửa lỗi cú pháp tự động.
  • C. Phát hiện lỗi ngoại lệ.
  • D. Tăng tốc độ chương trình.

Câu 10: Công cụ "Debug" trong môi trường lập trình tích hợp (IDE) cung cấp chức năng chính nào để gỡ lỗi?

  • A. Biên dịch mã nguồn.
  • B. Tự động sửa lỗi ngữ nghĩa.
  • C. Kiểm tra lỗi chính tả.
  • D. Cho phép chạy chương trình từng bước và theo dõi giá trị biến.

Câu 11: Khi kiểm thử chương trình, việc sử dụng "dữ liệu biên" (boundary data) có ý nghĩa gì?

  • A. Kiểm tra chương trình với dữ liệu ngẫu nhiên.
  • B. Kiểm tra chương trình với dữ liệu ở giới hạn cho phép để phát hiện lỗi tiềm ẩn.
  • C. Kiểm tra hiệu suất chương trình.
  • D. Kiểm tra giao diện người dùng.

Câu 12: Thư viện "pdb" trong Python được sử dụng cho mục đích gì?

  • A. Quản lý cơ sở dữ liệu.
  • B. Xử lý đồ họa.
  • C. Gỡ lỗi chương trình Python.
  • D. Tính toán khoa học.

Câu 13: Trong quá trình gỡ lỗi, "điểm dừng" (breakpoint) được sử dụng để làm gì?

  • A. Tăng tốc độ thực thi chương trình.
  • B. Tạm dừng chương trình tại một vị trí cụ thể để kiểm tra.
  • C. Sửa lỗi cú pháp.
  • D. Tối ưu hóa bộ nhớ.

Câu 14: Kỹ năng nào sau đây là quan trọng nhất khi gỡ lỗi chương trình?

  • A. Gõ mã nhanh.
  • B. Nhớ cú pháp ngôn ngữ.
  • C. Tư duy phân tích và logic.
  • D. Khả năng làm việc nhóm.

Câu 15: Điều gì KHÔNG phải là một bước điển hình trong quy trình gỡ lỗi?

  • A. Đọc thông báo lỗi.
  • B. Chạy chương trình từng bước.
  • C. Kiểm tra giá trị biến.
  • D. Viết tài liệu hướng dẫn sử dụng.

Câu 16: Tại sao việc kiểm thử chương trình với nhiều bộ dữ liệu khác nhau lại quan trọng?

  • A. Để chương trình chạy nhanh hơn.
  • B. Để phát hiện lỗi trong các tình huống khác nhau.
  • C. Để mã nguồn ngắn gọn hơn.
  • D. Để chương trình dễ đọc hơn.

Câu 17: Trong tình huống nào, lỗi ngữ nghĩa thường khó phát hiện hơn so với lỗi cú pháp và lỗi ngoại lệ?

  • A. Khi chương trình không biên dịch được.
  • B. Khi chương trình dừng đột ngột với thông báo lỗi.
  • C. Khi chương trình chạy bình thường nhưng cho ra kết quả không đúng.
  • D. Khi chương trình chạy quá chậm.

Câu 18: Để gỡ lỗi hiệu quả, sau khi phát hiện lỗi, bước tiếp theo quan trọng nhất là gì?

  • A. Bỏ qua lỗi và tiếp tục viết code.
  • B. Phân tích nguyên nhân gây ra lỗi.
  • C. Thử sửa lỗi một cách ngẫu nhiên.
  • D. Xóa bỏ đoạn code gây lỗi.

Câu 19: Loại dữ liệu kiểm thử nào sau đây được ưu tiên sử dụng để kiểm tra tính đúng đắn của thuật toán?

  • A. Dữ liệu thường gặp trong thực tế.
  • B. Dữ liệu biên.
  • C. Dữ liệu ngẫu nhiên.
  • D. Dữ liệu có kích thước lớn nhất.

Câu 20: Trong ngôn ngữ lập trình bậc cao như Python, công cụ nào hỗ trợ người lập trình tìm và sửa lỗi?

  • A. Trình biên dịch.
  • B. Trình soạn thảo văn bản.
  • C. Công cụ Debug và IDE.
  • D. Hệ điều hành.

Câu 21: Cho đoạn mã Python: `x = 10 / 0`. Lỗi này thuộc loại nào?

  • A. Lỗi cú pháp.
  • B. Lỗi ngoại lệ.
  • C. Lỗi ngữ nghĩa.
  • D. Không có lỗi.

Câu 22: Để kiểm tra xem một biến có giá trị như mong đợi tại một thời điểm nhất định trong chương trình, bạn sẽ sử dụng công cụ nào?

  • A. Trình biên dịch.
  • B. Trình soạn thảo mã.
  • C. Lệnh in (print).
  • D. Công cụ Debug.

Câu 23: Điều gì xảy ra khi chương trình gặp lỗi ngoại lệ mà không có cơ chế xử lý lỗi (exception handling)?

  • A. Chương trình tự động sửa lỗi và tiếp tục chạy.
  • B. Chương trình chạy chậm hơn.
  • C. Chương trình dừng thực thi và báo lỗi.
  • D. Chương trình bỏ qua lỗi và tiếp tục chạy với kết quả sai.

Câu 24: Trong kiểm thử hộp đen (black-box testing), người kiểm thử tập trung vào yếu tố nào?

  • A. Chức năng và hành vi của chương trình.
  • B. Cấu trúc mã nguồn của chương trình.
  • C. Hiệu suất của chương trình.
  • D. Giao diện người dùng.

Câu 25: Để kiểm thử một hàm tính tổng hai số nguyên, bộ dữ liệu kiểm thử nào sau đây là phù hợp nhất để kiểm tra trường hợp biên?

  • A. Các cặp số nguyên dương lớn.
  • B. Các cặp số (0, 0), (số dương lớn, 0), (số âm, số dương).
  • C. Các cặp số ngẫu nhiên.
  • D. Các cặp số có giá trị tuyệt đối nhỏ.

Câu 26: Khi gặp lỗi cú pháp trong Python, thông báo lỗi thường cung cấp thông tin gì hữu ích nhất?

  • A. Nguyên nhân sâu xa của lỗi.
  • B. Gợi ý cách sửa lỗi tự động.
  • C. Dòng và vị trí gần đúng nơi xảy ra lỗi.
  • D. Mức độ nghiêm trọng của lỗi.

Câu 27: Trong quá trình gỡ lỗi, việc "truy vết" (tracing) chương trình có nghĩa là gì?

  • A. Theo dõi từng bước thực hiện của chương trình để tìm ra lỗi.
  • B. Sửa lỗi bằng cách đoán.
  • C. Viết lại toàn bộ chương trình.
  • D. Bỏ qua lỗi và chạy tiếp.

Câu 28: Phát biểu nào sau đây là đúng về mối quan hệ giữa kiểm thử và gỡ lỗi?

  • A. Kiểm thử và gỡ lỗi là hai giai đoạn hoàn toàn độc lập.
  • B. Kiểm thử là để tìm ra lỗi, gỡ lỗi là để sửa các lỗi đó.
  • C. Gỡ lỗi luôn được thực hiện trước kiểm thử.
  • D. Kiểm thử bao gồm cả quá trình gỡ lỗi.

Câu 29: Cho chương trình tính trung bình cộng của một danh sách số. Nếu danh sách rỗng, chương trình sẽ báo lỗi chia cho 0. Để xử lý lỗi này, bạn nên sử dụng kỹ thuật nào?

  • A. In vết (print debugging).
  • B. Điểm dừng (breakpoint).
  • C. Kiểm thử hộp đen.
  • D. Xử lý ngoại lệ (try-except).

Câu 30: Trong kiểm thử phần mềm, "ca kiểm thử" (test case) bao gồm những thành phần chính nào?

  • A. Mã nguồn và trình biên dịch.
  • B. Mô tả lỗi và cách sửa lỗi.
  • C. Dữ liệu đầu vào, đầu ra mong đợi, và các bước thực hiện.
  • D. Thời gian thực thi và bộ nhớ sử dụng.

1 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 1: Đâu là mô tả chính xác nhất về lỗi cú pháp trong lập trình?

2 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 2: Loại lỗi nào thường được phát hiện bởi trình biên dịch hoặc trình thông dịch trước khi chương trình thực sự chạy?

3 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 3: Trong quá trình phát triển phần mềm, giai đoạn nào sau đây chủ yếu tập trung vào việc tìm kiếm và sửa lỗi trong mã nguồn?

4 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 4: Khi chương trình Python báo lỗi `TypeError: unsupported operand type(s) for +: 'int' and 'str'`, đây là loại lỗi gì?

5 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 5: Phát biểu nào sau đây mô tả đúng nhất về 'lỗi ngoại lệ' (Exception) trong lập trình?

6 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 6: Giả sử bạn viết chương trình tính diện tích hình tròn nhưng lại sử dụng công thức tính chu vi. Đây là loại lỗi gì?

7 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 7: Mục đích chính của việc 'kiểm thử chương trình' là gì?

8 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 8: Trong quy trình kiểm thử, 'dữ liệu kiểm thử' (test data) được sử dụng để làm gì?

9 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 9: Phương pháp 'in vết' (print debugging) thường được sử dụng để làm gì trong quá trình gỡ lỗi?

10 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 10: Công cụ 'Debug' trong môi trường lập trình tích hợp (IDE) cung cấp chức năng chính nào để gỡ lỗi?

11 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 11: Khi kiểm thử chương trình, việc sử dụng 'dữ liệu biên' (boundary data) có ý nghĩa gì?

12 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 12: Thư viện 'pdb' trong Python được sử dụng cho mục đích gì?

13 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 13: Trong quá trình gỡ lỗi, 'điểm dừng' (breakpoint) được sử dụng để làm gì?

14 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 14: Kỹ năng nào sau đây là quan trọng nhất khi gỡ lỗi chương trình?

15 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 15: Điều gì KHÔNG phải là một bước điển hình trong quy trình gỡ lỗi?

16 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 16: Tại sao việc kiểm thử chương trình với nhiều bộ dữ liệu khác nhau lại quan trọng?

17 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 17: Trong tình huống nào, lỗi ngữ nghĩa thường khó phát hiện hơn so với lỗi cú pháp và lỗi ngoại lệ?

18 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 18: Để gỡ lỗi hiệu quả, sau khi phát hiện lỗi, bước tiếp theo quan trọng nhất là gì?

19 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 19: Loại dữ liệu kiểm thử nào sau đây được ưu tiên sử dụng để kiểm tra tính đúng đắn của thuật toán?

20 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 20: Trong ngôn ngữ lập trình bậc cao như Python, công cụ nào hỗ trợ người lập trình tìm và sửa lỗi?

21 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 21: Cho đoạn mã Python: `x = 10 / 0`. Lỗi này thuộc loại nào?

22 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 22: Để kiểm tra xem một biến có giá trị như mong đợi tại một thời điểm nhất định trong chương trình, bạn sẽ sử dụng công cụ nào?

23 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 23: Điều gì xảy ra khi chương trình gặp lỗi ngoại lệ mà không có cơ chế xử lý lỗi (exception handling)?

24 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 24: Trong kiểm thử hộp đen (black-box testing), người kiểm thử tập trung vào yếu tố nào?

25 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 25: Để kiểm thử một hàm tính tổng hai số nguyên, bộ dữ liệu kiểm thử nào sau đây là phù hợp nhất để kiểm tra trường hợp biên?

26 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 26: Khi gặp lỗi cú pháp trong Python, thông báo lỗi thường cung cấp thông tin gì hữu ích nhất?

27 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 27: Trong quá trình gỡ lỗi, việc 'truy vết' (tracing) chương trình có nghĩa là gì?

28 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 28: Phát biểu nào sau đây là đúng về mối quan hệ giữa kiểm thử và gỡ lỗi?

29 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 29: Cho chương trình tính trung bình cộng của một danh sách số. Nếu danh sách rỗng, chương trình sẽ báo lỗi chia cho 0. Để xử lý lỗi này, bạn nên sử dụng kỹ thuật nào?

30 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 7

Câu 30: Trong kiểm thử phần mềm, 'ca kiểm thử' (test case) bao gồm những thành phần chính nào?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình - Đề 08

Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình - Đề 08 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong quá trình phát triển phần mềm, giai đoạn nào sau đây tập trung vào việc phát hiện và sửa chữa các lỗi trong chương trình?

  • A. Phân tích yêu cầu
  • B. Thiết kế hệ thống
  • C. Viết mã chương trình
  • D. Kiểm thử và gỡ lỗi

Câu 2: Loại lỗi nào xảy ra khi câu lệnh không tuân thủ đúng quy tắc ngữ pháp của ngôn ngữ lập trình?

  • A. Lỗi cú pháp
  • B. Lỗi ngữ nghĩa
  • C. Lỗi ngoại lệ
  • D. Lỗi logic

Câu 3: Xét đoạn mã Python sau: `x = 10 / 0`. Khi chạy chương trình, lỗi nào sẽ phát sinh?

  • A. Lỗi cú pháp
  • B. Lỗi ngữ nghĩa
  • C. Lỗi ngoại lệ (ZeroDivisionError)
  • D. Không có lỗi

Câu 4: Lỗi ngữ nghĩa trong chương trình thường liên quan đến vấn đề gì?

  • A. Viết sai chính tả từ khóa
  • B. Sai logic thuật toán
  • C. Sử dụng biến chưa khai báo
  • D. Thiếu dấu ngoặc

Câu 5: Kỹ thuật "in vết" (trace printing) trong gỡ lỗi chương trình dùng để làm gì?

  • A. Tự động sửa lỗi cú pháp
  • B. Tối ưu hóa hiệu suất chương trình
  • C. Theo dõi giá trị biến và luồng thực thi
  • D. Biên dịch chương trình sang mã máy

Câu 6: Công cụ "Debug" trong môi trường lập trình tích hợp (IDE) hỗ trợ gỡ lỗi bằng cách nào?

  • A. Tự động sửa tất cả các loại lỗi
  • B. Cho phép chạy từng bước và quan sát biến
  • C. Kiểm tra lỗi chính tả trong văn bản
  • D. Tạo tài liệu hướng dẫn sử dụng chương trình

Câu 7: Trong quy trình kiểm thử phần mềm, "test case" (trường hợp kiểm thử) được sử dụng để làm gì?

  • A. Kiểm tra một chức năng cụ thể với dữ liệu đầu vào và đầu ra mong đợi
  • B. Viết tài liệu mô tả chương trình
  • C. Thiết kế giao diện người dùng
  • D. Đo hiệu suất của chương trình

Câu 8: Loại dữ liệu kiểm thử nào nên được ưu tiên để phát hiện lỗi ở biên của phạm vi giá trị đầu vào?

  • A. Dữ liệu ngẫu nhiên
  • B. Dữ liệu biên (boundary values)
  • C. Dữ liệu trung bình
  • D. Dữ liệu lớn nhất có thể

Câu 9: Giả sử bạn viết một hàm tính giai thừa. Để kiểm thử hàm này, bạn nên chọn bộ dữ liệu nào sau đây?

  • A. Chỉ số dương lớn
  • B. Chỉ số âm
  • C. Chỉ số 0 và 1
  • D. Kết hợp số dương, số âm và số 0

Câu 10: Khi gặp lỗi ngữ nghĩa, phương pháp gỡ lỗi hiệu quả nhất thường là gì?

  • A. Kiểm tra cú pháp bằng trình biên dịch
  • B. Chạy chương trình và chờ thông báo lỗi
  • C. Phân tích logic thuật toán và kiểm tra giá trị biến
  • D. Viết lại toàn bộ chương trình

Câu 11: Trong quá trình gỡ lỗi, "điểm dừng" (breakpoint) được sử dụng để làm gì?

  • A. Tạm dừng chương trình tại một vị trí xác định để kiểm tra
  • B. Tăng tốc độ chạy chương trình
  • C. Bỏ qua một phần mã chương trình
  • D. Lưu lại trạng thái hiện tại của chương trình

Câu 12: Phát biểu nào sau đây mô tả đúng nhất về mục tiêu của kiểm thử chương trình?

  • A. Chứng minh chương trình không có lỗi
  • B. Tăng độ phức tạp của chương trình
  • C. Làm cho chương trình chạy nhanh hơn
  • D. Phát hiện càng nhiều lỗi càng tốt

Câu 13: Xét chương trình Python sau:
```python
def tinh_tong(a, b):
return a - b
print(tinh_tong(5, 3))
```
Chương trình này có lỗi gì?

  • A. Lỗi cú pháp
  • B. Lỗi ngữ nghĩa
  • C. Lỗi ngoại lệ
  • D. Không có lỗi

Câu 14: Để kiểm tra tính đúng đắn của thuật toán, bước quan trọng nhất là gì?

  • A. Viết mã chương trình nhanh chóng
  • B. Sử dụng công cụ lập trình hiện đại
  • C. Kiểm thử với nhiều bộ dữ liệu khác nhau
  • D. Tham khảo thuật toán từ nguồn khác

Câu 15: Khi chương trình báo lỗi "NameError", điều này thường chỉ ra lỗi gì?

  • A. Lỗi chia cho 0
  • B. Lỗi kiểu dữ liệu
  • C. Lỗi cú pháp
  • D. Sử dụng biến chưa được khai báo

Câu 16: Trong quá trình kiểm thử, nếu phát hiện lỗi, bước tiếp theo cần thực hiện là gì?

  • A. Bỏ qua lỗi và tiếp tục kiểm thử
  • B. Gỡ lỗi và sửa lỗi
  • C. Báo cáo lỗi cho người kiểm thử
  • D. Xóa bỏ trường hợp kiểm thử gây ra lỗi

Câu 17: Loại kiểm thử nào tập trung vào việc đảm bảo các thành phần khác nhau của chương trình hoạt động tốt khi kết hợp với nhau?

  • A. Kiểm thử đơn vị (Unit testing)
  • B. Kiểm thử chấp nhận (Acceptance testing)
  • C. Kiểm thử tích hợp (Integration testing)
  • D. Kiểm thử hệ thống (System testing)

Câu 18: Để gỡ lỗi hiệu quả, việc đọc kỹ thông báo lỗi do trình biên dịch hoặc thông dịch cung cấp có vai trò gì?

  • A. Cung cấp thông tin quan trọng về vị trí và loại lỗi
  • B. Tự động sửa lỗi
  • C. Tăng tốc độ chương trình
  • D. Ẩn các lỗi phức tạp

Câu 19: Trong ngôn ngữ lập trình Python, thư viện `pdb` được sử dụng cho mục đích gì?

  • A. Quản lý cơ sở dữ liệu
  • B. Xử lý đồ họa
  • C. Tính toán khoa học
  • D. Gỡ lỗi chương trình

Câu 20: Khi kiểm thử chương trình, tại sao cần sử dụng cả dữ liệu hợp lệ và dữ liệu không hợp lệ?

  • A. Dữ liệu không hợp lệ giúp chương trình chạy nhanh hơn
  • B. Dữ liệu không hợp lệ giúp kiểm tra khả năng xử lý lỗi của chương trình
  • C. Dữ liệu hợp lệ giúp tìm ra lỗi cú pháp
  • D. Cả hai loại dữ liệu đều không quan trọng

Câu 21: Phương pháp "chia để trị" (divide and conquer) có thể áp dụng trong gỡ lỗi như thế nào?

  • A. Chia nhỏ chương trình thành các hàm nhỏ hơn để viết mã nhanh hơn
  • B. Chia nhỏ dữ liệu kiểm thử thành các phần nhỏ hơn
  • C. Chia nhỏ chương trình thành các phần nhỏ hơn để dễ dàng khoanh vùng lỗi
  • D. Chia nhỏ thời gian gỡ lỗi thành các phiên ngắn hơn

Câu 22: Xét đoạn mã Python sau:
```python
def tinh_thuong(a, b):
if b == 0:
return

  • A. Lỗi ngoại lệ (chia cho 0)
  • B. Lỗi cú pháp
  • C. Lỗi ngữ nghĩa
  • D. Không có lỗi nào được xử lý

Câu 23: Trong kiểm thử hộp đen (black-box testing), người kiểm thử cần có kiến thức gì?

  • A. Cấu trúc mã nguồn chương trình
  • B. Chức năng và đặc tả của chương trình
  • C. Thuật toán bên trong chương trình
  • D. Ngôn ngữ lập trình sử dụng

Câu 24: "Assertion" (khẳng định) trong lập trình thường được sử dụng để làm gì trong quá trình gỡ lỗi?

  • A. Tăng tốc độ biên dịch
  • B. Tối ưu hóa bộ nhớ
  • C. Kiểm tra các giả định về trạng thái chương trình tại một điểm nhất định
  • D. Tự động sửa lỗi cú pháp

Câu 25: Loại lỗi nào thường khó phát hiện nhất và đòi hỏi nhiều thời gian gỡ lỗi?

  • A. Lỗi cú pháp
  • B. Lỗi ngữ nghĩa
  • C. Lỗi ngoại lệ
  • D. Lỗi chính tả

Câu 26: Trong kiểm thử phần mềm, "độ bao phủ mã" (code coverage) là gì?

  • A. Số lượng dòng mã trong chương trình
  • B. Mức độ phức tạp của mã
  • C. Số lượng lỗi đã được sửa
  • D. Tỷ lệ phần trăm mã nguồn đã được thực thi bởi các trường hợp kiểm thử

Câu 27: Giả sử bạn nhận thấy chương trình chạy chậm hơn dự kiến. Đây có thể là dấu hiệu của loại lỗi nào?

  • A. Lỗi cú pháp
  • B. Lỗi ngoại lệ
  • C. Lỗi hiệu suất (performance bug)
  • D. Lỗi chính tả

Câu 28: Khi báo cáo lỗi (bug report), thông tin nào sau đây là quan trọng nhất cần cung cấp?

  • A. Ý kiến cá nhân về lỗi
  • B. Các bước tái hiện lỗi một cách rõ ràng
  • C. Dự đoán nguyên nhân gây ra lỗi
  • D. Đề xuất cách sửa lỗi

Câu 29: Trong mô hình thác nước (waterfall), kiểm thử thường được thực hiện ở giai đoạn nào?

  • A. Giai đoạn phân tích yêu cầu
  • B. Giai đoạn thiết kế
  • C. Giai đoạn viết mã
  • D. Giai đoạn kiểm thử

Câu 30: Để giảm thiểu lỗi trong quá trình lập trình, biện pháp phòng ngừa nào sau đây là hiệu quả?

  • A. Lập kế hoạch và thiết kế chương trình cẩn thận trước khi viết mã
  • B. Viết mã nhanh chóng để kịp tiến độ
  • C. Không kiểm thử chương trình cho đến khi hoàn thành
  • D. Sao chép mã từ các nguồn khác để tiết kiệm thời gian

1 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 1: Trong quá trình phát triển phần mềm, giai đoạn nào sau đây tập trung vào việc phát hiện và sửa chữa các lỗi trong chương trình?

2 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 2: Loại lỗi nào xảy ra khi câu lệnh không tuân thủ đúng quy tắc ngữ pháp của ngôn ngữ lập trình?

3 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 3: Xét đoạn mã Python sau: `x = 10 / 0`. Khi chạy chương trình, lỗi nào sẽ phát sinh?

4 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 4: Lỗi ngữ nghĩa trong chương trình thường liên quan đến vấn đề gì?

5 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 5: Kỹ thuật 'in vết' (trace printing) trong gỡ lỗi chương trình dùng để làm gì?

6 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 6: Công cụ 'Debug' trong môi trường lập trình tích hợp (IDE) hỗ trợ gỡ lỗi bằng cách nào?

7 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 7: Trong quy trình kiểm thử phần mềm, 'test case' (trường hợp kiểm thử) được sử dụng để làm gì?

8 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 8: Loại dữ liệu kiểm thử nào nên được ưu tiên để phát hiện lỗi ở biên của phạm vi giá trị đầu vào?

9 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 9: Giả sử bạn viết một hàm tính giai thừa. Để kiểm thử hàm này, bạn nên chọn bộ dữ liệu nào sau đây?

10 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 10: Khi gặp lỗi ngữ nghĩa, phương pháp gỡ lỗi hiệu quả nhất thường là gì?

11 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 11: Trong quá trình gỡ lỗi, 'điểm dừng' (breakpoint) được sử dụng để làm gì?

12 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 12: Phát biểu nào sau đây mô tả đúng nhất về mục tiêu của kiểm thử chương trình?

13 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 13: Xét chương trình Python sau:
```python
def tinh_tong(a, b):
return a - b
print(tinh_tong(5, 3))
```
Chương trình này có lỗi gì?

14 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 14: Để kiểm tra tính đúng đắn của thuật toán, bước quan trọng nhất là gì?

15 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 15: Khi chương trình báo lỗi 'NameError', điều này thường chỉ ra lỗi gì?

16 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 16: Trong quá trình kiểm thử, nếu phát hiện lỗi, bước tiếp theo cần thực hiện là gì?

17 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 17: Loại kiểm thử nào tập trung vào việc đảm bảo các thành phần khác nhau của chương trình hoạt động tốt khi kết hợp với nhau?

18 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 18: Để gỡ lỗi hiệu quả, việc đọc kỹ thông báo lỗi do trình biên dịch hoặc thông dịch cung cấp có vai trò gì?

19 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 19: Trong ngôn ngữ lập trình Python, thư viện `pdb` được sử dụng cho mục đích gì?

20 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 20: Khi kiểm thử chương trình, tại sao cần sử dụng cả dữ liệu hợp lệ và dữ liệu không hợp lệ?

21 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 21: Phương pháp 'chia để trị' (divide and conquer) có thể áp dụng trong gỡ lỗi như thế nào?

22 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 22: Xét đoạn mã Python sau:
```python
def tinh_thuong(a, b):
if b == 0:
return "Lỗi chia cho 0"
else:
return a / b
print(tinh_thuong(10, 0))
```
Đoạn mã này đã xử lý loại lỗi nào?

23 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 23: Trong kiểm thử hộp đen (black-box testing), người kiểm thử cần có kiến thức gì?

24 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 24: 'Assertion' (khẳng định) trong lập trình thường được sử dụng để làm gì trong quá trình gỡ lỗi?

25 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 25: Loại lỗi nào thường khó phát hiện nhất và đòi hỏi nhiều thời gian gỡ lỗi?

26 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 26: Trong kiểm thử phần mềm, 'độ bao phủ mã' (code coverage) là gì?

27 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 27: Giả sử bạn nhận thấy chương trình chạy chậm hơn dự kiến. Đây có thể là dấu hiệu của loại lỗi nào?

28 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 28: Khi báo cáo lỗi (bug report), thông tin nào sau đây là quan trọng nhất cần cung cấp?

29 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 29: Trong mô hình thác nước (waterfall), kiểm thử thường được thực hiện ở giai đoạn nào?

30 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 8

Câu 30: Để giảm thiểu lỗi trong quá trình lập trình, biện pháp phòng ngừa nào sau đây là hiệu quả?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình - Đề 09

Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình - Đề 09 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Loại lỗi nào xảy ra khi câu lệnh chương trình vi phạm quy tắc ngữ pháp của ngôn ngữ lập trình, ví dụ như viết sai tên hàm hoặc thiếu dấu ngoặc?

  • A. Lỗi cú pháp (Syntax error)
  • B. Lỗi ngoại lệ (Exception error)
  • C. Lỗi ngữ nghĩa (Semantic error)
  • D. Lỗi logic (Logic error)

Câu 2: Tình huống nào sau đây không phải là nguyên nhân phổ biến gây ra lỗi ngoại lệ (runtime error) trong chương trình Python?

  • A. Truy cập vào phần tử không tồn tại của danh sách (list index out of range)
  • B. Thực hiện phép chia cho 0
  • C. Mở một tập tin không tồn tại
  • D. Sử dụng biến trước khi gán giá trị lần đầu (NameError)

Câu 3: Xét đoạn mã Python sau: `def tinh_dien_tich(dai, rong): return dai + rong`. Nếu sử dụng hàm này để tính diện tích hình chữ nhật, loại lỗi nào sẽ xảy ra?

  • A. Lỗi cú pháp
  • B. Lỗi ngoại lệ
  • C. Lỗi ngữ nghĩa
  • D. Không có lỗi

Câu 4: Trong quá trình gỡ lỗi chương trình, công cụ "Debug" thường được sử dụng để làm gì?

  • A. Biên dịch chương trình thành mã máy
  • B. Theo dõi từng bước thực hiện của chương trình và giá trị biến
  • C. Tự động sửa lỗi cú pháp trong chương trình
  • D. Tối ưu hóa hiệu suất chương trình

Câu 5: Phát biểu nào sau đây mô tả đúng nhất về "điểm dừng" (breakpoint) trong quá trình gỡ lỗi?

  • A. Vị trí mà chương trình tự động kết thúc khi gặp lỗi
  • B. Dòng lệnh mà trình biên dịch bỏ qua khi chạy chương trình
  • C. Vị trí được đánh dấu trong mã nguồn để tạm dừng chương trình khi chạy ở chế độ Debug
  • D. Nơi lưu trữ các biến và giá trị của chúng trong chương trình

Câu 6: Khi chương trình Python báo lỗi "TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’", đây là loại lỗi gì và nguyên nhân có thể là gì?

  • A. Lỗi cú pháp; do viết sai cú pháp phép cộng
  • B. Lỗi ngoại lệ; do cố gắng cộng một số nguyên với một chuỗi
  • C. Lỗi ngữ nghĩa; do ý định của lập trình viên không rõ ràng
  • D. Lỗi logic; do sai thuật toán tính toán

Câu 7: Trong quy trình kiểm thử phần mềm, việc lựa chọn "dữ liệu kiểm thử" cần đảm bảo điều gì quan trọng nhất?

  • A. Dữ liệu kiểm thử phải có số lượng lớn
  • B. Dữ liệu kiểm thử phải dễ dàng tạo ra
  • C. Dữ liệu kiểm thử phải bao gồm các giá trị thông thường
  • D. Dữ liệu kiểm thử phải bao phủ các trường hợp sử dụng khác nhau, bao gồm cả trường hợp biên và trường hợp lỗi

Câu 8: Kỹ thuật "in vết" (tracing) trong gỡ lỗi chương trình là gì và khi nào nó hữu ích?

  • A. Chèn thêm các lệnh in giá trị biến trung gian để theo dõi luồng thực thi và giá trị dữ liệu; hữu ích khi không có công cụ Debug hoặc cần kiểm tra nhanh
  • B. Sử dụng công cụ Debug để chạy từng bước chương trình; hữu ích cho mọi loại lỗi
  • C. Đọc kỹ mã nguồn để tìm lỗi; hữu ích cho lỗi cú pháp
  • D. Viết lại mã nguồn từ đầu; hữu ích khi mã quá phức tạp

Câu 9: Để kiểm thử một hàm tính giai thừa với đầu vào là số nguyên không âm, những loại dữ liệu kiểm thử nào sau đây là quan trọng nhất?

  • A. Chỉ các số nguyên dương nhỏ
  • B. Chỉ các số nguyên lớn
  • C. Số 0, số dương nhỏ, số dương lớn (ví dụ: 0, 1, 5, 10, 20)
  • D. Số âm, số 0, số dương

Câu 10: Khi phát hiện lỗi ngữ nghĩa trong chương trình, phương pháp gỡ lỗi nào thường hiệu quả nhất?

  • A. Trình biên dịch sẽ tự động sửa lỗi
  • B. Chạy chương trình với nhiều bộ dữ liệu kiểm thử khác nhau và so sánh kết quả với kết quả mong đợi
  • C. Sử dụng công cụ kiểm tra cú pháp trực tuyến
  • D. Yêu cầu người khác kiểm tra mã nguồn

Câu 11: Giả sử bạn viết một chương trình tính trung bình cộng của các số trong một danh sách. Nếu danh sách đầu vào rỗng, điều gì sẽ xảy ra nếu không có xử lý ngoại lệ và đó là loại lỗi gì?

  • A. Chương trình có thể gây ra lỗi ngoại lệ "DivisionByZeroError" (hoặc tương tự) vì cố chia cho 0 khi tính trung bình cộng
  • B. Chương trình sẽ tự động trả về giá trị 0
  • C. Chương trình sẽ bỏ qua danh sách rỗng và tiếp tục thực hiện
  • D. Chương trình sẽ báo lỗi cú pháp

Câu 12: Mục đích chính của việc "kiểm thử hộp đen" (black box testing) là gì?

  • A. Kiểm tra cấu trúc bên trong của mã nguồn
  • B. Đảm bảo tất cả các dòng mã đều được thực thi ít nhất một lần
  • C. Kiểm tra chức năng của chương trình dựa trên đặc tả yêu cầu mà không cần xem xét mã nguồn bên trong
  • D. Tìm lỗi cú pháp trong mã nguồn

Câu 13: Trong quá trình phát triển phần mềm, giai đoạn nào mà việc kiểm thử và gỡ lỗi nên được thực hiện?

  • A. Chỉ sau khi hoàn thành viết mã chương trình
  • B. Chỉ trước khi bàn giao sản phẩm cho người dùng
  • C. Chỉ trong giai đoạn bảo trì phần mềm
  • D. Liên tục trong suốt quá trình phát triển, từ giai đoạn thiết kế đến khi bảo trì

Câu 14: Điều gì KHÔNG phải là lợi ích của việc sử dụng công cụ Debug so với chỉ sử dụng lệnh in để gỡ lỗi?

  • A. Cho phép theo dõi giá trị biến tại bất kỳ thời điểm nào
  • B. Cho phép chạy từng bước chương trình
  • C. Dễ dàng thiết lập và sử dụng hơn lệnh in
  • D. Cho phép đặt điểm dừng để tạm dừng chương trình tại vị trí mong muốn

Câu 15: Xét chương trình Python sau: `x = 10 / 0`. Khi chạy chương trình này, lỗi gì sẽ xảy ra và chương trình sẽ dừng ở đâu?

  • A. Lỗi cú pháp, chương trình sẽ không chạy được
  • B. Lỗi ngoại lệ "ZeroDivisionError", chương trình dừng ngay tại dòng `x = 10 / 0`
  • C. Lỗi ngữ nghĩa, chương trình chạy nhưng kết quả sai
  • D. Không có lỗi, chương trình chạy bình thường

Câu 16: Để kiểm tra tính đúng đắn của một thuật toán sắp xếp, bạn cần thiết kế các bộ dữ liệu kiểm thử như thế nào?

  • A. Chỉ các danh sách số đã được sắp xếp
  • B. Chỉ các danh sách số ngẫu nhiên
  • C. Chỉ các danh sách số có kích thước nhỏ
  • D. Danh sách rỗng, danh sách một phần tử, danh sách đã sắp xếp, danh sách đảo ngược, danh sách ngẫu nhiên, danh sách chứa số trùng lặp

Câu 17: Trong quá trình gỡ lỗi, khi bạn nghi ngờ lỗi xảy ra trong một hàm cụ thể, bạn nên làm gì đầu tiên?

  • A. Đặt điểm dừng (breakpoint) ở đầu hàm đó và chạy chương trình ở chế độ Debug
  • B. Viết lại hàm đó từ đầu
  • C. Xóa hàm đó và viết hàm khác thay thế
  • D. Chạy chương trình mà không có hàm đó

Câu 18: "Kiểm thử chấp nhận" (acceptance testing) thường được thực hiện bởi ai và vào giai đoạn nào của quy trình phát triển phần mềm?

  • A. Lập trình viên, trong giai đoạn viết mã
  • B. Nhân viên kiểm thử, trong giai đoạn kiểm thử hệ thống
  • C. Người dùng cuối hoặc khách hàng, trước khi nghiệm thu và đưa vào sử dụng chính thức
  • D. Quản lý dự án, trong giai đoạn lập kế hoạch

Câu 19: Điều gì KHÔNG phải là mục tiêu của việc kiểm thử chương trình?

  • A. Phát hiện lỗi trong chương trình
  • B. Đảm bảo chương trình hoạt động đúng theo yêu cầu
  • C. Nâng cao chất lượng và độ tin cậy của phần mềm
  • D. Chứng minh rằng chương trình không có lỗi

Câu 20: Loại lỗi nào thường khó phát hiện nhất và đòi hỏi nhiều thời gian gỡ lỗi nhất?

  • A. Lỗi cú pháp
  • B. Lỗi ngoại lệ
  • C. Lỗi ngữ nghĩa
  • D. Tất cả các loại lỗi đều có độ khó như nhau

Câu 21: Trong ngôn ngữ lập trình Python, thư viện `pdb` được sử dụng để làm gì?

  • A. Quản lý cơ sở dữ liệu
  • B. Gỡ lỗi chương trình (Python Debugger)
  • C. Xử lý đồ họa
  • D. Tính toán khoa học

Câu 22: Khi nào bạn nên sử dụng phương pháp "thử và sai" (trial and error) trong gỡ lỗi?

  • A. Khi lỗi là lỗi cú pháp rõ ràng
  • B. Khi sử dụng công cụ Debug
  • C. Khi lỗi dễ dàng tái hiện
  • D. Khi không có manh mối rõ ràng về nguyên nhân gây lỗi và cần thử nghiệm các giả thuyết khác nhau

Câu 23: Điều gì sẽ xảy ra nếu bạn cố gắng truy cập một biến chưa được khai báo trong Python?

  • A. Python sẽ báo lỗi ngoại lệ `NameError`
  • B. Python sẽ tự động khai báo biến với giá trị mặc định là 0
  • C. Python sẽ bỏ qua dòng lệnh đó và tiếp tục thực hiện
  • D. Python sẽ báo lỗi cú pháp

Câu 24: Trong kiểm thử phần mềm, "ca kiểm thử" (test case) bao gồm những thành phần chính nào?

  • A. Mã nguồn chương trình và kết quả mong đợi
  • B. Dữ liệu đầu vào, các bước thực hiện, và kết quả mong đợi
  • C. Mô tả lỗi và cách sửa lỗi
  • D. Thời gian thực hiện kiểm thử và người thực hiện

Câu 25: "Kiểm thử hồi quy" (regression testing) được thực hiện khi nào và để làm gì?

  • A. Khi phát hiện lỗi mới trong chương trình
  • B. Khi viết mã chương trình lần đầu
  • C. Sau khi sửa lỗi hoặc thêm tính năng mới, để đảm bảo các chức năng cũ vẫn hoạt động đúng và không bị ảnh hưởng
  • D. Trước khi bàn giao phần mềm cho khách hàng

Câu 26: Để kiểm tra một hàm nhận vào một số nguyên dương và trả về giá trị bình phương của nó, dữ liệu kiểm thử nào sau đây là phù hợp nhất để phát hiện lỗi "ngoài biên" (boundary error)?

  • A. Các số nguyên dương ngẫu nhiên
  • B. Số 0, số 1, và một số nguyên dương lớn (ví dụ: 0, 1, 1000)
  • C. Các số nguyên âm và số 0
  • D. Chỉ số 1 và các số nguyên dương lớn

Câu 27: Điều gì KHÔNG nên làm khi gặp lỗi trong chương trình?

  • A. Đọc kỹ thông báo lỗi
  • B. Thử chạy lại chương trình nhiều lần
  • C. Thay đổi mã nguồn một cách ngẫu nhiên cho đến khi chương trình chạy mà không báo lỗi
  • D. Sử dụng công cụ Debug hoặc kỹ thuật in vết để tìm nguyên nhân lỗi

Câu 28: Quy trình gỡ lỗi chương trình thường bao gồm các bước nào theo thứ tự hợp lý?

  • A. Sửa lỗi -> Xác định lỗi -> Tái hiện lỗi -> Kiểm tra lại
  • B. Tái hiện lỗi -> Sửa lỗi -> Xác định lỗi -> Kiểm tra lại
  • C. Sửa lỗi -> Kiểm tra lại -> Xác định lỗi -> Tái hiện lỗi
  • D. Tái hiện lỗi -> Xác định lỗi -> Sửa lỗi -> Kiểm tra lại

Câu 29: Tại sao việc kiểm thử phần mềm lại quan trọng trong quá trình phát triển?

  • A. Giúp phát hiện và sửa lỗi sớm, giảm chi phí và rủi ro khi phần mềm được sử dụng
  • B. Giúp viết mã chương trình nhanh hơn
  • C. Giúp chương trình chạy nhanh hơn
  • D. Giúp chương trình chiếm ít bộ nhớ hơn

Câu 30: Hậu quả chính của việc không kiểm thử chương trình kỹ lưỡng trước khi phát hành là gì?

  • A. Chương trình sẽ chạy chậm hơn
  • B. Phần mềm có thể chứa nhiều lỗi, gây ra sự cố và trải nghiệm không tốt cho người dùng, ảnh hưởng đến uy tín của nhà phát triển
  • C. Chương trình sẽ chiếm nhiều dung lượng lưu trữ hơn
  • D. Không có hậu quả gì đáng kể nếu chương trình vẫn chạy được

1 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 1: Loại lỗi nào xảy ra khi câu lệnh chương trình vi phạm quy tắc ngữ pháp của ngôn ngữ lập trình, ví dụ như viết sai tên hàm hoặc thiếu dấu ngoặc?

2 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 2: Tình huống nào sau đây *không* phải là nguyên nhân phổ biến gây ra lỗi ngoại lệ (runtime error) trong chương trình Python?

3 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 3: Xét đoạn mã Python sau: `def tinh_dien_tich(dai, rong): return dai + rong`. Nếu sử dụng hàm này để tính diện tích hình chữ nhật, loại lỗi nào sẽ xảy ra?

4 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 4: Trong quá trình gỡ lỗi chương trình, công cụ 'Debug' thường được sử dụng để làm gì?

5 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 5: Phát biểu nào sau đây mô tả đúng nhất về 'điểm dừng' (breakpoint) trong quá trình gỡ lỗi?

6 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 6: Khi chương trình Python báo lỗi 'TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’', đây là loại lỗi gì và nguyên nhân có thể là gì?

7 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 7: Trong quy trình kiểm thử phần mềm, việc lựa chọn 'dữ liệu kiểm thử' cần đảm bảo điều gì quan trọng nhất?

8 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 8: Kỹ thuật 'in vết' (tracing) trong gỡ lỗi chương trình là gì và khi nào nó hữu ích?

9 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 9: Để kiểm thử một hàm tính giai thừa với đầu vào là số nguyên không âm, những loại dữ liệu kiểm thử nào sau đây là quan trọng nhất?

10 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 10: Khi phát hiện lỗi ngữ nghĩa trong chương trình, phương pháp gỡ lỗi nào thường hiệu quả nhất?

11 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 11: Giả sử bạn viết một chương trình tính trung bình cộng của các số trong một danh sách. Nếu danh sách đầu vào rỗng, điều gì sẽ xảy ra nếu không có xử lý ngoại lệ và đó là loại lỗi gì?

12 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 12: Mục đích chính của việc 'kiểm thử hộp đen' (black box testing) là gì?

13 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 13: Trong quá trình phát triển phần mềm, giai đoạn nào mà việc kiểm thử và gỡ lỗi nên được thực hiện?

14 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 14: Điều gì KHÔNG phải là lợi ích của việc sử dụng công cụ Debug so với chỉ sử dụng lệnh in để gỡ lỗi?

15 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 15: Xét chương trình Python sau: `x = 10 / 0`. Khi chạy chương trình này, lỗi gì sẽ xảy ra và chương trình sẽ dừng ở đâu?

16 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 16: Để kiểm tra tính đúng đắn của một thuật toán sắp xếp, bạn cần thiết kế các bộ dữ liệu kiểm thử như thế nào?

17 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 17: Trong quá trình gỡ lỗi, khi bạn nghi ngờ lỗi xảy ra trong một hàm cụ thể, bạn nên làm gì đầu tiên?

18 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 18: 'Kiểm thử chấp nhận' (acceptance testing) thường được thực hiện bởi ai và vào giai đoạn nào của quy trình phát triển phần mềm?

19 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 19: Điều gì KHÔNG phải là mục tiêu của việc kiểm thử chương trình?

20 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 20: Loại lỗi nào thường khó phát hiện nhất và đòi hỏi nhiều thời gian gỡ lỗi nhất?

21 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 21: Trong ngôn ngữ lập trình Python, thư viện `pdb` được sử dụng để làm gì?

22 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 22: Khi nào bạn nên sử dụng phương pháp 'thử và sai' (trial and error) trong gỡ lỗi?

23 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 23: Điều gì sẽ xảy ra nếu bạn cố gắng truy cập một biến chưa được khai báo trong Python?

24 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 24: Trong kiểm thử phần mềm, 'ca kiểm thử' (test case) bao gồm những thành phần chính nào?

25 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 25: 'Kiểm thử hồi quy' (regression testing) được thực hiện khi nào và để làm gì?

26 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 26: Để kiểm tra một hàm nhận vào một số nguyên dương và trả về giá trị bình phương của nó, dữ liệu kiểm thử nào sau đây là phù hợp nhất để phát hiện lỗi 'ngoài biên' (boundary error)?

27 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 27: Điều gì KHÔNG nên làm khi gặp lỗi trong chương trình?

28 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 28: Quy trình gỡ lỗi chương trình thường bao gồm các bước nào theo thứ tự hợp lý?

29 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 29: Tại sao việc kiểm thử phần mềm lại quan trọng trong quá trình phát triển?

30 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 9

Câu 30: Hậu quả chính của việc không kiểm thử chương trình kỹ lưỡng trước khi phát hành là gì?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình - Đề 10

Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình - Đề 10 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Loại lỗi nào xảy ra khi câu lệnh trong chương trình vi phạm quy tắc ngữ pháp của ngôn ngữ lập trình, ví dụ như viết sai tên biến hoặc thiếu dấu ngoặc?

  • A. Lỗi cú pháp (Syntax error)
  • B. Lỗi ngoại lệ (Exception error)
  • C. Lỗi ngữ nghĩa (Semantic error)
  • D. Lỗi logic (Logic error)

Câu 2: Trong quá trình chạy chương trình, phép chia cho 0 được thực hiện. Loại lỗi nào sẽ phát sinh trong tình huống này?

  • A. Lỗi cú pháp
  • B. Lỗi ngoại lệ
  • C. Lỗi ngữ nghĩa
  • D. Không có lỗi

Câu 3: Một chương trình Python được viết để tính diện tích hình tròn bằng công thức `S = π * r * r`. Tuy nhiên, lập trình viên đã viết nhầm thành `S = 2 * π * r`. Loại lỗi nào có thể gây ra kết quả sai lệch này?

  • A. Lỗi cú pháp
  • B. Lỗi ngoại lệ
  • C. Lỗi ngữ nghĩa
  • D. Lỗi biên dịch

Câu 4: Công cụ gỡ lỗi (debugger) trong môi trường lập trình được sử dụng chủ yếu để làm gì?

  • A. Tăng tốc độ thực thi chương trình
  • B. Biên dịch mã nguồn sang mã máy
  • C. Viết mã chương trình nhanh hơn
  • D. Phát hiện và sửa lỗi trong chương trình

Câu 5: Phát biểu nào sau đây mô tả đúng nhất về quá trình "kiểm thử chương trình"?

  • A. Chạy thử chương trình một vài lần
  • B. Đọc kỹ mã nguồn chương trình
  • C. Quá trình chạy chương trình với các bộ dữ liệu khác nhau để phát hiện lỗi
  • D. Sửa tất cả các lỗi cú pháp trước khi chạy chương trình

Câu 6: Khi kiểm thử chương trình tính tổng hai số nguyên, bộ dữ liệu nào sau đây thuộc nhóm "dữ liệu kiểm thử trường hợp đặc biệt"?

  • A. Số dương nhỏ và số dương lớn
  • B. Số 0 và số âm
  • C. Hai số dương có giá trị trung bình
  • D. Hai số dương có giá trị ngẫu nhiên

Câu 7: Trong quá trình gỡ lỗi, kỹ thuật "truy vết" (tracing) thường được thực hiện bằng cách nào?

  • A. In ra giá trị các biến tại các điểm khác nhau trong chương trình
  • B. Đọc mã nguồn chương trình từ đầu đến cuối
  • C. Sử dụng công cụ kiểm tra chính tả mã nguồn
  • D. Thử nghiệm chương trình với nhiều bộ dữ liệu đầu vào

Câu 8: Thư viện `pdb` trong Python được sử dụng để làm gì?

  • A. Quản lý cơ sở dữ liệu
  • B. Xử lý đồ họa
  • C. Gỡ lỗi chương trình
  • D. Tính toán khoa học

Câu 9: Loại lỗi nào thường khó phát hiện nhất trong quá trình phát triển phần mềm?

  • A. Lỗi cú pháp
  • B. Lỗi ngoại lệ
  • C. Lỗi ngữ nghĩa
  • D. Lỗi chính tả

Câu 10: Khi sử dụng công cụ gỡ lỗi, thao tác "step over" (bước qua) thường được dùng để làm gì?

  • A. Thực hiện chương trình đến dòng lệnh tiếp theo và đi vào trong các hàm
  • B. Thực hiện chương trình đến dòng lệnh tiếp theo nhưng bỏ qua việc đi vào trong các hàm
  • C. Chạy chương trình đến điểm dừng (breakpoint) tiếp theo
  • D. Khởi động lại chương trình từ đầu

Câu 11: Trong quy trình kiểm thử, "test case" (tình huống kiểm thử) bao gồm những thành phần chính nào?

  • A. Dữ liệu đầu vào và mã nguồn
  • B. Mã nguồn và kết quả thực tế
  • C. Kết quả mong đợi và kết quả thực tế
  • D. Dữ liệu đầu vào, điều kiện thực hiện và kết quả mong đợi

Câu 12: Giả sử bạn viết chương trình tính trung bình cộng của một dãy số. Nếu chương trình luôn cho ra kết quả nhỏ hơn giá trị đúng, loại lỗi nào có khả năng cao nhất gây ra điều này?

  • A. Lỗi cú pháp
  • B. Lỗi ngoại lệ
  • C. Lỗi ngữ nghĩa
  • D. Lỗi phần cứng

Câu 13: Mục tiêu chính của việc kiểm thử hộp đen (black-box testing) là gì?

  • A. Kiểm tra chức năng của chương trình dựa trên đặc tả yêu cầu
  • B. Kiểm tra cấu trúc mã nguồn chương trình
  • C. Đo hiệu suất chương trình
  • D. Tối ưu hóa mã nguồn chương trình

Câu 14: Điều gì KHÔNG phải là một lợi ích của việc sử dụng công cụ gỡ lỗi?

  • A. Giúp theo dõi giá trị biến trong quá trình chạy
  • B. Cho phép chạy từng bước để quan sát dòng lệnh
  • C. Hỗ trợ đặt điểm dừng để tạm ngưng chương trình
  • D. Tự động sửa tất cả các lỗi trong chương trình

Câu 15: Trong quá trình kiểm thử, khi nào thì nên sử dụng dữ liệu kiểm thử có kích thước lớn?

  • A. Khi kiểm tra lỗi cú pháp
  • B. Khi kiểm tra lỗi ngoại lệ
  • C. Khi kiểm tra hiệu suất và khả năng chịu tải của chương trình
  • D. Khi kiểm tra lỗi chính tả trong mã nguồn

Câu 16: Cho đoạn mã Python sau: `x = 10 / 0`. Lỗi nào sẽ xảy ra khi chạy dòng lệnh này?

  • A. Lỗi cú pháp
  • B. Lỗi ngoại lệ
  • C. Lỗi ngữ nghĩa
  • D. Không có lỗi

Câu 17: Phát biểu nào sau đây là đúng về lỗi cú pháp?

  • A. Ngăn chương trình được biên dịch hoặc thông dịch thành công
  • B. Chỉ xảy ra khi chương trình đang chạy
  • C. Không thể phát hiện bởi công cụ lập trình
  • D. Luôn dẫn đến kết quả sai nhưng chương trình vẫn chạy

Câu 18: Để kiểm tra chương trình có hoạt động đúng với dữ liệu đầu vào không hợp lệ, bạn nên sử dụng loại dữ liệu kiểm thử nào?

  • A. Dữ liệu hợp lệ thông thường
  • B. Dữ liệu không hợp lệ hoặc dữ liệu biên
  • C. Dữ liệu có kích thước lớn
  • D. Dữ liệu ngẫu nhiên

Câu 19: Trong quá trình gỡ lỗi, "breakpoint" (điểm dừng) được sử dụng để làm gì?

  • A. Tăng tốc độ chạy chương trình
  • B. Bỏ qua một đoạn mã chương trình
  • C. Tạm dừng chương trình tại một dòng lệnh cụ thể để kiểm tra
  • D. Ghi lại lịch sử chạy chương trình

Câu 20: Khi nào lỗi ngoại lệ thường xảy ra nhất?

  • A. Trong quá trình viết mã chương trình
  • B. Trong quá trình chạy chương trình
  • C. Trong quá trình biên dịch chương trình
  • D. Trước khi chạy chương trình

Câu 21: Để kiểm thử tính năng sắp xếp của một chương trình, loại dữ liệu kiểm thử nào sau đây là phù hợp nhất?

  • A. Dãy số đã được sắp xếp
  • B. Dãy số chỉ chứa các số giống nhau
  • C. Dãy số rỗng
  • D. Dãy số ngẫu nhiên và dãy số có thứ tự ngược

Câu 22: Trong quá trình gỡ lỗi, việc "xem giá trị biến" giúp ích gì cho lập trình viên?

  • A. Hiểu được trạng thái chương trình tại một thời điểm cụ thể
  • B. Tăng tốc độ chạy chương trình
  • C. Sửa lỗi cú pháp tự động
  • D. Biên dịch mã nguồn nhanh hơn

Câu 23: Khi chương trình chạy ra kết quả không mong muốn nhưng không báo lỗi, loại lỗi nào có khả năng cao nhất?

  • A. Lỗi cú pháp
  • B. Lỗi ngoại lệ
  • C. Lỗi ngữ nghĩa
  • D. Lỗi phần cứng

Câu 24: Để kiểm tra chương trình có xử lý đúng các trường hợp biên (boundary cases) không, bạn nên tập trung vào loại dữ liệu kiểm thử nào?

  • A. Dữ liệu ngẫu nhiên
  • B. Dữ liệu biên và dữ liệu cực trị
  • C. Dữ liệu hợp lệ thông thường
  • D. Dữ liệu có kích thước lớn

Câu 25: Kỹ thuật "in gỡ lỗi" (print debugging) là gì?

  • A. Sử dụng lệnh in để hiển thị giá trị biến và thông tin chương trình
  • B. Sử dụng công cụ debugger chuyên dụng
  • C. Đọc mã nguồn chương trình một cách cẩn thận
  • D. Viết lại mã chương trình từ đầu

Câu 26: Cho đoạn mã Python: `age = input("Nhập tuổi: ")`. Nếu người dùng nhập chữ thay vì số, lỗi gì có thể xảy ra khi cố gắng sử dụng biến `age` trong phép tính số học?

  • A. Lỗi cú pháp
  • B. Lỗi ngoại lệ
  • C. Lỗi ngữ nghĩa
  • D. Không có lỗi, chương trình vẫn chạy

Câu 27: Phát biểu nào sau đây KHÔNG phải là một bước trong quy trình gỡ lỗi hiệu quả?

  • A. Xác định vị trí và nguyên nhân gây lỗi
  • B. Phân tích triệu chứng và thu thập thông tin về lỗi
  • C. Thử nghiệm các giải pháp sửa lỗi và kiểm tra lại
  • D. Bỏ qua các lỗi nhỏ và chỉ tập trung vào lỗi lớn

Câu 28: Khi kiểm thử một hàm, "stub" (đoạn mã giả) thường được sử dụng để làm gì?

  • A. Thay thế toàn bộ chương trình để kiểm thử nhanh
  • B. Tăng tốc độ thực thi hàm đang kiểm thử
  • C. Thay thế các hàm phụ thuộc để kiểm thử hàm hiện tại một cách độc lập
  • D. Ghi lại kết quả kiểm thử của hàm

Câu 29: Trong kiểm thử phần mềm, "độ bao phủ mã" (code coverage) là gì?

  • A. Số lượng lỗi được phát hiện trên tổng số dòng mã
  • B. Tỷ lệ phần trăm dòng mã đã được thực thi bởi bộ kiểm thử
  • C. Thời gian cần thiết để kiểm thử toàn bộ mã nguồn
  • D. Mức độ phức tạp của mã nguồn chương trình

Câu 30: Điều gì quan trọng nhất cần làm trước khi bắt đầu quá trình gỡ lỗi?

  • A. Tái hiện lỗi một cách chắc chắn
  • B. Đọc toàn bộ mã nguồn chương trình
  • C. Sử dụng ngay công cụ gỡ lỗi
  • D. Hỏi ý kiến người khác về lỗi

1 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 1: Loại lỗi nào xảy ra khi câu lệnh trong chương trình vi phạm quy tắc ngữ pháp của ngôn ngữ lập trình, ví dụ như viết sai tên biến hoặc thiếu dấu ngoặc?

2 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 2: Trong quá trình chạy chương trình, phép chia cho 0 được thực hiện. Loại lỗi nào sẽ phát sinh trong tình huống này?

3 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 3: Một chương trình Python được viết để tính diện tích hình tròn bằng công thức `S = π * r * r`. Tuy nhiên, lập trình viên đã viết nhầm thành `S = 2 * π * r`. Loại lỗi nào có thể gây ra kết quả sai lệch này?

4 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 4: Công cụ gỡ lỗi (debugger) trong môi trường lập trình được sử dụng chủ yếu để làm gì?

5 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 5: Phát biểu nào sau đây mô tả đúng nhất về quá trình 'kiểm thử chương trình'?

6 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 6: Khi kiểm thử chương trình tính tổng hai số nguyên, bộ dữ liệu nào sau đây thuộc nhóm 'dữ liệu kiểm thử trường hợp đặc biệt'?

7 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 7: Trong quá trình gỡ lỗi, kỹ thuật 'truy vết' (tracing) thường được thực hiện bằng cách nào?

8 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 8: Thư viện `pdb` trong Python được sử dụng để làm gì?

9 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 9: Loại lỗi nào thường khó phát hiện nhất trong quá trình phát triển phần mềm?

10 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 10: Khi sử dụng công cụ gỡ lỗi, thao tác 'step over' (bước qua) thường được dùng để làm gì?

11 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 11: Trong quy trình kiểm thử, 'test case' (tình huống kiểm thử) bao gồm những thành phần chính nào?

12 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 12: Giả sử bạn viết chương trình tính trung bình cộng của một dãy số. Nếu chương trình luôn cho ra kết quả nhỏ hơn giá trị đúng, loại lỗi nào có khả năng cao nhất gây ra điều này?

13 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 13: Mục tiêu chính của việc kiểm thử hộp đen (black-box testing) là gì?

14 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 14: Điều gì KHÔNG phải là một lợi ích của việc sử dụng công cụ gỡ lỗi?

15 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 15: Trong quá trình kiểm thử, khi nào thì nên sử dụng dữ liệu kiểm thử có kích thước lớn?

16 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 16: Cho đoạn mã Python sau: `x = 10 / 0`. Lỗi nào sẽ xảy ra khi chạy dòng lệnh này?

17 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 17: Phát biểu nào sau đây là đúng về lỗi cú pháp?

18 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 18: Để kiểm tra chương trình có hoạt động đúng với dữ liệu đầu vào không hợp lệ, bạn nên sử dụng loại dữ liệu kiểm thử nào?

19 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 19: Trong quá trình gỡ lỗi, 'breakpoint' (điểm dừng) được sử dụng để làm gì?

20 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 20: Khi nào lỗi ngoại lệ thường xảy ra nhất?

21 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 21: Để kiểm thử tính năng sắp xếp của một chương trình, loại dữ liệu kiểm thử nào sau đây là phù hợp nhất?

22 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 22: Trong quá trình gỡ lỗi, việc 'xem giá trị biến' giúp ích gì cho lập trình viên?

23 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 23: Khi chương trình chạy ra kết quả không mong muốn nhưng không báo lỗi, loại lỗi nào có khả năng cao nhất?

24 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 24: Để kiểm tra chương trình có xử lý đúng các trường hợp biên (boundary cases) không, bạn nên tập trung vào loại dữ liệu kiểm thử nào?

25 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 25: Kỹ thuật 'in gỡ lỗi' (print debugging) là gì?

26 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 26: Cho đoạn mã Python: `age = input('Nhập tuổi: ')`. Nếu người dùng nhập chữ thay vì số, lỗi gì có thể xảy ra khi cố gắng sử dụng biến `age` trong phép tính số học?

27 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 27: Phát biểu nào sau đây KHÔNG phải là một bước trong quy trình gỡ lỗi hiệu quả?

28 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 28: Khi kiểm thử một hàm, 'stub' (đoạn mã giả) thường được sử dụng để làm gì?

29 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 29: Trong kiểm thử phần mềm, 'độ bao phủ mã' (code coverage) là gì?

30 / 30

Category: Trắc nghiệm Tin 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình

Tags: Bộ đề 10

Câu 30: Điều gì quan trọng nhất cần làm trước khi bắt đầu quá trình gỡ lỗi?

Xem kết quả