I am looking for a smartphone that I can use for testing and developing my Android app on. Any Android version above 2.3 is okay and any screen size is good. I currently have a Nexus 7 and want another, smaller, screen size. Are there any good smartphones at this price point?
Look at Xiaomi (world's 4th largest smartphone maker) for reasonably priced phones with good specifications , they are often hard to beat price-wise.
E.g. the Xiaomi Redmi 2 Pro Smartphone meet all your required specifications and costs ~130 USD: 4G LTE, 2GB RAM, 16GB memory, MSM8916 64bit Quad Core 1.2GHz, Android 4.4, 4.7 inch HD OGS Screen, Dual Cameras. (all specs)
Use the emulator that comes with the Android development kit.
The only point of testing with a physical device is if you want to check the compatibility and ergonomy of your application with a physical device: how it makes use of non-ubiquitous peripherals such as a fingerprint reader, how it interacts with manufacturer-specific software, etc. This is useful if you test with hundreds of different devices. Testing with one cheap device won't teach you anything.
The emulator gives you more possibilities than any single phones. For example, you can (and are encouraged to) test with multiple screen resolutions.
The Moto E is a low end cell phone priced at ~$120 USD for the 3G model (off contract). It has 1GB RAM, 8GB internal storage, supports up to 32GB microSD, and Android 5.0. The display is 4.5" qHD 540x960 245 ppi IPS. The 3G model has a 1.2GHz quad-core CPU (Snapdragon 200) and an Adreno 302 GPU (400 MHz).
Also, if you order it from Motorola directly, you get free shipping.
Just pick up a cheap prepaid/no-contract Android phone like the LG Optimus Exceed 2 or Moto E.
The Exceed 2 frequently goes on sale for as little as $15-$20 and has a dual-core CPU and 4 GB flash.
The Moto E often goes on sale for $40 and has a quad-core CPU and 8 GB flash. I bought one for $10 on Black Friday 2015. The camera is garbage but otherwise it is a good low-end Android phone for development.
There are also other prepaid phones that run older versions of Android, as well as older unlocked models available on the secondhand market (e.g., eBay) for well under $100.
Keep in mind that, while many people do have high-end phones, many others have lower-end phones, and it's useful to test an app on a range of hardware.
I suggest you go for the Moto E (any generation, preferably the latest) or ship any Android one devices because these are the 'purest' Android devices in the 100$ - 120$ segment out there.
The biggest advantage is that they don't run bloatware means that you have a clutter-free experience with your Android device, and you stay updated all the time (Google ships updates to these devices faster to these devices compared to other OEMs).