Наступного тижня 15 березня в пітерському офісі Wrike відбудеться зустріч з автоматизованого тестування. Зустріч буде присвячена огляду нових ефективних підходів та інструментів в сфері автоматизації тестування. Ми оцінимо їх застосування в тих чи інших кейсах, постараємося дати конкретні поради та рекомендації, як вони можуть бути застосовні для ваших конкретних завдань. Експерти з задоволенням дадуть відповідь на ваші запитання. Зустріч буде цікава як фахівцям з автоматичного тестування, так і розробникам, пишучим автотесты.

Читати далі →

Обходимо обмеження в Calabash-Android з UIAutomator

enter image description here
Appium і Calabash — одні з найпопулярніших фреймворків для автоматизації тестування Android-додатків. У кожного, звичайно, є свої переваги і недоліки. Їх основні обмеження:
  • Calabash: може управляти тільки користувальницьким інтерфейсом, який є частиною тестового програми, зокрема, немає підтримки тестування повідомлень;
  • Appium: не може викликати backdoor-методы в додатках зразок Calabash (ці методи дуже корисні для налаштування стану досліджуваного додатки).
Ми в Badoo користувалися Calabash для автоматизації тестування, коли Appium тільки починав розвиватися. Це дуже стабільний інструмент, і він досі працює швидше Appium, так що ми не збираємося мігрувати. Але щоб автоматизувати таке багатофункціональне додаток, як Badoo, нам довелося обійти обмеження Calabash на роботу тільки з інтерфейсом тестового додатку.
Коли ми прийшли до такого рішення. І хоча воно ще працює, його надійність знижується із-за безлічі варіацій пристроїв з різною діагоналлю, різними версіями Android і так далі.
У цій статті я розповім, як ми вирішили проблему з допомогою додавання в Calabash підтримки UIAutomator2. Якщо ви занадто нетерплячі, то скажу по секрету, що в кінці є посилання на готовий до використання Ruby Gem.
Читати далі →

Покриваємо проект smoke-тестами, поки він не згорів



Привіт, Хабр! Як-то раз на нашому внутрішньому семінарі мій керівник – голова відділу тестування – почав свою промову зі слів «тестування не потрібно». В залі всі принишкли, деякі навіть намагалися впасти зі стільців. Він продовжив свою думку: без тестування цілком можливо створити складний і дорогий проект. І, швидше за все, він буде працювати. Але уявіть, наскільки впевненіше ви будете себе відчувати, знаючи, що продукт працює як треба.

В Badoo релізи відбуваються досить часто. Наприклад, серверна частина нарівні з desktop web релизится двічі в день. Так що ми не з чуток знаємо, що складне і повільне тестування – камінь спотикання розробки. Швидке тестування – це щастя. Отже, сьогодні я розповім про те, як у компанії Badoo влаштовано smoke-тестування.
Читати далі →

Автоматизація мобільних додатків на базі Appium


Автор: Антон Сирота (QA, Automation)

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

Автоматизація мобільних додатків — відносно нове явище, але попит на неї постійно зростає. Дещо-які труднощі є і з Appium, хоча в цілому процес автоматизації з його використанням вже налагоджений.

Зміст
 Оточення для мобільного автоматизації
 Пошук і робота з елементами
 Робота з драйвером
 Робота з контекстами
 Емулятор або реальний пристрій?
 Можливі проблеми/труднощі
 Процес мобільного автоматизації
 Хмарні сервіси
Читати далі →

Як не дати частим релізам поламати ваше API, або пишемо авто-тести для відкритого API і шолом результат в Telegram бот

image
Передмова
Наша команда розробляє фінансові інструменти, в тому числі відкриті платіжні API, і як багато проектів, які працюють по практиці continuous integration ми одночасно із створенням проекту 3 роки тому почали думати над тим, як поліпшити покриття проекту тестами і досягти максимальної стабільності нашого коду при досить частих змінах (ми інколи встановлюємо оновлення на продуктову середу кілька разів в день). Особливо це важливо в трьох аспектах:

  • ми надаємо наші інтерфейси API у відкритий доступ клієнтам і важливо, щоб всі взаємодія чітко відповідала описам специфікацій
  • ми інтегруємося з великою кількістю інших фінансових сервісів і банків, і крім покриття тестами свого коду ми змушені також покривати інтеграційними тестами взаємодія з test (а іноді і prod) середовищем сторонніх систем
  • наша внутрішня архітектура включає в себе велику кількість микросервисов, які спілкуються між собою за HTTP API


