Sending bitcoins to a "Sending address" in Bitcoin Core I'm trying to understand some basic concepts in the Bitcoin Core (v.0.15.1) and in the bitcoin "world".

I'm using a testnet, and used https://testnet.coinfaucet.eu/en/ to send some bitcoins to a "Receiving address". it worked fine, and I can see the transaction/balance changed in Bitcoin core.

However if I send bitcoins from coinfaucet to a "Sending address" (Which is a public key as I understand) then I can't see any bitcoins in that address and the balance is not changed and no transaction is reported, although coinfaucet shows me a verified transaction.

What am I missing? Can't the sending address hold/receive bitcoins? what are the "Sending address" used for if I can't send bitcoins to it?

I assumed that when I want to send funds from my wallet to someone, I first move funds from the Receiving address to the Sending address and use that address. but I'm totally unsure of this assumption.

Any help will be appreciated.



EDIT: After dinging some more, I came to realize that the Sending address is just addresses you have sent or planing to send to. It has nothing to do with the Change address as described in the answer. That is why after I sent money from coinfaucet to a made up sending address I did not see any change in balance because that address is not mine. and after a re-scan I see it a watch-only.
In Bitcoin Core, the sending address refers to the address that you have saved as a "contact" in the client. You can save the address with a nickname eg. Coinbase address. 
The receiving address refers to the address which you can use to receive coins. The way Bitcoin works is that a transaction spends the unspent output from the receiving addresses. Hence, it depends on which receiving address you received coins from, your coin control and amount.

E.g. 
1. If you receive 1BTC on 1AddressA and spend 1BTC in the client, the blockexplorer will identify the origin as 1AddressA. 
2. If you receive 0.5BTC and 1 BTC on 1AddressA and 1AddressB respectively and you spend 0.5BTC, the blockexplorer will identify the sending address is 1AddressA. 
3. If the scenario is the same as 2, and you spend 0.6BTC, the sending address will appear as from both and there will be another output going to another address in your client. It is called the change and the address isn't showed within the client. However, you can spend it in your next transaction, I don't know why there's no balance but what I know that the transaction to these addresses shouldn't appear as they are change addresses.

Why are they not on transactions list?

Because Bitcoin core using bip32 
and change addresses transactions have different derive path. 

Example

m / purpose' / coin_type' / account' / change / address_index
Normal addresses path:

m/44'/0'/1'/0/i


Change addresses path:

m/44'/0'/1'/1/i