Test Engineering Notes – Telegram
Test Engineering Notes
3.8K subscribers
177 photos
2 videos
641 links
Україномовний канал про технічні аспекти тестування, розподілені системи, блокчейн та кібербезпеку.

Консультації з автоматизації, менторинг, проведення співбесід - @al8xr
Download Telegram
Як тестувальник створює цінність

#testing

Цінність інженерів

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

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

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

Щоб підвищити свою ефективність та цінність, розробник може працювати над найбільш важливими фічами та зменшувати час, поки фічі стануть доступними користувачеві.

Для того, щоб створити цінність, тестувальник робить наступні речі:
- збирає інформацію про стан продукту та ризики (досліджує)
- виявляє можливі проблеми (аналізує)
- надає інформацію учасникам процесу розробки (репортить)

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

Цінність зворотнього зв'язку

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

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

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

Цінність коду й тестів

Робочий автотест на локальній бранчі має меншу цінність, ніж той, для якого створений PR. Автотест у процесі код рев'ю - має меншу цінність, ніж той, що вже в головній гілці. Але тест, що вже вмерджений в develop гілку та ганяється кожен день - має найбільшу цінність.
Тест кейс, тільки-но доданий в TMS приносить менше користі, ніж той, який вже використовується, як частина чекліста.

Чим швидше ви пройдете код рев'ю або ж зберете потрібну інформацію для тестування - тим швидше тест буде приносити цінність.

Цінність автоматизованих тестів

Автоматизація сама по собі не приносить цінності користувачеві. Це просто один з інструментів, щоб отримати інформацію та прискорити фідбек. Так само, як юніт тести чи автоматизований CI/CD пайплайн. Або ж canary релізи.

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

Як тестувальник може підвищити свою цінність

- думати, яка інформація та до якого внутрішнього "користувача" надається
- оптимізувати свою роботу, щоб допомогти команді розробки швидше виявити та пофіксити проблеми та відправити нові фічі користувачам
- працювати над покращенням автотестів - як зробити їх швидшими та стабільнішими
- візуалізувати свою роботу та стан системи для команди - створіть корисні дашборди, що показують прогрес або проблемні місця в аплікації
25👍11🔥5
Keeping Tests Valuable: Social Testing at the Heart of Software!

#testing #engineering

Чи знаєте ви, в чому різниця між solitary та sociable модульними тестами?
Якщо ні - маю для вас одну з найкращих нещодавних статей на цю тему. У статті - купа практичних прикладів та пояснень.
Рекомендую.
14👍3
Forwarded from DOU | QA
🎙 «Питання якості». QA Podcast #14. Як тестувальнику приборкати ШІ та фейли, які траплялися з новими ведучими

Друзі, сьогодні рівно 2 роки з моменту створення нашої тестувальницької спільноти 🎉 Дякуємо, що ви з нами!

І сьогодні, у нас для вас прем’єра нового сезону подкасту «Питання якості». Нові ведучі, нові погляди на робочі та не тільки моменти, а також багато чого цікаво зі світу тестування.

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

Випуск подкасту «Питання якості» #14 на нашому YouTube 👉 https://youtu.be/1UzIrUJEkxg

А обговорюємо — на форумі. 
💬 https://dou.ua/goto/mCUc
19👍3
Forwarded from Нотатки суворого QA 💛💙 (Artem Grygorenko)
⚡️ Епізод 23: Де тестувальник використовує інструменти AI разом з Романом Марінським

Хайп AI інструментів продовжується. Але виникає питання - як AI може допомогти в роботі тестувальнику? В цьому питанні Артему та Олександру допоможе розібратись гість - Роман Марінський. Як завжди - з реальними прикладами та кейсами з досвіду.

Дивитись та слухати можна тут:
🔸 Youtube
🔹 Spotify Podcast
🔸 Apple Podcast
🔹 Google Podcast

А ще ви можете підтримати наш подкаст будь-яким донатом на Buy Me a Coffee ☕️