У цій статті я хотів би поділитися досвідом і показати приклад, як ми розробляємо тести для інтерфейсів API включають в себе як сервер-сервер взаємодія, так і роботу через браузер. Для демонстрації я наведу простий приклад тестування процесу оплати банківською картою через наш платіжний шлюз з відправкою результату тестів в Telegram.

Читати далі →

Як побудувати грамотну систему тестування? Інсайти від QA-експертів: відео та презентації з митапа в Wrike

Які інструменти хмарного тестінгу використовують в Яндексі? Як влаштовано тестування в Badoo? Що являє собою система автоматизованого frontend-тестування в Wrike?



Пару тижнів тому наш Wrike Tech club зібрав близько 150 фахівців з тестування, щоб обговорити в пітерському офісі компании нагальні, вічні і, на перший погляд, майже нерозв'язні проблеми QA у великих (і не дуже) проектах. Як і обіцяли, ділимося відео та презентаціями з зустрічі.


Читати далі →

Тестування в Яндексі. Як зробити відмовостійкий грід з тисячі браузерів

Будь-який фахівець, причетний до тестування веб-додатків, знає, що більшість рутинних дій на сервісах вміє робити фреймворк Selenium. В Яндексі в день виконуються мільйони автотестів, використовують Selenium для роботи з браузерами, тому нам потрібні тисячі різних браузерів, доступних одночасно і 24/7. І ось тут починається найцікавіше.



Selenium з великою кількістю браузерів має багато проблем з масштабуванням і відмовостійкість. Після декількох спроб у нас вийшло елегантне і просте в обслуговуванні рішення, і ми хочемо поділитися ним з вами. Наш проект gridrouter дозволяє організувати відмовостійкий Selenium-грід з будь-якої кількості браузерів. Код викладений в open-source і доступний Github. Під катом я розповім, на які недоліки Selenium ми звертали увагу, як прийшли до нашого рішення, і поясню, як його налаштувати.

Читати далі →

SpiderTest: використовуй силу CI



Ця стаття є продовженням SpiderTest: Автотесты своїми руками. Проте, перша частина огляду на це додаток була більше орієнтована на десктопний інтерфейс. У цій же хотілося б поговорити про екзотику: зв'язку тестів з CI-server'ом і GitHub.
Може виникнути питання: «Навіщо взагалі все це потрібно? Ми написали тест, прогнали його в потрібних браузерах і нам достатньо» і в цілому він досить обґрунтований! Дійсно, для звичайного тестування, запуску автотестів з самого додатка SpiderTest в більшості випадків буває достатньо. Але що робити, якщо ми хочемо запустити тести в IE9-11, Opera, FireFox і Google Chrome різних версій? На одній машині це зробити неможливо, а створювати купу віртуальних машин і запускати по черзі в кожній утомливо (і взагалі це костиль).
А якщо ми хочемо провести димове тестування? Чи хочемо запускати тести не тільки в різних браузерах, але і в різних операційних системах (Windows OS, Linux OS)?
Найоптимальніший відповідь на поставлені вище питання – використовувати сервер безперервної інтеграції. У цій статті я розгляну налаштування SpiderTest і Jenkins. Справедливості заради варто сказати, що запускати тести можна і на bamboo, і на teamcity, але Jenkins простий і безкоштовний, тому розглянемо його.

Читати далі →

SpiderTest: автотесты своїми руками



Досить часто серед початківців (і не дуже) тестувальників доводиться чути: «от якби я вмів писати автотесты, я б...». Як правило цим «якби» хлопці і обмежуються. На питання: «А чому не вчишся писати?» найчастіше відповідають: «Програмування це не моє». Дійсно, тим для кого програмування темний ліс, поринути у світ автотестів досить важко, адже скрипт сам себе не напише. У цій статті я хотів би поговорити про те, як з ручного тестувальника стати крутим автотестером.

Читати далі →

Автоматичне тестування JavaFX додатків



Добрий день!

У світі, в якому вартість помилки на етапі впровадження перевищує в сотні і тисячі разів вартість виправлення на етапі розробки, потрібно завжди шукати відповідь на питання: «а як це тестувати автоматично?» Питання автоматизації тестування JavaFX додатків глобальна павутина практично не висвітлює. Але все ж вдалося знайти кілька цікавих ідей, і я хочу поділитися з вами своїми спостереженнями.

У статті я розповім як знаходити компоненти на JavaFX формі, як перевіряти їх властивості, як натискати на них і так далі. Це мінімально необхідний набір вхідних точок в автоматизацію тестування JavaFX додатків.
Читати далі →