> I found that the generated tokens are with the address which deployed it

Token contracts typically assign the total supply to the contract deployer, so this is normal. A token contract is a ledger, not typically an owner of assets, so it is sensible to assign the created supply to the deployer who should know what the next step is. 

> transferFrom function is not working

It probably does. More likely, what you are trying to do with it is disallowed, by design. That could evidence of the contract working correctly. `transferFrom()` is often misunderstood, so consider posting your testing methodology.  

https://ethereum.stackexchange.com/search?tab=votes&q=transferFrom 

Hope it helps.