Deploying and using a smart contract consumes computing resources (memory, CPU and storage). Therefore, it is recommended that developers tune and test their smart contracts on their private networks and confirm that their contracts are ready before deploying them on the testnet or mainnet.