Are there any Hardware Requirements to test iPhone Apps on your iPhone? Can you do it on a iPhone 2G?
It actually depends on the features you want to test. If your applications are just general application which do not require hardware specific features such as the compass then you are fine.
So in most cases the answer to that question would be No (as in there are no requirements). So you can do it on a 2G. Some memory intensive applications might lag on iPhone 2Gs.
However you do need a provisioning profile unless you a developing on a jailbroken iPhone in which case the iPhone doesn't check the code signatures.
You can test on any device as long as you have installed a provisioning profile for it and the iOS version is ≤ the maximum supported iOS version of your installed SDK - there are no hardware requirements, and an iPhone 2G would work.
Apple has launched total four version of iPhone starting from 2G to 4GS. the rest two models are known as 3G and 3GS. These models are representing the upgraded version along with time and released.
Application running on these devices are available on App Store. These application uploaded on app store are also developed in different SDK starting from iPhone SDK 2.0 to SDK 4.1 beta (latest one).
You can download the appropriate applications from App store and all the version compatibility details are also available on app store application detail page.
if the application is in development phase and you would like to test then it can be tested on any of the above device but you have to make sure that which iOS is installed on device and also match the appropriate SDK version as well
For example
The application developed with SDK 3.0 will only run on iPhone OS 3.0 or later in any device (2G,3G,3GS and 4G) but the same application will not run in SDK 2.0 (iPhone 2G). So this is how everything works. There is not specific hardware is requirement. but please remember as new iPhong 4G has video calling functionality so this is totally available on 4G only not for any other earlier version.
Most important thing is for application deployment on device, you need to obtain the certificates and provisioning certificates and it is totally independent of the iPhone Devices.
Hope this help to understand how apple world is working