YOMEDIA
NONE

Tin học 11 Cánh diều Chủ đề FCS Bài 6: Kiểm thử và sửa lỗi chương trình


Thông qua nội dung Bài 6: Kiểm thử và sửa lỗi chương trình, các em sẽ biết được việc kiểm thử giúp lập trình viên phát hiện lỗi, làm tăng độ tin cậy của chương trình và một số kinh nghiệm gỡ lỗi và các thói quen lập trình tốt để dễ gỡ lỗiHOC247 hy vọng rằng các em sẽ thu thập được những kiến thức hữu ích và thú vị giúp các em nâng cao kiến thức về môn Tin học 11 qua các bài học của chương trình Khoa học máy tính.

ATNETWORK
YOMEDIA
 

Tóm tắt lý thuyết

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

 

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

 

1.3. Một số kinh nghiệm thực hành gỡ lỗi chương trình

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

 

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.

 

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

 

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

 

1.5. Tổ chức tách biệt các phần của một chương trình

Đị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.

 

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.

 

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ài tập minh họa

Hãy nêu một vài thói quen lập trình tốt để chương trình ít lỗi và dễ gỡ lỗi?

 

Hướng dẫn giải:

- Đặt tên biến và hàm rõ ràng và mô tả đúng chức năng của chúng.

- Sử dụng các lời gọi hàm phù hợp để tái sử dụng mã.

- Đặt các phần của mã trong các hàm và lớp để dễ dàng tái sử dụng và kiểm thử.

- Sử dụng các phương thức kiểm thử để đảm bảo rằng chương trình hoạt động đúng và dễ dàng gỡ lỗi khi có lỗi.

- Ghi chú mã một cách rõ ràng để giải thích chức năng và cách sử dụng mã.

- Thường xuyên lưu mã để tránh mất dữ liệu khi xảy ra lỗi.

- Sử dụng các công cụ gỡ lỗi để tìm lỗi và sửa lỗi một cách nhanh chóng và dễ dàng hơn.

Tóm lại, các thói quen lập trình tốt có thể giúp giảm thiểu số lỗi trong chương trình và dễ dàng gỡ lỗi nếu có lỗi xảy ra

3. Luyện tập Bài 6 Chủ đề FCS SGK Tin học 11 Cánh diều

Học xong bài này, em sẽ:

- Biết được việc kiểm thử giúp lập trình viên phát hiện lỗi, làm tăng độ tin cậy của chương trình nhưng chưa chứng minh được chương trình đã hết lỗi.

- Biết được một số kinh nghiệm gỡ lỗi và các thói quen lập trình tốt để dễ gỡ lỗi.

3.1. Trắc nghiệm Bài 6 Chủ đề FCS SGK Tin học 11 Cánh diều

Như vậy là các em đã xem qua bài giảng Bài 6 Chủ đề FCS SGK Tin học 11 Cánh diều Khoa học máy tính. Để củng cố kiến thức bài học mời các em tham gia bài tập trắc nghiệm Trắc nghiệm Tin học 11 Cánh diều Chủ đề FCS Bài 6.

Câu 4-10: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!

3.2. Bài tập Bài 6 Chủ đề FCS SGK Tin học 11 Cánh diều

Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 11 Cánh diều Chủ đề FCS Bài 6 để giúp các em nắm vững bài học và các phương pháp giải bài tập.

Khởi động trang 113 SGK Tin học 11 Cánh diều - CD

Hoạt động trang 114 SGK Tin học 11 Cánh diều - CD

Luyện tập 1 trang 116 SGK Tin học 11 Cánh diều - CD

Luyện tập 2 trang 116 SGK Tin học 11 Cánh diều - CD

Vận dụng trang 116 SGK Tin học 11 Cánh diều - CD

Câu hỏi 1 trang 116 SGK Tin học 11 Cánh diều - CD

Câu hỏi 2 trang 116 SGK Tin học 11 Cánh diều - CD

4. Hỏi đáp Bài 6 Chủ đề FCS SGK Tin học 11 Cánh diều

Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học của HOC247 sẽ hỗ trợ cho các em một cách nhanh chóng!

Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!

-- Mod Tin Học 11 HỌC247

NONE
AANETWORK
 

 

YOMEDIA
ATNETWORK
ON