MakeTestPro

Describe the input once. Get a checked test set.

MakeTestPro turns the input specification of a programming problem into dozens of test files, runs your reference solution for the answers, compares it with a brute-force solution on small tests, and saves everything in the format your judge expects.

Works offline. C++, Python, Pascal and Scratch.

QUERY.mtp
@group small 6 brute: n = int(1, 10)
@group max 4: n = 100000
n = int(1, 100000)
q = int(1, 100000)
print n, q
a = array(n, int(1, 1000000000))
print a
repeat q:
    L = int(1, n)
    R = int(L, n)
    print L, R
QUERY/
  1. Test0138 B= brute
  2. Test02112 B= brute
  3. Test0371 B= brute
  4. Test04205 B= brute
  5. Test0596 B= brute
  6. Test06143 B= brute
  7. Test071.9 MBOK
  8. Test081.9 MBOK
  9. Test091.9 MBOK
  10. Test101.9 MBOK

How a test set is made

  1. Describe the input

    Build it from blocks – integers, arrays, strings, query pairs, trees, graphs – or paste the problem statement and let MakeTestPro suggest a template.

  2. Plan the groups

    Small tests for the brute-force check, edge cases, maximum sizes, one group per subtask. Each group can narrow the ranges without leaving the constraints.

  3. Generate and check

    Every input is validated against the template, every answer comes from your solution, slow or crashing runs are reported before you publish the tests.

Building a template and planning the test groups
Building a template and planning the test groups

About MakeTestPro

You no longer have to write test cases by hand for every situation: MakeTestPro generates them automatically, saving you a great deal of time and effort.

MakeTestPro is easy to use and flexible. You choose the criteria and conditions to test so that the test set is complete and varied. It works with many programming languages and with judges such as Judge Master, Themis, VNOI and laptrinhcoban.vn.

With rich, varied test sets you can check the correctness, optimisation and performance of a program – making you more independent in your work and supporting the teaching and learning of programming.

Made for informatics classes and contests

Constraints you can trust
The template is both the generator and the validator, so a generated test never breaks the problem's limits.
Suggest from the statement
Paste the Input section and the sample: limits like 1 ≤ N ≤ 10⁵ and subtasks are read automatically, even from Word equations.
Every judge format
Themis folders, flat 01.inp/01.out, .in/.ans – and conversion between them without touching the originals.
Scratch included
Scratch projects can be tested too, with one value per line for programs that read with Ask and wait.
A template suggested from a pasted problem statement
A template suggested from a pasted problem statement
Download for Windows Get a free trial key