FoneMonkey - the first tool for automated testing of applications for iPhone

    Hi, habrasociety.

    I am engaged in testing mobile applications, in connection with which I periodically browse the Internet in search of tools that can facilitate this difficult work. Today I want to tell just about one of them.

    This tool is a Gorilla Logic FoneMonkey application . Oddly enough, I did not find references to him in RuNet. Although the application can be very, very useful for many developers / testers / etc.

    Let's start by listing the main chips and ryushechek:
    • Powerful script recorder - records and plays back events such as touch, scroll, keyboard events and shaking;
    • Easy support, as The script records events that occur with objects, not with screen coordinates. Therefore, a slight design change will not lead to the need to rewrite the script;
    • You can record / play tests both on a real device and on an emulator;
    • You can edit scripts both on a real device, and programmatically;
    • Easy to use - testers without programming knowledge can use such a tool;
    • Ability to expand the framework thanks to the easy-to-use Objective-C API;
    • The ability to automatically check the test result;
    • Open source;
    • And by the way, the tool is free.

    Now a little about how it works.
    To start testing, you need to embed the FoneMonkey framework in your application. After that, when you start the application (it doesn’t matter, on a real device or emulator), the FoneMonkey panel will appear, with which you can record, modify and play scripts. A quick guide to this case can be found here .

    Well, and now, finally, let's talk about who this tool can be very useful for, and who will not be useful at all.

    Pay attention to the minuses, because pluses are already listed in ryushechkami :)
    • With such a tool, it is impossible to verify the correctness of rendering / design;
    • It is not possible to check the processing of incoming events such as call / sms / alarm / etc.

    It should be clarified that these disadvantages apply to all testing automation tools of this type (recording and playing scripts).

    From all this, very simple conclusions can be drawn:
    If you have a lot of such functionality in the application that can be checked only visually, which is related to the quality of rendering, speed, etc. - don’t even look towards FoneMonkey, just spend time in vain (for example, I would not use this tool to test the pre-installed applications “Maps”, “Compass”; and I would use it for the “Contacts” application).
    Or if you are doing the application “one at a time”, do not plan to develop the functionality further - and therefore do not plan to conduct regression testing, then FoneMonkey is also unlikely to be useful to you. I think this tool only makes sense for automating regression testing.
    And the last - if the application is raw, the interface often changes, and you are not at all sure how it should look like in the end, it's too early for you to think about any testing tools, including this.

    I advise everyone else to pay attention to FoneMonkey and think about the topic - is it time to implement automated testing to improve the quality of your iPhone application?

    Also popular now: