I have restored database and the db size of source was around 55gb and after restore the db size of Target is 47gb.
You haven't described how you restored the database but measuring size doesn't work because typically restoring a table causes it to be (nearly?) bloat free while a long running system will accumulate bloat.
How to confirm if restore was successful or not ?
A lack of error messages is a good primary indicator.
The table count is also same.
Good.
Beyond that you need to decide what amount of internal data validation you can live with. It also depends on whether you have expected numbers based upon the data being restored.