Тести пишуть люди | QA
937 subscribers
434 photos
2 videos
1 file
93 links
Software Testing. Channel about Quality Assurance. Created by SDET Kateryna Romanchuk @katerynasafobora
https://www.katerina-it.com/
Download Telegram
Відвідала DOU Days.
Перший день бігала між стендами, щоб усе подивитися - у режимі поспіху й метушні.
Другого дня обрала іншу стратегію: слухати доповіді, для яких не буде відеозаписів, бо все інше зможу переглянути пізніше.

Загалом враження позитивні.
90% про AI.

Сподобалась учорашня думка:
Цікаве було питання від аудиторії до Тараса Чмута, голови фонду «Повернись живим»: чому немає додатку, який робить «те і те…»

Він відповів:
«Бо ВИ його НЕ зробили.
Так часто буває і у житті - якщо чогось немає, часто це означає, що саме ви цього НЕ зробили.»
❤‍🔥156👍3
➡️Dou Day, FW Days, IT Arena

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

Вони різні.

1️⃣IT Arena - була більше орієнтована на підприємців. Всі спілкувалися і шукали когось, хто, можливо, був би корисний для власного бізнесу. Технічних доповідей взагалі я не пам’ятаю. Пам’ятаю велику залу Львівської Опери і дискусії на великій сцені про те, як розвивати бізнес в Україні. І на що звертати увагу, коли починаєш стартап.
Зі Львова я тоді приїхала з купою візиток - штук 70 точно.

2️⃣FW Days - суміш технічного і нетехнічного.
Сильна організація. Гарна локація.
Мені подобається, що там лише 2 потоки: офлайн і онлайн. Тобто коли ти присутній на офлайні - ти все подивився. І спокійно маєш в голові картинку доповідей. Ще вдома потім, якщо подивитися онлайн - то прям всі пазли складені. І поспілкувався, і щось новеньке почув, і без перевантаження.

Але я помітила, що конференції FW Days відрізняються дуже сильно залежно від того, яка тематика. Я була на DevOps, CTO та Soft Skills (2 роки підряд)
На конференції по Soft Skills люди приходять спілкуватися і були більш відкриті. У мене залишилися теплі контакти, і я пам’ятаю, з ким і про що говорили.
Наприклад, на devops - відчувалося, трооошки всі скуті(або можливо я така була).


3️⃣DOU Day - дуже багато стендів, доповідей, спікерів. Вже пройшов тиждень, а я ще й досі не подивилася доповіді, ті що запланувала передивитися, бо прям дуже багато.

Загалом цікаво. Високий рівень організації.
Поєднання окремих стендів, де прям дуже технічно розповідали деталі, наприклад, роботи LLM, і окремо стенди, де можна послухати про те, що
українці - це нація, яка часто дуже в собі не впевнена і скромна (ми дуже рідко вміємо про себе розповісти, і скільки б не навчалися - досі майже всі це дуже погано робимо).
Прозвучала смішна фраза, що зазвичай, коли ми розповідаємо про те, чим займаємося, всі опускають очі і применшують те, що роблять - «наче ложки вкрали».
Наприклад, в американській культурі це перекачано сильно в плюс - вони сильно надувають те, чого часто немає. А у нас майже кожен применшує себе.


Ох, багато було цікавих філософських тем на будь-який смак.

Запити більшості людей на всіх конфах я би поділила на:

▪️Знайти людей корисних саме для свого бізнесу (клієнтів / спеціалістів з доменними знаннями в певній області / партнерів / інвесторів)
▪️Прокачати свій особистий бренд — сказати про себе, проявитися. Отримати підтримку від колег.
▪️Почути якусь технічну нову інформацію
▪️Познайомитися і поговорити, закрити потребу в спілкуванні
▪️Отримати нові емоції, щось нове побачити, просто відпочити, погуляти
▪️Бути почутим і донести щось своє цінне

І кожен може знайти собі місце до душі і доповіді за смаком. А відповідно - і потрібних людей під свій target.
👍147🙏2
На ДОУ придбала футболку і хотіла похвалитися, посміятися, що надпис смішний:

«Прикинувся - задеплоїв - умився»


Це так смішно
Це так про work-life balance


Але це так сумно, коли це правда…

Просто покажу футболку🤌
🔥218❤‍🔥2😁2🤣2
Сьогодні був настрій поскладати речі в дальній шухляді. Знайшла книги, з яких колись починала. Зараз думаю, куди їх подіти🤷‍♀️
У вас є такі?
👨‍💻6🙏3😍3
➡️Про те, що не ок

