Тестування мобільних додатків: інтерв'ю з Dan Cuellar (Appium)



Напередодні конференції Heisenbug на наші запитання стосовно мобільного тестування погодився відповісти Ден Куэллар – творець опенсорсного фреймворку Appium. До цього Ден очолював відділ тестування Shazam (Лондон) та Zoosk (Сан-Франциско), раніше – займався розробкою Microsoft Outlook для Mac і інших продуктів офісної лінійки.

Ден – прихильник опенсорсных рішень і тестування програмного забезпечення. Бакалавр комп'ютерних наук (Школа Комп'ютерних Наук Університету Карнегі-Меллона, Пітсбург).

– Якщо ми говоримо про мобільному тестуванні, то могли б ви детальніше розповісти, чому вирішили обрати саме цю сферу? Ви почали працювати мобайл має ще Майкрософт?

– В Майкрософт я працював над пакетом Офісу для iPad, правда, вже в кінці своєї кар'єри там. В той час ми використовували інший фреймворк для автоматизації тестування. Я створив Appium, коли почав працювати в Zoosk – це дейтинговый сайт в США. У нас було дуже популярний мобільний додаток, але не було нічого для автоматизації тестування, тому я вивчив те, що було на ринку на той момент, і прийшов до висновку, що жоден фреймворк не може задовольнити мої потреби. Що робити в таких ситуаціях? Зробити свій власний.

Про програмування на мобільних пристроях
– Якщо розглянути розвиток програмування на мобільних пристроях, то які стадії ви могли б виділити? Ну, що було на самому початку, що стало наступним кроком в розвитку, чи вважаєте ви, що він вже відбувся, або є ще куди рости?

– Першим кроком я б назвав відкриття Apple'ом «воріт» AppStore. Спершу, ясна річ, там був Дикий Захід і якісь примітивні інструменти. Через кілька років кошти для розробника (XCode і Android Studio) «настоялися» і вже змогли відповідати більшості потреб програмістів. Мені складно розмежувати якісь конкретні фази в розвитку даних інструментів, але я б окремо зазначив, що ARC для iOS відкрив нові можливості, так само як і привів нових людей з собою, так само як і Swift, власне. Що ж стосується Android, то я б, швидше за все, розбив ці фази згідно з основними версіями Android SDK. Вони практично збігаються.

– Що є основними проблемами мобільного розробки на поточний момент?

– Я б сказав, що автоматизація тестування. Деякі компанії з цим успішно справляються, але більшості ще є, куди рости. Мені б дуже хотілося, щоб одного разу Appium досяг рівня Selenium, куди самі вендори пишуть доповнення, це призвело б до більшої стабільності для всіх. Ситуація виду win-win.

Особливості Appium


– Якщо ми говоримо про Appium, то що стало основною причиною його появи? Адже в той час вже були різні фреймворки. Хіба емуляторів недостатньо?

– Appium закриває декілька потреб, які не змогли бути вирішені з допомогою SDK вендора. Перша – це незалежність від мови. Інші фреймворки вимагають використання специфічних мов (у випадку з iOS це навіть мова, яка взагалі відрізняється від мови розробки), що призводило до неможливості автоматизації процесу тестування, так як навіть доводилося звертатися до інших фахівців для написання тестів.

Appium ж створив загальний фреймворк для iOS і Android, що дозволило обмінюватися кодом. Ну і окремо варто відзначити, що Appium упакував це все у знайому модель від Selenium real-time сервера, що в принципі є стандартом для веб автоматизації, відповідно, це призвело до невеликої вартості впровадження та використання розробниками.

– чи Знаєте ви про досвід використання Appium в Яндексі – одному з наших IT-лідерів? Ці хлопці навіть написали дуже докладний звіт про застосування, в тому числі докладно описали всі проблеми, з якими зіткнулися, правда, буду чесний – це було навіть раніше версій 1.0 і 1.1

– Скажу більше – я навіть зустрічався з програмістами Яндекса в Санкт-Петербурзі в цьому році, і вони показали мені, як у них йдуть справи з нашим фреймворком. Боюся, що я не маю права розповідати це в інтерв'ю, але ці хлопці використовують наш фреймворк на повну, і так, ми з ними успішно комунікуємо з усіх проблем, про які вони нам повідомляють.

– до Речі, вони окремо відзначили проблеми з продуктивністю на великих обсягах тестових даних – як зараз із цим ситуація? Вдалося досягти певних успіхів у вирішенні проблеми?

– Версія 1.0 вже стала багато разів швидше і стабільніше, в принципі, це ж можна сказати і про версії 1.5 застосовно до 1.0. З одного боку – так, все стало краще, з іншого – наші руки зв'язані відсутністю підтримки з боку Apple. Вони самі (Apple) часто ламають свої SDK для автоматизації, на яких у нас все побудовано, а так як це закритий джерело, то ми повністю залежимо від того, коли і як вони це полагодять.

Про ринку мобільних додатків
– Якщо ми говоримо про те, що все більше людей переходять на використання тільки мобільних телефонів і відвертої перевантаженні ринку мобільних пропозицій, як ви вважаєте, що можна вважати кращою стратегією – випустити додаток як можна швидше і планомірно покращувати і вичищати його від багів, або ж досконально відтестувати його, враховуючи всі можливі проблеми, але при цьому запуститися пізніше?

– Років п'ять тому я б сміливо сказав – запускати і чим швидше, тим краще. У 2008-му можна було написати повну лажу і заробити на цьому мільйони, а зараз ринок вельми і вельми більш вимогливий. Мені здається, що зараз ще і не менш важливо і швидко відповідати на зауваження користувачів, тримати руку на пульсі, оперативно все правити, так би мовити, ще й швидкий цикл доопрацювання. Напівготові v1 (перша версія) на сучасному мобільному ринку просто не виживе.

Opensource – відмінний спосіб працювати


– Трохи особисте питання – а чому ви підтримуєте ідеологію opensource?

– Я підтримую цю ідеологію тому, що це відмінний спосіб працювати. У багатьох людей виникають однакові проблеми, які не відносяться до їх роботи напряму, але їх треба вирішити. Варто всім зібратися і докласти трохи зусиль, як виходить відмінний інструмент, яким ще й приємно поділитися. Це дозволяє існувати невеликим компаніям, особливо тим, які тільки виходять на ринок, та отримувати всі необхідні технічні рішення, без того, щоб платити величезні гроші.

Великі бізнеси можуть дозволити собі заплатити за MSSQL тому що це, в свою чергу, приносить їм велику прибути. А громадські організації або стартапи змушені вигадувати якісь обхідні шляхи, щоб вирішити цю задачу безкоштовно. Для них ліцензія за 10,000 USD безглузда – вони навіть не працюють з такими сумами в принципі. Я вважаю, що надавати широкий доступ до різних технічних рішень – це правильний шлях, адже чим більше вибору у кожної людини, тим більше у нього можливостей чогось досягти, ніж реалізуватися. Тому в цілому я вважаю, що наявність опенсорсных рішень – це відмінна альтернатива платним, хоча платне рішення зовсім не обов'язково означає погане.

– Ну і останнє питання – чому ви обрали цю конференцію? Могли б ви оцінити наших розробників і те, як вони виглядають на світовому ринку?

– Мені завжди подобається зустрічатися і спілкуватися з різними людьми – з інших країн, з іншим життєвим досвідом. Я вже виступав у Росії до цього, і можу сказати, що тут дуже кваліфіковані розробники.

Вище ми вже обговорювали, що ваші хлопці з Яндекса настільки комплексно використовують наш фреймворк, що це чи не єдиний приклад такого роду в світі. Так що я приїжджаю сюди не лише поділитися своїм досвідом, але й отримати новий.

— Чудово. Дякую за відповіді!



А для розширення кругозору у сфері тестування радимо вам відвідати конференцію Гейзенбаг 2016 Moscow. До речі, на конференції можна буде зустрітися з Деном, послухати його доповідь, а потім і особисто поспілкуватися в дискусійній зоні.

Список доповідей:

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.