There is no single winner: Selenium AND Playwright
#testing #automation
Сьогодні говоримо про UI тести.
Marcus Merrell порівнює можливості Selenium та Playwright.
А ще - автор росказує в чому, на його думку, є реальна проблема масової міграції проектів на стильний й модний Playwright.
#testing #automation
Сьогодні говоримо про UI тести.
Marcus Merrell порівнює можливості Selenium та Playwright.
А ще - автор росказує в чому, на його думку, є реальна проблема масової міграції проектів на стильний й модний Playwright.
Saucelabs
Sauce Labs
Ensuring quality and reliability with automated testing across browsers, devices, and platforms.
❤21👍5🔥1😁1
X як сервіс ... В чому різниця?
#howitworks
Знайшов хорошу візуалізацію різних хмарних продуктів категорії "as a service".
Той випадок, коли картинка замінює купу слів. Але якщо треба більше пояснень - ось тут можна почитати.
#howitworks
Знайшов хорошу візуалізацію різних хмарних продуктів категорії "as a service".
Той випадок, коли картинка замінює купу слів. Але якщо треба більше пояснень - ось тут можна почитати.
👍25❤🔥3
Vibe coding ... ти не пройдеш!
#python #bugs
🗺 Ситуація
Ви тест інженер та працюєте в команді з розробниками.
До команди приєднується новий девелопер. Він ... дуже полюбляє vibe coding, але не любить vibe debugging.
Через деякий час, ви бачите від нього PR на задачу обробки дорослих юзерів та фільтрації тих, у кого є валідна електрона адреса.
❔Питання: чи все ок з цим кодом? Відповіді пишемо в коментарях.
#python #bugs
🗺 Ситуація
Ви тест інженер та працюєте в команді з розробниками.
До команди приєднується новий девелопер. Він ... дуже полюбляє vibe coding, але не любить vibe debugging.
Через деякий час, ви бачите від нього PR на задачу обробки дорослих юзерів та фільтрації тих, у кого є валідна електрона адреса.
def process_user_data(users, min_age=18):
results = []
for user in users:
name = user['name']
age = user['age']
email = user['email']
if age >= min_age:
if '@' in email:
user['status'] = 'processed'
results.append(user)
average_age = sum(user['age'] for user in results) / len(results)
print(f"Average age of processed users: {average_age}")
return results
❔Питання: чи все ок з цим кодом? Відповіді пишемо в коментарях.
😁10🥴8❤1
🔖 Software Testing and Quality Report - 4th Edition
#testing
Тут Test Rail випустив чергове дослідження щодо поточного стану та трендів розвитку тестування. В опитуванні прийняли участь 2500+ спеціалістів, більшість з яких - саме тест інженери. Респонденти були з різних компаній за масштабом та процесами.
Головні інсайти:
👉 Метрики. Найбільше трекають test pass / fail rate (70%) та кількість багів у продакшені (60%). Але більш складні метрики мало використовуються
👉 35% команд зосереджені на збільшенні тестового покриття та автоматизації. Лише 20% працюють над зменшенням багів на проді (Автоматизація, тільки автоматизація!)
👉 33% страждають від надмірної складності UI тестів та рішень з автоматизації
👉 Чим більше у команд автоматизації та інтеграції в CICD процеси, тим швидше релізні цикли та ... менше дефектів опиняється на стороні клієнта. (Хм, неочікувано ...)
👉 Багато команд все ще мають обмежені бюджети на QA, а разом із тим - відсутність часу на тестування
👉 Незважаючи на малі бюджети, менеджери скаржаться на те, що QA мають недостатню експертизу в автоматизації, AI, CI/CD. (Тобто вимоги підвищуються, а зп знижується)
👉 Більшість команд користується стандартами ISO 9001 (27%) та ISO / IEC 27001 (18%)
👉 Selenium (39%) все ще розповсюджений серед тестерів. Playwright - на другому місці (19%), Cypress - на третьому (16%) (А як же Playwright is the king?)
👉 Jenkins в топі серед CI/CD інструментів - 45%
👉 41% респондентів запускає до 100 автотестів на день. 33% оперує вже більшими обʼємами (до 1000 тестів)
👉 Найчастіші проблеми з автотестами - нестабільність тестів через часті зміни в UI, погані тестові дані, відсутність знань та вмінь в інженерів (Може краще рухатись на нижчі, більш стабільні рівні?)
👉 Більшість інженерів користується Chat GPT / Github Copilot. Але 36% людей все ще не бачать, як ШІ може допомогти їм у роботі
👉 Проблеми із застосуванням інструментів ШІ: безпека даних, відсутність експертизи в команді та складність інтеграції
👉 Розвиток ШІ в тестуванні незмінний: люди все ще думають, що ШІ чарівним чином буде фіксити автотести та писати код за них. (Та чи так це насправді?)
#testing
Тут Test Rail випустив чергове дослідження щодо поточного стану та трендів розвитку тестування. В опитуванні прийняли участь 2500+ спеціалістів, більшість з яких - саме тест інженери. Респонденти були з різних компаній за масштабом та процесами.
Головні інсайти:
👉 Метрики. Найбільше трекають test pass / fail rate (70%) та кількість багів у продакшені (60%). Але більш складні метрики мало використовуються
👉 35% команд зосереджені на збільшенні тестового покриття та автоматизації. Лише 20% працюють над зменшенням багів на проді (Автоматизація, тільки автоматизація!)
👉 33% страждають від надмірної складності UI тестів та рішень з автоматизації
👉 Чим більше у команд автоматизації та інтеграції в CICD процеси, тим швидше релізні цикли та ... менше дефектів опиняється на стороні клієнта. (Хм, неочікувано ...)
👉 Багато команд все ще мають обмежені бюджети на QA, а разом із тим - відсутність часу на тестування
👉 Незважаючи на малі бюджети, менеджери скаржаться на те, що QA мають недостатню експертизу в автоматизації, AI, CI/CD. (Тобто вимоги підвищуються, а зп знижується)
👉 Більшість команд користується стандартами ISO 9001 (27%) та ISO / IEC 27001 (18%)
👉 Selenium (39%) все ще розповсюджений серед тестерів. Playwright - на другому місці (19%), Cypress - на третьому (16%) (А як же Playwright is the king?)
👉 Jenkins в топі серед CI/CD інструментів - 45%
👉 41% респондентів запускає до 100 автотестів на день. 33% оперує вже більшими обʼємами (до 1000 тестів)
👉 Найчастіші проблеми з автотестами - нестабільність тестів через часті зміни в UI, погані тестові дані, відсутність знань та вмінь в інженерів (Може краще рухатись на нижчі, більш стабільні рівні?)
👉 Більшість інженерів користується Chat GPT / Github Copilot. Але 36% людей все ще не бачать, як ШІ може допомогти їм у роботі
👉 Проблеми із застосуванням інструментів ШІ: безпека даних, відсутність експертизи в команді та складність інтеграції
👉 Розвиток ШІ в тестуванні незмінний: люди все ще думають, що ШІ чарівним чином буде фіксити автотести та писати код за них. (Та чи так це насправді?)
🔥22👍6❤3😁1
Rust - це не завжди швидко й ефективно
#rust #blockchain
Виявилося, що обробка транзакцій в блокчейні Solana була не те, щоб дуже ефективною. Приніс вам історію про те, як можна зменшити використання оперативної памʼяті з 2.6 Gb до 124 Mb.
В багатопотоковому світ структури типу Cow (Clone on Write) чи Arc не завжди підходять.
Є ще Bytes crate - який дозволяє ефективно клонувати не сам масив, а лишень покажчик (pointer) на нього.
#rust #blockchain
Виявилося, що обробка транзакцій в блокчейні Solana була не те, щоб дуже ефективною. Приніс вам історію про те, як можна зменшити використання оперативної памʼяті з 2.6 Gb до 124 Mb.
В багатопотоковому світ структури типу Cow (Clone on Write) чи Arc не завжди підходять.
Є ще Bytes crate - який дозволяє ефективно клонувати не сам масив, а лишень покажчик (pointer) на нього.
Christian Visintin | veeso.dev | Blog | Rust Blog
Rust on a Diet
So if you don't know, I also develop on the Solana Validator (but please don't leave, it's about Rust and not blockchain things 😓) mostly mods for Solana RPC…
❤13🤯4
Вплив Chat GPT на критичне мислення
#ai
Вчені з MIT провели дослідження того, як ШІ (Chat GPT) може вплинути на мислення й навчання людей. А саме - написання ессе.
В досліді взяли участь 54 людини у віці від 18 до 39 років.
Людей поділили на три групи:
- ті, що писали ессе за допомогою Chat GPT
- ті, що користувалися Google пошуком
- ті, що не користувались нічим
Які результати?
- Вчені зробили ЕЕГ активності мозку та виявили, що користувачі Chat GPT показали найнижчий результат на нейронному, лінгвістичному й поведінковому рівнях.
- Мало того, з часом, ці користувачі ставали все лінивіші - й все більше банально копіювали результат ШІ без будь-якої перевірки.
- Група, що користувалася ШІ, написала дуже схожі ессе, яким бракувало оригінальних думок.
- Група, яка не користувалась ніякими додатковими інструментами - показала найвищі результати, кращі ідеї, залученість та допитливість
- Група, яка користувалася Google, також показала непогану активність мозку та залученість
Люди, які користувались Chat GPT потім не змогли переписати свої ессе "з голови", без ШІ. А ось ті, які писали самі, змогли написати ессе за допомогою ШІ навіть краще.
Висновки
Сліпе й постійне користування ШІ так чи інакше робить нас лінивішими (перевірено на собі). Та не розвиває мозок взагалі.
То ж треба знайти потрібний баланс у застосуванні нових технологій.
Інакше - людство піде шляхом "Ідіократії", або ж "Матриці" (де правили машини)
Дякую Артему за цю статтю.
#ai
Вчені з MIT провели дослідження того, як ШІ (Chat GPT) може вплинути на мислення й навчання людей. А саме - написання ессе.
В досліді взяли участь 54 людини у віці від 18 до 39 років.
Людей поділили на три групи:
- ті, що писали ессе за допомогою Chat GPT
- ті, що користувалися Google пошуком
- ті, що не користувались нічим
Які результати?
- Вчені зробили ЕЕГ активності мозку та виявили, що користувачі Chat GPT показали найнижчий результат на нейронному, лінгвістичному й поведінковому рівнях.
- Мало того, з часом, ці користувачі ставали все лінивіші - й все більше банально копіювали результат ШІ без будь-якої перевірки.
- Група, що користувалася ШІ, написала дуже схожі ессе, яким бракувало оригінальних думок.
- Група, яка не користувалась ніякими додатковими інструментами - показала найвищі результати, кращі ідеї, залученість та допитливість
- Група, яка користувалася Google, також показала непогану активність мозку та залученість
Люди, які користувались Chat GPT потім не змогли переписати свої ессе "з голови", без ШІ. А ось ті, які писали самі, змогли написати ессе за допомогою ШІ навіть краще.
Висновки
Сліпе й постійне користування ШІ так чи інакше робить нас лінивішими (перевірено на собі). Та не розвиває мозок взагалі.
То ж треба знайти потрібний баланс у застосуванні нових технологій.
Інакше - людство піде шляхом "Ідіократії", або ж "Матриці" (де правили машини)
Дякую Артему за цю статтю.
TIME
ChatGPT May Be Eroding Critical Thinking Skills, According to a New MIT Study
The study, from MIT Lab scholars, measured the brain activity of subjects writing SAT essays with and without ChatGPT.
❤🔥25👍17❤4
🔮10 ресурсів щоб тренувати знання SQL
#sql
Вчити чи не вчити SQL (та наскільки глибоко) - холіварне питання. 😱 Але якщо все-таки треба опанувати цю навичку - краще робити це цікаво.
Пропоную декілька цікавих ресурсів:
👉 SQL Noir - можна стати детективом та розслідувати справи за допомогою SQL (всього 6)
👉 SQL Murder Mystery - дослідіть базу даних та знайдіть того, хто скоїв вбивство (більш складна)
👉 SQL PD - станьте співробітником департаменту поліції та застосуйте свої знання SQL
👉 SQL Island - хороший ресурс для новачків
👉 SQL Zoo - доволі відомий сайт для тренування базових навичок
👉 HackerRank SQL - крім задачок на алгоритми, на сайті є задачі на бази даних
👉 SQL Game by DataLemur - "Гра в кальмара", але з SQL
👉 SQL Interview Questions - найбільш реалістичні питання, які можуть бути на співбесідах
👉 Advent of SQL - відкривайте нові задачі кожного дня, як адвент календар
👉 SQL (Leetcode) - підбірка питань з SQL (для більш підготовлених)
⚡️А які ресурси для тренування знаєте ви?
#sql
Вчити чи не вчити SQL (та наскільки глибоко) - холіварне питання. 😱 Але якщо все-таки треба опанувати цю навичку - краще робити це цікаво.
Пропоную декілька цікавих ресурсів:
👉 SQL Noir - можна стати детективом та розслідувати справи за допомогою SQL (всього 6)
👉 SQL Murder Mystery - дослідіть базу даних та знайдіть того, хто скоїв вбивство (більш складна)
👉 SQL PD - станьте співробітником департаменту поліції та застосуйте свої знання SQL
👉 SQL Island - хороший ресурс для новачків
👉 SQL Zoo - доволі відомий сайт для тренування базових навичок
👉 HackerRank SQL - крім задачок на алгоритми, на сайті є задачі на бази даних
👉 SQL Game by DataLemur - "Гра в кальмара", але з SQL
👉 SQL Interview Questions - найбільш реалістичні питання, які можуть бути на співбесідах
👉 Advent of SQL - відкривайте нові задачі кожного дня, як адвент календар
👉 SQL (Leetcode) - підбірка питань з SQL (для більш підготовлених)
⚡️А які ресурси для тренування знаєте ви?
SQLNoir
Interactive SQL Game | Learn SQL by Solving Detective Cases | SQLNoir
SQLNoir is an interactive SQL game where you solve crimes and mysteries using SQL queries. Learn SQL by playing detective in this engaging SQL learning game.
👍36❤4
Forwarded from Нотатки суворого QA 💛💙
☀️ Літній анонс, бо немає сечі терпіти ці пекельні борошна з естімейтами!
У липні збираю нову групу на дводенний інтенсив - "Естімація задач по тестуванню"
📅 Дати: 12 та 19 липня
💡 Формат: Онлайн (2 заняття по 2-3 години)
🏷 Вартість: 2500 грн
📝 Що в середині?
Насичені 2 вебінари великою кількістю інформації про те, що таке естімейт, чому естімейти не працюють, та що спільного між Story Points та Оцінкою в годинах, якщо ви це робите під час planning poker.
🙋 Для кого буде корисний інтенсив?
👉 Якщо ти хоч раз давав естімейт, який "трохи не вгадав" – цей інтенсив для тебе.
👉 Якщо хочеш чітко аргументувати свої оцінки перед командою та менеджерами – приходь.
👉 Якщо твій естімейт постійно змінюється через "а ще ось це додайте" – будемо розбирати, як уникати таких ситуацій.
Що буде?
🔹 Техніки та інструменти для кращої оцінки;
🔹 Як аргументувати естімейти перед командою та менеджментом;
🔹 Типові помилки та як їх уникати;
🔹 Практика на реальних прикладах;
🔹 Домашня робота;
🔹 Купа корисних додаткових матеріалів.
💬 «Інтенсив навчив мене точніше робити оцінки й нормально ставитись до помилок у них!» (Маргарита)
📢 Кількість місць обмежена, реєструйтесь:
https://secure.wayforpay.com/payment/se9786bd1dd94
Запитання можна писати мені сюди 👉 @artem_grygorenko
У липні збираю нову групу на дводенний інтенсив - "Естімація задач по тестуванню"
📅 Дати: 12 та 19 липня
💡 Формат: Онлайн (2 заняття по 2-3 години)
🏷 Вартість: 2500 грн
📝 Що в середині?
Насичені 2 вебінари великою кількістю інформації про те, що таке естімейт, чому естімейти не працюють, та що спільного між Story Points та Оцінкою в годинах, якщо ви це робите під час planning poker.
🙋 Для кого буде корисний інтенсив?
👉 Якщо ти хоч раз давав естімейт, який "трохи не вгадав" – цей інтенсив для тебе.
👉 Якщо хочеш чітко аргументувати свої оцінки перед командою та менеджерами – приходь.
👉 Якщо твій естімейт постійно змінюється через "а ще ось це додайте" – будемо розбирати, як уникати таких ситуацій.
Що буде?
🔹 Техніки та інструменти для кращої оцінки;
🔹 Як аргументувати естімейти перед командою та менеджментом;
🔹 Типові помилки та як їх уникати;
🔹 Практика на реальних прикладах;
🔹 Домашня робота;
🔹 Купа корисних додаткових матеріалів.
💬 «Інтенсив навчив мене точніше робити оцінки й нормально ставитись до помилок у них!» (Маргарита)
📢 Кількість місць обмежена, реєструйтесь:
https://secure.wayforpay.com/payment/se9786bd1dd94
Запитання можна писати мені сюди 👉 @artem_grygorenko
❤3👍2
Найшвидший спосіб знайти голосні в реченні
#python
Задача: написати функцію, яку перевіряє чи є голосні в рядку.
Можна це зробити багатьма способами.
Спосіб 1
Спосіб 2
Спосіб 3
Але виявляється, що найшвидший спосіб це - регулярні вирази!
Чому? Бо механізм регулярних виразів в Python дуже оптимізований. Більше можна почитати в оригінальній статті.
#python
Задача: написати функцію, яку перевіряє чи є голосні в рядку.
def has_vowels(s: str) -> bool:
...
Можна це зробити багатьма способами.
Спосіб 1
def loop_in(s):
for c in s:
if c in "aeiouAEIOU":
return True
return False
Спосіб 2
def set_intersection(s):
return set(s) & set("aeiouAEIOU")
Спосіб 3
def map_lambda(s):
return any(map(lambda x: x in "aeiouAEIOU", s))
Але виявляється, що найшвидший спосіб це - регулярні вирази!
import re
def regex(s):
return bool(re.search(r'[aeiouAEIOU]', s))
Чому? Бо механізм регулярних виразів в Python дуже оптимізований. Більше можна почитати в оригінальній статті.
Austinhenley
The fastest way to detect a vowel in a string
Diving into CPython, bytecode, regex, and algorithmic analysis to find the fastest method.
👍23❤🔥5❤1
🚀Хто такі Expert Generalists та чому варто ставити такими?
#engineering #career
Як завжди, Мартін Фаулер задає тренди (як було з мікросервісами) та пише цікаві речі. В свіжій статті він пише про те, куди буде розвиватися інженерна індустрія.
🕶Хто такі Експерти Універсали?
Колись було правильно розвиватись виключно в одній спеціалізації та домені. Потім - виникли T-shape спеціалісти, які знали одну річ глибоко, а інші - поверхнево.
Фаулер говорить про те, що сучасний розвиток ШІ та технологій в цілому надто швидкий, що обмежувати свою спеціалізацію. То ж потрібно ставати експертами універсалами.
З одного боку треба мати глибокі фундаментальні знання. А з іншого - треба вміти вчитися новому дуже швидко (за допомогою вже наявного досвіду). То ж замість однієї спеціалізації, інженер повинен мати декілька (на різному рівні) й вміти помічати базові паттерни роботи систем - незалежно від технології.
💫Характеристики експертів-універсалів
👉 ФУНДАМЕНТАЛЬНІ ЗНАННЯ. Самі ці знання допомагають швидше переходити між доменами, швидше розбиратись в технологіях. Самі ці знання старішають повільніше.
👉 Допитливість. Базова реакція на новий інструмент та технологію в такого інженера - розібратися ЯК ВОНО ПРАЦЮЄ та як цим користуватись ефективно.
👉 Вміння працювати в команді. Вміння вчитися в інших експертів; задавати правильні питання; не боятися визнати, що ти чогось не знаєш
👉 Скромність. Вміння прийняти той факт, що кожен новий домен має відмінності та свої "цікавинки". Та те, що контекст має значення.
👉 Фокус на користувачеві. Кожен новий домен чи технологія оцінюються через призму користі для продукту та користувача. А для цього - треба вивчати своїх користувачів
👉 Вміння дивитись за межі своєї спеціалізації. Працювати над різними задачами, а не тільки тестування, чи бекенд, чи фронтенд.
💼 Для менеджерів
Для менеджерів важливо вміти оцінювати таких експертів універсалів на інтервʼю. Замість того, щоб питати всі пункти меню конкретного інструменту - треба дізнатись які проблеми та яким чином вирішував кандидат. Треба дивитися наскільки швидко людина розбирається в чомусь новому та як застосовує вже наявні накопичені знання.
Так само треба ставитись до промоушенів. Треба підтримувати людей, які хочуть перейти з однієї спеціалізації в іншу. Чи тих, хто прагне розширити свої навички.
🪄Висновок
Звичайно, думки Мартіна Фаулера можуть бути викривлені через специфіку роботи їх компанії. ThoughtWorks це по факту великий аутстаффер з купою замовників. Таким компаніям може бути вкрай вигідно мати людей - універсалів, яких можна швидко перекинути з проєкту на проєкт.
Але думка в цілому мені подобається. Вона до того ж переклікається з підходом Modern Testing від Alan Page.
А що думаєте ви? Чи варто ставати експертом - універсалом? Чи, може, треба розслабитись - бо нас усіх захопить ШІ?
#engineering #career
Як завжди, Мартін Фаулер задає тренди (як було з мікросервісами) та пише цікаві речі. В свіжій статті він пише про те, куди буде розвиватися інженерна індустрія.
🕶Хто такі Експерти Універсали?
Колись було правильно розвиватись виключно в одній спеціалізації та домені. Потім - виникли T-shape спеціалісти, які знали одну річ глибоко, а інші - поверхнево.
Фаулер говорить про те, що сучасний розвиток ШІ та технологій в цілому надто швидкий, що обмежувати свою спеціалізацію. То ж потрібно ставати експертами універсалами.
З одного боку треба мати глибокі фундаментальні знання. А з іншого - треба вміти вчитися новому дуже швидко (за допомогою вже наявного досвіду). То ж замість однієї спеціалізації, інженер повинен мати декілька (на різному рівні) й вміти помічати базові паттерни роботи систем - незалежно від технології.
💫Характеристики експертів-універсалів
👉 ФУНДАМЕНТАЛЬНІ ЗНАННЯ. Самі ці знання допомагають швидше переходити між доменами, швидше розбиратись в технологіях. Самі ці знання старішають повільніше.
👉 Допитливість. Базова реакція на новий інструмент та технологію в такого інженера - розібратися ЯК ВОНО ПРАЦЮЄ та як цим користуватись ефективно.
👉 Вміння працювати в команді. Вміння вчитися в інших експертів; задавати правильні питання; не боятися визнати, що ти чогось не знаєш
👉 Скромність. Вміння прийняти той факт, що кожен новий домен має відмінності та свої "цікавинки". Та те, що контекст має значення.
👉 Фокус на користувачеві. Кожен новий домен чи технологія оцінюються через призму користі для продукту та користувача. А для цього - треба вивчати своїх користувачів
👉 Вміння дивитись за межі своєї спеціалізації. Працювати над різними задачами, а не тільки тестування, чи бекенд, чи фронтенд.
💼 Для менеджерів
Для менеджерів важливо вміти оцінювати таких експертів універсалів на інтервʼю. Замість того, щоб питати всі пункти меню конкретного інструменту - треба дізнатись які проблеми та яким чином вирішував кандидат. Треба дивитися наскільки швидко людина розбирається в чомусь новому та як застосовує вже наявні накопичені знання.
Так само треба ставитись до промоушенів. Треба підтримувати людей, які хочуть перейти з однієї спеціалізації в іншу. Чи тих, хто прагне розширити свої навички.
🪄Висновок
Звичайно, думки Мартіна Фаулера можуть бути викривлені через специфіку роботи їх компанії. ThoughtWorks це по факту великий аутстаффер з купою замовників. Таким компаніям може бути вкрай вигідно мати людей - універсалів, яких можна швидко перекинути з проєкту на проєкт.
Але думка в цілому мені подобається. Вона до того ж переклікається з підходом Modern Testing від Alan Page.
А що думаєте ви? Чи варто ставати експертом - універсалом? Чи, може, треба розслабитись - бо нас усіх захопить ШІ?
martinfowler.com
Expert Generalists
Being an Expert Generalist should be treated as a first-class skill, one that can be assessed and taught.
👍22💋2❤1
🎱Швидкість навчання vs. Новизна інформації
#learning
Розгляньмо графік. Червоним кольором показано швидкість навчання, а синім - кількість нової для нас інформації.
Цей графік показує, що коли ми тільки починаємо свій шлях в новій спеціалізації - ми вчимося повільно. Разом із тим - кількість всього нового та цікавого дуже велика. Хочеться вивчити і те і інше. Навчання повне відкриттів.
З часом ми набираємось досвіду- то ж швидкість навчання тепер зростає. Разом із тим зменшується фільтр нової інформації. Ми відкриваємо курс чи книгу й розуміємо, що на 300 сторінок маємо тільки 10-20 сторінок з дійсно свіжою або цікавою для нас інформацією. Решту - можна спокійно пропустити.
🪄Абсолютно нормально вчитися повільніше на початку. Та ще більше нормально - читати й вчити тільки те, що для вас нове.Й пропускати решту. Бо це - про ефективність та розумне використання часу.
P.S. А ще з досвідом треба більше часу витрачати на пошук звʼязків між тим, що ти вже знаєш та дрібками нового.
#learning
Розгляньмо графік. Червоним кольором показано швидкість навчання, а синім - кількість нової для нас інформації.
Цей графік показує, що коли ми тільки починаємо свій шлях в новій спеціалізації - ми вчимося повільно. Разом із тим - кількість всього нового та цікавого дуже велика. Хочеться вивчити і те і інше. Навчання повне відкриттів.
З часом ми набираємось досвіду- то ж швидкість навчання тепер зростає. Разом із тим зменшується фільтр нової інформації. Ми відкриваємо курс чи книгу й розуміємо, що на 300 сторінок маємо тільки 10-20 сторінок з дійсно свіжою або цікавою для нас інформацією. Решту - можна спокійно пропустити.
🪄Абсолютно нормально вчитися повільніше на початку. Та ще більше нормально - читати й вчити тільки те, що для вас нове.Й пропускати решту. Бо це - про ефективність та розумне використання часу.
P.S. А ще з досвідом треба більше часу витрачати на пошук звʼязків між тим, що ти вже знаєш та дрібками нового.
👏22👍10❤7🥰1
Важлива навичка при використанні ШІ
#ai #books
Сьогодні я хочу розповісти про "нову" навичку, яка стає вкрай важливою в сучасному світі. А саме - про вміння ставити запитання.
Виявляється, навичка не така вже й нова. Письменники-фантасти задавалися цим питанням ще ... 69 років тому назад! Наведу приклад - оповідання "Дотепник", Айзек Азімов, 1956 рік.
Для контексту: в далекому майбутньому винайшли Мультивак - такий собі суперкомпʼютер з ШІ. Він, звичайно, продукував результат на перфокартах - то ж для розшифрування результатів потрібні були аналітики. Але окремо стояли Гроссмейстери - люди, які могли ставити правильні запитання цьому ШІ. Таких людей було дуже й дуже мало.
Ось цитата з твору:
Як думаєте, чи зріс попит на вміння ставити питання з появою усіх цих Chat GPT / Claude / etc ?
#ai #books
Сьогодні я хочу розповісти про "нову" навичку, яка стає вкрай важливою в сучасному світі. А саме - про вміння ставити запитання.
Виявляється, навичка не така вже й нова. Письменники-фантасти задавалися цим питанням ще ... 69 років тому назад! Наведу приклад - оповідання "Дотепник", Айзек Азімов, 1956 рік.
Для контексту: в далекому майбутньому винайшли Мультивак - такий собі суперкомпʼютер з ШІ. Він, звичайно, продукував результат на перфокартах - то ж для розшифрування результатів потрібні були аналітики. Але окремо стояли Гроссмейстери - люди, які могли ставити правильні запитання цьому ШІ. Таких людей було дуже й дуже мало.
Ось цитата з твору:
"На зорі історії Мультиваку з'ясувалося, що найвідповідальніша ділянка – це постановка питань. Мультивак вирішує проблеми для людства, він може вирішити всі проблеми, якщо... якщо йому ставлять осмислені питання. Але в міру накопичення знань, що відбувалося все інтенсивніше, ставити осмислені питання ставало дедалі важчим.
Одного розуму тут мало. Потрібна рідкісна інтуїція; той самий талант (тільки куди яскравіше виражений), яким наділений шаховий гросмейстер. Потрібен розум, який здатний з квадрильйонів шахових ходів відібрати найкращий, причому зробити це за кілька хвилин."
Як думаєте, чи зріс попит на вміння ставити питання з появою усіх цих Chat GPT / Claude / etc ?
👍34
🚀Важливість технічного знання системи для тест інженера
Я вважаю, що сучасний тест інженер повинен мати гарні технічні знання системи.
Що таке технічне знання системи? Це архітектура, технології та інтеграції системи. Це не про написання коду, як такого.
Якщо точніше, то технічні знання системи це:
- технології, на яких написана ваша система
- архітектура системи, починаючи з фронта до бекенду разом із базами даних
- як комунікують між собою компоненти системи
- які дані циркулюють в системі та де вони зберігаються
- з якими сторонніми системами ви взаємодієте та яким чином
- які варіанти конфігурації існують в системі
Чому треба це все знати? Як ж тестер (автоматизатор), в мене інші задачі!
Знання внутрішньої роботи дозволить вам:
- розуміти на якому рівні (UI, API) писати ті чи інші тести
- писати більш стабільні тести
- писати більше реалістичні тести, які перевіряють те, що треба
Я вважаю, що сучасний тест інженер повинен мати гарні технічні знання системи.
Що таке технічне знання системи? Це архітектура, технології та інтеграції системи. Це не про написання коду, як такого.
Якщо точніше, то технічні знання системи це:
- технології, на яких написана ваша система
- архітектура системи, починаючи з фронта до бекенду разом із базами даних
- як комунікують між собою компоненти системи
- які дані циркулюють в системі та де вони зберігаються
- з якими сторонніми системами ви взаємодієте та яким чином
- які варіанти конфігурації існують в системі
Перевірка: якщо ви можете намалювати архітектурну діаграму вашої системи на листку паперу - це вже дуже круто!
Чому треба це все знати? Як ж тестер (автоматизатор), в мене інші задачі!
Знання внутрішньої роботи дозволить вам:
- розуміти на якому рівні (UI, API) писати ті чи інші тести
- писати більш стабільні тести
- писати більше реалістичні тести, які перевіряють те, що треба
👍24❤2💯1
Augmented Coding: Beyond the Vibes
#ai #engineering
Kent Beck написав статтю про свій досвід використання AI агентів для написання коду. Якщо більш точно, то він вирішив написати свою версію B+ Tree на Rust 🦀 та на Python🐍. Й порівняти їх потім з нативними реалізаціями.
Цікаві результати:
👉 Kent називає свій відхід augmented (змінений) coding на противагу відомому vibe coding. В чому різниця? З vibe кодінгом розробнику важливий тільки результат, а не код. То ж такий розробник просто кидає помилки знову в LLM й сподівається на коректні фікси. З augmented coding розробнику важливий результат та код як такий (його якість, покриття, читабельність). То ж він постійно контролює процес написання коду.
👉 LLM спочатку заплуталася та не змогла реалізувати алгоритм на Rust. Чому? Бо мова програмування непроста та компілятор вельми прискіпливий. Тоді Kent зробив наступне - він виконав задачу на Python, а потім ... попросив LLM транслювати код з Python в Rust. Тоді LLM справився із задачею краще.
👉 LLM також зміг згенерувати порівняльні тести для написаного коду та нативної структури даних.
Висновок. Програмування з LLM - все ще програмування. Навички та знання все ще мають цінність. Особливо, коли ви працюєте з нетривіальними проєктами чи мовами програмування.
#ai #engineering
Kent Beck написав статтю про свій досвід використання AI агентів для написання коду. Якщо більш точно, то він вирішив написати свою версію B+ Tree на Rust 🦀 та на Python🐍. Й порівняти їх потім з нативними реалізаціями.
Цікаві результати:
👉 Kent називає свій відхід augmented (змінений) coding на противагу відомому vibe coding. В чому різниця? З vibe кодінгом розробнику важливий тільки результат, а не код. То ж такий розробник просто кидає помилки знову в LLM й сподівається на коректні фікси. З augmented coding розробнику важливий результат та код як такий (його якість, покриття, читабельність). То ж він постійно контролює процес написання коду.
👉 LLM спочатку заплуталася та не змогла реалізувати алгоритм на Rust. Чому? Бо мова програмування непроста та компілятор вельми прискіпливий. Тоді Kent зробив наступне - він виконав задачу на Python, а потім ... попросив LLM транслювати код з Python в Rust. Тоді LLM справився із задачею краще.
👉 LLM також зміг згенерувати порівняльні тести для написаного коду та нативної структури даних.
Висновок. Програмування з LLM - все ще програмування. Навички та знання все ще мають цінність. Особливо, коли ви працюєте з нетривіальними проєктами чи мовами програмування.
Substack
Augmented Coding: Beyond the Vibes
Notes from a technically challenging project
👍24🍓1
Practical advice for engineers in these troubled times
#engineering #career
Невеликий пост з порадами про те, як виживати інженерам в сучасному світі.
1. "Забий на роботу, туси на мітингах, качай тільки софт-скілли, харди нікому не потрібні!". Так працювало в 2010х. Але зараз таких людей звільняють дуже швидко
2. Краще працювати над тими компонентами та продуктами, що реально приносять компанії гроші
3. Вчіть фундаментальну базу - вона залишиться з вами надовше. Бо компанії можуть змінити правила найму дуже швидко. Наприклад - перейти від задачок на LeetCode до розглядання ваших власних проєктів чи open-source активності
4. Концентруйтеся на корисній роботі та зробіть її видимою для команди, для менеджера, для компанії
#engineering #career
Невеликий пост з порадами про те, як виживати інженерам в сучасному світі.
1. "Забий на роботу, туси на мітингах, качай тільки софт-скілли, харди нікому не потрібні!". Так працювало в 2010х. Але зараз таких людей звільняють дуже швидко
2. Краще працювати над тими компонентами та продуктами, що реально приносять компанії гроші
3. Вчіть фундаментальну базу - вона залишиться з вами надовше. Бо компанії можуть змінити правила найму дуже швидко. Наприклад - перейти від задачок на LeetCode до розглядання ваших власних проєктів чи open-source активності
4. Концентруйтеся на корисній роботі та зробіть її видимою для команди, для менеджера, для компанії
Seangoedecke
Practical advice for engineers in these troubled times
Since 2023, the rise of interest rates has caused a sea change in how software companies relate to their engineers. It’s harder to be a software engineer now…
👏13👍5❤2
Forwarded from Testing Minutes (Oleksandr Romanov)
⚡️ Епізод 51: Що таке тестування?
Вже 50 випусків ми говоримо про тестування, в тому чи іншому вигляді. Але що таке тестування? Чи дійсно тестування це тільки перевірка софту за тест кейсами? Чи це щось ... більше? Як визначають тестування різні організації та люди? Саме на ці питання будуть шукати відповіді ведучі подкасту - Артем та Олександр.
Дивитись та слухати:
🔸 Youtube
🔹 Spotify
🔸 Apple
Ваша підтримка важлива!
Ми постійно розвиваємося і рухаємося вперед, але це неможливо без вашої підтримки. Тому будемо вдячні за лайки, коментарі та будь-яку іншу форму підтримки. Це допоможе нам просувати наші подкасти в рекомендаціях. Також ви можете підтримати нас донатом — це дійсно важливо для нас і є нашим рушієм.
Дякуємо вам!
Підтримати подкаст можна через 🏦 База від Монобанку або стати спонсором на Youtube
#testingminutes | @a_grygorenko | Test Engineering Notes
Вже 50 випусків ми говоримо про тестування, в тому чи іншому вигляді. Але що таке тестування? Чи дійсно тестування це тільки перевірка софту за тест кейсами? Чи це щось ... більше? Як визначають тестування різні організації та люди? Саме на ці питання будуть шукати відповіді ведучі подкасту - Артем та Олександр.
Дивитись та слухати:
🔸 Youtube
🔹 Spotify
🔸 Apple
Ваша підтримка важлива!
Ми постійно розвиваємося і рухаємося вперед, але це неможливо без вашої підтримки. Тому будемо вдячні за лайки, коментарі та будь-яку іншу форму підтримки. Це допоможе нам просувати наші подкасти в рекомендаціях. Також ви можете підтримати нас донатом — це дійсно важливо для нас і є нашим рушієм.
Дякуємо вам!
Підтримати подкаст можна через 🏦 База від Монобанку або стати спонсором на Youtube
#testingminutes | @a_grygorenko | Test Engineering Notes
👍11❤7
The most mysterious bug I solved at work
#bug
Пропоную до вашої уваги історію про вельми цікавий баг. Історію в своєму блозі розповів Cadence Ember.
Про систему
Одного разу Cadence працював кимось між розробником, тестувальником та сапортом. Продукт, над яким він працював був типу Patient Management Software. В цьому софті лікар міг створити електронне направлення до іншого лікаря. Частину даних про паціента отримували зі сторонніх систем - то ж лікарю треба було тільки заповнити декілька полів у формі, згенерувати у форматах HL7, XML чи PDF та відправити.
Про баг
Раз на два - чотири тижні, система кидала помилку на етапі відправки електронного відправлення:
Зазвичай, фіксити таку помилку можна було SQL скриптом, що видаляв "\u0002" із бази даних. Але Cadence вирішив знайти першопричину проблеми.
У пошуках відповідей
Що значить символ 0х2? Як ви знаєте, кожна літера тексту представлена числом у компʼютері. Числа нижче 31 використовуються для невидимих "керуючих символів". Керуючі символи були важливі в часи телетайпів - коли символи передавались одним потоком й треба було розрізняти розмітку тексту. Символ 0х2 - це початок тексту, а 0х3 - кінець тексту.
Провівши свої дослідження ще більше, Cadence зрозумів, що символ 0х2 чомусь виникає в кінці першого рядка тексту:
Тобто дефіс чомусь перетворюється на символ 0х2!
В чому була проблема
Виявляється, браузери та програми працюють з PDF текстами по різному. Автор спробував працювати з PDF з текстом з дефісами в Google Chrome, Mozilla Firefox, Microsoft Edge та Acrobat Reader.
Й саме браузер Edge перетворював дефіс на символ 0х2 ... коли скопіювати текст з PDF файлу відкритого в браузері в систему створення лікарських направлень.
Як пофіксили? Помилку виправили на стороні продукту самого розробника - шляхом автоматичної заміни символу 0х2 на дефіс.
#bug
Пропоную до вашої уваги історію про вельми цікавий баг. Історію в своєму блозі розповів Cadence Ember.
Про систему
Одного разу Cadence працював кимось між розробником, тестувальником та сапортом. Продукт, над яким він працював був типу Patient Management Software. В цьому софті лікар міг створити електронне направлення до іншого лікаря. Частину даних про паціента отримували зі сторонніх систем - то ж лікарю треба було тільки заповнити декілька полів у формі, згенерувати у форматах HL7, XML чи PDF та відправити.
Про баг
Раз на два - чотири тижні, система кидала помилку на етапі відправки електронного відправлення:
Illegal Character entity: expansion character (code 0x2) not a valid XML characterЗазвичай, фіксити таку помилку можна було SQL скриптом, що видаляв "\u0002" із бази даних. Але Cadence вирішив знайти першопричину проблеми.
У пошуках відповідей
Що значить символ 0х2? Як ви знаєте, кожна літера тексту представлена числом у компʼютері. Числа нижче 31 використовуються для невидимих "керуючих символів". Керуючі символи були важливі в часи телетайпів - коли символи передавались одним потоком й треба було розрізняти розмітку тексту. Символ 0х2 - це початок тексту, а 0х3 - кінець тексту.
Провівши свої дослідження ще більше, Cadence зрозумів, що символ 0х2 чомусь виникає в кінці першого рядка тексту:
development. Physically, his well-
being is healthy, so likely needs
Тобто дефіс чомусь перетворюється на символ 0х2!
В чому була проблема
Виявляється, браузери та програми працюють з PDF текстами по різному. Автор спробував працювати з PDF з текстом з дефісами в Google Chrome, Mozilla Firefox, Microsoft Edge та Acrobat Reader.
Й саме браузер Edge перетворював дефіс на символ 0х2 ... коли скопіювати текст з PDF файлу відкритого в браузері в систему створення лікарських направлень.
Як пофіксили? Помилку виправили на стороні продукту самого розробника - шляхом автоматичної заміни символу 0х2 на дефіс.
👍23🤯5🔥1
Testability and Cost of Change
#testability #bugs
Знайшов доволі стару, але цікаву статтю про те, як в різний час в різних компаніях й процесах комунікують ціну виправлення помилок.
Все починається аж в 1976 році в журналі IEEE, коли Barry Boehm вперше задав питання про важливість фіксу помилок. Свою думку він згодом закріпив у книзі "Software Engineering Economics" (1981).
Цікаве питання: якщо з часом виправляти помилки стає дорожче, то й відповідно робити зміни у функціоналі стає так само складно й дорого? Як думаєте?
#testability #bugs
Знайшов доволі стару, але цікаву статтю про те, як в різний час в різних компаніях й процесах комунікують ціну виправлення помилок.
Все починається аж в 1976 році в журналі IEEE, коли Barry Boehm вперше задав питання про важливість фіксу помилок. Свою думку він згодом закріпив у книзі "Software Engineering Economics" (1981).
Цікаве питання: якщо з часом виправляти помилки стає дорожче, то й відповідно робити зміни у функціоналі стає так само складно й дорого? Як думаєте?
👍13❤1🤔1
🧪Про науковий метод й дослідницьке тестування
#testing
Побачив я якось пояснення наукового методу в книжці. Мені одразу спало на думку, що цей метод має багато спільного із тестуванням (особливо exploratory).
👉 Question. В тестуванні ми також вирішуємо ЩО САМЕ тестувати.
👉 Hypothesis. Ми формуємо гіпотези про поведінку продукту, які перевіряємо.
👉 Experiment and analyze data. Ми тестуємо та аналізуємо отримані результати.
👉 Refine. Ми робимо retesting, якщо треба перевірити нову гіпотезу чи білд.
👉 Peer-review. Ревʼю тестів, багів та код-ревʼю від колег.
Додаткова вимога, як до тестування так і до наукових дослідів - це відтворюваність результатів експерименту (тесту).
🚀То ж коли ми тестуємо, ми, як науковці, ставимо експерименти та доводимо правдивість (чи хибність) наших гіпотез.
#testing
Побачив я якось пояснення наукового методу в книжці. Мені одразу спало на думку, що цей метод має багато спільного із тестуванням (особливо exploratory).
👉 Question. В тестуванні ми також вирішуємо ЩО САМЕ тестувати.
👉 Hypothesis. Ми формуємо гіпотези про поведінку продукту, які перевіряємо.
👉 Experiment and analyze data. Ми тестуємо та аналізуємо отримані результати.
👉 Refine. Ми робимо retesting, якщо треба перевірити нову гіпотезу чи білд.
👉 Peer-review. Ревʼю тестів, багів та код-ревʼю від колег.
Додаткова вимога, як до тестування так і до наукових дослідів - це відтворюваність результатів експерименту (тесту).
🚀То ж коли ми тестуємо, ми, як науковці, ставимо експерименти та доводимо правдивість (чи хибність) наших гіпотез.
❤18🔥11👍8
📚 Несподівана знахідка зі світу тестування
#testing #books
Не так давно я розповідав про навчання. Хоча зараз я не так тісно повʼязаний із тестуванням, мені завжди цікаво шукати цікаві теми та підходи у світі якості. То ж я читаю й проглядаю книжки з тестування.
Деякі книжки хороші для новачків. Деякі - безнадійно застарілі й містять мало нового. Наприклад, "Mobile Testing" Рекса Блека хоч й цінна його коментарями підходів та інструментів, але нічого кардинально нового не дає. Книга від Daniel Knott більш практична.
😱Але деякі книжки виявляються справжньою несподіванкою (в хорошому сенсі). Яскравий приклад - це "Foundations of Software Testing" від Aditya P. Mathur.
Наче книга - з основ тестування. Але глибина матеріалу мене приємно вразила. Теми й приклади книги більш хардкорні, ніж у відомій "Advanced Software Testing - Vol. 1" (не ту книгу назвали Advanced 😀).
🕶 Як дочитаю - з мене огляд!
P.S. Для тих, хто не любить читати, можна подивитись архів слайдів на основі книги . (Всього 722 слайди!)
#testing #books
Не так давно я розповідав про навчання. Хоча зараз я не так тісно повʼязаний із тестуванням, мені завжди цікаво шукати цікаві теми та підходи у світі якості. То ж я читаю й проглядаю книжки з тестування.
Деякі книжки хороші для новачків. Деякі - безнадійно застарілі й містять мало нового. Наприклад, "Mobile Testing" Рекса Блека хоч й цінна його коментарями підходів та інструментів, але нічого кардинально нового не дає. Книга від Daniel Knott більш практична.
😱Але деякі книжки виявляються справжньою несподіванкою (в хорошому сенсі). Яскравий приклад - це "Foundations of Software Testing" від Aditya P. Mathur.
Наче книга - з основ тестування. Але глибина матеріалу мене приємно вразила. Теми й приклади книги більш хардкорні, ніж у відомій "Advanced Software Testing - Vol. 1" (не ту книгу назвали Advanced 😀).
🕶 Як дочитаю - з мене огляд!
❤🔥24❤11