FoneMonkey — первый инструмент для автоматизированного тестирования приложений под iPhone
Привет, хабрасообщество.
Я занимаюсь тестированием мобильных приложений, в связи с чем периодически просматриваю просторы интернета в поисках инструментов, способных облегчить этот нелегкий труд. Сегодня я хочу рассказать как раз об одном из них.
Этот инструмент — приложение FoneMonkey от фирмы Gorilla Logic. Как ни странно, не нашла упоминаний о нем в рунете. Хотя приложение может оказаться очень и очень полезным для многих разработчиков/тестировщиков/etc.
Начнем с перечисления основных фишечек и рюшечек:
- Мощное устройство записи скриптов — записывает и воспроизводит такие события как касание, скролл, события клавиатуры и встряхивание;
- Легкая поддержка, т.к. скрипт записывает события происходящие с объектами, а не с координатами экрана. Поэтому незначительное изменение дизайна не приведет к необходимости перезаписывать скрипт;
- Можно записывать/воспроизводить тесты как на реальном девайсе, так и на эмуляторе;
- Можно править скрипты как на реальном девайсе, так и программно;
- Прост в примененении — таким инструментом могут пользоваться тестировщики без знания программирования;
- Возможность расширения фреймворка благодаря простому в использовании Objective-C API;
- Возможность автоматической проверки результата теста;
- Открытый исходный код;
- И, кстати, инструмент — бесплатный.
Теперь немножко о том, как это работает.
Для начала тестирования необходимо встроить фреймворк FoneMonkey в ваше приложение. После этого, при запуске приложения (не важно, на реальном девайсе или эмуляторе) появится панелька FoneMonkey, с помощью которой можно будет записывать, изменять и воспроизводить скрипты. Краткое руководство по этому делу можно посмотреть здесь.
Ну и теперь, наконец, давайте поговорим о том, кому этот инструмент может оказаться весьма полезным, а кому и вовсе не пригодится.
Обратим внимание на минусы, т.к. плюсы уже перечислены в рюшечках :)
- Таким инструментом невозможно проверить правильность отрисовки/дизайна;
- Невозможно проверить обработку входящих событий типа звонка/смс/будильника/etc.
Надо уточнить, что эти минусы касаются всех инструментов автоматизации тестирования такого типа (запись и воспроизведение скриптов).
Из всего этого можно сделать очень простые выводы:
Если у вас в приложении много такой функциональности, которую можно проверить только визуально, которая связана с качеством отрисовки, скоростью работы и т.д. — даже не смотрите в сторону FoneMonkey, только время зря потратите (например, я бы не стала применять этот инструмент для тестирования предустановленных приложений «Карты», «Компас»; и применила бы для приложения «Контакты»).
Или если делаете приложение «на раз», не планируете развивать функционал дальше — а значит не планируете проводить регрессионное тестирование, то FoneMonkey так же вряд ли вам пригодится. Думаю, данный инструмент имеет смысл только для автоматизации регрессионного тестирования.
И последнее — если приложение сырое, интерфейс часто меняется, и вы пока вообще не уверены как оно в итоге должно выглядеть — вам пока рано думать о любых инструментах тестирования, в том числе и об этом.
Всем остальным советую обратить внимание на FoneMonkey, и задуматься на тему — а не пора ли внедрить автоматизированное тестирование для улучшения качества вашего iPhone-приложения?