[Test Engineering Weekly] Тестування на девайсах в Netflix, асинхронні обчислення в Meta та помилки в розподілених системах
Усі статті, обговорення, новини про тестування — в одному місці. Підписуйтеся на QA DOU!
Всім привіт. Це Олександр Романов.
Черговий, нерегулярний, але все ж таки корисний дайджест цікавих статей про тестування, розробку та інші технічні штуки.
Цього разу ви дізнаєтесь:
- яка «правильна» структура Cypress проєкту та як створювали тестову стратегію в Zoopla;
- які метрики якості потрібно все ж таки збирати;
- в чому специфіка тестування на реальних девайсах в Netflix;
- що обрали для контрактного тестування в Ebay та чому;
- як тестувати Docker та архітектуру коду;
- чи варто йти в менеджери та ліди, якщо полюбляєш писати код;
- та багато іншого ...

Нове
- Завжди хотіли поринути у світ тестування безпеки, але не знали з чого почати? Маю для вас хорошу добірку базових курсів, подкастів та відео з теми кібербезпеки. А ще — доєднуйтеся до україномовної спільноти SET у Discord. Вона ще «молода», але дуже швидко розвивається.
Тестування
- Flaky Tests are Not the Problem. Хороша стаття, яка розповість про те, що таке flaky-тести та як з ними боротися.
- Keeping tests valuable: Are the code coverage metrics reliable? Чи потрібні метрики у тестуванні? Які саме метрики потрібно збирати та чому? Чи достатньо буде виміряти покриття коду? Роздуми та відповіді ви знайдете у статті.
- How to structure a big project in Cypress. Якщо ви пишете UI-тести на Cypress або тільки починаєте вивчати цю бібліотеку — вам точно стане у пригоді ця стаття. В ній автор розказує, з чого складається типовий тестовий проєкт.
- Mastering T-Shaped Skills: A Comprehensive Guide for Software Engineers in Test. Не так давно я вже розповідав про те, хто такі T-shape спеціалісти. Але розповідь була без прив’язки до конкретної спеціалізації. В цій статті ви знайдете реальні приклади — куди рости спеціалісту в тестуванні.
- Modernizing The Five Phases of a Software Tester’s Mental Life. Чи знали ви, що існує цілих п’ять рівнів ментального розвитку тестувальника? Я — не знав. А в цій статті автор навіть розширює ці рівні своїми доповненнями.
Як тестують в ...
- NTS: Reliable Device Testing at Scale. Велика та доволі докладна стаття про те, як в Netflix тестують на реальних девайсах. Must-read, на мій погляд.
- How to Create a Quality Strategy and Testing Model. Якщо вам потрібно створити стратегію тестування на проєкті чи в компанії — подивіться для прикладу, як це зробили у компанії Zoopla. Дуже корисно та візуально красиво.
- How we improved reporting and monitoring of test automation results. Люблю такі практичні статті. В цьому випадку — розповідь про те, як в Trivago підходили до вирішення питань репортів.
- API Evolution Is a Challenge. Could Contract Testing Be the Solution? Хороша стаття від інженерів з Ebay про те, коли виникає потреба у контрактних тестах та які інструменти треба обирати для такого типу тестування (а саме PACT чи Spring Cloud Contract).
- Easy measures to observe our software quality efficiency. Черговий погляд на метрики в тестуванні від менеджера в Decathlon.
Інструменти
- Тестуємо Docker. В цій крутій статті Oleg Zarevych підкаже, які існують інструменти для тестування Docker образів — лінтери, статичні аналізатори та інше.
- Для тих, хто скучив за цікавими інструментами — маю декілька: dappwright та synpress. Обидві бібліотеки на JS та розроблені для UI-тестів різних децентралізованих аплікацій. Тобто всередині тестів треба взаємодіяти з блокчейном через різні гаманці та розширення для Chrome типу Metamask.
- ArchUnit: Testing the Design of Your Library. Невелика оглядова стаття про те, як можна «тестувати архітектуру» в Java та до чого тут ArchUnit.
Розробка та технології
- Asynchronous computing at Meta: Overview and learnings. Просто цікава оглядова стаття про те, як еволюціонували асинхронні обчислення в Meta (Facebook).
- How Dascord Stores Trillions Of Messages. А для тих, хто надає перевагу базам даних у великих масштабах — раджу почитати статтю про те, як Discord оперує трильйонами повідомлень.
- The Inevitable — Failures in Distributed Systems. Величезна та корисна стаття про те, чому розподілені системи складно писати і тестувати. Та які саме проблеми та баги виникають тільки в таких системах.
- Simulating Physical Systems with Python. Класна практична стаття про моделювання фізичних процесів. Багато прикладів, формул та коду.
- Writing Javascript without a build system. Julie Evans ділиться своїми думками про те, що не завжди в JS проєктах потрібен NPM.
- Switching from OOP to Functional Programming. Для тих, хто тільки починає працювати з функціональним програмуванням (після OOP) — декілька вельми практичних порад від Oleksii Avramenko.
- Mastering Container Networking. Хороша серія для тих, хто хоче розібратися з Docker контейнерами трохи глибше.
- Top 8 Algorithms Every Programmer Should Know. Для тих, хто не знав (або забувся) основні алгоритми, які зустрічаються в роботі розробника. Приклади написані на Python. (Не згоден, що це «основні» — бо у кожного своя специфіка).
Не технічне
- The Engineer/Manager Pendulum. Якщо ви задумуєтесь, чи змінювати технічну професію на лідську або менеджерську — ця стаття допоможе вам обрати щось одне. Та чи потрібно обирати ...
- My Biggest Regret As A Programmer. У продовження теми переходу в управлінську ланку — у цій статті розробник розповідає, що перехід у менеджмент то не те, чого він хотів та про що мріяв.
- The lone developer problem. Коротенький пост про те, чому писати великі проєкти одному не тільки складно, але й шкідливо.
- Part 1: How to approach a system design interview. Великий гайд для тих, хто готується до співбесід (особливо секції системного дизайну). Від порад з підготовки до розгляду реальних кейсів.
- Things your manager might not know. Як зробити Ваші
1-1 зустрічі продуктивнішими для вас та вашого менеджера? Потрібно сконцентруватися на тому, що не знає менеджер — та допомогти йому це дізнатися (для того, щоб робити правильні рішення)
Більше цікавого про інженерію в тестуванні, блокчейн та розподілені системи читайте в моєму каналі.
Немає коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів