A good connection is made up of key parts: Through put and responsiveness. There are more but I am sticking to the main 2 (in my opinion). Through put is how much data can be pushed or pulled through the connection (download/upload). Responsiveness is how fast does my request make it the destination and back. Both affect each other a bit.
Through put is a pretty easy test, just go to one of the sites listed here and it will test your upload/download speeds. Just remember that the connection you pay for from you ISP is an UPPER limit (most of the time). For example I pay for a 6mb down/ 1mb up connection. 6mb down/1mb up is the uppper limit of my connection. Some ISPs will have a lower limit. An example would be if an ISP says your connection will be between 3mb down and 6mb down. The other key part is the remote host that you are pulling from or pushing data too. If you connection is bigger, then you are limited by the remote host connection and effectively DoS the remote host.
Responsiveness is a bit hard to test. I am not 100% sure on the correct way to test it. commands like ping and tracert in window are a good start. They will give you a rough idea of how long a round trip to and from a remote host takes. This also takes into account the time the remote host takes to process your request and send it back so take this with a grain of salt. Responsiveness is not a big deal when surfing the web or chatting on line. It comes into play with applications like online games. A slow response time will cause you to "lag" and make the game less fluid to the point of unplayable. Online games rely on fast response over higher through put.
Other things to consider in evaluating a connection are Uptime, what ports are blocked, ISP policies regarding us of Bittorrent, IRC, SMTP, or other services.
While this was true in 2009 when the answer was written, it no longer applies today. There are many tests that use HTML5, using regular HTTP web browser connections: https://netperf.tools or http://www.dslreports.com/speedtest and also https://www.measurementlab.net/tools/ndt/
– o9000 – 2016-04-28T15:51:57.1201Good points about Flash. Speedtest.net looks pretty and it told me my ping was decent, but when I actually tried to play an FPS the lag was horrible. – hyperslug – 2009-08-26T17:50:50.897
1Small FYI on HTTP 1.1 pipelining: The big browsers either don't support it at all (Internet Explorer, Safari) or else don't have it enabled by default (Firefox). I think Opera is the exception. – Chris W. Rea – 2009-08-26T19:19:38.283
@cwrea: how about Chrome? – Isxek – 2009-08-26T20:07:11.337
1
See http://en.wikipedia.org/wiki/HTTP_pipelining: "Google Chrome is not believed to support pipelining, although it may be implemented in the near future."
– Chris W. Rea – 2009-08-26T23:07:07.717