I am starting with app development on SharePoint 2013 onprem. I want to develop Hight trust provider-hosted apps for my office catalog. After going through some msdn articles (on-premises development environment for apps and using certificates in high-trust apps for SharePoint 2013), I figured out that apps need an isolated domain. But we are starting with a test environment. Is it necessary to have different domain and an isolated machine? In test environment, can't a single machine be used as SharePoint Server + Db Server + App Server? If yes, How can it be done? How apps would get authenticated in that case?
The domain that needs to be isolated is only a DNS domain not a new AD domain.
This is purely such that you have a separate IIS site where Cross Site Scripting is prevented by the browser.
You can add that new domain in DNS (see Configure an environment for apps for SharePoint (SharePoint 2013)) or hosts file.
The High trust app still needs the same certificate setup and needs to authenticate the users against the same provider as SharePoint.
CriticalPath has a good setup guide in their members section (require sign in) which goes through all the setup.