I think it's much easier to use Hamachi.
Both players will need to download Hamachi
Instructions
The Hamachi website has gotten a bit confusing these day because they try to trick you into downloading LogMeIn. Hamachi is sort of a legacy product they keep around.
How to Setup A Terraria Server With Hamachi
Make an account for their website.
Click "Try it Free" to download the installer. It's actually completely free. Just uncheck "Try Pro Version for 15 days" to avoid any more commericals.
Install Hamachi and sign in.
Hamachi will automatically assign virtual IP addresses to each person.
Make and name a group in Hamachi.
Have your friend ask to join the group on the Hamachi website.
Approve the join request on the website.
The player hosting the game starts the server.
The player joining the game enters the Hamachi IP address.
Explanation
Why is this better than using your actual IP address?
The Bad
As Sadly Not mentioned, the host has to configure his or her router to forward data on a certain port (port 7777 for Terraria) to the Terraria application. (You can read more about port forwarding) Unfortunately, configuring a router for the first time can be like traversing the Labyrinth of Crete - lonely and full of swearing.
The main annoyance is that, most likely, nobody in the house knows the password to the router, so you can't even start your grim adventure in the first place.
If you're the reincarnation of Theseus, however, here's a nice site with instructions (sometimes outdated) for different router, and a video.
The Good
Hamachi creates a Virtual LAN.
Remember those LAN parties where everybody brought their desktops and connected to one router and games just figured out how to connect? No? Anyways, Hamachi does that with software. Everybody in the same Hamachi group will seem like they're all locally connected
And that means no port forwarding. Yay!
Apparently using Hamachi reduces the lag in a multiplayer game too. "Can anything be done to fix the lag in Terraria Multiplayer?"