Тести пишуть люди | QA


Гео и язык канала: Украина, Украинский
Категория: Telegram


Software Testing. Channel about Quality Assurance. Created by SDET Kateryna Romanchuk @katerynasafobora
https://www.katerina-it.com/

Связанные каналы  |  Похожие каналы

Гео и язык канала
Украина, Украинский
Категория
Telegram
Статистика
Фильтр публикаций


Про DevOps fwdays'25 і QA Party Hard та інші updates

1️⃣Передивилася 12 годин DevOps fwdays'25 конференції, яка пройшла 22 лютого.
Коротко поділюся враженнями:
Було дуже багато технічних деталей, які мені так і НЕ вдалося зрозуміти🤓🙉
Говорили багато про Kubernetes, клауд, load balancer.
Було чимало питань про те, як тестувати, якщо в проєкті є AI, і як це правильно сприймати.

Основний висновок: у таких випадках варто сприймати AI-модель і платформу, яка її обробляє, як окремий сервер. Тобто в компаніях, які працюють із моделями та AI, класична клієнт-серверна архітектура змінюється. Фактично, замість одного сервера з’являється ще один -> сервіс, який теж має певний інтерфейс і з яким клієнт комунікує через запити.

Тобто 1 клієнт і «2 сервери» - стає новою реальністю.

Це якщо дуже коротко.

2️⃣22 березня буду на QA Party Hard у Києві. Хто теж буде – до зустрічі!
Хочу сказати, що коли переїхала в 2004 в Київ, кінотеатр "Жовтень" був моєю любов’ю. Я ходила туди дуже часто – прям на всі всі фільми. Потім, після пожежі близько 9 років тому і реконструкції, чомусь перестала його відвідувати. Тому цікаво побачити, як там зараз. І я впевнена, що буде класно, адже місце чудове, а QA-ком'юніті – взагалі найкраще! 🫰

3️⃣ Також я отримала підвищення до ролі Team Lead❤️🙏

——-

По можливості скоро запишу відео, де голосом проговорю деякі нюанси, пов’язані з автотестами, бо відчуваю, що деякі теми складно пояснити текстом.
Тому, якщо є питання - пишіть, по можливості розкриватиму ці теми.


Дякую і тримаємося! 🙏


Речі, про які я не думала, коли була junior, і які мене хвилюють зараз 🤓😂

1️⃣ Feature Toggle – або в народі під назвою Feature Flag. Наче проста і складна річ одночасно. Feature Toggle – це механізм, який дозволяє динамічно вмикати або вимикати певний функціонал без зміни коду чи нового деплою. Якщо Feature Toggle неправильно реалізований, він може ламати продакшн, навіть якщо код тестувався.
Тому важливо мати процес в команді, де кожен може легко побачити, які фічі зараз увімкнені. Враховувати це при написанні тест-плана і тестуванні. А також гарною практикою вважається при створенні тимчасових флагів – одразу заводити таску, наприклад, ЧЕРЕЗ реліз по видаленню цього флага.

Хто відповідає за видалення Feature Flags?
Зазвичай це Developers + Product Managers. QA зазвичай контролюють процес, тестують зміни, дають рекомендації.

Занадто багато Feature Flags = технічний борг, який важко виправити пізніше.

2️⃣ SLA
Термін, який є в багатьох сферах. Але в тестуванні має специфічний відтінок.
В деяких командах і компаніях про це взагалі не говорять, а в деяких компаніях SLA стоїть на рівні з KPI. Якщо у вас він є – бажано глибоко зрозуміти всі параметри.

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

3️⃣ Мутаційне тестування
Досить складна і цікава штука. Часто компанії, які сильно вкладаються в автоматизацію, мають цей процес, і якщо в ньому розібратися – це дійсно мега цікаво і корисно.
Але складно.
Якщо у вас є час і можливість – попрактикуйтеся в цьому. Ви одразу по-іншому відчуєте автоматизацію.

Років 9 назад я не чула про таке тестування – і щоб ПЕРЕВІРИТИ АВТОТЕСТИ, ми ламали щось в базі (часто при цьому підході виникає проблема з кешем). Тому це все старі методи.
Зараз для перевірки автотестів є спеціальні інструменти.

Інструменти для мутаційного тестування:

🔹 Python: MutPy
🔹 Java: PIT
🔹 JavaScript: Stryker
🔹 C#/.NET: Stryker.NET