«Не відчуваю користі автоматизації - це ок?»

- як під копірку вже кілька разів мене запитують у Projector Institute.

Скажу так - це не ок.
Це дуже не ок.

Автоматизація - не ок, якщо:
✔️ У вас з її появою на проєкті взагалі не скоротився час на мануальну регресію
✔️ Не ок - якщо у вас не скорочується time to market загалом
✔️ Не ок - якщо ви не розумієте, який у вас coverage
✔️ Не ок - якщо у вас хаос у pipeline-ах
✔️ Не ок - якщо у вас щодня безкінечно щось падає, і ви звикли до червоних тестів


Це «не ок» може рости з двох сторін:

▪️ Зі сторони інженерів, коли команда не знає як треба / не вміє.
Тут допоможе самонавчання, залучення менторів, найм сильних тімлідів, саморозвиток кожного і, можливо, якісні курси.
▪️ Зі сторони компанії - якщо процеси так побудовані, що компанія (top management) «не чує» потреб своїх інженерів, дає конкретні задачі під реліз - не надаючи простору для покращень. Пушить лише писати автотести. Ставить жорсткі рамки, вважаючи це єдиним важливим KPI інженера. Таким чином автотести можуть рости, а культура автоматизації - ні, бо у людей просто немає на це часу та сил. І крім кількості тестів все інше НЕ покращується. Не даючи відчуття, що автоматизація - це щось хороше. І крім тисяч рядків коду і тестів, які десь якось раняться - нічого немає.

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

Бо якщо цього не робити, все одно колись настає етап, де кожна компанія задає питання - а чи треба нам взагалі автоматизація?
І чому «у нас щось НЕ ок?»
14🔥2🙏2
День у коворкінгу
Вчора вирішила попрацювати в Kooperativ.
Я тут раніше знімала dedicated місце постійно - зараз перестала.
І от лише приїжджаю інколи.
За відчуттями - людей значно менше.
Прям набагато менше.

Але всі такі казкові.

Зі мною в ліфті їхали 2 хлопці, тому мимоволі була учасницею розмови:

Хлопець 1: Як думаєш, якщо ми пишемо код - ми робимо щось корисне для людства?
Хлопець 2: Ну дивлячись який продукт, який домен..
Хлопець 1: Ну, а якщо просто сайт звичайний, але прикольний
Хлопець 2: Хз
Хлопець 1: Ну просто я би хотів бути більшим. Просто для самого себе - більшим.
Щоб розуміти, що я важливий..


Відкрились двері ліфту.
І перед очима - ця лампа…
Просто хочу показати..
13💘3❤‍🔥2👍2
Випадково видалила останній пост. Вибачаюся, повертаю🥺

——————

Привіт! Останні 5 місяців коооожні вихідні їздила на офлайн-навчання. Закінчила 🤪🙏

(Навчання було дотичне до комунікації, взаємодії і складних кейсів в ритмі війни і не тільки.)


Із технічного над чим зараз сильно ламаю голову - це як запускати автотести лише ті, які торкаються певного функціоналу, який був змінений.
Щоб не ранити все-все-все..(Бо ранити все - не має стільки часу, і така автоматизація дуууже дорога.)
А якщо ранити не все - то не зрозуміло, що саме ранити. Як мапити компоненти коду на певні автотести. Раніше колись ми робили щось схоже, але увесь проєкт був менший.
Зараз на моєму проєкті багато репозиторіїв, з яких білдиться білд. Прям дуже багато. І я поки не придумала, як запускати лише ті тести, які перевірять мені те, що змінилося.
Бо запускати все - дуже дорого. І довго.
А запускати мінімальний набір тестів - можна промахнутися з coverage (зазвичай промахуюся.. 🙃 )
Якщо щось надумаю - обов’язково поділюся.

——-

До речі, якщо хто є в інстаграмі - доєднуйтеся, буду рада:
https://www.instagram.com/bora.katerina
12👍3💯2
➡️Що змінилося для мене особисто в роботі з автотестами за останні роки:

Можу виділити головні пункти:

1️⃣Через велику інфраструктуру і відповідно собівартість - зараз я стопаю енвайроменти.
Тобто на ніч і вихідні вимикаю свій environment.
Раніше я так не робила і я навіть не думала про те, що так може бути. Але зараз з великими обʼємами даних і складною інфраструктурою - це стало необхідністю.

