How to create DNS entries on Windows Server, such that a single word (without a TLD) can be used to resolve an ip?

You are looking for the GlobalNames Zone feature in Windows' DNS server. Here is the original Microsoft document describing the feature.

"...the DNS Server role in Windows Server 2008 supports a specially named zone, called GlobalNames. By deploying a zone with this name, you can have the static, global records with single-label names, without relying on WINS."

The document provides full details, but at a very high level, you'll need to create a new AD-integrated forward-lookup zone called "GlobalNames" and then run the following command on every authoritative DNS sever in your AD forest:

dnscmd <ServerName> /config /enableglobalnamessupport 1

Of course, newer versions of Windows Server cover this pretty well with PowerShell commands now. After creating the forward lookup zone, you can configure it with the Set-DnsServerGlobalNameZone cmdlet.

Once it is configured, records in this zone will be single-labeled and you'll be able to resolve http://test. (This assumes that your non-domain-joined network devices are at least using your server for DNS.)