I run scans on my home IP from a Linode account. Any VPS that doesn't filter your outbound traffic should work (just make sure it doesn't violate your TOS).
First run a full scan against your home IP address. Expect to find only the ports you know you have explicitly opened open. Expect everything else to be "filtered".
Then verify that it is your home router that is performing the filtering and not your ISP. To do this, open a port on your router and rerun the scan. Expect that the port you have opened is detected as open by your scanner. If you find that you still see this port as filtered, then your ISP may be blocking that port. If so, this isn't necessarily a problem, but it means that the previous test didn't test your router, it tested the network connection to your router. Don't forget to disable the port when you're done.
If you want to test your router in isolation, and your router isn't built in to the modem, then you can test it as follows:
- Disconnect the router from your modem. (Where "modem" is whatever device connects from your LAN to your ISP's network.)
- Connect a second computer to the WAN port on the router. Configure this computer with a static IP address that is independent of the LAN addresses used by your router.
- You may need to turn on a DHCP server on the second computer so that the router's WAN interface gets an IP address as usual.
- Perform the scans described above from the second computer.
As @logicalscope mentioned, if you decide to perform a scan from the Internet you may want to give your ISP a heads-up to avoid any trouble.