
PHẦN I: ĐẶT VẤN ĐỀ
I. Lý do chọn đề tài
Khi ta vừa đọc nội dung yêu cầu của một bài toán trong tin học, một thuật
giải lập tức nảy sinh trong đầu; giải thuật đó thường được gọi là giải thuật tự nhiên
và chúng ta bắt tay vào viết chương trình cho bài toán đó với ngôn ngữ lập trình
mà chúng ta đã lựa chọn. Kết quả thu được khi chạy chương trình với những bộ dữ
liệu đơn giản mà chúng ta tự suy nghĩ để test hoặc sử dụng các bộ test ví dụ.
Tuy nhiên, kết quả này chỉ là tương đối là đúng hoặc sai. Để đánh giá giải
thuật sử dụng đã đáp ứng yêu cầu của bài toán hay chưa hoặc là lỗi giải thuật hay
kém hiệu quả theo nghĩa chương trình đòi hỏi quá nhiều bộ nhớ, chạy quá lâu hay
sai kết quả thì chúng ta cần có những bộ test chuẩn đủ lớn để kiểm tra chương
trình.
Để góp phần vào việc đánh giá chương trình cài đặt với những bộ dữ liệu đủ
lớn chúng tôi “SỬ DỤNG PHƯƠNG PHÁP SINH TEST ĐỂ KIỂM THỬ
CHƯƠNG TRÌNH LẬP TRÌNH TRONG DẠY HỌC VÀ BỒI DƯỠNG HỌC
SINH THPT” đó là lý do chúng tôi chọn đề tài này.
II. Mục tiêu và điểm mới của đề tài
1. Mục tiêu của đề tài
- Tạo ra nguồn tài liệu tham khảo cho giáo viên giảng dạy bộ môn tin học về
phương pháp tạo test để kiểm thử chương trình;
- Góp phần nâng cao kết quả kết quả học tập và dạy học của giáo viên và học
sinh;
- Giúp giáo viên, học sinh tự đánh giá các chương trình mình viết, tạo hưng
phấn trong lập trình, tìm ra được giải thuật tối ưu, đáp ứng yêu cầu bài toán.
2. Điểm mới của đề tài
- Khác với một số phần mềm miễn phí có trên mạng internet hiện nay như
“Tiện ích sinh test tự động cho phần mềm chấm điểm tự động Themis ” của
thầy giáo Nguyễn Tô Sơn là khi muốn tạo test cần phải có code chuẩn. Còn đề tài
của tôi đưa ra là chưa có code chuẩn.
- Tạo ra những bộ test đủ lớn mang tính ngẫu nhiên mà khi chưa có hoặc
không cần chương trình mẫu (code chuẩn); qua đó giúp giáo viên, học sinh tự đánh
giá các chương trình mình viết, tạo hưng phấn trong lập trình, tìm ra được giải
thuật tối ưu, đáp ứng yêu cầu bài toán.
III. Đối tượng nghiên cứu và ứng dụng
1. Đối tượng nghiên cứu
- Giáo viên giảng dạy môn Tin học, học sinh muốn nâng cao kỹ năng về