І нормою для мене.

2️⃣У моїй команді ми беремо дані, які є згенеровані AI. І відповідно ці дані треба дочекатися, поки вони згенеруються.
Тобто сам по собі пайплайн є довшим, і так як раніше я звикла, що всі-всі тести проходили до 1 години максимум - зараз взагалі неможливо, бо самі дані лише генеруються довше години.

Сам CI виглядає дуже довгим і тяжким. І так, як раніше я робила - просто запускала тести паралельно - зараз не працює, бо без даних немає що тестувати.
А нагенерити навіть трошки дані - це прекондішен, який чекаєш прям довго. Інколи годину, інколи 2+.
Тому доводиться змиритися з трохи довшими пайплайнами і бути більш уважною, і більше ганяти тести локально. Бо запуск на CI буде точно довгим.

3️⃣Також сам продукт, який тестується, є «різним» кожен раз - оскільки те, що ми тестуємо, дуже залежить від даних, які ми згенерували в цьому ж пайплайні.

Раніше я взагалі не думала про дані. Для мене існував лише сервер і клієнт, і я орієнтувалась або на те, або на те.
А зараз є «дані», які «якось» згенеровані - і від яких сильно залежить те, що я тестую.

4️⃣Ну і відповідно - завжди є трохи flakiness.
Білд рідко буває повністю зеленим, бо дані щоразу різні.
Навіть якщо в коді взагалі нічого не змінилося - два прогони автотестів йдуть по абсолютно різних даним.
І це ще один виклик, до якого теж доводиться звикати.
19❤‍🔥6💯2👍1
➡️Людям треба давати шанс, і енергія є там, де є простір для помилок

У минулій компанії, де я працювала, ми наймали людей, і прийшло CV зі сильно з’їхавшим форматуванням. Нам приходило багато CV, і коли ми на мітингу по набору людей відкрили PDF і побачили «кашу-малашу з букв» - я одразу закрила і сказала:
«Ой, що це, невже не можна було бути уважнішим, коли надсилав резюме?»

- закрила і почала відкривати наступне..

Мій менеджер сказав мені:

«Катя, а що ти робиш?
Треба ж людям давати шанс і простір помилятися. Може, людина випадково якось не так зберегла файл.»


Якщо коротко -> ми написали кандидату:
«Поправте, будь ласка, резюме, сталася якась помилка і текст з’їхав.»
Це зайняло 3 секунди написати цей лист.

———

Він переробив.
Ми запросили.
Відбулася співбесіда.

Офера, на жаль, не трапилося…

Але сам факт того, що ми дозволяємо один одному помилятися - це ж так цінно, хіба ні?
23💯5❤‍🔥3
🐤Swift для Android? Неочікувано

Роки 4 тому я працювала в команді, яка тестувала мобілки/планшети і телевізори (iOS + Android).
**Продукт був VPN під різні платформи.

У нас були всі end2end написані на Python + Appium.
З часом тести ставали все більш нестабільними:
▪️Відвалювались емулятори
▪️Постійно ламались локатори
▪️Тести дуже довго запускались

У якийсь момент ми прийняли рішення перейти:
▪️iOS → Swift(XCTest)
▪️Android → Kotlin (UI Automator)

Переписали 2 фреймворки.
Тести стало легше запускати
CI pipeline теж сильно спростився
(ми запускали все на BrowserStack)

І все пішло прям добре.

Команда була щаслива, і кілька років я була впевнена, що це дійсно хороша стратегія.

——-
Сьогодні відкриваю новини і читаю:

25 червня 2025 року Swift.org запустили Swift Android Workgroup - команду, що працює над повноцінною підтримкою Swift для Android.


Зараз я не тестую мобілки, але ж так цікаво, якими ж будуть стратегії автоматизованого тестування наприклад у наступному році, якщо Swift зможе використовуватись і під iOS, і під Android одночасно?
8👨‍💻2🤔1🤓1
This media is not supported in your browser
VIEW IN TELEGRAM
Мій друг, співведучий подкасту qa балачки - Гена Міщевський потребує нашої допомоги.

Для виконання завдань треба придбати БОЙОВИЙ БУС! Ціна питання 500к грн

Я створив дружню банку для того щоб серед людей які задонатять більше 300 грн розіграти 6 книжок по програмуванню

