Chào mừng quý vị đến với website của ...
Quý vị chưa đăng nhập hoặc chưa đăng ký làm thành viên, vì vậy chưa thể tải được các tài liệu của Thư viện về máy tính của mình.
Nếu chưa đăng ký, hãy nhấn vào chữ ĐK thành viên ở phía bên trái, hoặc xem phim hướng dẫn tại đây
Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay phía bên trái.
Nếu chưa đăng ký, hãy nhấn vào chữ ĐK thành viên ở phía bên trái, hoặc xem phim hướng dẫn tại đây
Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay phía bên trái.
Bài 30. Kiểm thử và gỡ lỗi chương trình
(Tài liệu chưa được thẩm định)
Nguồn: Bạch Kim
Người gửi: Ngô Văn Chinh (trang riêng)
Ngày gửi: 11h:45' 10-05-2023
Dung lượng: 2.5 MB
Số lượt tải: 0
Nguồn: Bạch Kim
Người gửi: Ngô Văn Chinh (trang riêng)
Ngày gửi: 11h:45' 10-05-2023
Dung lượng: 2.5 MB
Số lượt tải: 0
Số lượt thích:
0 người
BÀI 30: KIỂM THỬ VÀ GỠ LỖI CHƯƠNG TRÌNH
Trang bìa
Trang bìa
TIN HỌC 10
BÀI 30: KIỂM THỬ VÀ GỠ LỖI CHƯƠNG TRÌNH
Ảnh
Khởi động
Khởi động (Khởi động)
Ảnh
Theo em, làm thế nào để kiểm tra (test) và gỡ lỗi (debug) một chương trình? Môi trường lập trình có công cụ nào hỗ trợ việc đó không?
1. MỘT VÀI PHƯƠNG PHÁP KIỂM THỬ CHƯƠNG TRÌNH
- Hoạt động
Hình vẽ
- Đọc SGK và thảo luận nhóm đôi các phương pháp, công cụ sau để biết chức năng, tác dụng của từng công cụ trong công việc kiểm thử chương trình.
Ảnh
1. MỘT VÀI PHƯƠNG PHÁP KIỂM THỬ CHƯƠNG TRÌNH
a) Quan sát mã lỗi Runtime và bắt lỗi ngoại lệ
Ảnh
- Nếu chương trình có lỗi Runtime (tức là đang chạy bị dừng lại), cần quan sát các mã lỗi (mã lỗi ngoại lệ) để kiểm tra vị trí dòng lệnh sinh ra lỗi này. Từ đó phân tích, tìm và sửa lỗi.
a) Quan sát mã lỗi Runtime và bắt lỗi ngoại lệ
b) Kiểm thử chương trình với các bộ dữ liệu test
Ảnh
- Chương trình cần được thử với một số bộ dữ liệu test gồm đầu vào tiêu biểu phụ thuộc đặc thù của bài toán và kết quả đầu ra đã biết trước. Các bộ test có thể có đầu vào theo các tiêu chí khác nhau như độ lớn và tính đa năng của dữ liệu. - Chú ý một số điểm sau: + Cần có nhiều bộ test. + Cần có bộ test ngẫu nhiên. + Cần có bộ test dữ liệu ở vùng biên.
b) Kiểm thử chương trình với các bộ dữ liệu test
c) Sử dụng công cụ break point (điểm dừng)
Ảnh
- Công cụ break point cho phép tạ o ra các "điểm dừng" bên trong chương trình. Khi chạy, chương trình sẽ tạm dừng lại tại các "điểm rừng" cho phép người kiểm thử có thể quan sát các thông tin khác bên trong chương trình, qua đó kiểm tra tính đúng đắn của chương trình.
c) Sử dụng công cụ break point (điểm dừng)
- Kết luận
Ảnh
Một số ghi nhớ: - Sử dụng công cụ in các biến trung gian. - Sử dụng công cụ sinh các bộ dữ liệu test. - Sử dụng công cụ điểm dừng trong phần mềm soạn thảo lập trình. - Quan sát các mã lỗi của chương trình nếu phát sinh.
Kết luận
2. VÍ DỤ MINH HỌA
- Ví dụ
Ảnh
Ví dụ: Nhập từ bàn phím hai số tự nhiên m, n, tính ƯCLN của hai số này.
2. VÍ DỤ MINH HỌA
- Gọi gcd(m, n) là ƯCLN của hai số tự nhiên m, n. Thuật toán của bài toán này dựa trên thuật toán sau: (1) gcd(m, m) = m. (2) Nếu n > m thì gcd(m, n) = gcd(m, n-m). (3) Nếu n < m thì gcd(m, n) = gcd(m - n, n).
- Chương trình
Chương trình:
Ảnh
=> Chúng ta sẽ tiến hành kiểm thử chương trình này. Cần tập trung kiểm tra kĩ khối lệnh của lệnh lặp while.
+ Cách 1
- Bổ sung biến k và hai lệnh print() vào chương trình:
Cách 1: In ra các giá trị trung gian để kiểm soát chương trình
Ảnh
Ảnh
Hình vẽ
+ Cách 2
- Thiết lập điểm dừng tại dòng 4 của chương trình như sau. Đây là vị trí bắt đầu chuẩn bị vào vòng lặp:
Cách 2: Sử dụng công cụ tạo điểm dừng của phần mềm
Ảnh
Ảnh
Hình vẽ
Luyện tập
- Câu hỏi (LUYỆN TẬP)
Ảnh
Câu 1: Chương trình của em khi chạy phát sinh lỗi ngoại lệ ZeroDivisionError. Đó là lỗi gì và em sẽ xử lí lỗi này như thế nào? 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 hỏ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: Để 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ó bảo đảm tìm ra hết lỗi của chương trình hay không? Vì sao?
Ảnh
Dặn dò
- Dặn dò
Ảnh
Dặn dò
Học hiểu trọng tâm bài học. Làm bài tập trong SBT. Chuẩn bị bài sau: Bài 31: Thực hành viết chương trình đơn giản.
- Cảm ơn
Ảnh
Trang bìa
Trang bìa
TIN HỌC 10
BÀI 30: KIỂM THỬ VÀ GỠ LỖI CHƯƠNG TRÌNH
Ảnh
Khởi động
Khởi động (Khởi động)
Ảnh
Theo em, làm thế nào để kiểm tra (test) và gỡ lỗi (debug) một chương trình? Môi trường lập trình có công cụ nào hỗ trợ việc đó không?
1. MỘT VÀI PHƯƠNG PHÁP KIỂM THỬ CHƯƠNG TRÌNH
- Hoạt động
Hình vẽ
- Đọc SGK và thảo luận nhóm đôi các phương pháp, công cụ sau để biết chức năng, tác dụng của từng công cụ trong công việc kiểm thử chương trình.
Ảnh
1. MỘT VÀI PHƯƠNG PHÁP KIỂM THỬ CHƯƠNG TRÌNH
a) Quan sát mã lỗi Runtime và bắt lỗi ngoại lệ
Ảnh
- Nếu chương trình có lỗi Runtime (tức là đang chạy bị dừng lại), cần quan sát các mã lỗi (mã lỗi ngoại lệ) để kiểm tra vị trí dòng lệnh sinh ra lỗi này. Từ đó phân tích, tìm và sửa lỗi.
a) Quan sát mã lỗi Runtime và bắt lỗi ngoại lệ
b) Kiểm thử chương trình với các bộ dữ liệu test
Ảnh
- Chương trình cần được thử với một số bộ dữ liệu test gồm đầu vào tiêu biểu phụ thuộc đặc thù của bài toán và kết quả đầu ra đã biết trước. Các bộ test có thể có đầu vào theo các tiêu chí khác nhau như độ lớn và tính đa năng của dữ liệu. - Chú ý một số điểm sau: + Cần có nhiều bộ test. + Cần có bộ test ngẫu nhiên. + Cần có bộ test dữ liệu ở vùng biên.
b) Kiểm thử chương trình với các bộ dữ liệu test
c) Sử dụng công cụ break point (điểm dừng)
Ảnh
- Công cụ break point cho phép tạ o ra các "điểm dừng" bên trong chương trình. Khi chạy, chương trình sẽ tạm dừng lại tại các "điểm rừng" cho phép người kiểm thử có thể quan sát các thông tin khác bên trong chương trình, qua đó kiểm tra tính đúng đắn của chương trình.
c) Sử dụng công cụ break point (điểm dừng)
- Kết luận
Ảnh
Một số ghi nhớ: - Sử dụng công cụ in các biến trung gian. - Sử dụng công cụ sinh các bộ dữ liệu test. - Sử dụng công cụ điểm dừng trong phần mềm soạn thảo lập trình. - Quan sát các mã lỗi của chương trình nếu phát sinh.
Kết luận
2. VÍ DỤ MINH HỌA
- Ví dụ
Ảnh
Ví dụ: Nhập từ bàn phím hai số tự nhiên m, n, tính ƯCLN của hai số này.
2. VÍ DỤ MINH HỌA
- Gọi gcd(m, n) là ƯCLN của hai số tự nhiên m, n. Thuật toán của bài toán này dựa trên thuật toán sau: (1) gcd(m, m) = m. (2) Nếu n > m thì gcd(m, n) = gcd(m, n-m). (3) Nếu n < m thì gcd(m, n) = gcd(m - n, n).
- Chương trình
Chương trình:
Ảnh
=> Chúng ta sẽ tiến hành kiểm thử chương trình này. Cần tập trung kiểm tra kĩ khối lệnh của lệnh lặp while.
+ Cách 1
- Bổ sung biến k và hai lệnh print() vào chương trình:
Cách 1: In ra các giá trị trung gian để kiểm soát chương trình
Ảnh
Ảnh
Hình vẽ
+ Cách 2
- Thiết lập điểm dừng tại dòng 4 của chương trình như sau. Đây là vị trí bắt đầu chuẩn bị vào vòng lặp:
Cách 2: Sử dụng công cụ tạo điểm dừng của phần mềm
Ảnh
Ảnh
Hình vẽ
Luyện tập
- Câu hỏi (LUYỆN TẬP)
Ảnh
Câu 1: Chương trình của em khi chạy phát sinh lỗi ngoại lệ ZeroDivisionError. Đó là lỗi gì và em sẽ xử lí lỗi này như thế nào? 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 hỏ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: Để 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ó bảo đảm tìm ra hết lỗi của chương trình hay không? Vì sao?
Ảnh
Dặn dò
- Dặn dò
Ảnh
Dặn dò
Học hiểu trọng tâm bài học. Làm bài tập trong SBT. Chuẩn bị bài sau: Bài 31: Thực hành viết chương trình đơn giản.
- Cảm ơn
Ảnh
 
↓ CHÚ Ý: Bài giảng này được nén lại dưới dạng ZIP và có thể chứa nhiều file. Hệ thống chỉ hiển thị 1 file trong số đó, đề nghị các thầy cô KIỂM TRA KỸ TRƯỚC KHI NHẬN XÉT ↓
Các ý kiến mới nhất