Để đánh giá hiệu quả thuật toán của một bài toán trong Tin học hiện nay chúng ta sử dụng phần mềm chấm tự động. Phần mềm chấm bài tự động phổ biến được dùng trong các kỳ thi học sinh giỏi Tin học cũng như công tác giảng dạy, bồi dưỡng học sinh giỏi Tin học là phần mềm Themis. Khi chấm bài, Themis sẽ khởi chạy chương trình bài làm của học sinh để đối chiếu kết quả bài làm với bộ dữ liệu (input, output) chuẩn – được gọi là bộ Test. Như vậy, để có thể chấm được bài làm của học sinh thì ngoài phần mềm chấm ta cần có bộ Test cho bài toán tương ứng.

PythonTestMaker sẽ giúp chúng ta làm việc này!

Cấu trúc file bài làm

Bài làm như bài thường làm chỉ thay tên file input bằng biến fi và thay tên file output bằng biến fo

Tên file bài làm là tên sẽ nhập vào phần “Nhập tên bài” của phần mềm sinh test.

Các thông số cần nhập khi sinh test:

Sinh test bằng file Python_TestMaker.exe

Nhập tên bài: tenbailam

Trường hợp nhập sai tên bài làm hoặc chưa có file bài làm trong thư mục làm việc của PythonTestMaker thì chương trình sẽ cho tùy chọn “nhập lại” hoặc “tạo file bài làm mẫu”.

Kiểu input:
–Kiểu 1: Là một số nguyên thì nhập: 1
–Kiểu 2: n số nguyên trên n dòng
–Kiểu 3: dòng 1 là số nguyên n, n dòng tiếp theo là n số nguyên
–Kiểu 4: n số nguyên trên 1 dòng cách nhau bởi khoảng trắng
–Kiểu 5: dòng 1 là số nguyên n, n dòng tiếp theo mỗi dòng là dãy số nguyên cách nhau bới khoảng trắng
–Kiểu 6: dòng 1 là số nguyên n, dòng 2 là xâu ngẫu nhiên gồm n ký tự
–Kiểu 7: 2 dòng, mỗi dòng 1 xâu (có xâu con chung)
–Kiểu 8: Nâng cao (người dùng tự viết code sinh input trong)

Nếu chọn kiểu xâu (5,6) sẽ có thêm các tùy chọn:

Chọn kiểu xâu:
–Xâu 1: cả chữ và số: vbeRZWqz6C
–Xâu 2: chỉ chữ: DWBoSYKQMH
–Xâu 3: chỉ chữ in hoa: CQPQGMLOQP
–Xâu 4: chỉ chữ viết thường :cpafrzkrsr
–Xâu 5: chữ và ký tự khác:’Bd[fJ=n%|
–Xâu 6: Hỗn hợp: %yxJ.”a4>l

Nhập kiểu input: 1
Giá trị dữ liệu lớn nhất: 10000000000
Có giá trị âm? 1 có, 0 không: 0
Nhập số lượng test cần sinh: 40

Chương trình sẽ phân test thành 5 khoảng ứng với số test sinh ra. Ví dụ với 40 test thì sẽ có test01 đến test10 là dễ, test11 đến test20 khó hơn,… vào test40 là dữ liệu maximum.

Khi sinh test hoàn tất sẽ có file Biên bản sinh test ghi thời gian chạy của từng test được sinh.

Hiệu chỉnh test sau khi sinh ngẫu nhiên

Dùng cho một số trường hợp khi ta cần đưa vào input theo ý mình. Ta mở file input đã được sinh ngẫu nhiên để sửa lại sau đó dùng chương trình Python_RE_TestMaker.exe để sinh output tương ứng – chuẩn hóa bộ test (chương trình sẽ sinh output theo input đã hiệu chỉnh).

Ví dụ:
Nhập tên bài: tenbailam

Tải về:

Phiên bản Python_TestMaker V4 cập nhật ngày 04/12/2021

Tài về tại đây: https://app.box.com/s/m35yiki3nt78q6mel26dupf1qboxauxx

Đăng ký nhận bản cập nhật: Nhận update PythonTestMaker (google.com)
Thầy cô để lại thông tin ở link trên đây để nhận thông báo khi có cập nhật sửa lỗi hoặc phiên bản mới.
Đồng thời phản hồi, góp ý  cho tác giả để hoàn thiện chương trình.

Tải phần mềm Themis tại đây: https://drive.google.com/file/d/1hz_QkTicnB7pHoR4M51fL5LMLucMU38l/view?usp=sharing

Nếu thầy cô chưa từng chấm bài bằng phần mềm thì có thể tham gia lớp tập huấn Chấm bài làm Python tại đây: https://lms.dainganxanh.com/lap-trinh-python/cham-bai-lam-python