Чистий код - 2 шт
Чистий кодер - 2 шт
Чистий аджайл - 1 шт
JavaScript для дітей - 1 шт

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

Моя ціль: 100 000 ₴

🔗Посилання на збір
https://send.monobank.ua/jar/8rdb28Xa5z
7🙏4
➡️Як ми запускаємо тести - це важливо

Запускати тести можна дуже по-різному. Коли ми дебажимо і пишемо тест - зазвичай це через IDE. Це зручно для дебагу.

АЛЕ:
коли треба запускати багато тестів - мені особисто зручніше запускати з терміналу. Плюс на CI ми теж запускаємо з терміналу.

Тому важливо в команді домовитися як саме ми запускаємо багато тестів і робити це однаково.

Що я маю на увазі: Візьмемо pytest як приклад. Тести можна запускати:
▪️по тегам
▪️по назві тестів
▪️по назві папок з тестами
▪️тощо


І от що може трапитися якщо НЕ домовлятися:

На CI, наприклад, фіча раниться по назві папки «tests_smoke»
А локально QA хоче запустити ті ж тести - і запускає по тегу @smoke

Якщо проєкт великий - може початися великий розсинхрон:
✔️Не всі тести мають теги
✔️Не всі тести в очевидних папках


Тому моя рекомендація - вибрати одну стратегію. Щоб всі раннили один і той самий набір тестів. (І не було такого що хтось раннить папку, а хтось - тести з regexp з іменем smoke.)

Просто додайте в README приклади як запускати тести і домовтеся.

Тоді все добре🫶
12💯4👍2🤔1🙏1
➡️Чи маю я пам’ятати, скільки в мене тестів?

Наче й ні - бо ж 2025 рік на дворі. Стільки тулзів і взагалі всього.

Але бувають випадки, коли кількість тестів раптом падає - вчора було 1900, сьогодні 1870, наприклад. Чи маємо ми звертати на це увагу? Як це взагалі трекати, щоб не довести себе до неврозу?

Взагалі, хто це має побачити?
І чому так може статися?

Причин може бути багато:

✔️від банальної - хтось видалив або переписав логіку - до більш складних випадків.
✔️Наприклад: тести випадково оновили так, що раннер перестав їх запускати (перестав їх бачити) - поміняли теги, імена, папки тощо.
✔️Або, наприклад, проблема з сесією на VM, де раняться тести, і частина просто НЕ встигла пройти. Наче все зелене - але коли починаєш копати глибше, виявляється, що частина тестів НЕ була виконана.


Я працюю в автоматизації вже більше 13 років (і такі випадки слава богу не часто), але трапляються,
коли виникає питання - ЧОМУ:
«А чому в якомусь рані не всі тести? Чому їх стало менше?»


Тому в мене виробились дві звички:

1️⃣Я постійно проглядаю список тестів і плюс-мінус запам’ятовую, скільки їх у мене. Хоча б приблизно, але кожного дня просто дивлюсь.
2️⃣Я фанат дашбордів і метрик. Обожнюю дашборди з автотестів. Historical trend — мій улюблений🫶. Періодично глянути на нього часто допомагає задетектити аномалії. (Наприклад, ми нічого не видаляли, а тестів стало менше.)

А які ви помічали у себе аномалії з автотестами і як ви їх ловите?
Поділіться - цікаво 🙂
8💯4🔥3
Колеги, привіт! Трохи випала з телеграм-каналу - була у відпустці та брала відпочинок від соцмереж і робочих питань.
Хочу поділитися відгуком, який отримала, і лишити це питання відкритим.

Я багато писала в цьому каналі про
to be people-oriented

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

Отримала фідбек, що це все про «вразливість» і «чутливість» — і що якщо ти гарний інженер і виконуєш 100% задач, то для бізнесу ти молодець, і бізнесу НЕ цікаво, чи гарні у тебе софт скіли.

Також стосовно тем у цьому каналі отримала фідбек, що цікаво читати лише конкретно технічне, а все про «команду» / «комунікацію» / «софт скіли» — це щось зовсім неважливе і нецікаве.

Просто думаю над цим і хотіла поділитися такими думками, які отримала одначасно від різних людей 🙇‍♀️

** звісно я не згодна

——-
❤️Буду на DOУ Picnic у Києві 30 серпня - хто також буде, підходьте знайомитися.
❤️Запишу через пару днів відео про автоматизацію - обов’язково поділюся, як дороблю
20👍2🔥2🙏1