I have talked with Kevin at RootMetrics about this in the past. RootMetrics uses the same servers for the most part that Speedtest does, but it searches out the best server it can locate before it starts running the test. It's doing that while it is running the signal portion of the test. When it settles on the best server, it then starts speed testing it.
I think RootMetrics is a more reliable speed tester in my opinion. The results are accurate. It is sending files to the remote server, and this is the speed actually observed in the transfer. If you were streaming video from that same server, it would be moving at the indicated speed in RootMetrics.
SpeedTest app (and the FCC app is also made by Ookla too) are a little too user dependent in choosing a server. Often, people are not using the best server. And they are just oblivious to it. Typically, people will choose the same server they use at home. Which is never a good idea, because wireless backhaul is likely routing its destination to the internet differently every time. And it will likely hit the internet a very long ways away from where their home and work ISP's do.
That's why I'm always recommending that people who use SpeedTest to use several different servers when they get a really slow speed result. With apps like SpeedTest, FCC, and even RootMetrics it's not the fast results that are suspect. It's the slow ones. It can't register faster than the connection it actually has to the server on the other end.
Every time I can think of where I had a fast RootMetrics speed, I was able to recreate it on SpeedTest if I kept hunting around on different servers...eventually.
Robert