You already have a moodle server in production ... it is being used ... so don't touch that one for test.
'Test Environment' ... below 'dev.whatever' is NOT a literal ... whatever your top level domain is = whatever.
A new moodle server - single instance - fresh install - self-contained ... code + data directory + DB on SAME SERVER ... call it 'dev.whatever'. Internal DNS and external DNS have appropriate FQDN entries for dev.whatever. Internal DNS has dev.whatever entries to private IP address. External DNS has entry to proxy box.
Proxy server should be able to handle more than one server by FQDN, right?
Take one course backup from production server, restore it to dev.whatever. In dev.whatever, turn off any out-going mail via config.php of the dev.whatever server. As Admin user in dev.whatever one can login as admin but also as a student since you can change credentials of any user on that system. Same for a Teacher in that one course.
Add content to that one course on dev.whatever such that you are using whatever mods are representative of most courses on production site - videos/audios/SCORM's/ ... etc.
To do quick test using FQDN with dev.whatever setup while at school, use smart phone connecting outside your LAN/WAN to carrier for phone. Don't use the mobile app at first ... just a browser. At home or outside your private network, test as well, with laptop/desktop etc.
'spirit of sharing', Ken