Process
Testnet and Acceptance Testing
Last updated:
December 13, 2021

Acceptance testing in traditional software development involves using your software as a black box from a user perspective. The closest analogue in smart contracts is testing them on a testnet and/or using a testnet dapp (front-end that connects a user to testnet). Testnet testing is considered a mandatory step before a mainnet deployment. Where possible, users should be included in the testnet test.

Ethereum testnets

You can see the full range of Ethereum testnets here: https://ethereum.org/en/developers/docs/networks/.

How to choose an appropriate testnet

The main factor in testnet choice should be the presence of protocols that are dependencies for your contracts. Kovan and Rinkeby are the most popular testnet options as most protocols are already deployed there.

Tools used in testnet testing

Alongside developer tools, testnet testing can benefit from a wide range of public infrastructure that is available for mainnet as well, for example:

  • Etherscan (for viewing and sending transactions)
  • MyEtherWallet (for sending transactions)
  • https://ethtx.info/ (for debugging Goerli or Rinkeby transactions)
  • Tenderly (for debugging transactions)
  • Dapps of popular protocols (e.g., Compound).

See Also: