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.
You can see the full range of Ethereum testnets here: https://ethereum.org/en/developers/docs/networks/.
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.
Alongside developer tools, testnet testing can benefit from a wide range of public infrastructure that is available for mainnet as well, for example: