Tin học 10 – Bài 30. Kiểm thử và gỡ lỗi chương trình

1. Một và phương pháp kiểm thử chương trình

Các phương pháp kiểm thử thường dùng:

  • Quan sát mã lỗi Runtime và bắt lỗi ngoại lệ
    • Khi chương trình bị dừng do lỗi Runtime, quan sát thông báo lỗi để xác định vị trí và nguyên nhân lỗi, từ đó sửa lỗi.
  • Kiểm thử với các bộ dữ liệu test
    • Thử chương trình với nhiều bộ dữ liệu đầu vào khác nhau (đa dạng, ngẫu nhiên, dữ liệu biên) để kiểm tra tính đúng đắn.
    • Ví dụ: Nếu đầu vào là cặp (x, y) với 0 ≤ x, y ≤ 1, cần kiểm tra các trường hợp (0,0), (0,1), (1,0), (1,1).
  • In các thông số trung gian
    • Chèn lệnh print() để in ra giá trị các biến trung gian, giúp kiểm tra quá trình xử lý của chương trình.
  • Sử dụng công cụ break point (điểm dừng)
    • Đặt điểm dừng trong chương trình để quan sát giá trị các biến tại từng thời điểm, giúp phát hiện lỗi dễ dàng hơn.

Ghi nhớ:

  • Sử dụng lệnh in biến trung gian.
  • Sinh các bộ dữ liệu test đa dạng.
  • Đặt điểm dừng trong phần mềm lập trình.
  • Quan sát mã lỗi khi chương trình phát sinh lỗi.

2. Ví dụ minh họa

Bài toán: Tính ƯCLN của hai số tự nhiên m, n

Thuật toán:

  • Nếu m = n thì ƯCLN là m.
  • Nếu n > m thì ƯCLN(m, n) = ƯCLN(m, n–m).
  • Nếu n < m thì ƯCLN(m, n) = ƯCLN(m–n, n).

Chương trình cơ bản:

# Tính ƯCLN của m, n
m = int(input("Nhập số tự nhiên m: "))
n = int(input("Nhập số tự nhiên n: "))
while m != n:
    if m < n:
        n = n - m
    else:
        m = m - n
print("Đáp số:", m)

Kiểm thử chương trình

Cách 1: In giá trị trung gian

Thêm biến đếm vòng lặp và lệnh in:

m = int(input("Nhập số tự nhiên m: "))
n = int(input("Nhập số tự nhiên n: "))
k = 0
while m != n:
    k = k + 1
    print("Vòng lặp", k, ":", m, n) # in các giá trị từng vòng lặp
    if m < n:
        n = n - m
    else:
        m = m - n
print("Kết thúc vòng lặp:", m, n)
print("Đáp số:", m)

Kết quả ví dụ:

Nhập số tự nhiên m: 20
Nhập số tự nhiên n: 16
Vòng lặp 1 : 20 16
Vòng lặp 2 : 4 16
Vòng lặp 3 : 4 12
Vòng lặp 4 : 4 8
Kết thúc vòng lặp: 4 4
Đáp số: 4

Cách 2: Sử dụng điểm dừng (break point)
  • Đặt điểm dừng tại dòng bắt đầu vòng lặp để quan sát giá trị các biến qua từng vòng lặp.
  • Bảng theo dõi giá trị biến:
Vòng lặpmnKết quả
12016
2416
3412
448
Kết thúc lặp444

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *