Giới thiệu

Trong thực tế hiện nay, học và thi trực tuyến đang trở nên phổ biến, đặc biệt là trong lĩnh vực học tin học nói chung và lập trình nói riêng. Quá trình học lập trình, để đánh giá mức độ hiểu và hoàn thành các nội dung, người học thường phải giải các bài tập lập trình bằng một ngôn ngữ cụ thể.

Tuy nhiên, việc đánh giá bài lập trình đòi hỏi một quy trình đặc thù. Cần sử dụng nhiều bộ dữ liệu khác nhau, đôi khi lên đến hàng triệu input và output (dữ liệu vào, ra)  hoặc nhiều hơn. Vì vậy, việc kiểm thử chương trình bằng cách thủ công là không khả thi và cần có các hệ thống chấm tự động.

Hiện nay, các phần mềm, hệ thống chấm tự động cho bài tập lập trình đã tương đối phổ biến ví dụ như Themis – một hệ thống chấm tự động offline, ngoài ra còn có cách website chấm bài online như https://vnoi.info hay https://laptrinhcoban.vn

Để sử dụng các hệ thống chấm bài nêu trên thì cần phải sử dụng các bộ test case. Đối với giáo viên thì phải chuẩn bị các bộ test case để chấm các bài lập trình của học sinh. Còn đối với học sinh thì phải tự tạo các bộ test case theo ràng buộc nêu trong đề bài để kiểm tra chương trình của mình. Tuy nhiên khi phải tự lập trình sinh test case cho từng bài tập cụ thể là công việc rất công phu, yêu cầu lượng dữ liệu lớn và độ chính xác cao, điều này rất tốn thời gian và công sức. Trong khi đó hiện tại chưa có phần mềm nào hỗ trợ sinh test case một cách nhanh chóng, tổng quát, đặc biệt là cho ngôn ngữ lập trình Scratch do ngôn ngữ này chưa hỗ trợ chức năng “ra, vào tệp”.

Là những giáo viên Tin học, đã có nhiều năm kinh nghiệm trong công tác dạy học và huấn luyện học sinh giỏi, tin học trẻ, thi chuyên Tin..., chúng tôi hiểu rõ tầm quan trọng của việc sinh các bộ test case để tăng tính chủ động trong công tác dạy và học môn tin học.

Từ những lý do trên, nhóm tác giả đã thiết kế phần mềm “Make Test Pro” - một công cụ mạnh mẽ giúp người dùng xây dựng các bộ test case để kiểm tra độ chính xác, tối ưu và hiệu suất của mã nguồn. Đây là một giải pháp đáng tin cậy để giảm thời gian và công sức trong quá trình tạo test case cho bài tập lập trình sử dụng ngôn ngữ lập trình Scratch, Python, C++ và Pascal.