Test Engineering Notes: Vol. 3
Test Engineering NotesГоловне
В червні ми з Артемом Григоренко запустили свій власний подкаст про тестування - Testing Minutes.
В цьому подкасті ми розмовляємо про різні концепції з тестування та технологій, коротко та без води. Така собі комбінація технічного та процесно-менеджерського контенту.
Якщо ви пропустили перші три епізоди - запрошуємо послухати на подкаст платформах або подивитись на Youtube.
Дуже чекаємо на ваші коменти та фідбек! Далі буде ще цікавіше!
Тестування

- On the Diverse And Fantastical Shapes of Testing - Martin Fowler розповідає про те, як змінюються підходи до тестуванння за роки.
- Testing in the Twenties - а це - подібна оглядово - філософська стаття від Tim Bray. Починаючи з історії, автор далі розмірковує про деякі важливі для нього речі в тестуванні.
- TESTER IMPOSTER SYNDROME - чи є у вас синдром самозванця? Які особливості цього синдрому у тестувальників?
- What is software quality for a developer? - чи замислювались ви над тим, що значить якість для того девелопера, що сидить на сусідньому кріслі? (Плюс тут дуже крута визуалізація різних форм якості коду)
- Mastermind - думка про AI та його вплив на тестування від Alan Page.
- Counterfeit Philosophers in Testing - стаття Jason Arbon - піонера тестування в AI. Тут він розмірковує про луддитів в світі тестування, що заперечують неминучий прогрес.
Підходи
- Що таке accessibility тестування? Якщо ви не знаєте або не до кінця розумієте, ділюся циклом статей на цю тему: part 1, part 2, part 3 та part 4.
- Shift Left Security, Security Unit Tests, OWASP Top 10, and AI: Key Practices for Secure Development - shift left підхід зараз модний. Ось вам приклад, як можна "шифтувати" тестування безпеки.
Інструменти
- 11 Tools Mobile Testers Have To Know - огляд інструментів для тестування мобільних застосунків.
- Trying Lighthouse - величезна та вкрай практична стаття про Lighthouse. Стане у нагоді, коли ви захочете вимірювати перфоманс вашого веб-сайту.
- Chuck Norris Jokes API - API, яку можна використовувати наприклад для демо або презентацій на конференціях. Вона видає на запити - рандомні жарти про Чака Норріса.
- Superbacked - цікавий інструмент для того, щоб безпечно зберігати свої "холодні" паролі. Наприклад від аккаунтів в блокчейні.
- slides - маленька, але разом із тим корисна тулза, що дозволяє створювати слайди за допомогою Markdown та презентувати їх прямо в командній стрічці.
- dappetter - ще одна бібліотека для автоматизації веб додатків, що працюють з криптогаманцями типу Metamask. Цього разу - на базі Puppeteer. (Його ще хтось використовує?)
Для SDET`ів
- Daily Coding Problem - якщо вам не вистачає практики програмування, на цьому сайті кожного дня викладають задачку, яку потрібно вирішити. Потім можна перевірити її зі зразком або замовити код рев'ю від авторів.
- How have you reduced automation execution times? - на форумі Reddit люди обговорюють різні підходи до того, як оптимізувати час на проходження автотестів.
- How the Miro Developer Platform leverages contract testing - практичний кейс роботи з контрактним тестуванням від компанії Miro.
- eBay and lastminute.com Adopt Contract Testing to Drive Architecture Evolution - оглядова стаття про те, як до контрактного тестування прийшли в ebay. Небагато інформації, але все шо є).
- Design Patterns for Test Automation Solutions: Part 2 -JavaScript/Typescript - продовження однієї з найкращих статей останнього часу про дизайн паттерни в автоматизації від Костянтина Телтова. Must-read, так само, як і перша частина.
- Browser Automation Tests with Cucumber and WebDriverJS - якщо вам потрібно почати писати автотести з "огірками" - то в цій статті можна побачити покрокове створення солюшену на JS.
- Testing in Machine Learning: A Comprehensive Guide with Examples from TensorFlow, PyTorch, Keras, scikit-learn, Hugging Face, and More-Part-1 of 3 - для тих, хто хотів побачити трохи тестування AI з реальними прикладами.
- Step-by-Step Guide: Migrating from Jest to Node.js Native Test Runner - як тільки-но Node.js релізнув нативний тестовий раннер - усі масово почали ним користуватись та нахвалювати. В цій статті можна почитати, як автор переходи на цей раннер з Jest.
- The Ultimate Guide to Performance Testing and Software Testing: Testing Types, Performance Testing Steps, Best Practices, and More - оглядова стаття про різні аспекти перфоманс тестування. Тільки для починаючих.
- Enhancing Test Reliability: Exploring Playwright's Retry APIs for Robust Testing - практична стаття про те, як retry допомогає в UI тестах. А чи допомагає насправді?
Лідерське
- Making Software Quality Visible - Mike Bland це відкриття цього місяця для мене. Працюючи в Google та Apple, він допомагав будувати культуру тестування. Частково він стояв за цим підходами, що висвітлювались в Google testing blog та книзі "How Google tests software". Крім цієї величезною статті про визуалізацію якості, рекомендую також ознайомитись з іншими його постами: Test Certified (програма сертифікації команд в Google), Testing Grouplet (невеличка команда, що змогла кардинально змінити підходи до тестування для тисяч інженерів) або Test Mercenaries (про підхід з використанням коучінгу у тестуванні)
- Steering the Ship: A Comprehensive Guide for Aspiring Test Leaders - величезна стаття про те, хто такі ліди в тестування та які скіли для цього важливо мати (або прокачати)
- Breaking Stereotypes: QA Takes the Wheel as a Mission Captain - досвід тестувальника, якого призначили лідити тестування та розробку частини продукту.
- Systems Thinking and the Cobra Effect - класний приклад того, як будь-які зміни на краще можуть обернутися на катастрофу. А про теорію змін можна почитати тут.
Розробка та технології

- Software 2.0 - AI зараз дуже гаряча тема. Але як AI впливає на саму розробку софта. В цій статті ви знайдете відповідь, яким буде робота розробника в світі, де правлять алгоритми.
- Falsehoods programmers believe about time - помилкових суджень в світі технологій дуже багато. Одне з таких - це час. Рекомендую почитати цю статтю усім, хто пише або перевіряє чужий код.
- On Being a Senior Engineer - практичні поради про те, як стати та бути справжнім senior інженером.
- The Joel Test: 12 Steps to Better Code - стара стаття 20 річної сивої давнини про те, які процеси повинні бути у команді чи компанії, щоб бути сучасною та ефективною. Страшно подумати, але навіть двадцять три роки потому деякі команди не закривають усі дванадцять вимог.
- IKEA-Oriented Development - як можна застосувати підходи з IKEA до світу розробки софту?
- How to Answer STAR Interview Questions - ринок зараз "гарячий". Тому для того, щоб вирізнитися поміж багатьох кандидатів, краще будувати відповідь про свій досвід у форматі STAR. Що це таке - дізнаєтеся у статті.
Теорія
- Relational Databases Explained - коротке нагадування про те, що таке реляційні бази даних та як вони працюють.
- Understanding database Indexes in PostgreSQL - крім базових SELECT`ів, не буде зайвим знати також навіщо існують індекси в базі даних.
- History and future of Infrastructure as Code - хороша стаття, щоб дослідити еволюцію інструментів для інфраструктури.
- System Design Interview Cheat Sheet - якщо у вас нема часу проходити курс на Educative або читати книжку - то ось вам зібрані основні концепції системного дизайну. Must-read усім, а особливо тестувальникам. Бо треба знайти, що ж тестуєте.
- Phrack: Twenty years of Escaping the Java Sandbox - огляд security багів у Java за останні двадцять років.
- Rate Limiting Fundamentals - що таке rate limiting, нащо він потрібен у сучасних системах та які існують алгоритми обмеження швидкості?
- Network Protocols Run the Internet - для тих, хто хоче освіжити свою пам'ять перед співбесідою - огляд базових понять та протоколів в мережах.
- Everything You Always Wanted to Know About TCP But Too Afraid to Ask - а тут дуже ретельно розбирається, як працює протокол TCP.
- A beginner’s guide to database deadlock - що таке deadlock в базах даних та як він може виникнути.
- Developer experience: What is it and why should you care? - чому деякі компанії вкладають багато грошей у developer experience? Нащо це? Ця стаття допоможе зрозуміти причини.
Практичні кейси
- DORA Metrics: We’ve Been Using Them Wrong - виявляється просто взяти та застовувати DORA метрики - це тільки початок.
- Investigating the impact of HTTP3 on network latency for search - кейс компанії Dropbox по застосуванню протоколу HTTP3 та його впливу на затримки в мережі.
- How To Be An Engineer That PMs Don't Hate - практичні поради для інженерів, щоб більш ефективно взаємодіяти із вашими PM'ами.
- How Much Memory Do You Need to Run 1 Million Concurrent Tasks? - порівняльне дослідження того, скільки пам'яті потрібно різним мовам програмування для запуску мільйону одночасних тасок.
- Real Multithreading is Coming to Python - Learn How You Can Use It Now - скоро реальний multithreading завітає й до Python'стів.
Відео

- Why Google Stores Billions of Lines of Code in a Single Repository - старенька доповідь про те, які масштаби були в Google років десять тому. Уявіть, як все змінилося за ці роки?
- RICON 2014 Ines Sombra, Fastly Testing in a Distributed World - цікава доповідь про те, чому тестувати розподілені системи дуже непросто та як до такого тестування підходять в академічному та бізнес світах.
- "Simulation Testing" by Michael Nygard - цікавий підхід до розширення property-based тестування, коли девелопер визначає домен - а софт сам генерує тести та валідує систему.
- "Benchmarking: You're Doing It Wrong" by Aysylu Greenberg - базова доповідь про те, як не зробити багато помилок при вимірюванні перфомансу.