For Quick-N-Dirty network connectivity testing ping is your best friend.
Make sure the WAN side of your ADSL router is ping-able.
Make a list of external IP addresses that you know will respond and keep it handy for testing.
When the connection fails, try pinging the LAN side of the router, if you can the WiFi is fine.
Log into the ADSL router and look at the WAN status, you should have an assigned IP address and gateway. Ping the WAN IP Address. if it responds, then you can get traffic across the router (e.g. it's fine). Ping the WAN gateway, with the internet light blinking/going out this is where it will most likely fail (anything from here on will be an ISP issue).
Ping the external IP addresses from the above list... if they succeed, then you are connected to the internet, but have a DNS issue. Some ADLS boxes seem to hing the internet light on/of pass/fail on DNS lookups - I don't know why - But checking this has saved me a bunch of time on several occasions.
Note: do not rely on the default 32 byte ping packet for these tests, use a large unfragmented packet to put a bit of oomph behind the "question" to be sure you have the equipments attention.

ping -f -l 1024 [target]
Note2: when ping replies remember these two points:
Destination host unreachable means target is down/nonexistent.
Request timed out means target is there, but is unresponsive.
In the field I frequently use a custom written ping program that I colloquialistic-ly refer to as a "line stressing" utility (It's actually more of a ping flooder). Handy as it is for identifying weak equipment I'm afraid to release it for fear of it's misuse. But if you can find something that will send a constant stream of large unfragmented packets with zero wait time between them...it can speed up the diagnostic considerably by causing the weak link to fail on request (so to speak).