#ЧарівнийКомпас 🧭1️⃣9️⃣3️⃣ Завдання 193Що таке flakiness в автотестах🤔 Flakiness - це нестабільність автоматизованих тестів, якщо дати грубе визначення. Наприклад, тест то проходить, то валиться з незрозумілих причин, навіть якщо в фічі нічого не змінювалося. Існує також поняття flaky-тести - ненадійні тести, на результат яких не можна покладатися, бо він може бути хибним. Чим більше у вас таких тестів, тим менш надійною є автоматизація на проєкті.🔣 Причини flakiness:1️⃣ Нестабільні локатори в UI-тестах: елемент не встиг з’явитися на сторінці, а тест уже намагається з ним працювати, або прив’язка не до статичного локатора, який може змінюватися з кожним запуском.2️⃣ Погана синхронізація: затримки при зміні активності елементів тощо.3️⃣ Асинхронні операції: дія ще виконується, а ви вже перевіряєте результат.4️⃣ Залежність від зовнішніх сервісів (наприклад, API): щось змінилося у виклику конкретного API, і тест далі не проходить.5️⃣ Паралельний запуск і конфлікти даних: кілька тестів використовують один і той самий ресурс (наприклад, користувача) і заважають один одному, впливаючи на результати.🔣 Що з цим робити:1️⃣ Покращити синхронізацію: використовувати очікування за умовами, а не «жорсткі» паузи в секундах (це дуже погана практика).2️⃣ Ізолювати тестові дані: використовувати унікальні дані для кожного запуску й не забувайте очищати їх після тесту.3️⃣ Мінімізувати по можливості залежності від зовнішніх нестабільних сервісів: мокати зовнішні API або використовувати стабільні тестові endpoints.4️⃣ Додати логування та діагностику: flaky-тести важко відслідковувати без нормального логування, що взагалі стосується будь-яких тестів. Логування - ваш друг.5️⃣ Впровадити логування flaky-тестів і аналізувати його: аналізуйте тести після прогону, розбирайтесь, чому вони впали і як це пофіксити.#️⃣ Flakiness - велика проблема для автоматизації, і з нею треба, і можна боротися. Не запускайте цей момент, інакше він буде рости як снігова куля, і у вас просто не буде часу зайнятися цим з розумом.@Zatishna_Galera
ДУМКИ ПРО «ВСІ МИ ПОМРЕМО, А ШІ НАС ЗАМІНИТЬ»Такі розмови в моїй бульбашці з’являються постійно і завжди цікаво подискутувати про це з розумними людьми.Нагадаю вам, що кожну ітерацію нових ШІ-інструментів ми чуємо одне й те саме: «Ну все, ось тепер точно програмісти/тестувальники/дизайнери (оберіть своє) більше не потрібні». Чую це вже десь останні 3–4 роки. І що?Усі ці спеціалізації все ще потрібні, вони нікуди не зникли. Що ж змінюється?Змінюється підхід до роботи. Тепер у вас під рукою завжди є інструмент, з яким можна побрейнштормити ідеї, швидко зробити чернетки та ескізи задач, і при бажанні підвищити свою продуктивність на певний відсоток.Все ще потрібні люди, які можуть мислити, міркувати, вигадувати ідеї та солюшени. ШІ не може зробити це за вас - він може допомогти вирішити задачу, але її треба поставити і придумати.Все ще потрібні люди, які можуть зрозуміти проблему або розібратися в технології. Все ще потрібні ті, хто зможе прийти і зрозуміти бізнес-бік задачі, щоб перекласти її на технологічну мову.Все ще є старий легасі, який просто бездумно рефакторити не можна - потрібно сидіти й занурюватися в нього, щоб зрозуміти, що там було 10 років тому і що з цим робити зараз.Тому я повторю фразу, яку люблю казати: «Ні, ШІ не замінить нас як професію в найближчому майбутньому, але якщо ви не будете ним користуватися, то роботодавець замінить вас тим, хто ним користується». Тому бійтеся не ШІ, а своїх страхів його використовувати.@Zatishna_Galera
#ЧарівнийКомпас 🧭1️⃣9️⃣2️⃣ Завдання 192Що таке «code freeze» та його вплив на QA.Code Freeze - це етап у розробці, коли в кодову базу проєкту не вносяться жодні зміни, окрім виправлень критичних дефектів. Зазвичай він використовується командою перед релізом нової версії продукту або ключовим етапом життєвого циклу, наприклад, квартальною демонстрацією для замовника. Це робиться для зменшення ризиків неочікуваних поломок перед цими подіями та зосередження на стабілізації вже готового функціоналу.Для QA Code Freeze означає:1️⃣ Ми виходимо на фінальний етап тестування в рамках цього циклу розробки. Ми можемо бути впевнені, що новий функціонал додаватися більше не буде, і можемо повністю зосередитися на доведенні до ідеалу вже впровадженого. Ідеальний момент для повного регресійного тестування та стабілізації версії продукту.2️⃣ Дуже важливо правильно розставляти пріоритети дефектів. Під час code freeze зміни в коді повинні зводитися до мінімуму, а це означає, що навіть критичні дефекти проходитимуть кілька етапів перевірок, перш ніж буде ухвалено рішення щодо їх подальшої долі.3️⃣ Важливо грамотно розподіляти ресурси та правильно визначати суміжні зони при перевірці критичних багів. Повністю запускати регресію кожного разу вже немає часу, але й залишати потенційні області, які може зачепити виправлення критичного дефекту, без уваги - не варіант.4️⃣ Оскільки проєкт переходить у фазу стабілізації, а не розробки та додавання нового функціоналу - це чудовий момент приділити більше уваги нефункціональному тестуванню. Причини таких дефектів значно легше локалізувати саме у стабільній версії продукту.5️⃣ Імовірно, комунікація між QA-командою та розробниками може трохи ускладнитися, адже інженер з QA команди може не погоджуватися з думкою девелопера щодо пріоритету багів і необхідності їхнього виправлення на цьому етапі.Code Freeze - це дуже корисний інструмент, який за правильної реалізації може суттєво допомогти QA-команді грамотно підійти до тестування та стабілізації. Тут надзвичайно важливо вміти знаходити спільну мову з розробниками, а не тягнути ковдру на себе. Пам’ятайте, що ви працюєте над спільною справою, як одна команда, і якщо кожен буде тягнути в свій бік - результату не буде.@Zatishna_Galera
Відбулася нова Google I/O.І скажу вам так – це була одна з найцікавіших їхніх презентацій за весь час з точки зору анонсів, а от з точки зору подачі – як завжди, максимально нудна. Просто величезна кількість новинок та анонсів. Я спробую виділити найцікавіше:➖ Deep Think: новий «розмірковуючий» режим для Gemini 2.5 Pro. Аналоги в конкурентів уже були, але тепер і Google навчилась робити такі моделі.➖ Veo 3: тут просто вибух. Згодом буде окремий пост про неї, але тепер text2video модель вміє одразу створювати і звуки, і озвучку.➖ Imagen 4: нічого особливого після генератора зображень від ChatGPT.➖ Project Mariner: новий ШІ-агент, який вміє взаємодіяти зі сторінками в інтернеті. По суті аналог того самого від OpenAI.➖ Gemini в Chrome: ШІ-помічник для браузера.➖ Stitch: ШІ-інструментарій для створення різних UI за текстовим описом. Цікава штука, треба спробувати.➖ Material 3 Expressive: нова віха дизайну для Android.➖ Google Meet: навчився перекладати аудіо в реальному часі, при цьому зберігаючи голос і інтонації співрозмовника. Просто ВАУ!➖ NotebookLM: окрім повноцінного застосунку, тепер вміє створювати відеопрезентації з документів. Поки не вигадав, навіщо мені це треба, але працює дуже круто.➖ Jules: помічник-розробник. Вміє працювати з GitHub, виправляти дефекти, писати код і тести.➖ Wear OS 6: оновили операційну систему для годинників.➖ Розумні окуляри: нічого не зрозуміло, але дуже цікаво.➖ Функція «примірки» в пошуку: можна віртуально приміряти одяг на себе. Класна фішка, сподобалась.➖ Підтримка MCP: тепер Gemini SDK сумісний із Model Context Protocol. Це дуже добре, здається, сумнівів у тому, що це новий стандарт, вже ні в кого немає.➖ Gemini Ultra: ну і вишенька на торті – нова підписка. Коштує «копійки», усього $249.99.Капітан давно не бачив такої «нудної», але водночас такої насиченої презентації. Тепер залишилось, щоб усе це злетіло й працювало хоча б приблизно так, як заявили, а не як зазвичай у Google буває.@Zatishna_Galera
#ЧарівнийКомпас 🧭1️⃣8️⃣8️⃣ Завдання 188Опишіть основні етапи роботи застосунку під час звернення до REST API.Сьогодні коротке, але важливе. Питання спрямоване на розуміння клієнт-серверної архітектури та кроків взаємодії цих понять. Тому відповідати слід, виходячи саме з цього.Коли клієнт (наприклад, вебзастосунок, мобільний застосунок або браузер) звертається до REST API, процес можна описати наступними пунктами:1️⃣ Формування HTTP-запиту від клієнта: обирається метод (GET, POST, PUT тощо), формується правильний URL, його параметри, заголовки та тіло запиту.2️⃣ Надсилання запиту на сервер.3️⃣ Прийняття запиту сервером і початок його обробки.4️⃣ Обробка запиту сервером. Залежно від типу запиту сервер виконує необхідні дії на своїй стороні, наприклад, автентифікацію та авторизацію, звернення до бази даних тощо.5️⃣ Формування HTTP-відповіді від сервера клієнту: статус-код (200 OK, 201 Created, 401 Unauthorized тощо), заголовки, тіло відповіді.6️⃣ Надсилання відповіді клієнту.7️⃣ Прийняття відповіді клієнтом.8️⃣ Обробка відповіді на стороні клієнта. Це може бути відображення чи оновлення даних, виведення повідомлення про помилку, перехід на іншу сторінку тощо.Звісно, у фоні працює безліч складніших і більш громіздких механізмів як на стороні сервера, так і на стороні клієнта, але для розуміння загального процесу й основних етапів цього буде цілком достатньо.@Zatishna_Galera
xAI, як і обіцяв Маск, випустили Grok 3.Спочатку про гарні новини – випустили цілу лінійку моделей. Тут вам і Grok 3 mini, і Grok 3 Reasoning, і Grok 3 mini Reasoning – все за заповітами OpenAI.За бенчмарками ChatBot Arena, Grok несподівано вирвався в лідери (Капітан явно такого не очікував) і тепер випереджає всі конкурентні моделі. Щоправда, тести та бенчмарки поки досить обмежені, тому результати назвемо “попередніми”, але все одно – вражаюче.Також, додали нативне голосове введення та виведення (привіт ChatGPT Advanced Voicemode). Додали “розмірковуючу” модель. Додали аналог Deep Research, який збирає інформацію в інтернеті, аналізує її та видає готовий звіт. xAI пообіцяли відкрити вихідний код Grok 2.А тепер про сумне – для навчання використали дата-центр із 200 тисячами чипів, і за словами Маска, Grok 3 потребував у 10 разів більше потужностей, ніж попередня версія. Підписка X Premium+ дорожчає до $48,40 (було $22). Додається новий рівень підписки SuperGrok, який відкриває більше функцій та знімає ліміти.Так, приріст у порівнянні з минулою версією значний, але навіть за попередніми бенчмарками випередження конкурентів мінімальне.А це означає, що просто “закидати проблему залізом” більше не працює.@Zatishna_Galera
OpenAI продовжує анонси. Тепер показали «Deep Research». Це надбудова для ChatGPT, своєрідний «суперпошук і аналіз», який дає можливість проводити глибокі дослідження у наукових сферах. Тобто ви отримуєте не швидку відповідь, а відповідь, що пройшла низку аналітичних механізмів, із посиланнями, поясненнями тощо. Такий аналіз може займати до пів години часу.Поки що це доступно для рівня Pro з лімітом у 100 запитів на місяць, але незабаром з’явиться і в Plus, але з лімітом 10 запитів на місяць.Щоб ви розуміли масштаб: із цією надбудовою ChatGPT проходить Humanity’s Last Exam із точністю 27%, тоді як o3-mini має точність 13%, а Gemini – лише 6%.Як це працює:➖ Ви вказуєте, що саме хочете дізнатися або проаналізувати.➖ Модель уточнює деталі запиту.➖ Шукає необхідну інформацію.➖ Аналізує її.➖ Видає детальний звіт про знайдені матеріали.По суті, Deep Research – це агент, який думає та шукає інформацію в інтернеті. Ставка настільки висока, що Deep Research у теорії може написати наукову статтю з усіма необхідними джерелами, побудувати графіки тощо. Або ж за 10–30 хвилин можна попросити проаналізувати конкурентів, зібрати звіт, описати деталі. Варіантів використання безліч. Часи рефератів і подібних робіт закінчилися цього тижня.@Zatishna_Galera
Отже, обіцяний пост про Operator від OpenAI. У своєму пості за підсумками 2024 року я вже писав, що рік 2025 обіцяє бути роком ШI агентів, і саме це ми з вами й починаємо спостерігати на власні очі. Operator не здатний керувати вашим комп'ютером, але може виконати практичні будь-які дії на будь-якому сайті в інтернеті. Для цього Operator запускає свій власний браузер, який може працювати з будь-якими https сайтами, тобто, по суті, з усіма сучасними ресурсами в інтернеті. У будь-який момент ви можете перехопити виконання і продовжити в ручному режимі. Усе це працює під егідою Computer-Using Agent (CUA), об'єднанні можливостей опрацювання зображень у браузері за допомогою GPT-4o і міркувань за допомогою навчання з підкріпленням (Reinforcement Learning). CUA може взаємодіяти з UI, натискаючи кнопки, заповнюючи поля і форми, коротше працюючи з усім тим, що звичайний користувач бачить на екрані. Поки що це все на стадії research preview, тобто щось на кшталт бета-тесту, який має ще купу проблем, може робити помилки й так далі. Якщо ж система стикається з проблемами або не впевнена в правомірності якихось дій, то контроль буде повернуто в ручний режим автоматично. При цьому користувачеві повідомлятимуть, що конкретно і чому від нього очікує система. Загалом ідея дуже цікава, можна за один запит автоматизувати якісь рутинні речі. Наприклад, можна попросити зайти на сайт магазину, зібрати потрібні продукти в кошик і замовити на потрібну адресу, можна попросити взяти текст україномовною, перекласти його через онлайн перекладач на англійську і надіслати комусь листом, можна попросити обійти кілька сайтів електроніки, зібрати інформацію про потрібний товар і обрати найвигіднішу пропозицію і так далі. Варіантів стільки, наскільки вистачить вашої фантазії. У зв'язку з чим я б дуже рекомендував ознайомитися з деякими прикладами, які пропонує сама OpenAI. Поки що в ЄС не доступно, як і для Plus підписки. @Zatishna_Galera
Цікава і шалено винахідлива PR акція трапилася на ICE 2025. Всім хто має відношення до PR і хоче зібрати натовп навколо своїх стендів на заходах обов'язково до прочитання.Для тих, хто не цікавиться gambling і betting сферою, поясню, що ICE - одна з найбільших виставок на цю тему, на якій щорічно представлено всі світові бренди цієї індустрії та компанії, що надають супутній сервіс. Так ось, цього року на виставці було представлено компанію GR8 Tech, амбасадором якої є Олександр Усик та його команда. Перед виставкою сама компанія і багато медіа почали писати, що наш козак завітає на виставку та буде виступати зі сцени, після чого обіцяє всім охочим автографи, фотографії та вільне спілкування. Подія була призначена на сьогодні. Очікувано це створило ажіотаж навколо стенду компанії, що дало представникам компанії виступити з рекламою свого продукту на величезну аудиторію. Щоправда, наприкінці виступу було оголошено, що сам Усик, на жаль, не приїхав і відвідати виставку та всіх охочих подивитися на легенду не зміг 😂. Ну що тут скажеш - за винахідливість я б поставив тверде відмінно. Людям, хто очікував зустрітися з легендою, хочу нагадати, що вони прийшли на виставку gambling і betting. Ваша ставка не зіграла 😆 А що пасажири думають про такий PR?@Zatishna_Galera
#ЧарівнийКомпас 🧭1️⃣7️⃣4️⃣ Завдання 174Що таке IMAP та POP3?Продовжуємо питання з технічного напряму. Поговоримо про протоколи. IMAP (Internet Message Access Protocol) і POP3 (Post Office Protocol 3) - протоколи, які використовуються для електронної пошти. По суті, це протоколи отримання електронної пошти з сервера. Головна їхня відмінність у способі зберігання та обробки листів. 🔣 IMAP дає змогу працювати з поштою безпосередньо на серверах, без їхнього завантаження на пристрій клієнта. При цьому будь-які зміни синхронизуються в реальному часі. Для цього, що логічно, потрібне постійне з'єднання з інтернетом. Основним його недоліком є велике навантаження на сервери і необхідність більшого обсягу пам'яті на них. 🔣 POP3 ж завантажує листи з сервера на пристрій клієнта і при цьому може видаляти їх із сервера, після завантаження. Синхронизації між пристроями немає, але може працювати без інтернету після того, як відбулося завантаження листа на пристрій. Основним його недоліком є відсутність синхронизації між пристроями та потенційні проблеми з втратою даних, якщо вони після завантаження були пошкоджені або випадково видалені. Тому, в цілому, POP3 простіший і старіший протокол, який, на відміну від IMAP, не дає практично ніяких сучасних функцій, до яких ми звикли.Але, говорячи про поштові протоколи, не можна обійти стороною і MAPI (Messaging Application Programming Interface). Він дуже схожий з IMAP за функціональністю, але, по суті, це не протокол, а API. Найімовірніше, ви його зустрічаєте досить часто, коли працюєте з Microsoft Exchange. Крім можливості багатосторонньої синхронізації, як у IMAP, у MAPI є підтримка офлайн-режиму, і зміни, зроблені без підключення до інтернету, будуть синхронізовані після відновлення з'єднання. По суті, MAPI має всі плюси від IMAP і POP3 і є одним з основних інструментів для корпоративної пошти. @Zatishna_Galera