Окрім того, за різні підписки ви зможете отримати доступ до закритого чату подкасту, отримувати нові епізоди до самого виходу, а також є можливість присутності під час запису 😏

#testingminutes | @a_grygorenko| Test Engineering Notes
👍182
The Hacker News Top 40 books of 2023

#books #engineering

Голосування за Євробачення вже завершилось. Дія, хоч і не одразу - але змогла оперативно пофіксити баги перфомансу.

Але я маю для вас результати іншого голосування. А саме - топ IT книжок, що рекомендують користувачі Hacker News у 2023 році.
Є що подивитись та з чого обрати.
13👍3
Continuous Integration

#engineering #processes

Мартін Фаулер випустив величезну статтю на тему безперервної інтеграції: як це повинно працювати (в книжках та реальному світі).
Як завжди - вкрай практичні знання.
👍244🔥3
Про JSON-RPC та як його тестувати

#testing #api

Коли я прийшов працювати в блокчейн - то побачив, що доволі багато різних продуктів мають інтеграцію через API. Але то було не звичне усім HTTP REST API. Це було - JSON-RPC API.
Тому сьогодні поговоримо про те, що таке JSON-RPC та як його тестувати.

Що таке RPC?
RPC (Remote Procedure Call) - віддалений виклик процедур. Це протокол з далеких 1970х років, що дозволяє викликати процедури на іншому ком'ютері ніби-то процес знаходиться на вашому ком'ютері. Більше - ось тут.

Що таке JSON-RPC?
Якщо коротко, це протокол для віддаленого виклику процедур, побудований за специфікацією. Він розділяє бізнес логіку та від саме передачі даних. Запити йдуть через HTTP POST у форматі JSON.
Формат запиту та відповіді в JSON-RPC - стандартизований, та складається з декількох обов'язкових полів.
Запит (приклад Ethereum API)
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBalance",
"params":["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"],"id":1}'

- "jsonrpc" - індикація, що це саме jsonrpc. Зазвичай використовується версія 2.0
- "method" - ім'я віддаленого методу (аналог ендпоінту в REST)
- "params" - об'єкт або ж массив параметрів для методу
- "id" - унікальний ідентифікатор запита

Відповідь
{
"id":1,
"jsonrpc": "2.0",
"result": "0x0234c8a3397aab58" // 158972490234375000
}

- "jsonrpc" - також "2.0"
- "result" - об'єкт відповіді
- "error" - об'єкт помилки, що складається з полів code, message та data
- "id" - такий же, як і в запиті

Які бувають коди помилок в JSON-RPC
- '-32700' - Parse error (сервер не зміг розпарсити запит)
- '-32600' - Invalid Request (JSON у запиті - невалідний)
- '-32601' - Method not found
- '-32602' - Invalid params
- '-32603' - Internal error (внутрішня помилка JSON-RPC)
- '-32000' to '-32099' - Server error

JSON-RPC - транспортно незалежний протокол. Тобто він може працювати як з HTTP,
так і з TCP чи веб сокетами. HTTP - частіше. Плюс - протокол підтримує як синхронні, так і асинхронні виклики.

Як та чим тестувати JSON-RPC API?
Коротко - так само, як ви тестуєте будь-яке інше звичне API. Робите запит, отримуєте відповідь.
- Якщо відповідь успішна - поле result буде з даними.
- Якщо трапилася проблема - перевіряйте поле error.

Тому тестувати можна будь-яким зручним інструментом, типу: Postman, Insomnia чи cURL.
Для прикладу - API від Ethereum.

Як бачите - нічого страшного.
23🔥6👍3
⚡️ Епізод 24 - Де тестувальник стартує автоматизацію на проекті з нуля

До вас прийшов менеджер та попросив "швидко написати пару автотестів". З чого почати? Яку технологію обрати? Як отримати максимум від автоматизації та уникнути проблем як на старті так і згодом? Про це й будуть сьогодні спілкуватись ведучі подкасту - Артем та Олександр.

