Bài học cùng chủ đề
Báo cáo học liệu
Mua học liệu
Mua học liệu:
-
Số dư ví của bạn: 0 coin - 0 Xu
-
Nếu mua học liệu này bạn sẽ bị trừ: 2 coin\Xu
Để nhận Coin\Xu, bạn có thể:
Lý thuyết SVIP
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ệ
- Chương trình có lỗi Runtime, cần quan sát các mã lỗi (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.
b) Kiểm thử chương trình với các bộ dữ liệu test
- Chương trình được thử với 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ú ý 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.
c) In các thông số trung gian
- Bổ sung vào giữa các dòng lệnh print() để in ra các biến trung gian, qua đó kiểm tra các quy định hay thuật toán được viết có đúng không.
- Qua các giá trị trung gian trong chương trình, nếu kết quả cuối cùng có lỗi sẽ dễ tìm ra lỗi đó.
d) Sử dụng công cụ break point (điểm dừng)
- Công này cho phép tạo ra các “điểm dừng” trong chương trình. Khi chạy, chương trình tạm dừng tại “điểm dừng” cho phép kiểm thử có thể quan sát các thông tin khác trong chương trình, qua đó 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ính ƯCLN của hai số này.
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).
Phần cơ bản của chương trình sẽ là vòng lặp while, vòng lặp sẽ kết thúc khi m = n. Chương trình như sau:
Chúng ta sẽ tiến hành kiểm thử chương trình. Cần tập trung kiểm tra khối lệnh của lệnh lặp while.
Cách 1: In ra các giá trị trung gian để kiểm soát chương trình.
Bổ sung biến k và hai lệnh print() vào chương trình như mô tả sau:
Kết quả thực hiện chương trình trên như sau:
Cách 2: Sử dụng công cụ tạo điểm dừng của phần mềm soạn thảo lập trình.
Khi chạy chương trình sẽ dừng trước vòng lặp, ghi lại các giá trị m, n vào bảng như sau. Khi kết thúc hết vòng lặp thì kết quả chương trình là giá trị m.
Vòng lặp | m | n | Kết quả |
1 | 20 | 16 | |
2 | 4 | 16 | |
3 | 4 | 12 | |
4 | 4 | 8 | |
Kết thúc | 4 | 4 | 4 |
Cả hai cách để kiểm soát lỗi là in các giá trị trung gian và thiết lập điểm dừng đều hiệu quả.
Bạn có thể đánh giá bài học này ở đây