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[.]
Bài 30: Kiểm thử gỡ lỗi chương trình Một vài phương pháp kiểm thử chương trình a) Quan sát mã lỗi Runtime 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 mã lỗi để kiểm tra vị trí dịng lệnh sinh lỗi Từ tìm sửa lỗi b) Kiểm thử chương trình với liệu test - Chương trình cần thử với số liệu test gồm đầu vào tiêu biểu phụ thuộc đặc thù toán kết đầu biết trước - Cần ý: + Cần có nhiều test (theo tiêu chí khác nhau) + Cần có test ngẫu nhiên + Cần có test liệu vùng biên Ví dụ liệu đầu vào cặp (x, y) xác định miền [0, 1] Khi cần kiểm tra với 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 vùng biên lân cận biên c) In thông số trung gian - Bổ sung vào dòng lệnh câu lệnh print() để in biến trung gian, kiểm tra quy trình hay thuật tốn - Giả sử chương trình có đầu vào (x 1, x2) đầu (a1, a2) sử sụng biến trung gian (y1, y2) Khi bổ sung thêm dòng lệnh để in giá trị trung gian, từ dễ tìm lỗi d) Sử dụng công cụ break point (điểm dừng) - Công cụ break point cho phép tạo điểm dừng bên chương trình Khi chạy, chương trình tạm dừng điểm dừng cho phép người kiểm thử quan sát thông tin khác bên chương trình, kiểm tra tính đắn chương trình Ví dụ minh họa Ví dụ: Nhập từ bàn phím hai số tự nhiên m, n Tìm UCLN hai số Hướng dẫn: Gọi gcd(m, n) UwCLN hai số tự nhiên m, n - Thuật toán: 1) gcd(m, m) = m 2) Nếu n > m gcd(m, n) = gcd (m, n - m) 3) Nếu n < m gvd(m, n) = gcd (m – n, n) Phần chương trình vòng lặp while, vòng lặp kết thúc m = n Chương trình sau: - Tiến hành kiểm thử chương trình Cách 1: In giá trị trung gian để kiểm sốt chương trình Bổ sung biến k hai lệnh print() sau: Việc bổ sung thêm biến k hai lệnh print() để in giá trị trung gian k, m, n Kết quả: Cách 2: Sử dụng cơng cụ break point dịng Khi chạy, chương trình dừng lại trước vòng lặp, chúng ghi lại giá trị m, n vào bảng sau Khi kết thúc hết vịng lặp kết giá trị m ... gian k, m, n Kết quả: Cách 2: Sử dụng cơng cụ break point dịng Khi chạy, chương trình dừng lại trước vịng lặp, chúng ghi lại giá trị m, n vào bảng sau Khi kết thúc hết vòng lặp kết giá trị m... 2) Nếu n > m gcd(m, n) = gcd (m, n - m) 3) Nếu n < m gvd(m, n) = gcd (m – n, n) Phần chương trình vòng lặp while, vòng lặp kết thúc m = n Chương trình sau: - Tiến hành kiểm thử chương trình Cách