Ideally, yes they should all spin at the same RPM, but you should adjust for tolerances(New motors are not normally subject to very noticeable tolerances but good practice)..
You should do individual tests which each of the motors, simply have a multimeter watching the voltage/current when each of the motors are under load and unloaded. If you already have your base built then I suggest putting some dummy load(or the actual load) on the robot base with the motors and have it drive around, note changes in the motors current/voltage on inclines/flat/uneven terrain/etc..
Trial and error would be your best bet, and you would have to have some sensing method to keep the motors at nominal speeds for the different situations, Ex:
Your MCU detects an incline ahead with whatever sensors you have, and have the motor controllers compensate.
Sorry for the length