I have been working in mobile testing close to 5 years and there are different tools that have gone past me.
Latetly I have used Robotium / Eggplant and tried Calabash / Fonemonkey(http://www.gorillalogic.com/) / Monkey runner and couple more.
Mobile Apps testing (not web related testing)
Robotium has given me pretty good results with testing of mobile apps, It can interact very well with apps and can be configured to run with Jenkins build server (other tools also can do that).
Its a very powerful open source tool and has been updated frequently so new functionalities are introduced and errors are correct pretty fast.
Mobile Web testing
Selenium Android driver and Selenium Iphone driver are the unchallenged masters for webtesting.The way Robotium works is pretty similar to selenium but the apps that can be tested is the real difference.
For anyone who has used selenium and has basic knowledge about testing mobile phones it must be a cake walk
Try gorilla logic if you want a record and play back solution
Calabash is BDD focused tool and is available for both Android and Iphone , I have installed and tried it for learning purpose. haven't got it running for Real project.
I am pretty impressed with tool as such.
Eggplant is more of UI based tool and as per my experience its the only best tool available for Android / IOS / Symbian / Blackberry phones. There are loads of problems when it comes to connectivity but for limited set of repeated testcases it yeilds quick results. Sense talk used in Eggplant iss easy to learn.You definitely dont need to have programming knowledge to run the testcases.
Please leave compliments if like my blog or leave comments