Дивитись та слухати:
🔸 Youtube
🔹 Spotify Podcast
🔸 Apple Podcast
🔹 Google Podcast

А ще ви можете підтримати наш подкаст будь - яким донатом на Buy Me a Coffee ☕️
Окрім того, за різні підписки ви зможете отримати доступ до закритого чату подкасту, отримувати нові епізоди до самого виходу, а також є можливість присутності під час запису 😏

#testingminutes | @a_grygorenko | Test Engineering Notes
👍204🔥4
Keep a brag list of the wins you achieved, thank me later

#career

Ще одна стаття про те, чому вести brag document дуже важливо.
Особливо, коли навкруги вирують скорочення та велика конкуренція.
👍14🔥3
Forwarded from DOU | QA
Готуйтесь до пекельного поєдинку! 22 лютого в офлайн дискусії зійдуться Роман Марінський та Ярослав Пернеровський 🔥

Почнемо нашу подію з доповідей:
— "Коли АІ вас підводить" - Роман Марінський розкриє ризики та виклики використання AI у тестуванні.
— "Як АІ допомагає в тестуванні" - Ярослав Пернеровський презентує огляд існуючих рішень, які зроблять ваше тестування ефективнішим.

А після виступів вас чекає панельна дискусія, яку модеруватиме Senior .Net Test Automation – Наталія Попелишко.

Чекаємо вас! Кількість місць обмежена, тож не втрачайте шанс зареєструватись вже зараз. Деталі на сайті 👌🏻
👍11🫡2
Про brace expansion в linux

#linux #cmd

Уявімо, що вам потрібно створити декілька файлів чи тек зі схожими назвами.

Можна робити так
mkdir -p test/data/chrome test/data/firefox test/data/safari

А можна застосувати так штуку, як brace expansion
mkdir -p test/data/{chrome,firefox,safari}

що в результаті буде мати той же самий ефект - створить три теки з різними назвами.

Можна мати декілька expansions
> echo test/{1,2,3}/data/{5,6,7}
> test/1/data/5 test/1/data/6 test/1/data/7 test/2/data/5 test/2/data/6 test/2/data/7 test/3/data/5 test/3/data/6 test/3/data/7

Виглядає прикольно, але є ще більше "магії".

Наприклад вам треба створити 10 тестових файлів зі з порядковими номерами в назвах, але щоб ці номери ще й були з інтервалом в 10
touch file-{0..100..10}.txt

ls file*
file-0.txt file-100.txt file-10.txt file-20.txt file-30.txt file-40.txt file-50.txt file-60.txt file-70.txt file-80.txt file-90.txt
36👍14
Forwarded from Нотатки суворого QA 💛💙 (Artem Grygorenko)
⚡️ Епізод 25 - Де тестувальник стає помітнішим

В цьому епізоді Артем та Олександр розмовляють про те, як тестувальник може позбутися амплуа "людини, що просто клікає на кнопки". А замість цього - стати справжнім інженером, який має повагу та приносить користь всій команді.

Дивитись та слухати:
🔸 Youtube
🔹 Spotify Podcast
🔸 Apple Podcast
🔹 Google Podcast

Підтримати наш подкаст будь - яким донатом можна на Buy Me a Coffee ☕️

#testingminutes | @a_grygorenko | Test Engineering Notes
👍18
Introducing SafeTest: A Novel Approach to Front End Testing

#testing #automation

Netflix тут анонсував вихід нової бібліотеки для E2E тестів - Safetest.
Варто уваги, особливо, якщо ви працюєте з такими тестами.
15👍3
Forwarded from Нотатки суворого QA 💛💙 (Artem Grygorenko)
Настав час стати QA Leader 💡

Зараз я збираю третій потік на групове менторство QA-Lead, де допомагаю розібратися з усіма аспектами цієї посади, та даю інструменти для того, щоб вирішувати ефективно задачі після підвищення.

Що тебе чекає, окрім якісного навчання?

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

