How to test:
I suggest the use of Neubot since it does automated testing on a random periodic basis.
Neubot (the network neutrality bot) is a free software Internet bot, developed and maintained by the Nexa Center for Internet and Society, that gathers network performance data useful to investigate network neutrality. Once installed on the user's computer, it runs in the background and periodically performs active transmission tests with servers hosted by the distributed Measurement Lab server platform
Three different tests can be performed periodically at random intervals of time. You'll be able to directly copy and paste the data from the tool and can also access it via a sql lite interface. It's written in Python so it should have multi-platform support.
There is a possible downside though. Upon installation and running it, it sends all data collected to a central server managed by the creators (a university in Mexico I believe). The data that they send should only be regarding the connection and nothing personal. They do however send your personal public IP Address to that server. This is just a warning in case you're worried about sending such information.
What to test:
Note: I go into more detail on how I tested the connections in the blog post. Read it for more details
In answering what to test on an internet connection there are 3 major things I've identified to look out for:
- Speed (Down/Up): The rate at which data is transfer from one node to another. This is typically measured in
Mbits / sec. The higher the better.
- Latency: The time it takes for a data transfer from one node to another. This is typically measure in
sec and the lower the better.
- Connectivity/Reliability: This is somewhat abstract, but you could measure how often your connection fails. What constitutes a failure is pretty subjective, but I would say that a connection that has a very high latency, and lower Speed past certain thresholds could be used.
Realize that in order to get a really good idea of what your connection is really going to do, you'll need to capture a lot of sample points over an extended period of time. I would suggest at least a months worth or more, to really get a good idea of what a typical day/week will bring you. Also, these types of tests are heavily based on other uncontrollable factors i.e.:
- Location: Depending on the connection type, the further you are from the ISP, the slower the connection will be.
- Shared Bandwidth: If you're on a shared connection (most cable providers do this), then you're connection quality and speeds will vary depending on the number of other users using the connection at the same time