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

Консультації з автоматизації, менторинг, проведення співбесід - @al8xr
Download Telegram
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
Про апдейти та розумні девайси

#testing #bugsinthewild

Коротка повчальна історія про те, чому тестування апдейтів - то важливо.

Є відома компанія - виробник електроніки Electrolux. А в них є дочірня компанія AEG, що займається розробкою софту.
Так як IoT - то стильно, модно й молодіжно, то новітні електронні прилади почали робити "розумними". Наприклад - додавати модуль WiFi.
По WiFi зокрема прилітали оновлення софту.

Одного разу інженери з AEG щось недотестували. Або ж поспішили зарелізитись в продакшн.
Як результат, одного холодного зимнього ранку клієнти прокинулись, запустили свої микрохвильові печі та були трохи спантеличені. Микрохвильовка вночі отримала нову прошивку та вважала себе тепер ... - ПАРОВАРКОЮ. З усіма доступними пароварці функціями.

Виглядає як бага, але ж можна "швидко викатити хотфікс, у кого не бува такого!". Але є маленьке але.
Після оновлення прошивки ... на усіх девайсах з багою відвалився модуль WiFi. Тож полагодити швидко - не вийшло.

Висновок: тестування оновлення - вкрай важливе (для розумних девайсів також).
Плюс треба подумати, що робити, коли немає підключення до інтернету.
21😁18👍4
SSH Port
#engineering

Невеличка, але вкрай захоплююча історія про те, як створювався SSH та чому він запускається саме на порту 22.
👍123
Forwarded from Нотатки суворого QA 💛💙 (Artem Grygorenko)
⚡️ Епізод 27: Де тестувальник будує ком'юніті разом з Саймоном Томсом (Ministry of Testing) (англійською 🤯)

Наш подкаст продовжує розвиватись та запрошувати різноманітних гостей. В цей раз пробуємо англійською 🤗

Іноді добре зосередитися і працювати самостійно. Але іноді вам потрібно відчути себе частиною чогось більшого: отримати більше точок зору, отримати зворотний зв’язок. Це час, коли спільнота може допомогти.
У цьому епізоді ведучі Артем та Олександр разом із гостем Саймоном Томсом намагаються зрозуміти більше про побудову спільноти!

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

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

#testingminutes | @a_grygorenko | Test Engineering Notes
🔥19👍1
List of 2024 Leap Day Bugs

#testing #bugsinthewild

Тестувальники не потрібні!

Ми пишемо код без багів!


В нас серйозний продукт та покриття коду майже 100%


А баги з високосним роком все ще актуальні, як ніколи. Навіть в 2024 році!
Приніс вам цілу підбірку таких випадків.
20👍10
Test Engineering Notes — Vol. 11. Про ШІ в тестуванні, поради для інтерв’ю та UI-тести в Netflix

#testing #engineering #digest

TLDR, або Що у випуску:

- тренди тестування та автоматизації у 2024 році;
- чому не треба панікувати через ШІ та які інструменти можна застосовувати прямо зараз;
- тестування GraphQL, gRPC та circuit breaker-ів;
- новий фреймворк для UI-тестів від Netflix;
- внутрішня магія Git;
- покроковий реверс інжиніринг девайсу для розумного дому;
- поради для проходження інтерв’ю.
14👍7