Коли варто використовувати мутаційне тестування?

✅ Коли тестове покриття високе (90%+), але ви не впевнені в ефективності тестів.
✅ Коли ви хочете покращити якість автоматизованих тестів.
✅ У критичних системах, де помилки можуть мати серйозні наслідки

394 1 8 14 27

▶️Low Code Automation

Чи є хтось, кому це вау, кому підійшло?

На минулому проєкті у нас була одна з команд, в якій існувала мрія — мати регресію, але так, щоб НЕ писати код, адже код писався складно, а мрія лишалася:
▪️Хоча б якісь кроки записати.
▪️Хоча б щось.
▪️Хоча б капельку.

Це були інтерни і вони лише навчалися і робити перші свої кроки в ІТ.

В якийсь момент, коли компанія купила ліцензію на BrowserStack, мрія стала ближчою, бо там є вбудований модуль Low Code Automation.

Є функціонал, який дозволяє проклікати щось і запам'ятати дії.

Я була проти цього інструменту – бо там навіть не можна згенерувати файл з кодом (
краще візьміть уже Playwright Recorder

- бубніла я). Бо мені не дуже подобається мати дуже сильну прив'язку до UI-функціоналу BrowserStack.
Але якщо команда хоче, то звісно – нехай спробує. Дали зелене світло, і вони почали записувати тести.

Протягом трьох днів вони записували.

Коли на нашому сайті в новій версії відбулися невеликі зміни, ці Low Code Automation звісно зафейлилися.
Команда вручну оновила кожен степ.
Терпіння вистачило аж вдвічі.

Після того, як вони здалися, ми відмовилися від цього.

Отже, висновки:
▪️Метод підходить лише, якщо продукт взагалі не міняється, бо оновлювати тести мега складно.
▪️Метод підходить, якщо продукт має дуже просту логіку.
▪️Не підходить взагалі, коли продукт змінюється і масштабується.
▪️Краще час, який витрачається на оновлення таких тестів, використати на вивчення мови та написання повноцінних, хороших тестів, які можна зберегти і інтегрувати в CI/CD.

Поділіться, якщо хтось використовує і любить Low Code Automation






Бути категоричним при наймі на роботу
Таку тенденцію досить часто бачу.
У LinkedIn все частіше трапляються пости про те, що:
«Я ніколи не беру людину на роботу, яка…»


І так багато критеріїв відбору.

Хочу сказати, що мої найбільш круті колеги, які допомагали компанії досягати мега-результатів, ті, хто вписувався екологічно у продукт і цінності команди - дуже часто вони згадують, що співбесіда, на якій їх наймали, НЕ була ідеальною.

Забули щось очевидне.
Плутали слова.
Обляпувалися в калюжі перед порогом офісу.

Навіть у мене був випадок: відкрила пляшку мінералки, і вона «пшикнула» так сильно, що я вся була мокра. Так і зайшла на співбесіду.

Engineering Manager в одній із моїх минулих компаній любив казати, що якби наймав себе, то не взяв би. Бо коли прийшов у компанію, знав набагато менше, ніж треба було б знати.

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

Треба дивитися на все. І бути уважним.
Але не бути категоричним.

Щоб зі сторони свого бачення випадково не втратити цінну людину, яка могла б органічно вписатися в команду.

Бути м’якшим і дивитися трохи ширше.
Таку пораду дала б людям, які наймають на роботу.


Зелене - то любов,
червоне - то журба

If you know what I mean ❤️❤️






🙏🙏


Коли треба test coverage 90%, а у тебе 3%🙉🌝




✅ Чому - добре?
Є baseline - ми бачимо загальну кількість тестів.
Ми чітко знаємо, які тести запускаються.
Ми можемо аналізувати, що саме падає, і фіксити це.
Ми знаємо що саме тут відбувається. І це розуміння є дуже цінним.


❌ Чому - погано?
Немає baseline.
Ми не розуміємо загальну кількість тестів.
Тренд нічого не показує, бо дані змішані хаотично.


➡️Test Result Trend
Вони відрізняються в різних системах test reports та можуть виглядати по-різному. Але суть одна - показати історію тестів: скільки тестів проходило, скільки падало тощо.
Це дуже проста й очевидна річ.

Говоримо зараз про CI, де тести запускаються в пайплайні.

