[Test Engineering Weekly] Тестування на девайсах в Netflix, асинхронні обчислення в Meta та помилки в розподілених системах

Усі статті, обговорення, новини про тестування — в одному місці. Підписуйтеся на DOU | QA!

Всім привіт. Це Олександр Романов.

Черговий, нерегулярний, але все ж таки корисний дайджест цікавих статей про тестування, розробку та інші технічні штуки.

Цього разу ви дізнаєтесь:

  • яка «правильна» структура Cypress проєкту та як створювали тестову стратегію в Zoopla;
  • які метрики якості потрібно все ж таки збирати;
  • в чому специфіка тестування на реальних девайсах в Netflix;
  • що обрали для контрактного тестування в Ebay та чому;
  • як тестувати Docker та архітектуру коду;
  • чи варто йти в менеджери та ліди, якщо полюбляєш писати код;
  • та багато іншого ...

Нове

Тестування

  • 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. Чи знали ви, що існує цілих п’ять рівнів ментального розвитку тестувальника? Я — не знав. А в цій статті автор навіть розширює ці рівні своїми доповненнями.

Як тестують в ...

Інструменти

  • Тестуємо 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 зустрічі продуктивнішими для вас та вашого менеджера? Потрібно сконцентруватися на тому, що не знає менеджер — та допомогти йому це дізнатися (для того, щоб робити правильні рішення)

Більше цікавого про інженерію в тестуванні, блокчейн та розподілені системи читайте в моєму каналі.

👍ПодобаєтьсяСподобалось9
До обраногоВ обраному3
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Підписатись на коментарі