Test Engineering Notes: Vol.4. Про автоматизацію в Reddit, тестування Kafka, баги в Atlassian та важливість естимацій
Всім привіт. З вами Олександр Романов й Test Engineering Notes.
Липень вже майже завершений. На ринку праці зараз — тиша. Але поки є час, треба дізнаватись та вивчати нове. Саме тому я прийшов до вас із новим дайджестом статей про тестування, розробку та інші технічні штуки.
TLDR, або Що у випуску
- історія про розробника, який став тестувальником — та що з цього вийшло;
- огляд інструментів тестування в світі Web3;
- багато практичних кейсів роботи з Playwright — від візуальних тестів до оптимізації стабільності;
- тестування Kafka-коннекторів та досвіду користувача;
- розповідь про підходи до балансування наванатаження та Gossip-протокол у розподілених системах;
- шикарна історія про те, як Atlassian мав багу на продакшені та «лежав» майже два тижні;
- корисні поради для інженерів, які хочуть стати менторами;
- правда про те, чому ми все ж таки помиляємося з оцінками задач;
- приклад написання сайту на технологіях кінця минулого сторіччя;
- навчальне відео про Playwright та запис подкасту про штучний інтелект у військовій справі;
- багато багато іншого ...
Тестування
- I’m a quality engineer and I’m not sure how I feel about that — захоплююча історія від розробника, що зацікавився тестуванням, став тестувальником, а потім якось «розгубився».
- A Tester’s Guide To Navigating The Wild West Of Web3 Testing — поверхневий погляд на те, що таке Web3 та що там можна тестувати взагалі.
- Four Types of Shift Left Testing — а ви знали, що є більше одного виду shift-left тестування?
- Signals Based Software Testing — ще один цікавий підхід до тестування. Трохи відрізняється саме від тестування в продакшені
- Гарний цикл статей, присвячений тому, як підходити до тестування штучного інтелекту: part 1 та part 2.
Практичні приклади
- Для тих, кому цікаво, як організовано автоматизане тестування в Reddit — маю аж дві статті — про Android та IOS.
- Приклад побудови рішення з автоматизації UI-тестів для iOS у компанії Leboncoin.
- А ви знали, що chaos-тестування для бекенд-сервісів можна зробити навіть за допомогою інструменту k6? Як — читайте далі
- How To Implement Shift Left Testing Approach — про shift-left багато теорії. А шо там з реальною практикою?
- Beyond Unit Testing: How Mutation Testing Helps to Improve Code Quality and Reliability — інтро стаття про мутаційне тестування — нащо воно треба та які інструменти для цього є в арсеналі Java.
- JUnit 5 — When to use Internal MethodSource — нащо заглиблюватись в MethodSource у тестах та як це виконати на JUnit 5.
- The Definitive Guide to API Test Automation With Playwright: Introduction — чи можна на Playwright писати API тести? Як почати?
- How to upload multiple reports in a single folder using GitHub Actions — вкрай практична стаття про те, як швидко зібрати усі репорти з тестів та відправити їх, куди треба.
- Testing Kafka Connectors — якщо у вас на проєкті є Kafka — ця стаття буде вам дуже корисною.
- Testing The Customer Experience — як взагалі тестувати той самий «досвід користувача»?
- Playwright stories: Visual comparisons with Dynamic data — чергова та вкрай практична стаття від Костянтина Телтова — цього разу про те, як робити візуальну валідацію з Playwright.
- Comparing Automated Testing Tools: Cypress, Selenium, Playwright, and Puppeteer — якщо ви ще думаєте, яку бібліотеку брати для автоматизації — то ця стаття вам точно допоможе краще розібратися в усіх наявних опціях.
- Mastering the Art of Detecting and Handling Flaky Tests in Playwright — поради для тих, у кого все ж таки залишились нестабільні тести на Playwright.
Інструменти
- AirportGap — ще один сервіс, де ви можете потестувати API.
- Sniffnet — аналізатор мережевого трафіку, написаний на Rust.
- Meta developer tools: Working at scale — які інструменти для розробки та тестування використовують інженери в Meta.
- The Git Merge Handbook — Definitive Guide to Merging in Git — для тих, хто ще не до кінця розібрався в тому, як виконується git merge.
Розробка
- XML is the future — цікавий екскурс у ті часи, коли говорили, що XML — це наше «майбутнє».
- The End of Programming — стаття про те, як ChatGPT вже змінює підходи до програмування.
- Self-healing code is the future of software development — що таке self-healing код та як це вплине на тестування у майбутньому.
Теорія
- Hashing — якщо ви хотіли побачити приклади того, що таке хешування — то ця стаття точно стане у пригоді.
- What Happens When You Type a URL Into Your Browser? — величезна стаття, яку потрібно прочитати просто для того, щоб зрозуміти, як багато заховано під «простими» на перший погляд технологіями.
- Load Balancing: The Intuition Behind the Power of Two Random Choices — стаття про різні підходи до балансування навантаження.
- Architecture Principles: An approach to effective decision making in software architecture
- Gossip Protocol — як розподілені системи комунікують зміну стану між вузлами? Один з варіантів — це gossip protocol.
- How to prevent digital wallet fraud — стаття про те, які вразливості безпеки є у сучасних електроних гаманців в блокчейн-світі.
- Якщо ви щось там читали та вчили про Machine Learning, але вам не вистачає візуалізації — у цих двох статтях крок за кроком пояснюється, як все це працює — 1 та 2.
- Understanding DeepMind’s Sorting Algorithm — лаконічне пояснення того, як працює алгоритм сортування в DeepMind. Хардкорно, але цікаво.
- Text Editor Data Structures — уявімо, що завтра вам потрібно буде писати свій текстовий редактор «з нуля». У цій статті можна подивитись, як при цьому краще використовувати структури даних.
- The Full Circle on Developer Productivity with Steve Yegge — велике інтерв’ю про те, що таке продуктивність розробника та як її забезпечувати. Фактично, робота SDET`а.
Практика
- The Story of Atlassian’s
13-Day Outage — історія про те, як одна бага в Atlassian спричинила downtime частини сервісів майже на два тижні! - All the Hard Stuff Nobody Talks About when Building Products with LLMs — за хайпом з ChatGPT мало хто розповідає про реальні проблеми та складнощі з використанням таких систем.
- Improving Performance with HTTP Streaming — нащо придумали HTTP Streaming та як реально він може поліпшити перфоманс на фронтенді.
- Scaling for Success: The Load Balancing Journey of a Fictional Startup — гарна стаття, де поетапно можна прослідкувати різні підходи до балансування вхідного трафіку в залежності від етапу розвитку продукту у стартапі.
- How Gradle cut AWS storage costs by 75% using S3 — реальний кейс того, як можна зекономити дуже багато грошей на AWS.
- Як Netflix мігрував критичні сервіси в продакшені та як це тестувалося на великих масштабах трафіку — 1 та 2.
- Utilizing internal and external tracing of the Mina network to identify areas of code in need of optimization — хороша стаття про те, які метрики можна та потрібно збирати в блокчейн-системах.
- How to create a personal website, but it’s 1999 — розважаюча стаття про те, як автор у сучасному світі намагається створити сайт за допомогою існтрументів кінця минулого сторіччя. Чи вдалося це йому?
- MongoDB vs. PostgreSQL vs. ScyllaDB: Tractian’s Experience — кейс порівняння різних баз даних на одному проєкті.
Менеджерське
- Для тих, хто хотів трохи більше дізнатися про те, чим все ж таки займаються VP of Engineering — цикл з двох статей, 1 та 2.
- Being a good mentor — a developers guide — чи знаєте ви про те, як бути насправді корисним ментором та чи потрібен цей скіл розробнику?
- Estimation Isn’t for Everyone — доволі провокативна стаття про те, чому ми не можемо нормально оцінювати задачі та що з цим можна робити.
- The false promise of the 10,000 hour rule — існує така думка, що коли ви практикуєте навичку 10 000 годин — то ви автоматично стаєте у цьому експертом. Та чи так це насправді, в реальному житті?
- FAANG Principal Engineer answers common career questions — чим займаються інженери на рівні Principal? Хто вони такі? Чи варто туди взагалі розвиватися?
Відео
- Playwright Videos — величезна добірка відео з бібліотеки Playwright.
- Podcasts #5 «Military Tech» — хороший випуск подкасту про штучний інтелект у військовій справі.
Як завжди — більше цікавого про інженерію в тестуванні, блокчейн та розподілені системи читайте в моєму каналі.
Немає коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів