Noga Actually, that's quite a difficult thing. I'd say, if you want to publish to a platform, you must have one test device minimum. How do you want to know if it even starts if you cannot test it?
Also, the performance on the many existing devices can vary highly. It's useful to test which device allows how many graphic settings.
I think it's really good to ask many friends and family members to use their devices for a quick test. I for once own a Galaxy Tab 2 for low end testing and a Galaxy Tab 4S for high end testing. And that's really needed for my game to find out where I must cut things in the game to keep the framerate alive and which graphic settings I should offer. But my game is very graphic intensive on the other hand.
I cannot recommend to buy an apple device. I did so, I bought an iphone 4. With the enforced iOS updates, you cannot run *anything* on these older devices, so you start a buy-the-next-device circle. I suggest relying on family and friends for iOS and to buy Android test devices that represent low end/high end devices you actually want to run your game on perfectly. So if you have a game that won't use too much RAM and is not very timing intensive, go for a mid range Android device. If you have a timing/RAM intensive device, you should really have a high end + low end device to test out the limits of your game.
If you test on devices on your friends+family upfront, you migh also find out what kind of device might fit best.
I have no cloud testing experience so far, so I cannot say anything about it. What I can say is: Testing is essential, and best is if you see live what's happening on the device rather than getting a description.
Sorry for the long post. This is my very personal advise only, of course, you have to find out what suits your needs best. Good luck!