Copying a database for testing in a safe way
Is this procedure correct ?


If you have no foreign key constraints, then yes this is correct.

If you have foreign key constraints, some data may be inaccessible. You would have to fix it.


  Can I be sure that the original database will not be modified whatsoever?


After the mysqldump do the following:

grep -c "DROP DATABASE" test.sql


If you get back 0, then yes the original database will not be modified whatsoever