It can be hard to come across working testnet faucets, so I'm maintaining a list of the best working ones available. If you come across another good faucet (especially one that does not require authentication) please feel free to add it to the list here.
Check out the post here for Rinkeby testnet faucets.
For those who use Hardhat, one other option for development that I will include here is to fork mainnet and work locally. This opens up a whole other exciting can of worms since you get to interact with mainnet transactions without spending any real ETH. Hardhat has a great reference for this here:
Most likely, you will want to "pin" to a given block number. That way, you are able to ensure that the state of the blockchain will not change and break the behavior of your tests.