Тут часто виникає проблема:
Пайплайн налаштований так, що в межах однієї job запускаються різні тести за певними критеріями (наприклад, через параметризацію).

Якщо Test Result Trend не дає жодної корисної інформації, бо ми не бачимо історію тестів (оскільки в кожному запуску набір тестів змінюється), то, швидше за все, наш CI-пайплайн налаштований некоректно.

Я спеціально взяла для прикладу тренд із падаючими тестами, бо мова НЕ про стабільність тестів, а про те, ЩО САМЕ ми запускаємо.
Якщо по тренду неможливо побачити якусь тенденцію, це означає, що пайплайн запускає РІЗНІ тести в кожному прогоні або має РІЗНІ налаштування і такий тренд втрачає сенс.
Адже ми змішуємо історію різних запусків.

Тренд має показувати, наприклад, що:
▪️Коли ми додаємо нові тести → їхня кількість зростає.
▪️Коли ми видаляємо тести → загальна кількість зменшується.
▪️Кількість тестів, що падає.
▪️Кількість тестів, яка стабільна.

Як уникнути проблем:
✔️Не запускати всі тести в одній job через параметри, що змінюють набір тестів.
✔️Розділяти тести по окремих не залежним пайплайнам для кожного test suite(якщо треба запускати окремо певний функціонал)
✔️Не змішувати запуск тестів з різних environments: наприклад, НЕ запускати тести одночасно для development і staging в одній job, оскільки вони матимуть скоріш за все різну історію.
✔️Відокремлювати регресійні прогони від запусків інженерів на своїх змінах.
Якщо в тренд потрапляють і звіти з регресії на master, і звіти з тестів, запущених вручну з певними змінами і налаштуваннями - тренд втрачає сенс.


Привіт! Сьогодні була зустріч «Сніданок з колегами».
Це так цінно бачити «своїх» людей офлайн. Я би сказала — розкіш.

Останні два тижні провела декілька менторських сесій на Projector Mentorship Platform.
Основні запити:
«Хочу автоматизувати, але боюся»
«Треба автоматизувати, але не знаю, з чого почати»

Я завжди раджу:
1. Написати один тест.
2. Запускати його локально.
3. Запустити на CI.
4. Додати ще кілька тестів.

І аж після цього починати думати: «Це моє чи не моє?» і чи варто боятися.

Сьогодні хотіла розповісти про важливість automation testing result trend на CI.
Розповім завтра. 🙏

Поставте, будь ласка, плюсик, хто дивиться на них і кому вони допомагають.
А якщо не дивитеся — поділіться, чому.


➡️ Як лінкувати мануальні тести й авто-тести?

Це досить болюче питання, яке часто викликає купу обговорень і аргументів за і проти.

Коли є мануальний тест — на нього написаний авто-тест.

Наприклад, у Xray. Чи має мануальний тест бути прив’язаним один в один до автотестів?
А якщо мануальний тест великий і покритий декількома автотестами?
А якщо він параметризований?

Є багато-багато питань.

Часто чую думку, що «класно, коли всі тести прям 1-в-1 прилінковані, і код автотесту дублює кроки мануального тесту. Тоді ми впевнені, що автотести круто все покрили, і за потреби можемо запустити автотести на певний сьют. А якщо, наприклад, автотести зламалися з якоїсь причини — пройти тести вручну».

Я не дуже підтримую цей підхід.

Є багато-пребагато нюансів.

Просто хочу поділитися тим, як роблю я (коли маю на це дозвіл) і як «люблю».

1️⃣ Якщо автотест написаний, видаляти мануальний тест із регресії. Вимикати. Забувати про нього. Мати одне джерело правди автотести. Якщо у вас класно налаштовані звіти й ви розумієте, що роблять тести, вам не потрібно мати те саме ще й із поміткою manual.

2️⃣ Якщо життя потребує лінкувати автотести з мануальними тестами — не прив’язувати їх 1-в-1. Не намагатися «натягнути» одне на інше, бо вони різні й мають різну структуру. Можливо, я не права, але з мого досвіду всюди, де починалося 1-в-1 лінкування мануальних і автотестів, закінчувалося це не на користь авто-тестів.

Неважливо, написано на один мануальний тест 10 автотестів чи 1 автотест.

Такий мій підхід. Поділіться, як у вас?


😀


Всім гарних вихідних, гарних doc і швидких фіксів ❤️



Показано 20 последних публикаций.