Lý thuyết và giải bài tập Tin học 10 Bài 30. Kiểm thử và gỡ lỗi chương trình

Lý thuyết Tin 10 Kết nối tri thức Bài 30. Kiểm thử và gỡ lỗi chương trì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ệ

Nếu chương trình có lỗi Runtime (đang chạy mà dừng lại), cần quan sát các mã lỗi để kiểm tra vị trí dòng lệnh sinh lỗi này. Từ đó tìm và sửa lỗi.

b) Kiểm thử chương trình với các bộ dữ liệu test

- 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ần chú ý:

+ Cần có nhiều bộ test (theo các tiêu chí khác nhau).

+ Cần có bộ test ngẫu nhiên.

+ Cần có bộ test dữ liệu ở vùng biên. Ví dụ dữ liệu đầu vào là cặp (x, y) xác định trên miền [0, 1]. Khi đó cần kiểm tra với bộ dữ liệu biên (0, 0), (0; 1), (1; 0), (1; 1). Thực tế cho thấy lỗi thường phát sinh tại vùng biên hoặc lân cận của biên.

c) In các thông số trung gian

- Bổ sung vào giữa các dòng lệnh câu lệnh print() để in ra biến trung gian, kiểm tra quy trình hay thuật toán.

- Giả sử chương trình có đầu vào là (x1, x2) đầu ra là (a1, a2) nhưng sử sụng biến trung gian (y1, y2). Khi đó bổ sung thêm các dòng lệnh để in ra các giá trị trung gian, từ đó sẽ dễ tìm lỗi hơn.

d) Sử dụng công cụ break point (điểm dừng)

- 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 tại các điểm dừ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, kiểm tra tính đúng đắn của chương trình.

2. Ví dụ minh họa

Ví dụ: Nhập từ bàn phím hai số tự nhiên m, n. Tìm UCLN của hai số này.

Hướng dẫn:

Gọi gcd(m, n) là UwCLN của hai số tự nhiên m, n.

- Thuật toán:

1) gcd(m, m) = m

2) Nếu n > m thì gcd(m, n) = gcd (m, n - m)

3) Nếu n < m thì gvd(m, n) = gcd (m – n, n)

Phần cơ bản nhất của chương trình sẽ là một vòng lặp while, vòng lặp sẽ kết thúc khi m = n.

Chương trình như sau:



- Tiến hành kiểm thử chương trình

Cách 1: In ra giá trị trung gian để kiểm soát chương trình

Bổ sung biến k và hai lệnh print() như sau:


Việc bổ sung thêm biến k và hai lệnh print() để in các giá trị trung gian k, m, n.

Kết quả:



Cách 2: Sử dụng công cụ break point tại dòng 4


Khi chạy, chương trình sẽ dừng lại trước mỗi vòng lặp, chúng ra sẽ ghi lại các giá trị m, n vào một bảng sau. Khi kết thúc hết vòng lặp thì kết quả chính là giá trị m.



CÙNG CHUYÊN MỤC:

Chủ đề 1: Máy tính và xã hội tri thức
Lý thuyết: Bài 1-Thông tin và dữ liệu
Lý thuyết: Bài 2-Vai trò của thiết bị thông minh và tin học đối với xã hội
Chủ đề 2: Mạng máy tính và Internet
Lý thuyết: Bài 8-Mạng máy tính trong cuộc sống hiện đại
Lý thuyết: Bài 9-An toàn trên không gian mạng
Chủ đề 3: Đạo đức, pháp luật và văn hóa trong môi trường số
Lý thuyết: Bài 11-Ứng dụng trên môi trường số. Nghĩa vụ tôn trọng bản quyền
Chủ đề 5: Giải quyết vấn đề với sự trợ giúp của máy tính
Lý thuyết: Bài 16-Ngôn ngữ lập trình bậc cao và Python
Lý thuyết: Bài 17-Biến và lệnh gán
Lý thuyết: Bài 18-Các lệnh vào ra đơn giản
Lý thuyết: Bài 19-Câu lệnh điều kiện if
Lý thuyết: Bài 20-Câu lệnh lặp for
Lý thuyết: Bài 21-Câu lệnh lặp while
Lý thuyết: Bài 22-Kiểu dữ liệu danh sách
Lý thuyết: Bài 23-Một số lệnh làm việc với dữ liệu danh sách
Lý thuyết: Bài 24-Xâu kí tự
Lý thuyết: Bài 25-Một số lệnh làm việc với xâu kí tự
Lý thuyết: Bài 26-Hàm trong Python
Lý thuyết: Bài 27-Tham số của hàm
Lý thuyết: Bài 28-Phạm vi của biến
Lý thuyết: Bài 29-Nhận biết lỗi chương trình
Lý thuyết: Bài 30-Kiểm thử và gỡ lỗi chương trình
Lý thuyết: Bài 31-Thực hành viết chương trình đơn giản
Lý thuyết: Bài 32-Ôn tập lập trình Python
Chủ đề 6: Hướng nghiệp với Tin học
Lý thuyết: Bài 33-Nghề thiết kế đồ hoạ máy tính
Lý thuyết: Bài 34-Nghề phát triển phần mềm

Next Post Previous Post
No Comment
Add Comment
comment url