Про навчання - 6: Експерти та новачки
#learning #tips
Різниця між експертом та новачком.
Чим відрізняються новачки від експертів? Дослідження показують, що експерти (наприклад в грі в шахи) вміють запам'ятовувати та розпізнавати стан дошки в конкретний момент часу. Це допомагає швидко приймати рішення.
Розробники - експерти можуть розпізнавати типові паттерни в коді. Так, ті самі дизайн паттерни, які запитують на співбесідах. Ба більше - експерти можуть глянути на код та зрозуміти "що ота частина під капотом імплементує сортування". Новачку в тій же самій ситуації треба докласти більше зусиль та читати код рядок за рядком.
Як же новачку стати експертом? Відповідь проста - читати, писати та розбиратись у різному коді. Як хорошому так і поганому.
Бути експертом - навчатись по-іншому
Існує така річ, як expertise-reversal effect. Він означає, що для новачкам та експертам потрібні радикально різні підходи до навчання.
- Новачкам буде корисним отримати туторіали та різні cheat листи з використання інструментів. Експерти самі здатні продумати подібні туторіали.
- Новачкам потрібні легкі завдання для закріплення вивченого - поки нова інформація наче пазл не стане на потрібне місце.
- Новачкам потрібні приклади та точне пояснення результату. Експертам більше підійдуть “відкриті” питання та обговорення.
- Експертам потрібне мінімальне пояснення та більша свобода дії.
Бути експертом - не означає бути хорошим вчителем.
Дуже часто сіньйори чи техліди не можуть пояснити новачкам якісь аспекти просто тому, що вони роблять багато речей "автоматично". Експертам важко відокремити такі навички та розбити їх на окремі вправи чи пояснення.
В такому випадку може допомогти влаштувати сесію між експертом, новачком та більш обізнаним інженером (який трохи краще знається на системі, ніж новачок). Такий інженер зіграє роль "мосту" між фахівцями - допоможе експерту візуалізувати знання, а новачку - отримати зрозуміле пояснення.
Неявні знання
Те ж стосується накопичення великої кількості "неявних" знань в голові однієї "експертної" людини. Такі неявні знання ще називаються тацитовими. Це можуть бути як доменні знання з проекту, так і технічні знання з фреймворку чи конфігурації системи.
Щоб запобігти накопиченню таких знань - варто писати документацію. Наприклад - FAQ документи, гайди з конфігурації, корисні збірки команд на кожен день.
Для експерта користь буде в зменшенні кількості однакових питань - бо люди спочатку підуть й шукають відповідь на Конфлюенсі.
#learning #tips
Різниця між експертом та новачком.
Чим відрізняються новачки від експертів? Дослідження показують, що експерти (наприклад в грі в шахи) вміють запам'ятовувати та розпізнавати стан дошки в конкретний момент часу. Це допомагає швидко приймати рішення.
Розробники - експерти можуть розпізнавати типові паттерни в коді. Так, ті самі дизайн паттерни, які запитують на співбесідах. Ба більше - експерти можуть глянути на код та зрозуміти "що ота частина під капотом імплементує сортування". Новачку в тій же самій ситуації треба докласти більше зусиль та читати код рядок за рядком.
Як же новачку стати експертом? Відповідь проста - читати, писати та розбиратись у різному коді. Як хорошому так і поганому.
Бути експертом - навчатись по-іншому
Існує така річ, як expertise-reversal effect. Він означає, що для новачкам та експертам потрібні радикально різні підходи до навчання.
- Новачкам буде корисним отримати туторіали та різні cheat листи з використання інструментів. Експерти самі здатні продумати подібні туторіали.
- Новачкам потрібні легкі завдання для закріплення вивченого - поки нова інформація наче пазл не стане на потрібне місце.
- Новачкам потрібні приклади та точне пояснення результату. Експертам більше підійдуть “відкриті” питання та обговорення.
- Експертам потрібне мінімальне пояснення та більша свобода дії.
Бути експертом - не означає бути хорошим вчителем.
Дуже часто сіньйори чи техліди не можуть пояснити новачкам якісь аспекти просто тому, що вони роблять багато речей "автоматично". Експертам важко відокремити такі навички та розбити їх на окремі вправи чи пояснення.
В такому випадку може допомогти влаштувати сесію між експертом, новачком та більш обізнаним інженером (який трохи краще знається на системі, ніж новачок). Такий інженер зіграє роль "мосту" між фахівцями - допоможе експерту візуалізувати знання, а новачку - отримати зрозуміле пояснення.
Неявні знання
Те ж стосується накопичення великої кількості "неявних" знань в голові однієї "експертної" людини. Такі неявні знання ще називаються тацитовими. Це можуть бути як доменні знання з проекту, так і технічні знання з фреймворку чи конфігурації системи.
Щоб запобігти накопиченню таких знань - варто писати документацію. Наприклад - FAQ документи, гайди з конфігурації, корисні збірки команд на кожен день.
Для експерта користь буде в зменшенні кількості однакових питань - бо люди спочатку підуть й шукають відповідь на Конфлюенсі.
👍21❤1
Forwarded from Нотатки суворого QA 💛💙 (Artem Grygorenko)
⚡️Олександр Романов: Тестування Blockchain
📝 Про що:
Яку криптовалюту треба купувати прямо зараз? Коли біткоїн знов впаде в ціні та можна буде купити дешевше? Як зрозуміти, що ця компанія - scam? В цій доповіді НЕ БУДЕ таких порад.
А що буде - так це покрокове пояснення про те, що таке блокчейн, як він працює, що в ньому можна тестувати, а що - можна й не тестувати. Світ блокчейну великий та подекуди складний. Але якщо ви знаєте, як він працює "під капотом" - вам буде значно легше тестувати такі системи чи просто взаємодіяти із ними.
🎙 Про Олександра:
В IT з 2011 року. Був автоматизатором, тестувальником, лідом SDET`ів. За цей час - встиг автоматизувати банківські застосунки, CMS системи, мікросервіси та мобільні ігри.
Наразі працює над тестуванням блокчейну в компанії IOHK як Software Engineer in Test. Досліджує питання тестування та захищеності складних розподілених систем.
— Співведдучий подкасту Testing Minutes https://www.youtube.com/@TestingMinutes
— Пише про тестування в каналі Test Engineering Notes https://news.1rj.ru/str/testengineering та блозі https://testengineeringnotes.com/
— Допомагає компаніям знаходити технічних тестувальників та будувати процеси автоматизації
— Менторить тест інженерів
Де знайти Олександра?
🔗 LinkedIn
👥 X
📆 Вівторок, 16 Квітня о 19:00 за Києвом
🧑🏫 Формат заходу: лекція
Як доєднатись?
🇺🇦 Внесок: 300₴ (200₴ на ЗСУ)
🌟 Для учасників Суворої QA Спільноти захід безкоштовний
📝 Про що:
Яку криптовалюту треба купувати прямо зараз? Коли біткоїн знов впаде в ціні та можна буде купити дешевше? Як зрозуміти, що ця компанія - scam? В цій доповіді НЕ БУДЕ таких порад.
А що буде - так це покрокове пояснення про те, що таке блокчейн, як він працює, що в ньому можна тестувати, а що - можна й не тестувати. Світ блокчейну великий та подекуди складний. Але якщо ви знаєте, як він працює "під капотом" - вам буде значно легше тестувати такі системи чи просто взаємодіяти із ними.
🎙 Про Олександра:
В IT з 2011 року. Був автоматизатором, тестувальником, лідом SDET`ів. За цей час - встиг автоматизувати банківські застосунки, CMS системи, мікросервіси та мобільні ігри.
Наразі працює над тестуванням блокчейну в компанії IOHK як Software Engineer in Test. Досліджує питання тестування та захищеності складних розподілених систем.
— Співведдучий подкасту Testing Minutes https://www.youtube.com/@TestingMinutes
— Пише про тестування в каналі Test Engineering Notes https://news.1rj.ru/str/testengineering та блозі https://testengineeringnotes.com/
— Допомагає компаніям знаходити технічних тестувальників та будувати процеси автоматизації
— Менторить тест інженерів
Де знайти Олександра?
📆 Вівторок, 16 Квітня о 19:00 за Києвом
🧑🏫 Формат заходу: лекція
Як доєднатись?
🇺🇦 Внесок: 300₴ (200₴ на ЗСУ)
🌟 Для учасників Суворої QA Спільноти захід безкоштовний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤4
Тестування блокчейну - що почитати?
#testing #blockchain
Вчора я провів лекцію з тестування блокчейну для Суворого QA Community.
Крім покрокових пояснень що таке блокчейн "під капотом", я також поділився списком того, що можна почитати теми тестування.
Поділюся цим списком тут.
Від мене
- Blockchain for Test Engineers - цикл статей, де я розбираю складові частини блокчейну з точки зору тестувальника.
- Awesome Blockchain Testing - величезна підбірка статей, відео та дослідницьких робіт з тестування блокчейнів.
Книжки
- Блокчейн і децентралізовані системи - єдиний україномовний підручник для ВУЗу з теми блокчейну.
- Mastering Blockchain - одна книжка, щоб покрити практично все, що пов'язане з темою. Четверте видання - найповніше.
- Mastering Ethereum: Building Smart Contracts and DApps - книжка, якщо ви конкретно хочете розібратися в Ethereum.
Курси
- "Solidity Smart Contracts" - безкоштовний україномовний курс з розробки смарт-контрактів на Solidity (Ethereum). Він непростий, попереджаю.
- Спеціалізація Блокчейн на Coursera - непогана підбірка курсів для початків.
- Спеціалізація "Децентралізовані фінанси" - інтро курси з прикладного застосування блокчейну. А саме - для побудови фінансових застосунків.
Приємного читання!
#testing #blockchain
Вчора я провів лекцію з тестування блокчейну для Суворого QA Community.
Крім покрокових пояснень що таке блокчейн "під капотом", я також поділився списком того, що можна почитати теми тестування.
Поділюся цим списком тут.
Від мене
- Blockchain for Test Engineers - цикл статей, де я розбираю складові частини блокчейну з точки зору тестувальника.
- Awesome Blockchain Testing - величезна підбірка статей, відео та дослідницьких робіт з тестування блокчейнів.
Книжки
- Блокчейн і децентралізовані системи - єдиний україномовний підручник для ВУЗу з теми блокчейну.
- Mastering Blockchain - одна книжка, щоб покрити практично все, що пов'язане з темою. Четверте видання - найповніше.
- Mastering Ethereum: Building Smart Contracts and DApps - книжка, якщо ви конкретно хочете розібратися в Ethereum.
Курси
- "Solidity Smart Contracts" - безкоштовний україномовний курс з розробки смарт-контрактів на Solidity (Ethereum). Він непростий, попереджаю.
- Спеціалізація Блокчейн на Coursera - непогана підбірка курсів для початків.
- Спеціалізація "Децентралізовані фінанси" - інтро курси з прикладного застосування блокчейну. А саме - для побудови фінансових застосунків.
Приємного читання!
👍25❤12
How SMS Fraud Works and How to Guard Against It
#security
Twitter, він же X, в лютому відключив аутентифікацію за допомогою SMS для усіх користувачів, крім преміальних.
- Нащо це було зроблено?
- Як це пов'язано зі злочинними схемами?
- Як захиститись від SMS fraud?
Про все це - сьогодні у невеличкій статті.
#security
Twitter, він же X, в лютому відключив аутентифікацію за допомогою SMS для усіх користувачів, крім преміальних.
- Нащо це було зроблено?
- Як це пов'язано зі злочинними схемами?
- Як захиститись від SMS fraud?
Про все це - сьогодні у невеличкій статті.
Technically Thinking
How SMS Fraud Works and How to Guard Against It
or why Twitter disabled SMS 2FA 💬
❤9👍1
Про читання професійної літератури
#reading
Як заставити себе читати?
Коротко - НІЯК. Не треба цього робити.
Крім книжок, можна читати статті або дослідницькі роботи. Крім читання - можна проходити курси чи дивитись доповіді.
Кожен обирає сам - який формат пізнання підходить краще.
Для того. щоб читати та дізнаватись нове - потрібна мотивація.
Мотивація може бути або внутрішня - "хочу дізнатись більше чи опанувати нові навички".
Або ж зовнішня - "якщо не опаную навички - звільнять, поріжуть ЗП, не отримаю підвишення".
Спробуйте дізнатись, що Вас мотивує саме зараз. Якщо нічого - не читайте. В житті є безліч не менш важливих справ.
Як читати великі за обсягом книжки?
Великі книжки - це, зазвичай, або довідники, або монументальні твори.
В будь-якому випадку краще мати відповіді на питання - нащо ви читаєте ту чи іншу книжки? Які бенефіти вона принесе Вам прямо зараз?
В залежності від відповіді - ви зможете обрати як Вам краще читати книжку. Чи повністю від початку до кінця. Чи - як довідник.
- Нема нічого поганого, якщо Ви прочитаєте окремі розділи книжки. Розділи, які Вас найбільше цікавлять в конкретний момент часу. Завжди можна повернутись до книжки трохи пізніше. Або змінити одну книжку на іншу.
- Виділяйте кожного дня трохи часу (іноді з таймером) та читайте. Краще - з короткими нотатками. Ще краще - записуйте конкретні action points з кожного розділу: що Ви можете застосувати в роботі прямо зараз. Та пробуйте застосувати одразу. Поки знання ще "свіжі".
- Немає нічого гіршого, коли спеціаліст читає книжку "бо так сказали люди" або "бо її всі читають, вона в усіх підбірках".
Можливо ця книжка Вам не підійде. Не засмучуйтесь. Завжди можна знайти іншу книжку іншого автора.
#reading
Як заставити себе читати?
Коротко - НІЯК. Не треба цього робити.
Крім книжок, можна читати статті або дослідницькі роботи. Крім читання - можна проходити курси чи дивитись доповіді.
Кожен обирає сам - який формат пізнання підходить краще.
Для того. щоб читати та дізнаватись нове - потрібна мотивація.
Мотивація може бути або внутрішня - "хочу дізнатись більше чи опанувати нові навички".
Або ж зовнішня - "якщо не опаную навички - звільнять, поріжуть ЗП, не отримаю підвишення".
Спробуйте дізнатись, що Вас мотивує саме зараз. Якщо нічого - не читайте. В житті є безліч не менш важливих справ.
Як читати великі за обсягом книжки?
Великі книжки - це, зазвичай, або довідники, або монументальні твори.
В будь-якому випадку краще мати відповіді на питання - нащо ви читаєте ту чи іншу книжки? Які бенефіти вона принесе Вам прямо зараз?
В залежності від відповіді - ви зможете обрати як Вам краще читати книжку. Чи повністю від початку до кінця. Чи - як довідник.
- Нема нічого поганого, якщо Ви прочитаєте окремі розділи книжки. Розділи, які Вас найбільше цікавлять в конкретний момент часу. Завжди можна повернутись до книжки трохи пізніше. Або змінити одну книжку на іншу.
- Виділяйте кожного дня трохи часу (іноді з таймером) та читайте. Краще - з короткими нотатками. Ще краще - записуйте конкретні action points з кожного розділу: що Ви можете застосувати в роботі прямо зараз. Та пробуйте застосувати одразу. Поки знання ще "свіжі".
- Немає нічого гіршого, коли спеціаліст читає книжку "бо так сказали люди" або "бо її всі читають, вона в усіх підбірках".
Можливо ця книжка Вам не підійде. Не засмучуйтесь. Завжди можна знайти іншу книжку іншого автора.
👍40🔥11
Github Copilot - з чого почати?
#ai #engineering
Минулого тижня я нарешті встановив собі Github Copilot та почав ним користуватись для робочих задач.
Якщо ви, як і я, тільки вивчаєте цей інструмент, то маю для вас декілька статей, що розповідають про його чарівні можливості.
- How to use GitHub Copilot: Prompts, tips, and use cases
- Using GitHub Copilot in your IDE: Tips, tricks, and best practices
- Using GitHub Copilot Effectively
Трохи згодом розповім про свій особистий досвід користування.
#ai #engineering
Минулого тижня я нарешті встановив собі Github Copilot та почав ним користуватись для робочих задач.
Якщо ви, як і я, тільки вивчаєте цей інструмент, то маю для вас декілька статей, що розповідають про його чарівні можливості.
- How to use GitHub Copilot: Prompts, tips, and use cases
- Using GitHub Copilot in your IDE: Tips, tricks, and best practices
- Using GitHub Copilot Effectively
Трохи згодом розповім про свій особистий досвід користування.
The GitHub Blog
How to write better prompts for GitHub Copilot
In this prompt guide for GitHub Copilot, two GitHub developer advocates, Rizel and Michelle, will share examples and best practices for communicating your desired results to the AI pair programmer.
🔥17❤8
Python Big O: the time complexities of different data structures in Python
#python #algo
Для тих, кому було цікаво розібратись яка складність (за часом виконання) в структурах даних Python.
#python #algo
Для тих, кому було цікаво розібратись яка складність (за часом виконання) в структурах даних Python.
Pythonmorsels
Python Big O: the time complexities of different data structures in Python
The time complexity of common operations on Python's many data structures.
👍14
Forwarded from DOU | QA
Test Engineering Notes — Vol. 13. Про роботу з flaky-тестами, баги в IoT-операційках та Postgres
Чи може ШІ замінити тестувальника, пошук багів в Hubris, чому X вимкнув двоетапну аутентифікацію через SMS, Git для дебагінгу та інші цікаві теми зі світу QA — в новому дайджесті від Олександра Романова 👉 https://dou.ua/goto/sJ4B
Чи може ШІ замінити тестувальника, пошук багів в Hubris, чому X вимкнув двоетапну аутентифікацію через SMS, Git для дебагінгу та інші цікаві теми зі світу QA — в новому дайджесті від Олександра Романова 👉 https://dou.ua/goto/sJ4B
👍9❤1
Technology Trends for 2024
#engineering
Всім привіт. Я нарешті повернувся після невеличкої паузи.
Сьогодні я б хотів обговорити цікаву статтю про тренди в технологіях 2023 року порівняно із 2022 від O`Reilly.
Коротко:
- 92% розробників використовує ШІ для написання базового коду
- усі втомились від мікросевісів та починають нові проєкти як моноліти
- кількість PR'ів у Github репозиторії - знизилася (бо стало менше вільного часу після ковіду)
- Python не втратив у популярності, Rust - набрав
- LangChain фреймворк набирав популярності разом із ChatGPT та подібними
- Більше людей почали користуватись PowerBI
- Теми безпеки мереж - найбільш актуальні
- у web девелопменті все ще править React
- найпопулярніші сертифікації CompTIA A+ / Security + та AWS Solution Architect
#engineering
Всім привіт. Я нарешті повернувся після невеличкої паузи.
Сьогодні я б хотів обговорити цікаву статтю про тренди в технологіях 2023 року порівняно із 2022 від O`Reilly.
Коротко:
- 92% розробників використовує ШІ для написання базового коду
- усі втомились від мікросевісів та починають нові проєкти як моноліти
- кількість PR'ів у Github репозиторії - знизилася (бо стало менше вільного часу після ковіду)
- Python не втратив у популярності, Rust - набрав
- LangChain фреймворк набирав популярності разом із ChatGPT та подібними
- Більше людей почали користуватись PowerBI
- Теми безпеки мереж - найбільш актуальні
- у web девелопменті все ще править React
- найпопулярніші сертифікації CompTIA A+ / Security + та AWS Solution Architect
O’Reilly Media
Technology Trends for 2024
What O’Reilly Learning Platform Usage Tells Us About Where the Industry Is Headed
👍28❤🔥1
Корисне з GitHub - 5
#github #selection
Доброго ранку! Олександр на зв'язку.
Приніс для вас чергову порцію цікавих репозиторіїв, які можна подивитись та почитати. (Для тих, кому нічого вчити 😉).
- Якщо ви цікаветесь тим, як працюють відомі системи "під капотом" - то можна почитати system-design-primer або system-design-101.
- Якщо ви прагнете стати хорошим сіньйором чи навіть лідом, то можна подивитись на колекції порад path-to-senior-engineer-handbook та resources-to-become-a-great-engineering-leader.
- Якщо ви хочете трохи поринути в світ LLM систем типу ChatGPT - можна почати з llm-course та hands-on-llms. Далі можна копати в AI загалом на ai-notes.
- Чи може ви готуєтесь до співбесід? Тоді вам знадобляться підбірки interviews та coding-interview-university.
- Для тих, хто працює з блокчейном - awesome-blockchain та awesome-blockchain-testing.
#github #selection
Доброго ранку! Олександр на зв'язку.
Приніс для вас чергову порцію цікавих репозиторіїв, які можна подивитись та почитати. (Для тих, кому нічого вчити 😉).
- Якщо ви цікаветесь тим, як працюють відомі системи "під капотом" - то можна почитати system-design-primer або system-design-101.
- Якщо ви прагнете стати хорошим сіньйором чи навіть лідом, то можна подивитись на колекції порад path-to-senior-engineer-handbook та resources-to-become-a-great-engineering-leader.
- Якщо ви хочете трохи поринути в світ LLM систем типу ChatGPT - можна почати з llm-course та hands-on-llms. Далі можна копати в AI загалом на ai-notes.
- Чи може ви готуєтесь до співбесід? Тоді вам знадобляться підбірки interviews та coding-interview-university.
- Для тих, хто працює з блокчейном - awesome-blockchain та awesome-blockchain-testing.
❤21👍5🔥3❤🔥1
Про знання своїх інструментів
#interview #testing #tools
Багато хто зараз шукає роботу та проходить інтерв'ю. Задачки на LeetCode це звичайно круто, але не забувайте також про інструменти.
Бо кожен інструмент, який ви вказуєте в своєму CV - це привід задати Вам питання.
Якщо ви говорите про інструменти тестування чи бібліотеки для автоматизації - ви повинні знати їх можливості. Навіть, якщо ви не користуєтесь усім функціоналом.
Крім того, треба завжди мати відповіді на питання:
- "а чому саме цей інструмент?"
- "які є альтернативи?"
- "чому альтернативи нам не підійшли?"
Відповіді типу "ну, це зараз модно та усі користуються", "так сказав Заратустра на конференції", чи "так скалося історично" - не підходять. Вони лише покажуть, що ви не задаєте питань та не прагнете покращити інструменти чи процеси.(Тут я кажу більше про мідл - сіньйорних людей. Для трейні чи джуніора це може бути прийнятно) .
То ж ще раз - вивчайте свої інструменти. Знайте їх сильні та слабкі сторони.
Вдалого усім тестування!
#interview #testing #tools
Багато хто зараз шукає роботу та проходить інтерв'ю. Задачки на LeetCode це звичайно круто, але не забувайте також про інструменти.
Бо кожен інструмент, який ви вказуєте в своєму CV - це привід задати Вам питання.
Якщо ви говорите про інструменти тестування чи бібліотеки для автоматизації - ви повинні знати їх можливості. Навіть, якщо ви не користуєтесь усім функціоналом.
Крім того, треба завжди мати відповіді на питання:
- "а чому саме цей інструмент?"
- "які є альтернативи?"
- "чому альтернативи нам не підійшли?"
Відповіді типу "ну, це зараз модно та усі користуються", "так сказав Заратустра на конференції", чи "так скалося історично" - не підходять. Вони лише покажуть, що ви не задаєте питань та не прагнете покращити інструменти чи процеси.
То ж ще раз - вивчайте свої інструменти. Знайте їх сильні та слабкі сторони.
Вдалого усім тестування!
👍23❤4🔥4
3 Critical Skills You Need to Grow Beyond Senior Levels in Engineering
#career
Чи вистачить лише технічних знань, для того, щоб стати рости до сіньйора й вище?
Скоріш за все - ні.
Пропоную сьогодні почитати - які додаткові скіли ще треба прокачувати.
TL;DR
- вміння масштабувати себе
- вміння працювати з невизначеністю
- вміння впливати без авторитету
Читати все таки треба, бо в статті даються поради як це все розвивати.
#career
Чи вистачить лише технічних знань, для того, щоб стати рости до сіньйора й вище?
Скоріш за все - ні.
Пропоную сьогодні почитати - які додаткові скіли ще треба прокачувати.
TL;DR
- вміння масштабувати себе
- вміння працювати з невизначеністю
- вміння впливати без авторитету
Читати все таки треба, бо в статті даються поради як це все розвивати.
Thecaringtechie
3 Critical Skills You Need to Grow Beyond Senior Levels in Engineering
Applicable to both technical and managerial tracks
👍28🔥4
Test Failures Should Be Actionable
#testing #engineering
Коротка нотатка від Titus Winters, автора книги "Software Engineering At Google".
Дійсно, від хорошого ассершн меседжа може залежати наскільки швидко людина зрозуміє де та що зламалося. Та де треба пофіксити.
В pytest ці меседжі дуже легко писати та конфігурувати.
#testing #engineering
Коротка нотатка від Titus Winters, автора книги "Software Engineering At Google".
Дійсно, від хорошого ассершн меседжа може залежати наскільки швидко людина зрозуміє де та що зламалося. Та де треба пофіксити.
В pytest ці меседжі дуже легко писати та конфігурувати.
Google Testing Blog
Test Failures Should Be Actionable
This article was adapted from a Google Testing on the Toilet (TotT) episode. You can download a printer-friendly version of this TotT e...
👍14🔥2
Software Quality Metrics for Project Delivery Survey
#testing #engineering #helpneeded
Друзі!
Я зараз роблю дослідницьку роботу з теми тестування.
А саме - з метрик тестування.
Тому хотів би попросити вас пройти невеличке опитування.
Дуже дякую всім за допомогу!
#testing #engineering #helpneeded
Друзі!
Я зараз роблю дослідницьку роботу з теми тестування.
А саме - з метрик тестування.
Тому хотів би попросити вас пройти невеличке опитування.
Дуже дякую всім за допомогу!
Google Docs
Software Quality Metrics for Project Delivery Survey
Hi, my name is Oleksandr Romanov.
I am working on the research study on relationship between software quality metrics and project delivery. As a part of my research I want to gather information among the practitioners - in a form a survey.
I kindly ask…
I am working on the research study on relationship between software quality metrics and project delivery. As a part of my research I want to gather information among the practitioners - in a form a survey.
I kindly ask…
❤7👍5
50 shades of Fibonacci
#coding #interview #python
Одна з найчастіших задач, яку дають на перевірку навичок програмування автоматизатора на співбесіді - це обчислення послідовності Фібоначчі.
Для тих, хто забув - це послідовність типу
Виявляється, одну й ту саму задачу можна вирішити по-різному. Кожне рішення покаже ваш рівень розуміння задачі, мови програмування та тестування негативних кейсів.
Перед тим, як дивитись приклади - пропоную самим спробувати написати код.
1. Простий та наївний підхід - обчислюємо так, як написано у формулі (з рекурсією):
Але тут можна легко отримати
2. Покращуємо код, додаючі перевірку базових кейсів:
3. Можна також застосувати техніку мемоїзації (тобто замість обчислень знову й знову - запам'ятовуємо проміжні результати):
4. Мемоїзація також є "вбудована" в сам Python:
5. Замість рекурсії - можна вирішити задачу з циклом:
P.S. Можна ще обчислити за допомогою генераторів, але цей спосіб розберемо в наступних нотатках.
#coding #interview #python
Одна з найчастіших задач, яку дають на перевірку навичок програмування автоматизатора на співбесіді - це обчислення послідовності Фібоначчі.
Для тих, хто забув - це послідовність типу
0, 1, 1, 2, 3, 5, 8, 13, 21, ..., що описується формулою: F(n) = F(n-1) + F(n-2), де F(0) = 0 та F(1) = 1. Виявляється, одну й ту саму задачу можна вирішити по-різному. Кожне рішення покаже ваш рівень розуміння задачі, мови програмування та тестування негативних кейсів.
Перед тим, як дивитись приклади - пропоную самим спробувати написати код.
1. Простий та наївний підхід - обчислюємо так, як написано у формулі (з рекурсією):
def fib(n: int) -> int:
return fib(n-1) + fib(n-2)
Але тут можна легко отримати
RecursionError: maximum recursion depth exceeded2. Покращуємо код, додаючі перевірку базових кейсів:
def fib(n: int) -> int:
if n < 2:
return n
return fib(n-1) + fib(n-2)
3. Можна також застосувати техніку мемоїзації (тобто замість обчислень знову й знову - запам'ятовуємо проміжні результати):
from typing import Dict
memo: Dict[int, int] = {0: 0, 1: 1}
def fib(n: int) -> int:
if n not in memo:
memo[n] = fib(n - 1) + fib(n - 2)
return memo[n]
4. Мемоїзація також є "вбудована" в сам Python:
from functools import lru_cache
@lru_cache(maxsize=None)
def fib(n: int) -> int:
if n < 2:
return n
return fib(n - 1) + fib(n - 2)
5. Замість рекурсії - можна вирішити задачу з циклом:
def fib(n: int) -> int:
if n == 0:
return n
last: int = 0
next: int = 1
for _ in range(1, n):
last, next = next, last + next
return next
P.S. Можна ще обчислити за допомогою генераторів, але цей спосіб розберемо в наступних нотатках.
👍35❤🔥4❤1🥴1
Простий репорт для Python та не тільки
#automation
Вчора я дізнався, що є такий цікавий проєкт як ctrf.io або ж Common Test Report Format.
Його творці пропонують легкий вид тестового репорту в форматі JSON, який потім можна відображати як частину сторінки тест рану на Github.
Oleksii Ostapov з QAMania вже навіть створив плагін pytest-common-test-report-json, що працює з CTRF.
Собі на проєкт я це інтегрував.
Все дуже швидко й просто - зайняло десь до години часу.
Почитати та подивитись, що це таке - можна в статті на DOU.
#automation
Вчора я дізнався, що є такий цікавий проєкт як ctrf.io або ж Common Test Report Format.
Його творці пропонують легкий вид тестового репорту в форматі JSON, який потім можна відображати як частину сторінки тест рану на Github.
Oleksii Ostapov з QAMania вже навіть створив плагін pytest-common-test-report-json, що працює з CTRF.
Собі на проєкт я це інтегрував.
Все дуже швидко й просто - зайняло десь до години часу.
Почитати та подивитись, що це таке - можна в статті на DOU.
GitHub
GitHub - infopulse/pytest-common-test-report-json: Pytest plugin to generate test report in Common Test Report Format (JSON)
Pytest plugin to generate test report in Common Test Report Format (JSON) - infopulse/pytest-common-test-report-json
❤11👍5❤🔥1👏1
⚡️ 1 червня стартує практичний тренінг, на який я б 100% пішов (як-би було трішки більше вільного часу). Сподіваюсь все-таки доєднатись до наступних груп.
Це тренінг від Олександри Ковальової — Test Design Techniques: Black Box Testing.
Кому це буде цікаво: усім інженерам, які хочуть дійсно розібратись як застосовувати техніки тест-дизайну в роботі, а не просто читати в книжці.
В Олександри просто купа досвіду в тестуванні та викладанні. То ж за якість тренінгу можна не перейматись.
Формат: прямі трансляції з можливістю переглянути відео.
Розклад: 1.06, 8.06 та 15.06 (10:00-15:00) — 3 заняття щосуботи протягом 3 тижнів.
🦄 Деталі та реєстрація отут => https://bit.ly/4e0xJDQ
Це тренінг від Олександри Ковальової — Test Design Techniques: Black Box Testing.
Кому це буде цікаво: усім інженерам, які хочуть дійсно розібратись як застосовувати техніки тест-дизайну в роботі, а не просто читати в книжці.
В Олександри просто купа досвіду в тестуванні та викладанні. То ж за якість тренінгу можна не перейматись.
Формат: прямі трансляції з можливістю переглянути відео.
Розклад: 1.06, 8.06 та 15.06 (10:00-15:00) — 3 заняття щосуботи протягом 3 тижнів.
🦄 Деталі та реєстрація отут => https://bit.ly/4e0xJDQ
❤5👏3👎1
SQLAlchemy: The BEST SQL Database Library in Python
#python #sql
Невелике оглядове відео про те, як працювати з базами даних в Python (на прикладі SQLAlchemy).
#python #sql
Невелике оглядове відео про те, як працювати з базами даних в Python (на прикладі SQLAlchemy).
YouTube
SQLAlchemy: The BEST SQL Database Library in Python
Try out Oso for free here: https://oso.1stcollab.com/arjancodes_3
Ever heard of SQLAlchemy and thought it sounded like a medieval potion? Well, it's not! 🧙♂️🔮 SQLAlchemy combines the robustness of SQL with Python's flexibility, making database management…
Ever heard of SQLAlchemy and thought it sounded like a medieval potion? Well, it's not! 🧙♂️🔮 SQLAlchemy combines the robustness of SQL with Python's flexibility, making database management…
❤8👍3❤🔥1
Playwright interview questions ...
#automation #testing
Серія з двох статей, де Adrian Maciuc ділиться поганими та хорошими питаннями з Playwright.
Допоможе краще зрозуміти інструмент та бути готовим до подібних питань на співбесіді.
- Playwright Interview Questions that you are going to hate
- Playwright interview questions that you are going to love
А для СІНЬЙОРІВ автоматизаторів, чи тих, хто дуже хоче ними стати - маю ще більш цікаву новину.
Олександр Хотемський з каналу Hot Testing наступного місяця буде проводити майстерклас з Playwright. Тільки практика, ніякої теорії.
Деталі можна почитати тут! Доєднуйтесь. Це хороша можливість розібратись з фреймворком та наступного дня вже йти робити на ньому проєкти)))
#automation #testing
Серія з двох статей, де Adrian Maciuc ділиться поганими та хорошими питаннями з Playwright.
Допоможе краще зрозуміти інструмент та бути готовим до подібних питань на співбесіді.
- Playwright Interview Questions that you are going to hate
- Playwright interview questions that you are going to love
А для СІНЬЙОРІВ автоматизаторів, чи тих, хто дуже хоче ними стати - маю ще більш цікаву новину.
Олександр Хотемський з каналу Hot Testing наступного місяця буде проводити майстерклас з Playwright. Тільки практика, ніякої теорії.
Деталі можна почитати тут! Доєднуйтесь. Це хороша можливість розібратись з фреймворком та наступного дня вже йти робити на ньому проєкти)))
Martioli
Playwright Interview Questions that you are going to hate
Everybody hates it when they go to an interview and they are given live coding challenge that is written intentionally to make you fail, so the interviewer can prove his "superiority". Here are 12 playwright interview questions and answers, so you can have…
❤10👍8❤🔥2
Forwarded from DOU | QA
Test Engineering Notes — Vol. 14: Про тестування сервісів в Meta, 10Х-інженерів та інтро в перфоманс-інженерію
Пустий S3-бакет може завдати збитків на тисячі доларів, як писати коміт-меседжи та свій форматер коду, метрики перфомансу фронтенду, розбір різних структур даних в Python — це та багато іншого читайте у новому QA-дайджесті 👉 https://dou.ua/goto/Nr2V
Пустий S3-бакет може завдати збитків на тисячі доларів, як писати коміт-меседжи та свій форматер коду, метрики перфомансу фронтенду, розбір різних структур даних в Python — це та багато іншого читайте у новому QA-дайджесті 👉 https://dou.ua/goto/Nr2V
🔥12❤2
Корисне з GitHub - 6
#github #selection
Доброго ранку! Сьогодні пропоную поглянути на декілька корисних підбірок з GitHub.
🛠 project-based-learning - для тих, хто вивчає мову програмування та не вистачає реальних задач для практики.
📚 The Algorithms - набір найвідоміших алгоритмів, що написані на різних мовах програмування.
🐧 The Art of Command Line - одна сторінка, що розповідає як працювати з командним рядком.
🆓 free-for.dev - величезний лист різних інструментів та сервісів, що допоможуть в розробці (усе безкоштовно).
🐍 30 Days of Python - покроковий туторіал з мови Python для тих, хто віддає перевагу самостійному навчанню. А тут - можна подивитись на купу корисних утиліт та невеличких програм (для натхнення).
#github #selection
Доброго ранку! Сьогодні пропоную поглянути на декілька корисних підбірок з GitHub.
🛠 project-based-learning - для тих, хто вивчає мову програмування та не вистачає реальних задач для практики.
📚 The Algorithms - набір найвідоміших алгоритмів, що написані на різних мовах програмування.
🐧 The Art of Command Line - одна сторінка, що розповідає як працювати з командним рядком.
🆓 free-for.dev - величезний лист різних інструментів та сервісів, що допоможуть в розробці (усе безкоштовно).
🐍 30 Days of Python - покроковий туторіал з мови Python для тих, хто віддає перевагу самостійному навчанню. А тут - можна подивитись на купу корисних утиліт та невеличких програм (для натхнення).
GitHub
GitHub - practical-tutorials/project-based-learning: Curated list of project-based tutorials
Curated list of project-based tutorials. Contribute to practical-tutorials/project-based-learning development by creating an account on GitHub.
🔥19❤6