In theory, it's "Write once, run anywhere". In practice, portability has been more of a problem than it is with desktop Java apps. Part of this is because most mobile devices contain not only one of the Java mobile profiles, but also a number of the JSR-defined extensions and the exact mix varies from device to device.
Customer surveys are for companies who didn't pay proper attention to begin with.
I guess when it comes to J2ME testing you still have to rely on manual tests on the real hardware.
Joined: Oct 28, 2008
As a first step -- you need to check the API usage. If you have used APIs from Sun'sMIDP/CLDC specification ONLY, you can have a piece of mind that it will work for all Java supported phones.
Next thing to check whether you are using Canvas or is it a complete non-canvas based application. In the latter case, you can be absolutely sure that it will work on all Java supported phones and all sizes as well.
However, if you are using Canvas, then you should analyse each displayable screen as it will require customisation for different phone sizes.
This might get more complex, if you are already using phone specific APIs. You will either need to identify alternative ones for other phone models (may not be available) or remove them (which in turn might mean removing the functionality).
Hope this might give you a direction to plan your porting effort.