1. Kiến thức trọng tâm
Kiểm thử là quá trình chạy chương trình với các bộ dữ liệu thử để kiểm tra xem chương trình có hoạt động đúng hay không. Một bộ dữ liệu thử tốt cần bao gồm các trường hợp thông thường, các trường hợp biên và các trường hợp đặc biệt. Ví dụ, với chương trình kiểm tra số chẵn lẻ, cần thử cả số chẵn, số lẻ, số 0 và số âm.
Gỡ lỗi là quá trình tìm và sửa lỗi khi kiểm thử phát hiện chương trình hoạt động sai. Các bước gỡ lỗi thường làm gồm: đọc kỹ thông báo lỗi để xác định vị trí, kiểm tra lại logic của đoạn mã nghi ngờ, thêm các lệnh in tạm thời để theo dõi giá trị biến trong quá trình chạy, và thử lại với dữ liệu đơn giản để khoanh vùng lỗi.
Trong môi trường phát triển, người lập trình có thể dùng công cụ gỡ lỗi như đặt điểm dừng và chạy từng bước để quan sát sự thay đổi của biến. Ngoài ra, câu lệnh try...except trong Python giúp chương trình không bị dừng đột ngột khi gặp lỗi thời gian chạy mà có thể xử lý lỗi một cách chủ động, ví dụ thông báo cho người dùng nhập lại dữ liệu.
2. Ví dụ minh họa
Ví dụ: Chương trình sau tính trung bình cộng của hai số nhưng cho kết quả sai. Hãy tìm và sửa lỗi.
a = int(input("Nhập a: "))
b = int(input("Nhập b: "))
trung_binh = a + b / 2
print(trung_binh)
Lời giải: Lỗi nằm ở công thức: do phép chia được ưu tiên trước phép cộng nên chương trình tính a + (b / 2) thay vì (a + b) / 2. Với a = 6, b = 4, kết quả sai là 8 thay vì 5. Sửa lại thành trung_binh = (a + b) / 2. Để phát hiện lỗi này, cần kiểm thử với các giá trị cụ thể và đối chiếu kết quả với tính toán bằng tay.
3. Ghi nhớ
- Kiểm thử dùng bộ dữ liệu thử gồm trường hợp thường, biên và đặc biệt.
- Gỡ lỗi: đọc thông báo lỗi, khoanh vùng đoạn mã nghi ngờ, theo dõi giá trị biến.
try...exceptgiúp chương trình xử lý lỗi thời gian chạy mà không dừng đột ngột.
