Kiểm thử và đánh giá chương trình
Kiểm thử giúp phát hiện lỗi và tăng độ tin cậy nhưng không chứng minh tính đúng; hiệu quả cần đánh giá bằng thời gian và độ phức tạp.
Hiểu bài
Kiểm thử dùng các bộ dữ liệu đầu vào với kết quả mong đợi để phát hiện lỗi. Nếu chương trình cho kết quả đúng với nhiều bộ thử, độ tin cậy tăng nhưng chưa thể kết luận chương trình đúng cho mọi dữ liệu. Ngược lại, chỉ cần một bộ thử cho kết quả sai là đủ xác định chương trình sai.
Tính đúng của thuật toán có thể được lập luận từ ý tưởng, bất biến vòng lặp hoặc chứng minh toán học. Ví dụ với sắp xếp chèn, sau bước i, dãy con A[0], A[1], ..., A[i] phải được sắp đúng. Hiệu quả chương trình có thể đo thời gian chạy bằng perf_counter(), nhưng còn cần xem xét độ phức tạp tính toán, đặc biệt là số phép toán được thực hiện khi kích thước dữ liệu tăng.