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

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

#interview

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

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

Знання для проходження співбесід - це окремий великий пласт знань. Який не завжди пересікається з вашим набором знань.

У кожного технічного інтервʼюєра свій власний багаж знань. Плюс - вимоги конкретної компанії до конкретної позиції.

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

А ще - знання та вимоги у кожного інтервʼюєра - різні.

Шо робити? 🔽
👍311
Що ж робити в такому випадку? 🕶

Треба прийняти декілька важливих умов:

1. Проходити співбесіди непросто - ринок жорсткий й вимоги високі
2. Бути хорошим спеціалістом не дорівнює легко пройти співбесіду
3. Мати десятки років досвіду не означає, що ви відповісте на будь-які питання інтервʼюєра
4. Підтримка навичок в актуальному стані - процес постійний. Бо від звільнень не застрахований ніхто.

👉 Загальні поради:

- вчіться проходити співбесіди (наприклад за допомогою мок інтервʼю)
- адаптуйтесь під вимоги конкретної компанії
- робіть висновки завдяки зворотньому звʼязку після співбесіди
- постійно підтримуйте свої важливі навички в актуальному стані
- за можливості - діліться знаннями та формуйте свій власний бренд та мережу звʼязків

Це - непросто, навіть для сіньйорів.
З мок інтервʼю та підготовкою я можу допомогти. Пишіть в ДМ або в коментарі.
👍2110
What would happen if we didn't use TCP or UDP?

#engineering #rust

Невеличкий експеримент щодо використання кастомних протоколів (відмінних від TCP та UDP).

Чи будуть такий протокол обробляти провайдери - такі як Digital Ocean чи AWS?
8👍1
Чи правда шаурма стає гіршою чим ближче до станції метро ...

#engineering #python

Цієї пʼятниці хочу поділитись дуже цікавою історією про те, як одна фраза на Reddit може привести до повноцінного проєкту з аналізу даних.

А точніше - приклад того, як можна інженерно підходити до перевірки гіпотез.
👍22🤡1
Testing & Evaluating Large Language Models(LLMs)

#testing #ai #llm

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

- Part 1
- Part 2
- Part 3

Дуже цікаво подивитись на різні метрики для таких систем.
14👍4🔥2
Чи помирає BDD?

#testing

Знайшов доволі цікаву статтю про те, що ж таке то BDD, як воно виникло та чому воно помирає. Та чи зникне цей підхід взагалі?
Автор наводить приклади, куди можливо буде розвиватись BDD далі - це behavior development. Так, без ШІ не обійшлося.
👍132
Integrated Tests Are Scam

#testing #engineering #automation

Хороша доповідь про те, чому писати end-to-end UI та інтеграційні тести - це шлях у нікуди (за думкою доповідача).

По факту, він розповідає, що юніт + контрактні тести зможуть майже на 100% замінити оці нестабільні високорівневі перевірки.

Про контрактні тести говорили ще 9 років тому!
11👀3👎1
Why do we fail at interviews?

#testing #interview

Невелика стаття, де я розповідаю, чому нам зазвичай складно проходити співбесіди.
А як ви проходите інтервʼю? Чи вам легко відповідати на усі питання?
22
Тестування - дуже легко, що там вчити взагалі ...

#testing #roadmap

З одного боку наче в теорії тестування небагато всього. Процеси, техніки тест дизайну, інструменти.

А з іншого - тестувальнику можна (й треба) розширяти свій світогляд.

То ж дозвольте поділитись з вами класною схемою тем, дотичних до тестування, які можна вчити. (Не тільки автоматизація)

Посилання на постер в гарній якості - тут.
38🤡2
Vibe coding та реальність

#engineering #llm

Починаємо тиждень з трендів. Останнім часом чув багато хайпу щодо такого поняття як vibe coding. Це коли люди пропагують забити на складне навчання, а всю роботу віддати LLM. Штучний інтелект сам все зробить, а людині треба буде тільки "якось інтегрувати чи просто запустити згенероване".

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

P.S. Наші досвід та вміння ШІ поки не замінить. Поки ...
👍15🔥1
Що краще: enumerate чи range для циклів

#python

Уявімо, що треба пройти по усім елементам циклу.

Це можна зробити дуже просто


fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)


Якщо ж треба мати доступ до елементу разом із його індексом, є такі варіанти


# range
fruits = ["apple", "banana", "cherry"]
for index in range(len(fruits)):
print(index, fruits[index])

# enumerate
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
print(index, fruit)


Що краще обрати - enumerate чи range?

1. enumerate більш чисто виглядає та ще й оптимізована на рівні інтерпертатора
2. enumerate не має потенційних проблем з доступом по неіснуючому індексу
3. enumerate дозволяє задати початковий індекс для ітерації


for index, fruit in enumerate(fruits, start=1):
print(index, fruit)


Окей, а коли ж краще користуватись range?

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


for i in range(10):
print(i**2)
👍151
Характеристики якості програмного забезпечення

#testing

Якщо ви думаєте, що на функціональному тестуванні якість закінчується, то ось ще невеличкий список можливих характеритики якості (як зовнішніх та і внутрішніх).
Так, це ті самі *-ility та набагато більше.
Цей список стане хорошим джерелом ідей, куди розвивати тестування й інструменти на проєкті.
👍253
Любі друзі, тестувальники — далі інформація для вас!

У квітні проведу Інтенсив - "Естімація задач по тестуванню"

Дати: 19 та 26 квітня
Формат: Онлайн (2 заняття по 2-3 години)
Вартість: 2500 грн

А тепер пройдемось по деталях.

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

Що буде?
📌 Техніки та інструменти оцінювання
📌 Як робити точніші естімейти та обґрунтовувати їх
📌 Основні помилки в оцінках і як їх не припускатися
📌 Кейси та практика на реальних прикладах
📌 Купа додаткових матеріалів по темі

📢 Реєстрація тут і зараз
Запитання можна писати мені сюди 👉 @artem_grygorenko
👍53
Як вчитись ефективно, та що взагалі вибрати для себе!
Як людина яка цікавиться дуже різносторонніми штуками мені прям дуже складно зрозуміти, що вчити в поточний момент, якщо ви такі самі, то рекомендую сходити на лекцію від Олександра! 😍

📌 Олександр Романов. Як зберігати фокус, коли навкруги стільки всього цікавого


📅 Вівторок, 22 квітня о 19:00 за Києвом
🧑‍🏫 Формат заходу: лекція

🔎Про що поговоримо?
Чи бувало у вас так, що ви починаєте новий курс, але дуже швидко "забиваєте" й кидаєте його вже через пару днів? Або читаєте книгу, яку усі дуже рекомендують, але також швидко переключаєтеся на ще більш нову й цікаву? Чи стикалися ви з проблемою, коли хочеться вчити усе й одразу, але немає розуміння, з чого почати?
У мене були ті самі проблеми. Кількість інтересів та матеріалів зростала, фокус втрачався, хотілося вчити все та навіть більше. З часом я зрозумів, що потрібна організація цього процесу — інакше буде суцільний хаос. У своїй доповіді розповім про свій тернистий шлях з пошуку інструментів, які дійсно працюють.

Ця доповідь для тих, хто:
- хоче зрозуміти, ЩО треба вчити та як створити собі персональний план розвитку;
- хоче відрізнити ХОЧЕТЬСЯ вчити від ТРЕБА;
- прагне вчитися довго й не загубити мотивації дорогою;
- бажає нарешті знайти той час на навчання.

🎙 Олександр про себе
Мене звати Олександр Романов. В ІТ я з 2011 року. За цей час писав на Java, C#, Scala, Python; автоматизував web, mobile, API, мікросервиси, блокчейн.

Автор каналу Test Engineering Notes та дайджестів на DOU, ведучий подкасту Testing Minutes.

🔎 Де знайти Олександра?
Linktree

