Why does my speed test give a different result every time?
Why the server choice changes the answer
Most tests default to a nearby server, which measures your line rather than the internet. That is usually what you want — but it also explains why a test can show 500 Mbps while a download from a distant site crawls. The bottleneck in real use is often far from your home.
What to measure instead when calls or games are the problem
Latency, jitter and packet loss. Those three explain interactive performance, and none of them appear in the big download number. A connection with excellent throughput and poor jitter feels broken for calls and fine for downloads.
Testing properly
Use a cable if you can, close other apps, run the test three times at different times of day, and compare like with like. One test over Wi-Fi while a backup is uploading tells you nothing about your line.
If you are contacting your provider, wired results at multiple times of day are the evidence that gets taken seriously. A single Wi-Fi screenshot is routinely dismissed, and reasonably so.
Our iOS app for exactly this. Runs on your device — no account, no tracking.