Lý thuyết Tin học 11 (Cánh diều) Bài 6: Kiểm thử và sửa lỗi chương trình
Tóm tắt lý thuyết Tin học lớp 11 Bài 6: Kiểm thử và sửa lỗi chương trình hay, chi tiết sách Cánh diều sẽ giúp học sinh nắm vững kiến thức trọng tâm, ôn luyện để học tốt Tin học 11.
Lý thuyết Tin học 11 Bài 6: Kiểm thử và sửa lỗi chương trình
A. Lý thuyết Kiểm thử và sửa lỗi chương trình
1. Nguyên nhân gây lỗi và truy vết lỗi
a) Các loại lỗi và nguyên nhân
- Lỗi cú pháp xảy ra trong quá trình soạn thảo chương trình và có thể dễ dàng sửa bởi người lập trình hiểu rõ ngôn ngữ lập trình.
- IDE là môi trường tích hợp phát triển phần mềm có công cụ soạn thảo để giảm thiểu lỗi cú pháp.
- Lỗi thời gian chạy xảy ra khi chạy chương trình và thường do giá trị không hợp lệ trong tính toán.
b) Truy vết lỗi và thông báo lỗi
- Vùng soạn thảo trong IDE có hiển thị số thứ tự dòng lệnh từ 1 đến n.
- Chức năng gỡ lỗi sử dụng truy vết để tìm ra dòng lệnh gây lỗi.
- Thông báo lỗi in ra danh sách các dòng lệnh truy vết được kèm số thứ tự.
- Chạy thử để phát hiện lỗi trong mã nguồn chương trình, gỡ lỗi là xác định vị trí và nguyên nhân gây lỗi và sửa lỗi.
- Phát hiện và sửa lỗi là hai việc đan xen trong một quá trình để đảm bảo chương trình hoạt động đúng.
- Lỗi thuật toán sẽ cho kết quả sai và việc phát hiện và sửa lỗi không phân biệt lỗi chương trình hay lỗi thuật toán.
- Tập hợp các trường hợp đầu vào của một chương trình là vô hạn.
- Không thể chạy thử với tất cả các đầu vào có thể có.
- Chạy thử giúp phát hiện và giải quyết lỗi hơn, tuy không đảm bảo tuyệt đối không còn lỗi.
3. Một số kinh nghiệm thực hành gỡ lỗi chương trình
a) Các ca kiểm thử để phát hiện lỗi chương trình
- Một ca kiểm thử là một trường hợp đã cho các đầu vào cụ thể và dự đoán trước kết quả đầu ra đúng yêu cầu của bài toán.
- Các ca kiểm thử nhằm phát hiện các lỗi tiềm ẩn. Gợi ý các ca kiểm thử:
+ Kiểm tra các lệnh rẽ nhánh với đầu vào tương ứng cho đủ các trường hợp.
+ Kiểm tra các lệnh lặp với đầu vào khiến số lần lặp là 0 lần, 1 lần, nhiều lần.
+ Kiểm tra với các giá trị ở các đầu mút trái, phải của một biểu thức điều kiện.
+ Cần thận trọng với điều kiện “bằng nhau” khi so sánh hai biển kiểu số thực vì kết quả tính toán có thể bị làm tròn.
+ Kiểm tra với các đầu vào “không mong đợi” nếu muốn biết chương trình sẽ hoạt động như thế nào khi người khác chạy “khám phá”.
- Kiểm thử và sửa lỗi từng đoạn mã lệnh, từng hàm riêng biệt, trước khi chuyển sang phần khác để dễ hơn trong việc phát hiện lỗi.
- Tách biệt các phần công việc của chương trình để dễ sửa lỗi và là một khía cạnh của phương pháp lập trình theo mô đun.
- Có những lỗi logic khó phát hiện.
- Kiểm soát giá trị biến, biểu thức khi chạy kiểm thử.
- In giá trị biến, biểu thức hoặc sử dụng trình gỡ rối trong IDE để theo dõi giá trị.
4. Tập thói quen tốt khi lập trình để dễ gỡ lỗi
- Kĩ năng lập trình và gỡ lỗi cần phải thực hành để đạt được. Học từ sai lầm, ghi nhớ và cải tiến phong cách lập trình là rất quan trọng.
- Nên tập một số thói quen tốt sau đây để chương trình ít lỗi và việc gỡ lỗi dễ dàng hơn:
- Không viết các câu lệnh ngay sau khi đọc bài toán lập trình, nên tách biệt các công việc và thiết kế tổng thể chương trình.
- Mô tả thuật toán bằng liệt kê các bước, chuyển thành chương trình con, xác định rõ đầu vào đầu ra của mỗi hàm.
- Đặt tên gợi nhớ cho các hàm và biến quan trọng, viết chú thích đầy đủ trước hoặc sau các khai báo.
5. Tổ chức tách biệt các phần của một chương trình
a) Định nghĩa hàm để thực hiện thuật toán
- Người lập trình tự định nghĩa hàm bằng cách chọn tên hàm, biến đầu vào và cách trả về kết quả dựa trên mô tả thuật toán.
- Phần thân hàm là kết quả chuyển từ mô tả thuật toán thành câu lệnh ngôn ngữ lập trình.
b) Các lệnh để chạy thử phát hiện lỗi
- Các lệnh cần thiết trong chương trình bao gồm:
+ Gán dữ liệu đầu vào: câu lệnh gán giá trị cho biến đầu vào hoặc đọc dữ liệu từ tệp.
+ Xuất kết quả đầu ra: lệnh in ra màn hình kèm theo mô tả đầu ra và dữ liệu đầu vào tương ứng nếu cần.
c) Lợi ích của việc tổ chức tách biệt các phần công việc
- Dễ chạy thử: Các lệnh kiểm tra giá trị biến và thực thi đoạn chương trình để chạy thử. Dùng ký hiệu "#" để liệt kê các ca kiểm thử khác nhau và chạy thử từng ca.
- Dễ sửa lỗi: Bố cục chương trình có logic rõ ràng, dễ tìm ra vị trí lỗi.
B. Bài tập Kiểm thử và sửa lỗi chương trình
Đang cập nhật…
Xem thêm các bài lý thuyết Tin học 11 sách Cánh diều hay, chi tiết tại:
Lý thuyết Bài 7: Lập trình giải bài toán tìm kiếm
Lý thuyết Bài 8: Lập trình một số thuật toán sắp xếp
Lý thuyết Bài 9: Lập trình thuật toán sắp xếp nhanh
Lý thuyết Bài 10: Thiết kế và chương trình từ trên xuống và phương pháp Mô đun hóa
Lý thuyết Bài 15: Cấu trúc dữ liệu danh sách liên kết và ứng dụng
Xem thêm các chương trình khác:
- Soạn văn lớp 11 Cánh diều (hay nhất)
- Văn mẫu lớp 11 - Cánh diều
- Tóm tắt tác phẩm Ngữ văn 11 – Cánh diều
- Tác giả tác phẩm Ngữ văn 11 - Cánh diều
- Giải SBT Ngữ văn 11 – Cánh diều
- Bố cục tác phẩm Ngữ văn 11 – Cánh diều
- Giải Chuyên đề học tập Ngữ văn 11 – Cánh diều
- Nội dung chính tác phẩm Ngữ văn lớp 11 – Cánh diều
- Soạn văn 11 Cánh diều (ngắn nhất)
- Giải sgk Toán 11 – Cánh diều
- Giải Chuyên đề học tập Toán 11 – Cánh diều
- Lý thuyết Toán 11 - Cánh diều
- Giải sbt Toán 11 – Cánh diều
- Giải sgk Tiếng Anh 11 – ilearn Smart World
- Giải sbt Tiếng Anh 11 - ilearn Smart World
- Trọn bộ Từ vựng Tiếng Anh 11 ilearn Smart World đầy đủ nhất
- Giải sgk Vật lí 11 – Cánh diều
- Lý thuyết Vật lí 11 – Cánh diều
- Giải sbt Vật lí 11 – Cánh diều
- Giải Chuyên đề học tập Vật lí 11 – Cánh diều
- Giải sgk Hóa học 11 – Cánh diều
- Giải Chuyên đề học tập Hóa học 11 – Cánh diều
- Lý thuyết Hóa 11 - Cánh diều
- Giải sbt Hóa học 11 – Cánh diều
- Giải sgk Sinh học 11 – Cánh diều
- Lý thuyết Sinh học 11 – Cánh diều
- Giải Chuyên đề học tập Sinh học 11 – Cánh diều
- Giải sbt Sinh học 11 – Cánh diều
- Giải sgk Giáo dục Kinh tế và Pháp luật 11 – Cánh diều
- Giải Chuyên đề học tập Kinh tế pháp luật 11 – Cánh diều
- Lý thuyết Kinh tế pháp luật 11 – Cánh diều
- Giải sbt Kinh tế pháp luật 11 – Cánh diều
- Giải sgk Lịch sử 11 – Cánh diều
- Giải Chuyên đề học tập Lịch sử 11 – Cánh diều
- Lý thuyết Lịch sử 11 - Cánh diều
- Giải sbt Lịch sử 11 – Cánh diều
- Giải sgk Địa lí 11 – Cánh diều
- Giải Chuyên đề học tập Địa lí 11 – Cánh diều
- Lý thuyết Địa lí 11 - Cánh diều
- Giải sbt Địa lí 11 – Cánh diều
- Giải sgk Công nghệ 11 – Cánh diều
- Lý thuyết Công nghệ 11 - Cánh diều
- Giải sbt Công nghệ 11 – Cánh diều
- Giải sgk Giáo dục quốc phòng an ninh 11 – Cánh diều
- Lý thuyết Giáo dục quốc phòng 11 – Cánh diều
- Giải sbt Giáo dục quốc phòng 11 – Cánh diều
- Giải sgk Hoạt động trải nghiệm 11 – Cánh diều