The getbalance command shows an empty balance I sent bitcoins to an address and blockcypher says the transaction is done but as I try to learn the balance using  bitcoin-cli -testnet getbalance &lt;address&gt;, the address hasn't received yet. So why can't the address receive bitcoins even now?

I really don't know why I can't get bitcoins.

Obviously, as blockcypher says I sent some bitcoins to the address from other my address and blockcypher says that the transactions were confirmed.
You can query the balance only of address you own.


  I sent bitcoins to an address and blockcypher says the transaction has
  done but as I try to know the balance using bitcoin-cli -testnet getbalance the address, the address hasn't received yet.So why
  couldn't the address receive bitcoins or couldn't I send ?


The getbalance RPC method(and related bitcoin-cli command) accept two arguments, first is a string and it isn't an address, it's an account name, second is a confirmation coint To get the balance of whole wallet use: 

bitcoin-cli -testnet getbalance


Or use getreceivedbyaddress:

bitcoin-cli -testnet getreceivedbyaddress 'the address' 0