Just start your testnet instance with the "-testnet" flag and it will create another instance of Bitcoin-qt on the testnet network.
Oh, I didn't know it was that easy! thank you!
I also discovered the "datadir" flag, which was just what I was looking for, although it seems testnet/regtest make their directories. At least regtest does, according to the
Bitcoin Developer Examples documentation:
Regtest wallets and block chain state (chainstate) are saved in the regtest subdirectory of the Bitcoin Core configuration directory.