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.

1 1,341 23/09/2023


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ự.

2. Chạy thử chương trình 

- 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á”.

b) Chia để trị

- 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) Hãy in ra

- 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

1 1,341 23/09/2023


Xem thêm các chương trình khác: