Візуалізуй!

Привіт друзі! Сьогодні хочу розказати вам про досить простий, але ефективний спосіб аналізу вимог та багів – візуалізація!
Ви можете подумати – це ж очевидно, а я вам відповім – багато інженерів нехтують можливістю банально намалювати алгоритм для кращого його розуміння.

В продукті, який ми розробляємо, є певна логіка, яка виконується в залежності від настання певних подій. І основна складність в тому, що в алгоритмі є купа умов типу:
✅ якщо подія 1 сталась раніше, робити це
✅ якщо подія 2 сталась раніше, робити інше
і так далі.

A нещодавно ми отримали баг від користувачів, що виникає за певних, дуже специфічних умов. Тому ні нормального опису, ні чітких кроків, ні навіть зрозумілих логів 🤷‍♂️
Класичний race condition баг.

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

Якщо ви думаєте – а як же краще візуалізувати? Це взагалі не важливо! В мене завжди під руокю є блокнот і ручка саме для таких випадків.

А як часто ви візуалізуєте алгоритми та процеси?

7 Лютого 2023
Автор: 
  • Метод класифікації дерев
  • Карго-культ
  • Про тестування IP-камер
  • Product Quality by ISO 25010

Залишити коментар

Залишити вiдгук