Test Engineering Notes: Vol.7. Про тести для WhatsApp, data quality в Lyft та архітектуру Netflix
Всім привіт.
Жовтень пройшов, попереду листопад. А отже й дощі, холоднеча та подекуди тумани.
Але ніхто не заважає залишитись вдома, заварити собі філіжанку запашної кави (або ж чаю), залізти під теплий плед та почитати дайджест цікавих статей з тестування, автоматизації та інших інженерних штук. З дайджестом вам допоможу я, Олександр Романов — автор каналу Test Engineering Notes та співведучий подкасту Testing Minutes.
TLDR, або Що у випуску
- тестування у WhatsApp;
- хто такі SDET`и та чи можна обійтись без тестувальників;
- пишемо Kubernetes автотести та вивчаємо підходи до data quality від Lyft;
- розбираємось, як працює GPU Computing й SSH і звідки комп’ютер бере точний час;
- вивчаємо архітектуру Netflix та двадцятирічний досвід SRE-інженерів Google.
Новини
Цього місяця в подкасті Testing Minutes ми з Артемом Григоренком встигли поговорити про тестування в gamedev, нотатки, менеджмент тестів та контрактне тестування. Попереду ще цікавіше! Тому не зволікайте й підписуйтесь на наш канал.
Тестування
- How WhatsApp tests software? — якщо ви хотіли дізнатись про підходи та інструменти тестування застосунку WhatsApp — вйо читати цю статтю!
- Demystifying the Role of a Real SDET — коротка, але змістовна стаття, як розкриває задачі та складності в роботі SDET-інженера.
- CAREER PROGRESSION IN TESTING: THE AWESOME POWER OF INFLUENCE — найголовніший аспект росту в кар’єрі це та кількість впливу, що ви маєте в команді, департаменті та компанії.
- The Future of Manual Testing in Modern Software Development — яким буде майбутнє у «мертвого» мануального тестування в сучасному світі, де панує AI.
- Bad Blood — Alan Page продовжує свої роздуми про те, чи потрібні взагалі тестувальники, як окремі інженери. Чи можуть девелопери тестувати все самі, та хто є в реальності найкращим тестувальником.
Практичні кейси
- Which Kinds of Tests Should I Write? Revisited — коротка нотатка девелопера про те, які тести варто писати.
- ChatGPT Sucks for Test Automation — Jason Arbon говорить, що ChatGPT все-таки не дуже підходить для написання автотестів. А що думаєте ви?
- Things I wish I knew as a QA engineer leaving a Corporation for a Startup — порівняння досвіду роботи в тестуванні у великій корпорації та стартапі.
- Testing in iOS: From Zero to Hero! — непоганий цикл статей для тих, хто хотів побачити, як тестують в світі іOS.
- Framework Agnostic UI Testing — приклади е2е-фреймворку на JS (покроково).
- The Internal Metrics of High Performance Mobile App — які перфоманс-метрики треба збирати з мобільного застосунку?
- Stop using Appium (if you have access to the source code) — один мій знайомий автоматизатор мобільних застосунків також говорив, що користуватись Appium — це біль. Порівняно з нативними бібліотеками. Єдиний нюанс: для нативних бібліотек треба вміти програмувати на Kotlin / Swift.
- The Case Against 100% Code Coverage — ще один аргумент на користь того, чому не варто гнатись за 100% покриттям коду.
Інструменти
- From Big Data to Better Data: Ensuring Data Quality with Verity — якщо ви хочете знати, що таке Data Quality та як писати тести, щоб перевіряти дані — ця стаття просто must-read!
- Locust — Python Code construct-based Load Testing Tool — непогане введення в інструмент навантаження на Python.
- Reproducing and testing distributed system failures with xk6-disruptor — практичний приклад застосування інструменту k6 для пошуку та фіксу багу з перфомансом.
- Deep-dive into Vegeta — HTTP load testing tool and library — новий інструмент навантаження на ринку.
- Kubernetes Testing Techniques with KUTTL — чи пишуть тести ваші DevOps інженери? Якщо ні, ось вам інструмент для тестування маніфестів.
- Testing Android apps for flaky network situations with Flaker — застосування тули Flaker для симуляції проблем з мережею.
- asciinema — дуже цікавий інструмент, якщо вам потрібно проводити демо повністю в командній стрічці.
Інженерія
- What Every Developer Should Know About GPU Computing — грунтовна та технічна стаття про те, що таке GPU Computing.
- How do databases execute expressions? — а чи знаєте ви, як бази даних виконують ваші запити. Я ось, наприклад, не знав.
- Where does my computer get the time from? — як ваш комп’ютер знає, котра зараз година? Як це працює?
- What Is SSH: Understanding Encryption, Ports and Connection — для тих, хто користується підключенням SSH кожного дня, корисно знати, як це працює «під капотом».
- Crypto Classics: Wiener’s RSA Attack — як зламати RSA із Python та дрібкою математики.
- Storage challenges in the evolution of database architecture — як Postman вирішував проблему з базою даних.
- How to Mix Junior and Senior Engineers on a Team — розгляд різних кейсів проєктів і де та які інженери потрібні.
- Estimating how much it costs to run greenfield systems — як естімейтити приблизну вартість побудови нової системи.
Практичні кейси
- Lessons Learned from Twenty Years of Site Reliability Engineering — SRE-інженери з компанії Google діляться одинадцятьма порадами, які вони зібрали за останні двадцять років своєї роботи.
- Understanding Netflix’s Backend Architecture: A Deep Dive — якщо вам було цікаво, як працює така велика система, як Netflix — ласкаво прошу переглянути цю статтю.
- MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve them — чому проєктувати бекенд для багатокористувальницьких ігор — то складна та нетривіальна задача.
- The FTX trial, day four: The fraud was in the code — не так давно в крипто світі відбувся гучний скандал, коли CEO FTX заарештували за махінації. Ось тут — приклад, як вони навіть модифікували OSS-код, щоб ці махінації спрацювали.
- Writing a Debugger From Scratch — для тих, у кого багато вільного часу: тут девелопер пише свою імплементацію дебагеру на Rust.
- GDB — у продовження теми дебагерів — ось вам опис того, як працює gdb.
1 коментар
Додати коментар Підписатись на коментаріВідписатись від коментарів