Тривалість навчання: 3 місяці.
📅 Стартуємо: 18 березня

Записуйся на безкоштовну консультацію тут.
Ми з тобою зустрінемось на 30 хвилин та розберемо детальніше твоє запитання та чи підходить тобі це навчання.

P.S. до кінця лютого діє ціна раннього бронювання 👀

#qalead | @a_grygorenko
👍73🔥2🙈1
Матеріали для підготовки до behavioral інтерв'ю

#interview

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

То ж пропоную до вашої уваги невеличкі нотатки з такого роду питань.
25👍2🕊1
Як можна отримати штраф за чатбота

#ai #bugsinthewild

Знайшов цікаву історію про те, AI (а саме чатбот) привів компанію Air Canada до суду та штрафу.

Головному герою цієї історії, Джейку Моффату, потрібно було терміново летіти в інше місто в зв'язку зі смертю родича. Він купив квитки на літак в Air Canada - з Ванкуверу до Торонто.

Одразу після перельоту, Джейк зайшов на сайт авіакомпанії та спілкуючись з AI чатботом дізнався, що може отримати знижки протягом 90 днів, в зв'язку з причиною подорожі. Чатбот навіть "надав" посилання, що підтверджують знижки. Моффат, звичайно, ці лінки не відкривав. Якби ж відкрив - то побачив би, що знижки не надаються, якщо подорож вже відбулася.
Додатково, Моффат навіть подзвонив в підтримку - де йому сказали те ж саме. Але знову чомусь промовчали, що знижки не застосовуються на минулі подорожі.

Коли авіакомпанія відмовилася надавати знижки, Моффат пішов до суду. Бо Джейк вважав, що чатбот йому збрехав. Й надав скріншоти розмови.

Суд став на сторону Моффата та визначив, шо чатбот є частиною вебсайту, тому відповідальність несе саме компанія. Тож авіакомпанію зобов'язали виплатити штраф та компенсацію.

Висновок: відмазка "це все чатбот, а не ми" - в канадському суді не проходить.
👍383
Forwarded from Нотатки суворого QA 💛💙 (Artem Grygorenko)
⚡️ Епізод 26: Де тестувальник розбирається з IoT

Поки ви дивитесь новий випуск DOU QA подкасту, рекомендую створити чергу із випусків в Українських подкастів та в нього додати сьогоднішній епізод подкасту Testing Minutes.
Є ще одна тема, яка стрімко росте й розвивається останні роки. Це - Internet of Things. Що це таке та як його тестувати (та автоматизувати) розбираємось у цьому епізоді разом із гостем - Богданом Савчуком.

Дивитись та слухати:
🔸 Youtube
🔹 Spotify Podcast
🔸 Apple Podcast
🔹 Google Podcast

Підтримати наш подкаст будь - яким донатом можна на Buy Me a Coffee ☕️

#testingminutes | @a_grygorenko | Test Engineering Notes
10👍6
Forwarded from Шо по коду? (Roman Podoliaka)
Усім привіт!

У черговому випуску до нас прийде в гості Олександр Романов із подкасту Testing Minutes, і ми будемо говорити про тестування та якість програмного забезпечення.

Приєднуйтесь до нас як завжди в суботу о 19:00 за Києвом. Будемо раді побачити ваші питання та коментарі під час прямого етеру!

https://www.youtube.com/watch?v=mvbLkNWfocg
👍107
Does expectations for QA skills got super crazy?

#testing

Тестувальники на реддіті жаліються, що вимоги до вакансій за останні декілька років піднялись "до небес".
Шо тепер треба не просто тестувальника, а фулстек девелопера + девопса.

Звісно, вимоги можуть бути занадто високі, але з іншого боку, коли звільняють купу людей, ринок кандидати стає ринком роботодавця, а останні можуть шукати "універсальних солдатів" та ще й мають змогу обирати.

А ви як думаєте - чи підвищились вимоги, чи ні?
👍1711