1. Kiểm thử và phân loại lỗi
a) Kiểm thử
- Kiểm thử là quá trình chạy chương trình để kiểm tra xem có lỗi xảy ra hay không.
- Ví dụ: Trong trò chơi Đoán số, chương trình hiển thị số lần đoán sai lệch so với thực tế.
b) Phân loại lỗi
Có hai loại lỗi chính:
- Lỗi cú pháp: Vi phạm quy tắc viết lệnh của ngôn ngữ lập trình, khiến chương trình không chạy được.
- Lỗi logic: Chương trình chạy nhưng không đúng với kịch bản, kết quả sai lệch so với mong muốn.
- Ví dụ: Trong chương trình đoán số, số lần đoán hiển thị nhỏ hơn thực tế một đơn vị là lỗi logic.
Ví dụ minh họa Hình 15.1: Chương trình Scratch có lỗi logic.

2. Phát hiện lỗi và sửa lỗi logic
a) Phát hiện lỗi logic
Có hai phương pháp chính:
- Phân tích logic: Xem xét các khối lệnh liên quan đến lỗi và so sánh với kịch bản mong muốn.
- Chạy thử với dữ liệu mẫu: Quan sát biến số bí mật và số lần đoán để phát hiện lỗi.
Ví dụ:
- Chương trình tính sai số lần đoán do cập nhật biến chưa đúng thứ tự.
- Cách phát hiện: Kiểm tra giá trị biến khi nhập số bí mật.
b) Sửa lỗi logic
- Điều chỉnh lệnh tăng số lần đoán vào đúng thời điểm (ví dụ, di chuyển lệnh tăng biến vào sau khi người chơi nhập số).
- Kiểm tra chương trình từng bước để xác nhận sửa lỗi thành công.
