Giải bài tập tin học lớp 10 kết nối tri thức bài 30: Kiếm thử và gỡ lỗi chương trình
Giải bài 30: Kiểm thử và gỡ lỗi chương trình
Sách tin học lớp 10 kết nối tri thức cung cấp phần đáp án chuẩn và hướng dẫn giải chi tiết cho từng bài tập trong chương trình học. Bài học trước đã giới thiệu với các em khái niệm về lỗi ngoại lệ khi chạy chương trình Python.
Một chương trình chạy mà không có lỗi ngoại lệ không có nghĩa là chương trình không có lỗi. Thậm chí, những "lỗi" không tường minh (bug) càng khó phát hiện và khó sửa. Vậy làm thế nào để kiểm tra và gỡ lỗi một chương trình?
Các phương pháp kiểm thử chương trình bao gồm quan sát mã lỗi Runtime và bắt lỗi ngoại lệ, in các thông số trung gian, sử dụng công cụ break point để kiểm tra từng khâu của chương trình.
Một vài phương pháp kiểm thử chương trình
1. Quan sát mã lỗi Runtime và bắt ngoại lệ: Xác định vị trí dòng lệnh gây ra lỗi để tìm và sửa lỗi.
2. Kiểm thử chương trình với các bộ test dữ liệu: Sử dụng các bộ test để phát hiện lỗi và nguyên nhân gây lỗi.
3. In các thông số trung gian: Kiểm tra độ chính xác của chương trình bằng cách in ra các thông số trung gian.
4. Sử dụng công cụ break point (điểm dừng): Cho phép người kiểm thử quan sát thông tin bên trong chương trình để kiểm tra tính đúng đắn của chương trình.
Bằng cách thực hiện các phương pháp trên, người dùng có thể kiểm tra và sửa lỗi một cách hiệu quả, đảm bảo chương trình hoạt động đúng như mong đợi.
Bài tập và hướng dẫn giải
Vận dụng
Câu 1. Chương trình sau có chức năng sắp xếp một dãy số cho trước. Hãy kiểm tra xem chương trình có lỗi không. Nếu có thì tìm và sửa lỗi.
Câu 2: Chương trình sau có lỗi không? Nếu có thì tìm và sửa lỗi.
m= input("Nhập số tự nhiên m:")
n=input("Nhập số tự nhiên n:")
print('Tổng hai số đã nhập là:",m+n)
VẬN DỤNG
Câu 1: Chương trình sau có chức năng sắp xếp một dãy số cho trước. hãy kiểm tra xem chương trình có lỗi không? Nếu có thì tìm và sửa lỗi.
Câu 2: Để kiểm thử một chương trình, nếu chỉ bằng việc kiểm tra thông qua các bộ dữ liệu test thì có đảm bảo tìm ra hết lỗi của chương trình hay không? Vì sao?