Testing Dapps functionalities consumes IOTX tokens, which can become very expensive if you develop on the IoTeX mainnet directly. The mainnet is used for real-value transactions, using tokens that have “value." In fact, not only you consume gas fees when running transactions, but any bugs or mistakes on the mainnet can lead to serious monetary loss.
For this reason, all as a blockchain developers you should use the IoTeX testnet for your development, where any Dapp can be deployed to a production-like network where tokens don't have any real value. The IoTeX testnet is a distinct network from the mainnet, though equivalent in terms of functionalities, including the existence of an "IOTX" token along with XRC20 tokens. However, the testnet is often reset and is itself subject to bugs during the deployment of beta releases of the blockchain. So test token balances and smart comtracts can be wiped out at any time and, as a consequence, test-tokens do not have any real "value": you cannot trade testnet IOTX on exchanges.
Mainnet IOTX is the native IoTeX blockchain token that mined on Mainnet by IoTeX Consensus Delegates. This is the token that you find on exchanges, both centralized or decentralized, and it has a real value on these exchanges.
The IOTX token is used to pay fees in the IoTeX blockchain, this means that you must have some IOTX in your IoTeX wallet if you want to perform any action on your assets.