🎟 Як взяти участь?
- Придбати квиток/запис (200 грн із квитка йде на ЗСУ)
- безкоштовно: для учасників спільноти

🔹 Хочеш приєднатися до спільноти?
📌 Дізнайся більше тут → @suvoriy_qa_bot

📅 Календар з усіма подіями: Переглянути

До зустрічі на заході ☺️
110🔥6
Друзі! Маю важливе запитання. Чи цікаво було б вам пройти курс із тестування блокчейну? З самого початку (складових частин та фундаментальних концепцій) до тестування смарт-контрактів, Web3 додатків та гаманців на різних блокчейнах.
Anonymous Poll
73%
Так, мені це цікаво! Де записуватись?
21%
Ні, не цікаво
6%
Свій варіант (пишу в коментарі)
How a 20 year old bug in GTA San Andreas surfaced in Windows 11 24H2

#bugs #games

Починаємо робочий тиждень з цікавої статті про баги.
Цього разу - розповідь про те, як свіжий апдейт для Windows 11 "видалив" з GTA San Andreas одну з моделей літаків (Skimmer).

В ході розслідування виявилось, шо розробники з Rockstar Games додали обʼєкт із назвою Skimmer ще в часи GTA Vice City. Але тоді то був ... човен. В San Andreas він став літаком, але йому не додали деяких обовʼязкових параметрів. Воно якось працювало вже 20 років, але тут Microsoft вирішили трохи пофіксити роботу стеку в Windows 11 24H2. Як результат - баг з літаком опинився на поверхні.

Я свого часу багато грав в GTA San Andreas. А ви? Яка ваша улюблена гра з серії?
🤯9👍74😁1👌1
Куди нас тягне штучний інтелект

#ai #llm #testing

Останнім часом я постійно натрапляю на дописи й статті, що мають спільну проблематику - як інструменти ШІ (Chat GPT, Claude, Cursor, etc.) впливають на інженерів.

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

AI isn’t leveling the playing field, it’s amplifying existing gaps. And without real mentorship, we’re setting up a generation of devs who can prompt, but can’t debug.


Інший девелопер висловлює схожу думку. Сучасні джуніор інженери можуть швидко отримувати результат з ШІ, але потребують глибших фундаментальних знань.

We’re trading deep understanding for quick fixes, and while it feels great in the moment, we’re going to pay for this later.


Коли раніше ми шукали відповідь, то поринали в багато різних джерел, дивились безліч відповідей на StackOverflow, порівнювали декілька рішень, дізнавались супутні знання - перед тим як прийти до того чи іншого рішення. Зараз ми просто отримуємо ЄДИНУ ШВИДКУ ВІДПОВІДЬ НА СВОЄ ПИТАННЯ.

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

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



Про щось подібне я писав у своєму блозі. Бездумно користуючись ШІ ми втрачаємо той самий А-ХА момент, коли ми дійшли до рішення самостійно, коли ми НАВЧИЛИСЬ. Бо якщо ми навчились - ці знання залишаться з нами довше, ніж швидкий копіпаст.

То ж користуйтеся ШІ з розумом.
👍3910
🚃 Проблема вагонетки (для тестувальників)

#testing

🛤 Що таке проблема вагонетки?

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

🚉 Вагонетка в тестуванні

Dan Caseley в одному з чатів запропонував адаптацію цієї проблеми для тестувальників.

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


Здається, вибір очевидний. Але то для тестувальників, які мають своє бачення.
Для бізнесу - вибір може бути зовсім інший ...

А що б обрали ви?
🔥16👨‍💻52💯1
Доказова випадковість або як тестувати генератори випадкових чисел

#testing #random

Час від часу в роботі тест інженера ми можемо користуватись генераторами випадкових чисел чи тексту (Math.random() в Java / JS чи random в Python).

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

Сьогодні пропоную поглянути на різні підходи до аналізу якості таких алгоритмів, включно з офіційними тестами від NIST (Національного Інституту Стандартів та Технологій США).
👍165